From 4e415ebfd003ce23c0e44032a7ad548369a045fc Mon Sep 17 00:00:00 2001 From: Yuichi Nukiyama Date: Tue, 24 May 2016 00:41:44 +0900 Subject: [PATCH] add SharedArrayBuffer fix --- Jakefile.js | 5 ++- src/compiler/commandLineParser.ts | 3 +- src/lib/es2017.d.ts | 3 +- src/lib/es2017.sharedmemory.d.ts | 27 +++++++++++++ ...ousTypeNotReferencingTypeParameter.symbols | 4 +- ...ymousTypeNotReferencingTypeParameter.types | 4 +- .../reference/useSharedArrayBuffer1.js | 10 +++++ .../reference/useSharedArrayBuffer1.symbols | 18 +++++++++ .../reference/useSharedArrayBuffer1.types | 23 +++++++++++ .../useSharedArrayBuffer2.errors.txt | 10 +++++ .../reference/useSharedArrayBuffer2.js | 10 +++++ .../useSharedArrayBuffer3.errors.txt | 10 +++++ .../reference/useSharedArrayBuffer3.js | 10 +++++ .../reference/useSharedArrayBuffer4.js | 14 +++++++ .../reference/useSharedArrayBuffer4.symbols | 32 +++++++++++++++ .../reference/useSharedArrayBuffer4.types | 39 +++++++++++++++++++ .../reference/useSharedArrayBuffer5.js | 10 +++++ .../reference/useSharedArrayBuffer5.symbols | 20 ++++++++++ .../reference/useSharedArrayBuffer5.types | 24 ++++++++++++ .../reference/useSharedArrayBuffer6.js | 10 +++++ .../reference/useSharedArrayBuffer6.symbols | 20 ++++++++++ .../reference/useSharedArrayBuffer6.types | 24 ++++++++++++ .../es2017/useSharedArrayBuffer1.ts | 6 +++ .../es2017/useSharedArrayBuffer2.ts | 6 +++ .../es2017/useSharedArrayBuffer3.ts | 5 +++ .../es2017/useSharedArrayBuffer4.ts | 8 ++++ .../es2017/useSharedArrayBuffer5.ts | 6 +++ .../es2017/useSharedArrayBuffer6.ts | 6 +++ tests/cases/unittests/commandLineParsing.ts | 8 ++-- .../convertCompilerOptionsFromJson.ts | 8 ++-- 30 files changed, 368 insertions(+), 15 deletions(-) create mode 100644 src/lib/es2017.sharedmemory.d.ts create mode 100644 tests/baselines/reference/useSharedArrayBuffer1.js create mode 100644 tests/baselines/reference/useSharedArrayBuffer1.symbols create mode 100644 tests/baselines/reference/useSharedArrayBuffer1.types create mode 100644 tests/baselines/reference/useSharedArrayBuffer2.errors.txt create mode 100644 tests/baselines/reference/useSharedArrayBuffer2.js create mode 100644 tests/baselines/reference/useSharedArrayBuffer3.errors.txt create mode 100644 tests/baselines/reference/useSharedArrayBuffer3.js create mode 100644 tests/baselines/reference/useSharedArrayBuffer4.js create mode 100644 tests/baselines/reference/useSharedArrayBuffer4.symbols create mode 100644 tests/baselines/reference/useSharedArrayBuffer4.types create mode 100644 tests/baselines/reference/useSharedArrayBuffer5.js create mode 100644 tests/baselines/reference/useSharedArrayBuffer5.symbols create mode 100644 tests/baselines/reference/useSharedArrayBuffer5.types create mode 100644 tests/baselines/reference/useSharedArrayBuffer6.js create mode 100644 tests/baselines/reference/useSharedArrayBuffer6.symbols create mode 100644 tests/baselines/reference/useSharedArrayBuffer6.types create mode 100644 tests/cases/conformance/es2017/useSharedArrayBuffer1.ts create mode 100644 tests/cases/conformance/es2017/useSharedArrayBuffer2.ts create mode 100644 tests/cases/conformance/es2017/useSharedArrayBuffer3.ts create mode 100644 tests/cases/conformance/es2017/useSharedArrayBuffer4.ts create mode 100644 tests/cases/conformance/es2017/useSharedArrayBuffer5.ts create mode 100644 tests/cases/conformance/es2017/useSharedArrayBuffer6.ts diff --git a/Jakefile.js b/Jakefile.js index cc28ec9af85..2dfdfa846a9 100644 --- a/Jakefile.js +++ b/Jakefile.js @@ -187,7 +187,10 @@ var es2016LibrarySourceMap = es2016LibrarySource.map(function (source) { return { target: "lib." + source, sources: ["header.d.ts", source] }; }); -var es2017LibrarySource = ["es2017.object.d.ts"]; +var es2017LibrarySource = [ + "es2017.object.d.ts", + "es2017.sharedmemory.d.ts" +]; var es2017LibrarySourceMap = es2017LibrarySource.map(function (source) { return { target: "lib." + source, sources: ["header.d.ts", source] }; diff --git a/src/compiler/commandLineParser.ts b/src/compiler/commandLineParser.ts index a8d955d3b16..d12e2f59d35 100644 --- a/src/compiler/commandLineParser.ts +++ b/src/compiler/commandLineParser.ts @@ -391,7 +391,8 @@ namespace ts { "es2015.symbol": "lib.es2015.symbol.d.ts", "es2015.symbol.wellknown": "lib.es2015.symbol.wellknown.d.ts", "es2016.array.include": "lib.es2016.array.include.d.ts", - "es2017.object": "lib.es2017.object.d.ts" + "es2017.object": "lib.es2017.object.d.ts", + "es2017.sharedmemory": "lib.es2017.sharedmemory.d.ts" }, }, description: Diagnostics.Specify_library_files_to_be_included_in_the_compilation_Colon diff --git a/src/lib/es2017.d.ts b/src/lib/es2017.d.ts index aad5ff4d2ce..13f9d93f444 100644 --- a/src/lib/es2017.d.ts +++ b/src/lib/es2017.d.ts @@ -1,2 +1,3 @@ /// -/// \ No newline at end of file +/// +/// \ No newline at end of file diff --git a/src/lib/es2017.sharedmemory.d.ts b/src/lib/es2017.sharedmemory.d.ts new file mode 100644 index 00000000000..440b74ff016 --- /dev/null +++ b/src/lib/es2017.sharedmemory.d.ts @@ -0,0 +1,27 @@ +/// +/// + +interface SharedArrayBuffer { + /** + * Read-only. The length of the ArrayBuffer (in bytes). + */ + readonly byteLength: number; + + /* + * The SharedArrayBuffer constructor's length property whose value is 1. + */ + length: number; + /** + * 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; +} + +declare var SharedArrayBuffer: SharedArrayBufferConstructor; \ No newline at end of file diff --git a/tests/baselines/reference/staticAnonymousTypeNotReferencingTypeParameter.symbols b/tests/baselines/reference/staticAnonymousTypeNotReferencingTypeParameter.symbols index a6aa91e3a56..2596959de9e 100644 --- a/tests/baselines/reference/staticAnonymousTypeNotReferencingTypeParameter.symbols +++ b/tests/baselines/reference/staticAnonymousTypeNotReferencingTypeParameter.symbols @@ -562,9 +562,9 @@ class ListWrapper { >ListWrapper : Symbol(ListWrapper, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 38, 1)) >l : Symbol(l, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 113, 43)) >T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 113, 16)) ->JSON.stringify : Symbol(JSON.stringify, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>JSON.stringify : Symbol(JSON.stringify, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >JSON : Symbol(JSON, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->stringify : Symbol(JSON.stringify, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>stringify : Symbol(JSON.stringify, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >l : Symbol(l, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 113, 43)) static maximum(dit: typeof ListWrapper, list: T[], predicate: (t: T) => number): T { diff --git a/tests/baselines/reference/staticAnonymousTypeNotReferencingTypeParameter.types b/tests/baselines/reference/staticAnonymousTypeNotReferencingTypeParameter.types index 90148bdbb19..8d35f32707a 100644 --- a/tests/baselines/reference/staticAnonymousTypeNotReferencingTypeParameter.types +++ b/tests/baselines/reference/staticAnonymousTypeNotReferencingTypeParameter.types @@ -662,9 +662,9 @@ class ListWrapper { >l : T[] >T : T >JSON.stringify(l) : string ->JSON.stringify : { (value: any): string; (value: any, replacer: (key: string, value: any) => any): string; (value: any, replacer: any[]): string; (value: any, replacer: (key: string, value: any) => any, space: string | number): string; (value: any, replacer: any[], space: string | number): string; } +>JSON.stringify : { (value: any, replacer?: (key: string, value: any) => any, space?: string | number): string; (value: any, replacer?: (number | string)[], space?: string | number): string; } >JSON : JSON ->stringify : { (value: any): string; (value: any, replacer: (key: string, value: any) => any): string; (value: any, replacer: any[]): string; (value: any, replacer: (key: string, value: any) => any, space: string | number): string; (value: any, replacer: any[], space: string | number): string; } +>stringify : { (value: any, replacer?: (key: string, value: any) => any, space?: string | number): string; (value: any, replacer?: (number | string)[], space?: string | number): string; } >l : T[] static maximum(dit: typeof ListWrapper, list: T[], predicate: (t: T) => number): T { diff --git a/tests/baselines/reference/useSharedArrayBuffer1.js b/tests/baselines/reference/useSharedArrayBuffer1.js new file mode 100644 index 00000000000..d607095f115 --- /dev/null +++ b/tests/baselines/reference/useSharedArrayBuffer1.js @@ -0,0 +1,10 @@ +//// [useSharedArrayBuffer1.ts] + +var foge = new SharedArrayBuffer(1024); +var bar = foge.slice(1, 10); +var len = foge.byteLength; + +//// [useSharedArrayBuffer1.js] +var foge = new SharedArrayBuffer(1024); +var bar = foge.slice(1, 10); +var len = foge.byteLength; diff --git a/tests/baselines/reference/useSharedArrayBuffer1.symbols b/tests/baselines/reference/useSharedArrayBuffer1.symbols new file mode 100644 index 00000000000..cc5a9a5e199 --- /dev/null +++ b/tests/baselines/reference/useSharedArrayBuffer1.symbols @@ -0,0 +1,18 @@ +=== tests/cases/conformance/es2017/useSharedArrayBuffer1.ts === + +var foge = new SharedArrayBuffer(1024); +>foge : Symbol(foge, Decl(useSharedArrayBuffer1.ts, 1, 3)) +>SharedArrayBuffer : Symbol(SharedArrayBuffer, Decl(lib.es2017.sharedmemory.d.ts, --, --), Decl(lib.es2017.sharedmemory.d.ts, --, --)) + +var bar = foge.slice(1, 10); +>bar : Symbol(bar, Decl(useSharedArrayBuffer1.ts, 2, 3)) +>foge.slice : Symbol(SharedArrayBuffer.slice, Decl(lib.es2017.sharedmemory.d.ts, --, --)) +>foge : Symbol(foge, Decl(useSharedArrayBuffer1.ts, 1, 3)) +>slice : Symbol(SharedArrayBuffer.slice, Decl(lib.es2017.sharedmemory.d.ts, --, --)) + +var len = foge.byteLength; +>len : Symbol(len, Decl(useSharedArrayBuffer1.ts, 3, 3)) +>foge.byteLength : Symbol(SharedArrayBuffer.byteLength, Decl(lib.es2017.sharedmemory.d.ts, --, --)) +>foge : Symbol(foge, Decl(useSharedArrayBuffer1.ts, 1, 3)) +>byteLength : Symbol(SharedArrayBuffer.byteLength, Decl(lib.es2017.sharedmemory.d.ts, --, --)) + diff --git a/tests/baselines/reference/useSharedArrayBuffer1.types b/tests/baselines/reference/useSharedArrayBuffer1.types new file mode 100644 index 00000000000..95ef3df11de --- /dev/null +++ b/tests/baselines/reference/useSharedArrayBuffer1.types @@ -0,0 +1,23 @@ +=== tests/cases/conformance/es2017/useSharedArrayBuffer1.ts === + +var foge = new SharedArrayBuffer(1024); +>foge : SharedArrayBuffer +>new SharedArrayBuffer(1024) : SharedArrayBuffer +>SharedArrayBuffer : SharedArrayBufferConstructor +>1024 : number + +var bar = foge.slice(1, 10); +>bar : SharedArrayBuffer +>foge.slice(1, 10) : SharedArrayBuffer +>foge.slice : (begin: number, end?: number) => SharedArrayBuffer +>foge : SharedArrayBuffer +>slice : (begin: number, end?: number) => SharedArrayBuffer +>1 : number +>10 : number + +var len = foge.byteLength; +>len : number +>foge.byteLength : number +>foge : SharedArrayBuffer +>byteLength : number + diff --git a/tests/baselines/reference/useSharedArrayBuffer2.errors.txt b/tests/baselines/reference/useSharedArrayBuffer2.errors.txt new file mode 100644 index 00000000000..c5eb85dcbba --- /dev/null +++ b/tests/baselines/reference/useSharedArrayBuffer2.errors.txt @@ -0,0 +1,10 @@ +tests/cases/conformance/es2017/useSharedArrayBuffer2.ts(2,16): error TS2304: Cannot find name 'SharedArrayBuffer'. + + +==== tests/cases/conformance/es2017/useSharedArrayBuffer2.ts (1 errors) ==== + + var foge = new SharedArrayBuffer(1024); + ~~~~~~~~~~~~~~~~~ +!!! error TS2304: Cannot find name 'SharedArrayBuffer'. + var bar = foge.slice(1, 10); + var len = foge.byteLength; \ No newline at end of file diff --git a/tests/baselines/reference/useSharedArrayBuffer2.js b/tests/baselines/reference/useSharedArrayBuffer2.js new file mode 100644 index 00000000000..ed67d837c79 --- /dev/null +++ b/tests/baselines/reference/useSharedArrayBuffer2.js @@ -0,0 +1,10 @@ +//// [useSharedArrayBuffer2.ts] + +var foge = new SharedArrayBuffer(1024); +var bar = foge.slice(1, 10); +var len = foge.byteLength; + +//// [useSharedArrayBuffer2.js] +var foge = new SharedArrayBuffer(1024); +var bar = foge.slice(1, 10); +var len = foge.byteLength; diff --git a/tests/baselines/reference/useSharedArrayBuffer3.errors.txt b/tests/baselines/reference/useSharedArrayBuffer3.errors.txt new file mode 100644 index 00000000000..868bfe5a584 --- /dev/null +++ b/tests/baselines/reference/useSharedArrayBuffer3.errors.txt @@ -0,0 +1,10 @@ +tests/cases/conformance/es2017/useSharedArrayBuffer3.ts(2,16): error TS2304: Cannot find name 'SharedArrayBuffer'. + + +==== tests/cases/conformance/es2017/useSharedArrayBuffer3.ts (1 errors) ==== + + var foge = new SharedArrayBuffer(1024); + ~~~~~~~~~~~~~~~~~ +!!! error TS2304: Cannot find name 'SharedArrayBuffer'. + var bar = foge.slice(1, 10); + var len = foge.byteLength; \ No newline at end of file diff --git a/tests/baselines/reference/useSharedArrayBuffer3.js b/tests/baselines/reference/useSharedArrayBuffer3.js new file mode 100644 index 00000000000..b6e65e3bd66 --- /dev/null +++ b/tests/baselines/reference/useSharedArrayBuffer3.js @@ -0,0 +1,10 @@ +//// [useSharedArrayBuffer3.ts] + +var foge = new SharedArrayBuffer(1024); +var bar = foge.slice(1, 10); +var len = foge.byteLength; + +//// [useSharedArrayBuffer3.js] +var foge = new SharedArrayBuffer(1024); +var bar = foge.slice(1, 10); +var len = foge.byteLength; diff --git a/tests/baselines/reference/useSharedArrayBuffer4.js b/tests/baselines/reference/useSharedArrayBuffer4.js new file mode 100644 index 00000000000..3bdc2bdd2e7 --- /dev/null +++ b/tests/baselines/reference/useSharedArrayBuffer4.js @@ -0,0 +1,14 @@ +//// [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; + +//// [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; diff --git a/tests/baselines/reference/useSharedArrayBuffer4.symbols b/tests/baselines/reference/useSharedArrayBuffer4.symbols new file mode 100644 index 00000000000..7a8a2a167aa --- /dev/null +++ b/tests/baselines/reference/useSharedArrayBuffer4.symbols @@ -0,0 +1,32 @@ +=== tests/cases/conformance/es2017/useSharedArrayBuffer4.ts === + +var foge = new SharedArrayBuffer(1024); +>foge : Symbol(foge, Decl(useSharedArrayBuffer4.ts, 1, 3)) +>SharedArrayBuffer : Symbol(SharedArrayBuffer, Decl(lib.es2017.sharedmemory.d.ts, --, --), Decl(lib.es2017.sharedmemory.d.ts, --, --)) + +var bar = foge.slice(1, 10); +>bar : Symbol(bar, Decl(useSharedArrayBuffer4.ts, 2, 3)) +>foge.slice : Symbol(SharedArrayBuffer.slice, Decl(lib.es2017.sharedmemory.d.ts, --, --)) +>foge : Symbol(foge, Decl(useSharedArrayBuffer4.ts, 1, 3)) +>slice : Symbol(SharedArrayBuffer.slice, Decl(lib.es2017.sharedmemory.d.ts, --, --)) + +var species = foge[Symbol.species]; +>species : Symbol(species, Decl(useSharedArrayBuffer4.ts, 3, 3)) +>foge : Symbol(foge, Decl(useSharedArrayBuffer4.ts, 1, 3)) +>Symbol.species : Symbol(SymbolConstructor.species, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) +>species : Symbol(SymbolConstructor.species, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) + +var stringTag = foge[Symbol.toStringTag]; +>stringTag : Symbol(stringTag, Decl(useSharedArrayBuffer4.ts, 4, 3)) +>foge : Symbol(foge, Decl(useSharedArrayBuffer4.ts, 1, 3)) +>Symbol.toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) +>toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) + +var len = foge.byteLength; +>len : Symbol(len, Decl(useSharedArrayBuffer4.ts, 5, 3)) +>foge.byteLength : Symbol(SharedArrayBuffer.byteLength, Decl(lib.es2017.sharedmemory.d.ts, --, --)) +>foge : Symbol(foge, Decl(useSharedArrayBuffer4.ts, 1, 3)) +>byteLength : Symbol(SharedArrayBuffer.byteLength, Decl(lib.es2017.sharedmemory.d.ts, --, --)) + diff --git a/tests/baselines/reference/useSharedArrayBuffer4.types b/tests/baselines/reference/useSharedArrayBuffer4.types new file mode 100644 index 00000000000..e182cd654aa --- /dev/null +++ b/tests/baselines/reference/useSharedArrayBuffer4.types @@ -0,0 +1,39 @@ +=== tests/cases/conformance/es2017/useSharedArrayBuffer4.ts === + +var foge = new SharedArrayBuffer(1024); +>foge : SharedArrayBuffer +>new SharedArrayBuffer(1024) : SharedArrayBuffer +>SharedArrayBuffer : SharedArrayBufferConstructor +>1024 : number + +var bar = foge.slice(1, 10); +>bar : SharedArrayBuffer +>foge.slice(1, 10) : SharedArrayBuffer +>foge.slice : (begin: number, end?: number) => SharedArrayBuffer +>foge : SharedArrayBuffer +>slice : (begin: number, end?: number) => SharedArrayBuffer +>1 : number +>10 : number + +var species = foge[Symbol.species]; +>species : SharedArrayBuffer +>foge[Symbol.species] : SharedArrayBuffer +>foge : SharedArrayBuffer +>Symbol.species : symbol +>Symbol : SymbolConstructor +>species : symbol + +var stringTag = foge[Symbol.toStringTag]; +>stringTag : "SharedArrayBuffer" +>foge[Symbol.toStringTag] : "SharedArrayBuffer" +>foge : SharedArrayBuffer +>Symbol.toStringTag : symbol +>Symbol : SymbolConstructor +>toStringTag : symbol + +var len = foge.byteLength; +>len : number +>foge.byteLength : number +>foge : SharedArrayBuffer +>byteLength : number + diff --git a/tests/baselines/reference/useSharedArrayBuffer5.js b/tests/baselines/reference/useSharedArrayBuffer5.js new file mode 100644 index 00000000000..df8da8850d3 --- /dev/null +++ b/tests/baselines/reference/useSharedArrayBuffer5.js @@ -0,0 +1,10 @@ +//// [useSharedArrayBuffer5.ts] + +var foge = new SharedArrayBuffer(1024); +var species = foge[Symbol.species]; +var stringTag = foge[Symbol.toStringTag]; + +//// [useSharedArrayBuffer5.js] +var foge = new SharedArrayBuffer(1024); +var species = foge[Symbol.species]; +var stringTag = foge[Symbol.toStringTag]; diff --git a/tests/baselines/reference/useSharedArrayBuffer5.symbols b/tests/baselines/reference/useSharedArrayBuffer5.symbols new file mode 100644 index 00000000000..a6eab16ac6a --- /dev/null +++ b/tests/baselines/reference/useSharedArrayBuffer5.symbols @@ -0,0 +1,20 @@ +=== tests/cases/conformance/es2017/useSharedArrayBuffer5.ts === + +var foge = new SharedArrayBuffer(1024); +>foge : Symbol(foge, Decl(useSharedArrayBuffer5.ts, 1, 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, 2, 3)) +>foge : Symbol(foge, Decl(useSharedArrayBuffer5.ts, 1, 3)) +>Symbol.species : Symbol(SymbolConstructor.species, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) +>species : Symbol(SymbolConstructor.species, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) + +var stringTag = foge[Symbol.toStringTag]; +>stringTag : Symbol(stringTag, Decl(useSharedArrayBuffer5.ts, 3, 3)) +>foge : Symbol(foge, Decl(useSharedArrayBuffer5.ts, 1, 3)) +>Symbol.toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) +>toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) + diff --git a/tests/baselines/reference/useSharedArrayBuffer5.types b/tests/baselines/reference/useSharedArrayBuffer5.types new file mode 100644 index 00000000000..9e7627a503b --- /dev/null +++ b/tests/baselines/reference/useSharedArrayBuffer5.types @@ -0,0 +1,24 @@ +=== tests/cases/conformance/es2017/useSharedArrayBuffer5.ts === + +var foge = new SharedArrayBuffer(1024); +>foge : SharedArrayBuffer +>new SharedArrayBuffer(1024) : SharedArrayBuffer +>SharedArrayBuffer : SharedArrayBufferConstructor +>1024 : number + +var species = foge[Symbol.species]; +>species : SharedArrayBuffer +>foge[Symbol.species] : SharedArrayBuffer +>foge : SharedArrayBuffer +>Symbol.species : symbol +>Symbol : SymbolConstructor +>species : symbol + +var stringTag = foge[Symbol.toStringTag]; +>stringTag : "SharedArrayBuffer" +>foge[Symbol.toStringTag] : "SharedArrayBuffer" +>foge : SharedArrayBuffer +>Symbol.toStringTag : symbol +>Symbol : SymbolConstructor +>toStringTag : symbol + diff --git a/tests/baselines/reference/useSharedArrayBuffer6.js b/tests/baselines/reference/useSharedArrayBuffer6.js new file mode 100644 index 00000000000..598bc46217e --- /dev/null +++ b/tests/baselines/reference/useSharedArrayBuffer6.js @@ -0,0 +1,10 @@ +//// [useSharedArrayBuffer6.ts] + +var foge = new SharedArrayBuffer(1024); +var species = foge[Symbol.species]; +var stringTag = foge[Symbol.toStringTag]; + +//// [useSharedArrayBuffer6.js] +var foge = new SharedArrayBuffer(1024); +var species = foge[Symbol.species]; +var stringTag = foge[Symbol.toStringTag]; diff --git a/tests/baselines/reference/useSharedArrayBuffer6.symbols b/tests/baselines/reference/useSharedArrayBuffer6.symbols new file mode 100644 index 00000000000..afdbac86cd6 --- /dev/null +++ b/tests/baselines/reference/useSharedArrayBuffer6.symbols @@ -0,0 +1,20 @@ +=== tests/cases/conformance/es2017/useSharedArrayBuffer6.ts === + +var foge = new SharedArrayBuffer(1024); +>foge : Symbol(foge, Decl(useSharedArrayBuffer6.ts, 1, 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(useSharedArrayBuffer6.ts, 2, 3)) +>foge : Symbol(foge, Decl(useSharedArrayBuffer6.ts, 1, 3)) +>Symbol.species : Symbol(SymbolConstructor.species, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) +>species : Symbol(SymbolConstructor.species, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) + +var stringTag = foge[Symbol.toStringTag]; +>stringTag : Symbol(stringTag, Decl(useSharedArrayBuffer6.ts, 3, 3)) +>foge : Symbol(foge, Decl(useSharedArrayBuffer6.ts, 1, 3)) +>Symbol.toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) +>toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) + diff --git a/tests/baselines/reference/useSharedArrayBuffer6.types b/tests/baselines/reference/useSharedArrayBuffer6.types new file mode 100644 index 00000000000..45439b9331e --- /dev/null +++ b/tests/baselines/reference/useSharedArrayBuffer6.types @@ -0,0 +1,24 @@ +=== tests/cases/conformance/es2017/useSharedArrayBuffer6.ts === + +var foge = new SharedArrayBuffer(1024); +>foge : SharedArrayBuffer +>new SharedArrayBuffer(1024) : SharedArrayBuffer +>SharedArrayBuffer : SharedArrayBufferConstructor +>1024 : number + +var species = foge[Symbol.species]; +>species : SharedArrayBuffer +>foge[Symbol.species] : SharedArrayBuffer +>foge : SharedArrayBuffer +>Symbol.species : symbol +>Symbol : SymbolConstructor +>species : symbol + +var stringTag = foge[Symbol.toStringTag]; +>stringTag : "SharedArrayBuffer" +>foge[Symbol.toStringTag] : "SharedArrayBuffer" +>foge : SharedArrayBuffer +>Symbol.toStringTag : symbol +>Symbol : SymbolConstructor +>toStringTag : symbol + diff --git a/tests/cases/conformance/es2017/useSharedArrayBuffer1.ts b/tests/cases/conformance/es2017/useSharedArrayBuffer1.ts new file mode 100644 index 00000000000..78d8c23f98a --- /dev/null +++ b/tests/cases/conformance/es2017/useSharedArrayBuffer1.ts @@ -0,0 +1,6 @@ +// @target: es5 +// @lib: es5,es2017.sharedmemory + +var foge = new SharedArrayBuffer(1024); +var bar = foge.slice(1, 10); +var len = foge.byteLength; \ No newline at end of file diff --git a/tests/cases/conformance/es2017/useSharedArrayBuffer2.ts b/tests/cases/conformance/es2017/useSharedArrayBuffer2.ts new file mode 100644 index 00000000000..68d7702fa2a --- /dev/null +++ b/tests/cases/conformance/es2017/useSharedArrayBuffer2.ts @@ -0,0 +1,6 @@ +// @target: es5 +// @lib: es5 + +var foge = new SharedArrayBuffer(1024); +var bar = foge.slice(1, 10); +var len = foge.byteLength; \ No newline at end of file diff --git a/tests/cases/conformance/es2017/useSharedArrayBuffer3.ts b/tests/cases/conformance/es2017/useSharedArrayBuffer3.ts new file mode 100644 index 00000000000..62b3b3a21a9 --- /dev/null +++ b/tests/cases/conformance/es2017/useSharedArrayBuffer3.ts @@ -0,0 +1,5 @@ +// @target: es6 + +var foge = new SharedArrayBuffer(1024); +var bar = foge.slice(1, 10); +var len = foge.byteLength; \ No newline at end of file diff --git a/tests/cases/conformance/es2017/useSharedArrayBuffer4.ts b/tests/cases/conformance/es2017/useSharedArrayBuffer4.ts new file mode 100644 index 00000000000..4d47c739ff3 --- /dev/null +++ b/tests/cases/conformance/es2017/useSharedArrayBuffer4.ts @@ -0,0 +1,8 @@ +// @target: es6 +// @lib: es2017 + +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 diff --git a/tests/cases/conformance/es2017/useSharedArrayBuffer5.ts b/tests/cases/conformance/es2017/useSharedArrayBuffer5.ts new file mode 100644 index 00000000000..3606c1c6346 --- /dev/null +++ b/tests/cases/conformance/es2017/useSharedArrayBuffer5.ts @@ -0,0 +1,6 @@ +// @target: es5 +// @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 diff --git a/tests/cases/conformance/es2017/useSharedArrayBuffer6.ts b/tests/cases/conformance/es2017/useSharedArrayBuffer6.ts new file mode 100644 index 00000000000..3606c1c6346 --- /dev/null +++ b/tests/cases/conformance/es2017/useSharedArrayBuffer6.ts @@ -0,0 +1,6 @@ +// @target: es5 +// @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 diff --git a/tests/cases/unittests/commandLineParsing.ts b/tests/cases/unittests/commandLineParsing.ts index c59f6a4d78c..fadd3fb61b0 100644 --- a/tests/cases/unittests/commandLineParsing.ts +++ b/tests/cases/unittests/commandLineParsing.ts @@ -60,7 +60,7 @@ namespace ts { assertParseResult(["--lib", "es5,invalidOption", "0.ts"], { errors: [{ - messageText: "Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'dom', 'webworker', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include', 'es2017.object'", + messageText: "Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'dom', 'webworker', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include', 'es2017.object', 'es2017.sharedmemory'", category: ts.Diagnostics.Argument_for_0_option_must_be_Colon_1.category, code: ts.Diagnostics.Argument_for_0_option_must_be_Colon_1.code, @@ -217,7 +217,7 @@ namespace ts { start: undefined, length: undefined, }, { - messageText: "Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'dom', 'webworker', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include', 'es2017.object'", + messageText: "Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'dom', 'webworker', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include', 'es2017.object', 'es2017.sharedmemory'", category: ts.Diagnostics.Argument_for_0_option_must_be_Colon_1.category, code: ts.Diagnostics.Argument_for_0_option_must_be_Colon_1.code, @@ -237,7 +237,7 @@ namespace ts { assertParseResult(["--lib", "es5,", "es7", "0.ts"], { errors: [{ - messageText: "Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'dom', 'webworker', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include', 'es2017.object'", + messageText: "Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'dom', 'webworker', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include', 'es2017.object', 'es2017.sharedmemory'", category: ts.Diagnostics.Argument_for_0_option_must_be_Colon_1.category, code: ts.Diagnostics.Argument_for_0_option_must_be_Colon_1.code, @@ -257,7 +257,7 @@ namespace ts { assertParseResult(["--lib", "es5, ", "es7", "0.ts"], { errors: [{ - messageText: "Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'dom', 'webworker', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include', 'es2017.object'", + messageText: "Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'dom', 'webworker', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include', 'es2017.object', 'es2017.sharedmemory'", category: ts.Diagnostics.Argument_for_0_option_must_be_Colon_1.category, code: ts.Diagnostics.Argument_for_0_option_must_be_Colon_1.code, diff --git a/tests/cases/unittests/convertCompilerOptionsFromJson.ts b/tests/cases/unittests/convertCompilerOptionsFromJson.ts index b48d4ac451b..84c9ed49a9e 100644 --- a/tests/cases/unittests/convertCompilerOptionsFromJson.ts +++ b/tests/cases/unittests/convertCompilerOptionsFromJson.ts @@ -233,7 +233,7 @@ namespace ts { file: undefined, start: 0, length: 0, - messageText: "Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'dom', 'webworker', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include', 'es2017.object'", + messageText: "Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'dom', 'webworker', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include', 'es2017.object', 'es2017.sharedmemory'", code: Diagnostics.Argument_for_0_option_must_be_Colon_1.code, category: Diagnostics.Argument_for_0_option_must_be_Colon_1.category }] @@ -264,7 +264,7 @@ namespace ts { file: undefined, start: 0, length: 0, - messageText: "Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'dom', 'webworker', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include', 'es2017.object'", + messageText: "Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'dom', 'webworker', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include', 'es2017.object', 'es2017.sharedmemory'", code: Diagnostics.Argument_for_0_option_must_be_Colon_1.code, category: Diagnostics.Argument_for_0_option_must_be_Colon_1.category }] @@ -295,7 +295,7 @@ namespace ts { file: undefined, start: 0, length: 0, - messageText: "Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'dom', 'webworker', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include', 'es2017.object'", + messageText: "Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'dom', 'webworker', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include', 'es2017.object', 'es2017.sharedmemory'", code: Diagnostics.Argument_for_0_option_must_be_Colon_1.code, category: Diagnostics.Argument_for_0_option_must_be_Colon_1.category }] @@ -326,7 +326,7 @@ namespace ts { file: undefined, start: 0, length: 0, - messageText: "Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'dom', 'webworker', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include', 'es2017.object'", + messageText: "Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'dom', 'webworker', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include', 'es2017.object', 'es2017.sharedmemory'", code: Diagnostics.Argument_for_0_option_must_be_Colon_1.code, category: Diagnostics.Argument_for_0_option_must_be_Colon_1.category }]