LibJS: Convert Intl.Segmenter, Segments and SegmentIterator to Utf16

This is a precursor to implementing the FindBoundary AO, which operates
on Utf16 code unit indexes.
This commit is contained in:
Idan Horowitz 2022-01-31 18:41:44 +02:00
commit b1d19b5917
Notes: sideshowbarker 2024-07-17 19:54:57 +09:00
6 changed files with 17 additions and 16 deletions

View file

@ -10,7 +10,7 @@
namespace JS::Intl {
// 18.6.1 CreateSegmentIterator ( segmenter, string ), https://tc39.es/ecma402/#sec-createsegmentsobject
SegmentIterator* SegmentIterator::create(GlobalObject& global_object, Segmenter& segmenter, String string)
SegmentIterator* SegmentIterator::create(GlobalObject& global_object, Segmenter& segmenter, Utf16View const& string)
{
// 1. Let internalSlotsList be « [[IteratingSegmenter]], [[IteratedString]], [[IteratedStringNextSegmentCodeUnitIndex]] ».
// 2. Let iterator be ! OrdinaryObjectCreate(%SegmentIteratorPrototype%, internalSlotsList).
@ -22,10 +22,10 @@ SegmentIterator* SegmentIterator::create(GlobalObject& global_object, Segmenter&
}
// 18.6 Segment Iterator Objects, https://tc39.es/ecma402/#sec-segment-iterator-objects
SegmentIterator::SegmentIterator(GlobalObject& global_object, Segmenter& segmenter, String string)
SegmentIterator::SegmentIterator(GlobalObject& global_object, Segmenter& segmenter, Utf16View const& string)
: Object(*global_object.intl_segment_iterator_prototype())
, m_iterating_segmenter(segmenter)
, m_iterated_string(move(string))
, m_iterated_string(string)
{
}