From d08bb0fd7560fc444a04f07c406577c6b1fb5675 Mon Sep 17 00:00:00 2001 From: Renegade334 Date: Tue, 25 Feb 2025 22:58:00 +0000 Subject: [PATCH] lib: correct `SharedArrayBuffer[Symbol.species]` getter --- src/lib/es2017.sharedmemory.d.ts | 2 +- .../reference/useSharedArrayBuffer4.js | 6 ++-- .../reference/useSharedArrayBuffer4.symbols | 18 ++++++------ .../reference/useSharedArrayBuffer4.types | 28 +++++++++---------- .../reference/useSharedArrayBuffer5.js | 6 ++-- .../reference/useSharedArrayBuffer5.symbols | 16 +++++------ .../reference/useSharedArrayBuffer5.types | 28 +++++++++---------- .../es2017/useSharedArrayBuffer4.ts | 4 +-- .../es2017/useSharedArrayBuffer5.ts | 4 +-- 9 files changed, 56 insertions(+), 56 deletions(-) diff --git a/src/lib/es2017.sharedmemory.d.ts b/src/lib/es2017.sharedmemory.d.ts index 5e4e59018c622..f658c8155364f 100644 --- a/src/lib/es2017.sharedmemory.d.ts +++ b/src/lib/es2017.sharedmemory.d.ts @@ -11,13 +11,13 @@ interface SharedArrayBuffer { * Returns a section of an SharedArrayBuffer. */ slice(begin?: number, end?: number): SharedArrayBuffer; - readonly [Symbol.species]: SharedArrayBuffer; readonly [Symbol.toStringTag]: "SharedArrayBuffer"; } interface SharedArrayBufferConstructor { readonly prototype: SharedArrayBuffer; new (byteLength?: number): SharedArrayBuffer; + readonly [Symbol.species]: SharedArrayBufferConstructor; } declare var SharedArrayBuffer: SharedArrayBufferConstructor; diff --git a/tests/baselines/reference/useSharedArrayBuffer4.js b/tests/baselines/reference/useSharedArrayBuffer4.js index 0e43b146e2e68..4640e42858457 100644 --- a/tests/baselines/reference/useSharedArrayBuffer4.js +++ b/tests/baselines/reference/useSharedArrayBuffer4.js @@ -3,13 +3,13 @@ //// [useSharedArrayBuffer4.ts] var foge = new SharedArrayBuffer(1024); var bar = foge.slice(1, 10); -var species = foge[Symbol.species]; var stringTag = foge[Symbol.toStringTag]; -var len = foge.byteLength; +var len = foge.byteLength; +var species = SharedArrayBuffer[Symbol.species]; //// [useSharedArrayBuffer4.js] var foge = new SharedArrayBuffer(1024); var bar = foge.slice(1, 10); -var species = foge[Symbol.species]; var stringTag = foge[Symbol.toStringTag]; var len = foge.byteLength; +var species = SharedArrayBuffer[Symbol.species]; diff --git a/tests/baselines/reference/useSharedArrayBuffer4.symbols b/tests/baselines/reference/useSharedArrayBuffer4.symbols index 7c6e1dc5b0a19..56efeebfd3c29 100644 --- a/tests/baselines/reference/useSharedArrayBuffer4.symbols +++ b/tests/baselines/reference/useSharedArrayBuffer4.symbols @@ -11,23 +11,23 @@ var bar = foge.slice(1, 10); >foge : Symbol(foge, Decl(useSharedArrayBuffer4.ts, 0, 3)) >slice : Symbol(SharedArrayBuffer.slice, Decl(lib.es2017.sharedmemory.d.ts, --, --)) -var species = foge[Symbol.species]; ->species : Symbol(species, Decl(useSharedArrayBuffer4.ts, 2, 3)) ->foge : Symbol(foge, Decl(useSharedArrayBuffer4.ts, 0, 3)) ->Symbol.species : Symbol(SymbolConstructor.species, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) ->species : Symbol(SymbolConstructor.species, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) - var stringTag = foge[Symbol.toStringTag]; ->stringTag : Symbol(stringTag, Decl(useSharedArrayBuffer4.ts, 3, 3)) +>stringTag : Symbol(stringTag, Decl(useSharedArrayBuffer4.ts, 2, 3)) >foge : Symbol(foge, Decl(useSharedArrayBuffer4.ts, 0, 3)) >Symbol.toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) var len = foge.byteLength; ->len : Symbol(len, Decl(useSharedArrayBuffer4.ts, 4, 3)) +>len : Symbol(len, Decl(useSharedArrayBuffer4.ts, 3, 3)) >foge.byteLength : Symbol(SharedArrayBuffer.byteLength, Decl(lib.es2017.sharedmemory.d.ts, --, --)) >foge : Symbol(foge, Decl(useSharedArrayBuffer4.ts, 0, 3)) >byteLength : Symbol(SharedArrayBuffer.byteLength, Decl(lib.es2017.sharedmemory.d.ts, --, --)) +var species = SharedArrayBuffer[Symbol.species]; +>species : Symbol(species, Decl(useSharedArrayBuffer4.ts, 4, 3)) +>SharedArrayBuffer : Symbol(SharedArrayBuffer, Decl(lib.es2017.sharedmemory.d.ts, --, --), Decl(lib.es2017.sharedmemory.d.ts, --, --)) +>Symbol.species : Symbol(SymbolConstructor.species, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>species : Symbol(SymbolConstructor.species, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) + diff --git a/tests/baselines/reference/useSharedArrayBuffer4.types b/tests/baselines/reference/useSharedArrayBuffer4.types index 5edff0d374ba1..495b761d8ad54 100644 --- a/tests/baselines/reference/useSharedArrayBuffer4.types +++ b/tests/baselines/reference/useSharedArrayBuffer4.types @@ -27,20 +27,6 @@ var bar = foge.slice(1, 10); >10 : 10 > : ^^ -var species = foge[Symbol.species]; ->species : SharedArrayBuffer -> : ^^^^^^^^^^^^^^^^^ ->foge[Symbol.species] : SharedArrayBuffer -> : ^^^^^^^^^^^^^^^^^ ->foge : SharedArrayBuffer -> : ^^^^^^^^^^^^^^^^^ ->Symbol.species : unique symbol -> : ^^^^^^^^^^^^^ ->Symbol : SymbolConstructor -> : ^^^^^^^^^^^^^^^^^ ->species : unique symbol -> : ^^^^^^^^^^^^^ - var stringTag = foge[Symbol.toStringTag]; >stringTag : "SharedArrayBuffer" > : ^^^^^^^^^^^^^^^^^^^ @@ -65,3 +51,17 @@ var len = foge.byteLength; >byteLength : number > : ^^^^^^ +var species = SharedArrayBuffer[Symbol.species]; +>species : SharedArrayBufferConstructor +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>SharedArrayBuffer[Symbol.species] : SharedArrayBufferConstructor +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>SharedArrayBuffer : SharedArrayBufferConstructor +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Symbol.species : unique symbol +> : ^^^^^^^^^^^^^ +>Symbol : SymbolConstructor +> : ^^^^^^^^^^^^^^^^^ +>species : unique symbol +> : ^^^^^^^^^^^^^ + diff --git a/tests/baselines/reference/useSharedArrayBuffer5.js b/tests/baselines/reference/useSharedArrayBuffer5.js index 6a75e35f75e5c..7c96f2cb6b56c 100644 --- a/tests/baselines/reference/useSharedArrayBuffer5.js +++ b/tests/baselines/reference/useSharedArrayBuffer5.js @@ -2,10 +2,10 @@ //// [useSharedArrayBuffer5.ts] var foge = new SharedArrayBuffer(1024); -var species = foge[Symbol.species]; -var stringTag = foge[Symbol.toStringTag]; +var stringTag = foge[Symbol.toStringTag]; +var species = SharedArrayBuffer[Symbol.species]; //// [useSharedArrayBuffer5.js] var foge = new SharedArrayBuffer(1024); -var species = foge[Symbol.species]; var stringTag = foge[Symbol.toStringTag]; +var species = SharedArrayBuffer[Symbol.species]; diff --git a/tests/baselines/reference/useSharedArrayBuffer5.symbols b/tests/baselines/reference/useSharedArrayBuffer5.symbols index 0b67e6e8b2697..9c5fc6a70290b 100644 --- a/tests/baselines/reference/useSharedArrayBuffer5.symbols +++ b/tests/baselines/reference/useSharedArrayBuffer5.symbols @@ -5,17 +5,17 @@ var foge = new SharedArrayBuffer(1024); >foge : Symbol(foge, Decl(useSharedArrayBuffer5.ts, 0, 3)) >SharedArrayBuffer : Symbol(SharedArrayBuffer, Decl(lib.es2017.sharedmemory.d.ts, --, --), Decl(lib.es2017.sharedmemory.d.ts, --, --)) -var species = foge[Symbol.species]; ->species : Symbol(species, Decl(useSharedArrayBuffer5.ts, 1, 3)) ->foge : Symbol(foge, Decl(useSharedArrayBuffer5.ts, 0, 3)) ->Symbol.species : Symbol(SymbolConstructor.species, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) ->species : Symbol(SymbolConstructor.species, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) - var stringTag = foge[Symbol.toStringTag]; ->stringTag : Symbol(stringTag, Decl(useSharedArrayBuffer5.ts, 2, 3)) +>stringTag : Symbol(stringTag, Decl(useSharedArrayBuffer5.ts, 1, 3)) >foge : Symbol(foge, Decl(useSharedArrayBuffer5.ts, 0, 3)) >Symbol.toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +var species = SharedArrayBuffer[Symbol.species]; +>species : Symbol(species, Decl(useSharedArrayBuffer5.ts, 2, 3)) +>SharedArrayBuffer : Symbol(SharedArrayBuffer, Decl(lib.es2017.sharedmemory.d.ts, --, --), Decl(lib.es2017.sharedmemory.d.ts, --, --)) +>Symbol.species : Symbol(SymbolConstructor.species, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>species : Symbol(SymbolConstructor.species, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) + diff --git a/tests/baselines/reference/useSharedArrayBuffer5.types b/tests/baselines/reference/useSharedArrayBuffer5.types index d1dd605674381..9a5778b48c494 100644 --- a/tests/baselines/reference/useSharedArrayBuffer5.types +++ b/tests/baselines/reference/useSharedArrayBuffer5.types @@ -11,20 +11,6 @@ var foge = new SharedArrayBuffer(1024); >1024 : 1024 > : ^^^^ -var species = foge[Symbol.species]; ->species : SharedArrayBuffer -> : ^^^^^^^^^^^^^^^^^ ->foge[Symbol.species] : SharedArrayBuffer -> : ^^^^^^^^^^^^^^^^^ ->foge : SharedArrayBuffer -> : ^^^^^^^^^^^^^^^^^ ->Symbol.species : unique symbol -> : ^^^^^^^^^^^^^ ->Symbol : SymbolConstructor -> : ^^^^^^^^^^^^^^^^^ ->species : unique symbol -> : ^^^^^^^^^^^^^ - var stringTag = foge[Symbol.toStringTag]; >stringTag : "SharedArrayBuffer" > : ^^^^^^^^^^^^^^^^^^^ @@ -39,3 +25,17 @@ var stringTag = foge[Symbol.toStringTag]; >toStringTag : unique symbol > : ^^^^^^^^^^^^^ +var species = SharedArrayBuffer[Symbol.species]; +>species : SharedArrayBufferConstructor +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>SharedArrayBuffer[Symbol.species] : SharedArrayBufferConstructor +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>SharedArrayBuffer : SharedArrayBufferConstructor +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Symbol.species : unique symbol +> : ^^^^^^^^^^^^^ +>Symbol : SymbolConstructor +> : ^^^^^^^^^^^^^^^^^ +>species : unique symbol +> : ^^^^^^^^^^^^^ + diff --git a/tests/cases/conformance/es2017/useSharedArrayBuffer4.ts b/tests/cases/conformance/es2017/useSharedArrayBuffer4.ts index 4d47c739ff3fe..e030976474583 100644 --- a/tests/cases/conformance/es2017/useSharedArrayBuffer4.ts +++ b/tests/cases/conformance/es2017/useSharedArrayBuffer4.ts @@ -3,6 +3,6 @@ var foge = new SharedArrayBuffer(1024); var bar = foge.slice(1, 10); -var species = foge[Symbol.species]; var stringTag = foge[Symbol.toStringTag]; -var len = foge.byteLength; \ No newline at end of file +var len = foge.byteLength; +var species = SharedArrayBuffer[Symbol.species]; \ No newline at end of file diff --git a/tests/cases/conformance/es2017/useSharedArrayBuffer5.ts b/tests/cases/conformance/es2017/useSharedArrayBuffer5.ts index 3606c1c634600..e55d44a1d3cd9 100644 --- a/tests/cases/conformance/es2017/useSharedArrayBuffer5.ts +++ b/tests/cases/conformance/es2017/useSharedArrayBuffer5.ts @@ -2,5 +2,5 @@ // @lib: es6,es2017.sharedmemory var foge = new SharedArrayBuffer(1024); -var species = foge[Symbol.species]; -var stringTag = foge[Symbol.toStringTag]; \ No newline at end of file +var stringTag = foge[Symbol.toStringTag]; +var species = SharedArrayBuffer[Symbol.species]; \ No newline at end of file