Lines Matching defs:iterator
26 void JSSegmentIterator::SetIcuBreakIterator(JSThread *thread, const JSHandle<JSSegmentIterator> &iterator,
33 JSTaggedValue data = iterator->GetIcuField();
40 iterator->SetIcuField(thread, pointer.GetTaggedValue());
43 void JSSegmentIterator::SetUString(JSThread *thread, const JSHandle<JSSegmentIterator> &iterator,
50 JSTaggedValue data = iterator->GetUnicodeString();
57 iterator->SetUnicodeString(thread, pointer.GetTaggedValue());
65 // 2. Let iterator be OrdinaryObjectCreate(%SegmentIteratorPrototype%, internalSlotsList).
69 JSHandle<JSSegmentIterator> iterator(factory->NewJSObjectByConstructor(segIterCtor));
71 // 5. Set iterator.[[IteratedStringNextSegmentCodeUnitIndex]] to 0.
75 // 3. Set iterator.[[IteratingSegmenter]] to segmenter.
76 SetIcuBreakIterator(thread, iterator, icuBreakIterator, JSSegmentIterator::FreeIcuBreakIterator);
77 iterator->SetGranularity(granularity);
78 // 4. Set iterator.[[IteratedString]] to string.
79 iterator->SetIteratedString(thread, string);
80 SetUString(thread, iterator, uString, JSSegmentIterator::FreeUString);
81 // 6. Return iterator.
82 return iterator;
85 JSTaggedValue JSSegmentIterator::Next(JSThread *thread, const JSHandle<JSSegmentIterator> &iterator)
87 icu::BreakIterator* icuBreakIterator = iterator->GetIcuBreakIterator();
88 // 5. Let startIndex be iterator.[[IteratedStringNextSegmentCodeUnitIndex]].
99 // 8. Set iterator.[[IteratedStringNextSegmentCodeUnitIndex]] to endIndex.
103 JSHandle<JSObject> segmentData = JSSegments::CreateSegmentDataObject(thread, iterator->GetGranularity(),
104 icuBreakIterator, JSHandle<EcmaString>(thread, iterator->GetIteratedString()),