Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nodejs/node.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/src/builtins/string-iterator.tq')
-rw-r--r--deps/v8/src/builtins/string-iterator.tq72
1 files changed, 36 insertions, 36 deletions
diff --git a/deps/v8/src/builtins/string-iterator.tq b/deps/v8/src/builtins/string-iterator.tq
index 79032e0e280..eea7a621f0f 100644
--- a/deps/v8/src/builtins/string-iterator.tq
+++ b/deps/v8/src/builtins/string-iterator.tq
@@ -4,43 +4,43 @@
namespace string {
- macro NewJSStringIterator(implicit context: Context)(
- string: String, nextIndex: Smi): JSStringIterator {
- return new JSStringIterator{
- map: GetInitialStringIteratorMap(),
- properties_or_hash: kEmptyFixedArray,
- elements: kEmptyFixedArray,
- string: string,
- index: nextIndex
- };
- }
+macro NewJSStringIterator(implicit context: Context)(
+ string: String, nextIndex: Smi): JSStringIterator {
+ return new JSStringIterator{
+ map: GetInitialStringIteratorMap(),
+ properties_or_hash: kEmptyFixedArray,
+ elements: kEmptyFixedArray,
+ string: string,
+ index: nextIndex
+ };
+}
- // ES6 #sec-string.prototype-@@iterator
- transitioning javascript builtin StringPrototypeIterator(
- js-implicit context: NativeContext, receiver: JSAny)(): JSStringIterator {
- const name: String =
- ToThisString(receiver, 'String.prototype[Symbol.iterator]');
- const index: Smi = 0;
- return NewJSStringIterator(name, index);
- }
+// ES6 #sec-string.prototype-@@iterator
+transitioning javascript builtin StringPrototypeIterator(
+ js-implicit context: NativeContext, receiver: JSAny)(): JSStringIterator {
+ const name: String =
+ ToThisString(receiver, 'String.prototype[Symbol.iterator]');
+ const index: Smi = 0;
+ return NewJSStringIterator(name, index);
+}
- // ES6 #sec-%stringiteratorprototype%.next
- transitioning javascript builtin StringIteratorPrototypeNext(
- js-implicit context: NativeContext, receiver: JSAny)(): JSObject {
- const iterator = Cast<JSStringIterator>(receiver) otherwise ThrowTypeError(
- MessageTemplate::kIncompatibleMethodReceiver,
- 'String Iterator.prototype.next', receiver);
- const string = iterator.string;
- const position: intptr = SmiUntag(iterator.index);
- const length: intptr = string.length_intptr;
- if (position >= length) {
- return AllocateJSIteratorResult(Undefined, True);
- }
- // Move to next codepoint.
- const encoding = UnicodeEncoding::UTF16;
- const ch = string::LoadSurrogatePairAt(string, length, position, encoding);
- const value: String = string::StringFromSingleUTF16EncodedCodePoint(ch);
- iterator.index = SmiTag(position + value.length_intptr);
- return AllocateJSIteratorResult(value, False);
+// ES6 #sec-%stringiteratorprototype%.next
+transitioning javascript builtin StringIteratorPrototypeNext(
+ js-implicit context: NativeContext, receiver: JSAny)(): JSObject {
+ const iterator = Cast<JSStringIterator>(receiver) otherwise ThrowTypeError(
+ MessageTemplate::kIncompatibleMethodReceiver,
+ 'String Iterator.prototype.next', receiver);
+ const string = iterator.string;
+ const position: intptr = SmiUntag(iterator.index);
+ const length: intptr = string.length_intptr;
+ if (position >= length) {
+ return AllocateJSIteratorResult(Undefined, True);
}
+ // Move to next codepoint.
+ const encoding = UnicodeEncoding::UTF16;
+ const ch = string::LoadSurrogatePairAt(string, length, position, encoding);
+ const value: String = string::StringFromSingleUTF16EncodedCodePoint(ch);
+ iterator.index = SmiTag(position + value.length_intptr);
+ return AllocateJSIteratorResult(value, False);
+}
}