From d6b2c6d0bb6668785ab9c691a8cf531ecf50a14a Mon Sep 17 00:00:00 2001 From: Daniel Rosenwasser Date: Wed, 4 Feb 2015 15:33:53 -0800 Subject: [PATCH] Stop erroring on computed properties for ES3/ES5 emit. --- src/compiler/checker.ts | 5 +- .../FunctionDeclaration8_es6.errors.txt | 5 +- .../FunctionDeclaration9_es6.errors.txt | 5 +- ...unctionPropertyAssignments5_es6.errors.txt | 5 +- .../computedPropertyNames10_ES5.errors.txt | 52 ------------ .../computedPropertyNames10_ES5.types | 46 ++++++++++ .../computedPropertyNames11_ES5.errors.txt | 85 ------------------- .../computedPropertyNames11_ES5.types | 53 ++++++++++++ .../computedPropertyNames13_ES5.errors.txt | 52 ------------ .../computedPropertyNames13_ES5.types | 45 ++++++++++ .../computedPropertyNames14_ES5.errors.txt | 20 +---- .../computedPropertyNames15_ES5.errors.txt | 11 +-- .../computedPropertyNames16_ES5.errors.txt | 52 ------------ .../computedPropertyNames16_ES5.types | 52 ++++++++++++ .../computedPropertyNames17_ES5.errors.txt | 20 +---- .../computedPropertyNames18_ES5.errors.txt | 11 --- .../computedPropertyNames18_ES5.types | 14 +++ .../computedPropertyNames19_ES5.errors.txt | 5 +- .../computedPropertyNames1_ES5.errors.txt | 19 ----- .../computedPropertyNames1_ES5.types | 12 +++ .../computedPropertyNames20_ES5.errors.txt | 9 -- .../computedPropertyNames20_ES5.types | 10 +++ .../computedPropertyNames21_ES5.errors.txt | 5 +- .../computedPropertyNames22_ES5.errors.txt | 14 --- .../computedPropertyNames22_ES5.types | 21 +++++ .../computedPropertyNames23_ES5.errors.txt | 10 +-- .../computedPropertyNames24_ES5.errors.txt | 5 +- .../computedPropertyNames25_ES5.errors.txt | 19 ----- .../computedPropertyNames25_ES5.types | 31 +++++++ .../computedPropertyNames26_ES5.errors.txt | 10 +-- .../computedPropertyNames27_ES5.errors.txt | 5 +- .../computedPropertyNames28_ES5.errors.txt | 16 ---- .../computedPropertyNames28_ES5.types | 26 ++++++ .../computedPropertyNames29_ES5.errors.txt | 16 ---- .../computedPropertyNames29_ES5.types | 25 ++++++ .../computedPropertyNames2_ES5.errors.txt | 20 +---- .../computedPropertyNames30_ES5.errors.txt | 5 +- .../computedPropertyNames31_ES5.errors.txt | 21 ----- .../computedPropertyNames31_ES5.types | 35 ++++++++ .../computedPropertyNames32_ES5.errors.txt | 5 +- .../computedPropertyNames33_ES5.errors.txt | 15 ---- .../computedPropertyNames33_ES5.types | 25 ++++++ .../computedPropertyNames34_ES5.errors.txt | 5 +- .../computedPropertyNames36_ES5.errors.txt | 8 +- .../computedPropertyNames37_ES5.errors.txt | 19 ----- .../computedPropertyNames37_ES5.types | 26 ++++++ .../computedPropertyNames38_ES5.errors.txt | 8 +- .../computedPropertyNames39_ES5.errors.txt | 8 +- .../computedPropertyNames3_ES5.errors.txt | 20 +---- .../computedPropertyNames40_ES5.errors.txt | 8 +- .../computedPropertyNames41_ES5.errors.txt | 15 ---- .../computedPropertyNames41_ES5.types | 22 +++++ .../computedPropertyNames43_ES5.errors.txt | 8 +- .../computedPropertyNames44_ES5.errors.txt | 8 +- .../computedPropertyNames45_ES5.errors.txt | 8 +- .../computedPropertyNames46_ES5.errors.txt | 9 -- .../computedPropertyNames46_ES5.types | 9 ++ .../computedPropertyNames47_ES5.errors.txt | 11 --- .../computedPropertyNames47_ES5.types | 23 +++++ .../computedPropertyNames48_ES5.errors.txt | 38 --------- .../computedPropertyNames48_ES5.types | 47 ++++++++++ .../computedPropertyNames4_ES5.errors.txt | 52 ------------ .../computedPropertyNames4_ES5.types | 48 +++++++++++ .../computedPropertyNames5_ES5.errors.txt | 20 +---- .../computedPropertyNames6_ES5.errors.txt | 11 +-- .../computedPropertyNames7_ES5.errors.txt | 12 --- .../computedPropertyNames7_ES5.types | 16 ++++ .../computedPropertyNames8_ES5.errors.txt | 8 +- .../computedPropertyNames9_ES5.errors.txt | 11 +-- ...opertyNamesContextualType10_ES5.errors.txt | 8 +- ...ropertyNamesContextualType1_ES5.errors.txt | 18 ---- ...utedPropertyNamesContextualType1_ES5.types | 33 +++++++ ...ropertyNamesContextualType2_ES5.errors.txt | 18 ---- ...utedPropertyNamesContextualType2_ES5.types | 33 +++++++ ...ropertyNamesContextualType3_ES5.errors.txt | 17 ---- ...utedPropertyNamesContextualType3_ES5.types | 29 +++++++ ...ropertyNamesContextualType4_ES5.errors.txt | 18 ---- ...utedPropertyNamesContextualType4_ES5.types | 22 +++++ ...ropertyNamesContextualType5_ES5.errors.txt | 18 ---- ...utedPropertyNamesContextualType5_ES5.types | 22 +++++ ...ropertyNamesContextualType6_ES5.errors.txt | 34 -------- ...utedPropertyNamesContextualType6_ES5.types | 40 +++++++++ ...ropertyNamesContextualType7_ES5.errors.txt | 34 -------- ...utedPropertyNamesContextualType7_ES5.types | 40 +++++++++ ...ropertyNamesContextualType8_ES5.errors.txt | 8 +- ...ropertyNamesContextualType9_ES5.errors.txt | 8 +- ...opertyNamesDeclarationEmit1_ES5.errors.txt | 17 ---- ...mputedPropertyNamesDeclarationEmit1_ES5.js | 5 ++ ...tedPropertyNamesDeclarationEmit1_ES5.types | 14 +++ ...opertyNamesDeclarationEmit2_ES5.errors.txt | 17 ---- ...mputedPropertyNamesDeclarationEmit2_ES5.js | 5 ++ ...tedPropertyNamesDeclarationEmit2_ES5.types | 14 +++ ...opertyNamesDeclarationEmit5_ES5.errors.txt | 27 ------ ...mputedPropertyNamesDeclarationEmit5_ES5.js | 4 + ...tedPropertyNamesDeclarationEmit5_ES5.types | 18 ++++ ...tedPropertyNamesOnOverloads_ES5.errors.txt | 5 +- ...utedPropertyNamesSourceMap1_ES5.errors.txt | 11 --- .../computedPropertyNamesSourceMap1_ES5.types | 8 ++ ...utedPropertyNamesSourceMap2_ES5.errors.txt | 11 --- .../computedPropertyNamesSourceMap2_ES5.types | 9 ++ .../parserES5ComputedPropertyName2.errors.txt | 5 +- .../parserES5ComputedPropertyName3.errors.txt | 5 +- .../parserES5ComputedPropertyName4.errors.txt | 5 +- 103 files changed, 918 insertions(+), 1057 deletions(-) delete mode 100644 tests/baselines/reference/computedPropertyNames10_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames10_ES5.types delete mode 100644 tests/baselines/reference/computedPropertyNames11_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames11_ES5.types delete mode 100644 tests/baselines/reference/computedPropertyNames13_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames13_ES5.types delete mode 100644 tests/baselines/reference/computedPropertyNames16_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames16_ES5.types delete mode 100644 tests/baselines/reference/computedPropertyNames18_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames18_ES5.types delete mode 100644 tests/baselines/reference/computedPropertyNames1_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames1_ES5.types delete mode 100644 tests/baselines/reference/computedPropertyNames20_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames20_ES5.types delete mode 100644 tests/baselines/reference/computedPropertyNames22_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames22_ES5.types delete mode 100644 tests/baselines/reference/computedPropertyNames25_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames25_ES5.types delete mode 100644 tests/baselines/reference/computedPropertyNames28_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames28_ES5.types delete mode 100644 tests/baselines/reference/computedPropertyNames29_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames29_ES5.types delete mode 100644 tests/baselines/reference/computedPropertyNames31_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames31_ES5.types delete mode 100644 tests/baselines/reference/computedPropertyNames33_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames33_ES5.types delete mode 100644 tests/baselines/reference/computedPropertyNames37_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames37_ES5.types delete mode 100644 tests/baselines/reference/computedPropertyNames41_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames41_ES5.types delete mode 100644 tests/baselines/reference/computedPropertyNames46_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames46_ES5.types delete mode 100644 tests/baselines/reference/computedPropertyNames47_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames47_ES5.types delete mode 100644 tests/baselines/reference/computedPropertyNames48_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames48_ES5.types delete mode 100644 tests/baselines/reference/computedPropertyNames4_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames4_ES5.types delete mode 100644 tests/baselines/reference/computedPropertyNames7_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames7_ES5.types delete mode 100644 tests/baselines/reference/computedPropertyNamesContextualType1_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNamesContextualType1_ES5.types delete mode 100644 tests/baselines/reference/computedPropertyNamesContextualType2_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNamesContextualType2_ES5.types delete mode 100644 tests/baselines/reference/computedPropertyNamesContextualType3_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNamesContextualType3_ES5.types delete mode 100644 tests/baselines/reference/computedPropertyNamesContextualType4_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNamesContextualType4_ES5.types delete mode 100644 tests/baselines/reference/computedPropertyNamesContextualType5_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNamesContextualType5_ES5.types delete mode 100644 tests/baselines/reference/computedPropertyNamesContextualType6_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNamesContextualType6_ES5.types delete mode 100644 tests/baselines/reference/computedPropertyNamesContextualType7_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNamesContextualType7_ES5.types delete mode 100644 tests/baselines/reference/computedPropertyNamesDeclarationEmit1_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNamesDeclarationEmit1_ES5.types delete mode 100644 tests/baselines/reference/computedPropertyNamesDeclarationEmit2_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNamesDeclarationEmit2_ES5.types delete mode 100644 tests/baselines/reference/computedPropertyNamesDeclarationEmit5_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNamesDeclarationEmit5_ES5.types delete mode 100644 tests/baselines/reference/computedPropertyNamesSourceMap1_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNamesSourceMap1_ES5.types delete mode 100644 tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.types diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index f44c9b118f8..91a1926573a 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -10626,10 +10626,7 @@ module ts { } var computedPropertyName = node; - if (languageVersion < ScriptTarget.ES6) { - return grammarErrorOnNode(node, Diagnostics.Computed_property_names_are_only_available_when_targeting_ECMAScript_6_and_higher); - } - else if (computedPropertyName.expression.kind === SyntaxKind.BinaryExpression && (computedPropertyName.expression).operator === SyntaxKind.CommaToken) { + if (computedPropertyName.expression.kind === SyntaxKind.BinaryExpression && (computedPropertyName.expression).operator === SyntaxKind.CommaToken) { return grammarErrorOnNode(computedPropertyName.expression, Diagnostics.A_comma_expression_is_not_allowed_in_a_computed_property_name); } } diff --git a/tests/baselines/reference/FunctionDeclaration8_es6.errors.txt b/tests/baselines/reference/FunctionDeclaration8_es6.errors.txt index 2c8d034649e..c35015af7cf 100644 --- a/tests/baselines/reference/FunctionDeclaration8_es6.errors.txt +++ b/tests/baselines/reference/FunctionDeclaration8_es6.errors.txt @@ -1,12 +1,9 @@ -tests/cases/conformance/es6/functionDeclarations/FunctionDeclaration8_es6.ts(1,11): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/es6/functionDeclarations/FunctionDeclaration8_es6.ts(1,12): error TS2304: Cannot find name 'yield'. tests/cases/conformance/es6/functionDeclarations/FunctionDeclaration8_es6.ts(1,20): error TS2304: Cannot find name 'foo'. -==== tests/cases/conformance/es6/functionDeclarations/FunctionDeclaration8_es6.ts (3 errors) ==== +==== tests/cases/conformance/es6/functionDeclarations/FunctionDeclaration8_es6.ts (2 errors) ==== var v = { [yield]: foo } - ~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. ~~~~~ !!! error TS2304: Cannot find name 'yield'. ~~~ diff --git a/tests/baselines/reference/FunctionDeclaration9_es6.errors.txt b/tests/baselines/reference/FunctionDeclaration9_es6.errors.txt index ef744681fa1..152b1ffc7cc 100644 --- a/tests/baselines/reference/FunctionDeclaration9_es6.errors.txt +++ b/tests/baselines/reference/FunctionDeclaration9_es6.errors.txt @@ -1,15 +1,12 @@ tests/cases/conformance/es6/functionDeclarations/FunctionDeclaration9_es6.ts(1,10): error TS9001: Generators are not currently supported. -tests/cases/conformance/es6/functionDeclarations/FunctionDeclaration9_es6.ts(2,13): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/es6/functionDeclarations/FunctionDeclaration9_es6.ts(2,14): error TS9000: 'yield' expressions are not currently supported. -==== tests/cases/conformance/es6/functionDeclarations/FunctionDeclaration9_es6.ts (3 errors) ==== +==== tests/cases/conformance/es6/functionDeclarations/FunctionDeclaration9_es6.ts (2 errors) ==== function * foo() { ~ !!! error TS9001: Generators are not currently supported. var v = { [yield]: foo } - ~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. ~~~~~ !!! error TS9000: 'yield' expressions are not currently supported. } \ No newline at end of file diff --git a/tests/baselines/reference/FunctionPropertyAssignments5_es6.errors.txt b/tests/baselines/reference/FunctionPropertyAssignments5_es6.errors.txt index c8c356a57ad..596764e58ea 100644 --- a/tests/baselines/reference/FunctionPropertyAssignments5_es6.errors.txt +++ b/tests/baselines/reference/FunctionPropertyAssignments5_es6.errors.txt @@ -1,13 +1,10 @@ tests/cases/conformance/es6/functionPropertyAssignments/FunctionPropertyAssignments5_es6.ts(1,11): error TS9001: Generators are not currently supported. -tests/cases/conformance/es6/functionPropertyAssignments/FunctionPropertyAssignments5_es6.ts(1,12): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/es6/functionPropertyAssignments/FunctionPropertyAssignments5_es6.ts(1,13): error TS2304: Cannot find name 'foo'. -==== tests/cases/conformance/es6/functionPropertyAssignments/FunctionPropertyAssignments5_es6.ts (3 errors) ==== +==== tests/cases/conformance/es6/functionPropertyAssignments/FunctionPropertyAssignments5_es6.ts (2 errors) ==== var v = { *[foo()]() { } } ~ !!! error TS9001: Generators are not currently supported. - ~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. ~~~ !!! error TS2304: Cannot find name 'foo'. \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames10_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames10_ES5.errors.txt deleted file mode 100644 index 30a5f07c271..00000000000 --- a/tests/baselines/reference/computedPropertyNames10_ES5.errors.txt +++ /dev/null @@ -1,52 +0,0 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames10_ES5.ts(5,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames10_ES5.ts(6,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames10_ES5.ts(7,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames10_ES5.ts(8,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames10_ES5.ts(9,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames10_ES5.ts(10,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames10_ES5.ts(11,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames10_ES5.ts(12,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames10_ES5.ts(13,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames10_ES5.ts(14,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames10_ES5.ts(15,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - - -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames10_ES5.ts (11 errors) ==== - var s: string; - var n: number; - var a: any; - var v = { - [s]() { }, - ~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - [n]() { }, - ~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - [s + s]() { }, - ~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - [s + n]() { }, - ~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - [+s]() { }, - ~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - [""]() { }, - ~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - [0]() { }, - ~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - [a]() { }, - ~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - [true]() { }, - ~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - [`hello bye`]() { }, - ~~~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - [`hello ${a} bye`]() { } - ~~~~~~~~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames10_ES5.types b/tests/baselines/reference/computedPropertyNames10_ES5.types new file mode 100644 index 00000000000..cb49d5c3384 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames10_ES5.types @@ -0,0 +1,46 @@ +=== tests/cases/conformance/es6/computedProperties/computedPropertyNames10_ES5.ts === +var s: string; +>s : string + +var n: number; +>n : number + +var a: any; +>a : any + +var v = { +>v : {} +>{ [s]() { }, [n]() { }, [s + s]() { }, [s + n]() { }, [+s]() { }, [""]() { }, [0]() { }, [a]() { }, [true]() { }, [`hello bye`]() { }, [`hello ${a} bye`]() { }} : {} + + [s]() { }, +>s : string + + [n]() { }, +>n : number + + [s + s]() { }, +>s + s : string +>s : string +>s : string + + [s + n]() { }, +>s + n : string +>s : string +>n : number + + [+s]() { }, +>+s : number +>s : string + + [""]() { }, + [0]() { }, + [a]() { }, +>a : any + + [true]() { }, +>true : any + + [`hello bye`]() { }, + [`hello ${a} bye`]() { } +>a : any +} diff --git a/tests/baselines/reference/computedPropertyNames11_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames11_ES5.errors.txt deleted file mode 100644 index 21f8c8ef0eb..00000000000 --- a/tests/baselines/reference/computedPropertyNames11_ES5.errors.txt +++ /dev/null @@ -1,85 +0,0 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames11_ES5.ts(5,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames11_ES5.ts(5,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames11_ES5.ts(6,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames11_ES5.ts(6,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames11_ES5.ts(7,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames11_ES5.ts(7,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames11_ES5.ts(8,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames11_ES5.ts(8,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames11_ES5.ts(9,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames11_ES5.ts(9,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames11_ES5.ts(10,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames11_ES5.ts(10,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames11_ES5.ts(11,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames11_ES5.ts(11,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames11_ES5.ts(12,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames11_ES5.ts(12,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames11_ES5.ts(13,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames11_ES5.ts(13,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames11_ES5.ts(14,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames11_ES5.ts(14,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames11_ES5.ts(15,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames11_ES5.ts(15,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - - -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames11_ES5.ts (22 errors) ==== - var s: string; - var n: number; - var a: any; - var v = { - get [s]() { return 0; }, - ~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - set [n](v) { }, - ~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - get [s + s]() { return 0; }, - ~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - set [s + n](v) { }, - ~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - get [+s]() { return 0; }, - ~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - set [""](v) { }, - ~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - get [0]() { return 0; }, - ~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - set [a](v) { }, - ~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - get [true]() { return 0; }, - ~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - set [`hello bye`](v) { }, - ~~~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - get [`hello ${a} bye`]() { return 0; } - ~~~~~~~~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~~~~~~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames11_ES5.types b/tests/baselines/reference/computedPropertyNames11_ES5.types new file mode 100644 index 00000000000..ed3c51302b7 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames11_ES5.types @@ -0,0 +1,53 @@ +=== tests/cases/conformance/es6/computedProperties/computedPropertyNames11_ES5.ts === +var s: string; +>s : string + +var n: number; +>n : number + +var a: any; +>a : any + +var v = { +>v : {} +>{ get [s]() { return 0; }, set [n](v) { }, get [s + s]() { return 0; }, set [s + n](v) { }, get [+s]() { return 0; }, set [""](v) { }, get [0]() { return 0; }, set [a](v) { }, get [true]() { return 0; }, set [`hello bye`](v) { }, get [`hello ${a} bye`]() { return 0; }} : {} + + get [s]() { return 0; }, +>s : string + + set [n](v) { }, +>n : number +>v : any + + get [s + s]() { return 0; }, +>s + s : string +>s : string +>s : string + + set [s + n](v) { }, +>s + n : string +>s : string +>n : number +>v : any + + get [+s]() { return 0; }, +>+s : number +>s : string + + set [""](v) { }, +>v : any + + get [0]() { return 0; }, + set [a](v) { }, +>a : any +>v : any + + get [true]() { return 0; }, +>true : any + + set [`hello bye`](v) { }, +>v : any + + get [`hello ${a} bye`]() { return 0; } +>a : any +} diff --git a/tests/baselines/reference/computedPropertyNames13_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames13_ES5.errors.txt deleted file mode 100644 index 15d43c41c91..00000000000 --- a/tests/baselines/reference/computedPropertyNames13_ES5.errors.txt +++ /dev/null @@ -1,52 +0,0 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames13_ES5.ts(5,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames13_ES5.ts(6,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames13_ES5.ts(7,12): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames13_ES5.ts(8,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames13_ES5.ts(9,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames13_ES5.ts(10,12): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames13_ES5.ts(11,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames13_ES5.ts(12,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames13_ES5.ts(13,12): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames13_ES5.ts(14,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames13_ES5.ts(15,12): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - - -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames13_ES5.ts (11 errors) ==== - var s: string; - var n: number; - var a: any; - class C { - [s]() {} - ~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - [n]() { } - ~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - static [s + s]() { } - ~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - [s + n]() { } - ~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - [+s]() { } - ~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - static [""]() { } - ~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - [0]() { } - ~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - [a]() { } - ~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - static [true]() { } - ~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - [`hello bye`]() { } - ~~~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - static [`hello ${a} bye`]() { } - ~~~~~~~~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames13_ES5.types b/tests/baselines/reference/computedPropertyNames13_ES5.types new file mode 100644 index 00000000000..ff98a3189a7 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames13_ES5.types @@ -0,0 +1,45 @@ +=== tests/cases/conformance/es6/computedProperties/computedPropertyNames13_ES5.ts === +var s: string; +>s : string + +var n: number; +>n : number + +var a: any; +>a : any + +class C { +>C : C + + [s]() {} +>s : string + + [n]() { } +>n : number + + static [s + s]() { } +>s + s : string +>s : string +>s : string + + [s + n]() { } +>s + n : string +>s : string +>n : number + + [+s]() { } +>+s : number +>s : string + + static [""]() { } + [0]() { } + [a]() { } +>a : any + + static [true]() { } +>true : any + + [`hello bye`]() { } + static [`hello ${a} bye`]() { } +>a : any +} diff --git a/tests/baselines/reference/computedPropertyNames14_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames14_ES5.errors.txt index b1a59252b61..acb73015c72 100644 --- a/tests/baselines/reference/computedPropertyNames14_ES5.errors.txt +++ b/tests/baselines/reference/computedPropertyNames14_ES5.errors.txt @@ -1,48 +1,30 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames14_ES5.ts(3,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/es6/computedProperties/computedPropertyNames14_ES5.ts(3,5): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. -tests/cases/conformance/es6/computedProperties/computedPropertyNames14_ES5.ts(4,12): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/es6/computedProperties/computedPropertyNames14_ES5.ts(4,12): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. -tests/cases/conformance/es6/computedProperties/computedPropertyNames14_ES5.ts(5,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/es6/computedProperties/computedPropertyNames14_ES5.ts(5,5): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. -tests/cases/conformance/es6/computedProperties/computedPropertyNames14_ES5.ts(6,12): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/es6/computedProperties/computedPropertyNames14_ES5.ts(6,12): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. -tests/cases/conformance/es6/computedProperties/computedPropertyNames14_ES5.ts(7,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/es6/computedProperties/computedPropertyNames14_ES5.ts(7,5): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. -tests/cases/conformance/es6/computedProperties/computedPropertyNames14_ES5.ts(8,12): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/es6/computedProperties/computedPropertyNames14_ES5.ts(8,12): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames14_ES5.ts (12 errors) ==== +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames14_ES5.ts (6 errors) ==== var b: boolean; class C { [b]() {} ~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~ !!! error TS2464: A computed property name must be of type 'string', 'number', or 'any'. static [true]() { } ~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~~~~ !!! error TS2464: A computed property name must be of type 'string', 'number', or 'any'. [[]]() { } ~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~~ !!! error TS2464: A computed property name must be of type 'string', 'number', or 'any'. static [{}]() { } ~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~~ !!! error TS2464: A computed property name must be of type 'string', 'number', or 'any'. [undefined]() { } ~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~~~~~~~~~ !!! error TS2464: A computed property name must be of type 'string', 'number', or 'any'. static [null]() { } ~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~~~~ !!! error TS2464: A computed property name must be of type 'string', 'number', or 'any'. } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames15_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames15_ES5.errors.txt index 8d450c673cd..2a9a95210fd 100644 --- a/tests/baselines/reference/computedPropertyNames15_ES5.errors.txt +++ b/tests/baselines/reference/computedPropertyNames15_ES5.errors.txt @@ -1,26 +1,17 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames15_ES5.ts(5,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames15_ES5.ts(6,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/es6/computedProperties/computedPropertyNames15_ES5.ts(6,5): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. -tests/cases/conformance/es6/computedProperties/computedPropertyNames15_ES5.ts(7,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/es6/computedProperties/computedPropertyNames15_ES5.ts(7,5): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames15_ES5.ts (5 errors) ==== +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames15_ES5.ts (2 errors) ==== var p1: number | string; var p2: number | number[]; var p3: string | boolean; class C { [p1]() { } - ~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. [p2]() { } ~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~~ !!! error TS2464: A computed property name must be of type 'string', 'number', or 'any'. [p3]() { } ~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~~ !!! error TS2464: A computed property name must be of type 'string', 'number', or 'any'. } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames16_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames16_ES5.errors.txt deleted file mode 100644 index bb98073f363..00000000000 --- a/tests/baselines/reference/computedPropertyNames16_ES5.errors.txt +++ /dev/null @@ -1,52 +0,0 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames16_ES5.ts(5,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames16_ES5.ts(6,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames16_ES5.ts(7,16): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames16_ES5.ts(8,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames16_ES5.ts(9,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames16_ES5.ts(10,16): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames16_ES5.ts(11,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames16_ES5.ts(12,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames16_ES5.ts(13,16): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames16_ES5.ts(14,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames16_ES5.ts(15,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - - -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames16_ES5.ts (11 errors) ==== - var s: string; - var n: number; - var a: any; - class C { - get [s]() { return 0;} - ~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - set [n](v) { } - ~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - static get [s + s]() { return 0; } - ~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - set [s + n](v) { } - ~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - get [+s]() { return 0; } - ~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - static set [""](v) { } - ~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - get [0]() { return 0; } - ~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - set [a](v) { } - ~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - static get [true]() { return 0; } - ~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - set [`hello bye`](v) { } - ~~~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - get [`hello ${a} bye`]() { return 0; } - ~~~~~~~~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames16_ES5.types b/tests/baselines/reference/computedPropertyNames16_ES5.types new file mode 100644 index 00000000000..3914093c766 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames16_ES5.types @@ -0,0 +1,52 @@ +=== tests/cases/conformance/es6/computedProperties/computedPropertyNames16_ES5.ts === +var s: string; +>s : string + +var n: number; +>n : number + +var a: any; +>a : any + +class C { +>C : C + + get [s]() { return 0;} +>s : string + + set [n](v) { } +>n : number +>v : any + + static get [s + s]() { return 0; } +>s + s : string +>s : string +>s : string + + set [s + n](v) { } +>s + n : string +>s : string +>n : number +>v : any + + get [+s]() { return 0; } +>+s : number +>s : string + + static set [""](v) { } +>v : any + + get [0]() { return 0; } + set [a](v) { } +>a : any +>v : any + + static get [true]() { return 0; } +>true : any + + set [`hello bye`](v) { } +>v : any + + get [`hello ${a} bye`]() { return 0; } +>a : any +} diff --git a/tests/baselines/reference/computedPropertyNames17_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames17_ES5.errors.txt index 3b6da1d1e08..57e9944a435 100644 --- a/tests/baselines/reference/computedPropertyNames17_ES5.errors.txt +++ b/tests/baselines/reference/computedPropertyNames17_ES5.errors.txt @@ -1,48 +1,30 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames17_ES5.ts(3,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/es6/computedProperties/computedPropertyNames17_ES5.ts(3,9): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. -tests/cases/conformance/es6/computedProperties/computedPropertyNames17_ES5.ts(4,16): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/es6/computedProperties/computedPropertyNames17_ES5.ts(4,16): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. -tests/cases/conformance/es6/computedProperties/computedPropertyNames17_ES5.ts(5,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/es6/computedProperties/computedPropertyNames17_ES5.ts(5,9): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. -tests/cases/conformance/es6/computedProperties/computedPropertyNames17_ES5.ts(6,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/es6/computedProperties/computedPropertyNames17_ES5.ts(6,9): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. -tests/cases/conformance/es6/computedProperties/computedPropertyNames17_ES5.ts(7,16): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/es6/computedProperties/computedPropertyNames17_ES5.ts(7,16): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. -tests/cases/conformance/es6/computedProperties/computedPropertyNames17_ES5.ts(8,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/es6/computedProperties/computedPropertyNames17_ES5.ts(8,9): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames17_ES5.ts (12 errors) ==== +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames17_ES5.ts (6 errors) ==== var b: boolean; class C { get [b]() { return 0;} ~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~ !!! error TS2464: A computed property name must be of type 'string', 'number', or 'any'. static set [true](v) { } ~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~~~~ !!! error TS2464: A computed property name must be of type 'string', 'number', or 'any'. get [[]]() { return 0; } ~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~~ !!! error TS2464: A computed property name must be of type 'string', 'number', or 'any'. set [{}](v) { } ~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~~ !!! error TS2464: A computed property name must be of type 'string', 'number', or 'any'. static get [undefined]() { return 0; } ~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~~~~~~~~~ !!! error TS2464: A computed property name must be of type 'string', 'number', or 'any'. set [null](v) { } ~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~~~~ !!! error TS2464: A computed property name must be of type 'string', 'number', or 'any'. } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames18_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames18_ES5.errors.txt deleted file mode 100644 index 69b787530cd..00000000000 --- a/tests/baselines/reference/computedPropertyNames18_ES5.errors.txt +++ /dev/null @@ -1,11 +0,0 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames18_ES5.ts(3,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - - -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames18_ES5.ts (1 errors) ==== - function foo() { - var obj = { - [this.bar]: 0 - ~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - } - } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames18_ES5.types b/tests/baselines/reference/computedPropertyNames18_ES5.types new file mode 100644 index 00000000000..732de08e2d6 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames18_ES5.types @@ -0,0 +1,14 @@ +=== tests/cases/conformance/es6/computedProperties/computedPropertyNames18_ES5.ts === +function foo() { +>foo : () => void + + var obj = { +>obj : {} +>{ [this.bar]: 0 } : {} + + [this.bar]: 0 +>this.bar : any +>this : any +>bar : any + } +} diff --git a/tests/baselines/reference/computedPropertyNames19_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames19_ES5.errors.txt index 9fbad563f8a..49a1f008a05 100644 --- a/tests/baselines/reference/computedPropertyNames19_ES5.errors.txt +++ b/tests/baselines/reference/computedPropertyNames19_ES5.errors.txt @@ -1,13 +1,10 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames19_ES5.ts(3,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/es6/computedProperties/computedPropertyNames19_ES5.ts(3,10): error TS2331: 'this' cannot be referenced in a module body. -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames19_ES5.ts (2 errors) ==== +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames19_ES5.ts (1 errors) ==== module M { var obj = { [this.bar]: 0 - ~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. ~~~~ !!! error TS2331: 'this' cannot be referenced in a module body. } diff --git a/tests/baselines/reference/computedPropertyNames1_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames1_ES5.errors.txt deleted file mode 100644 index f5c28a0cab8..00000000000 --- a/tests/baselines/reference/computedPropertyNames1_ES5.errors.txt +++ /dev/null @@ -1,19 +0,0 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames1_ES5.ts(2,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames1_ES5.ts(2,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames1_ES5.ts(3,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames1_ES5.ts(3,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - - -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames1_ES5.ts (4 errors) ==== - var v = { - get [0 + 1]() { return 0 }, - ~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - set [0 + 1](v: string) { } //No error - ~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames1_ES5.types b/tests/baselines/reference/computedPropertyNames1_ES5.types new file mode 100644 index 00000000000..6627d53d1da --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames1_ES5.types @@ -0,0 +1,12 @@ +=== tests/cases/conformance/es6/computedProperties/computedPropertyNames1_ES5.ts === +var v = { +>v : {} +>{ get [0 + 1]() { return 0 }, set [0 + 1](v: string) { } //No error} : {} + + get [0 + 1]() { return 0 }, +>0 + 1 : number + + set [0 + 1](v: string) { } //No error +>0 + 1 : number +>v : string +} diff --git a/tests/baselines/reference/computedPropertyNames20_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames20_ES5.errors.txt deleted file mode 100644 index c8f79ea944a..00000000000 --- a/tests/baselines/reference/computedPropertyNames20_ES5.errors.txt +++ /dev/null @@ -1,9 +0,0 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames20_ES5.ts(2,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - - -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames20_ES5.ts (1 errors) ==== - var obj = { - [this.bar]: 0 - ~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames20_ES5.types b/tests/baselines/reference/computedPropertyNames20_ES5.types new file mode 100644 index 00000000000..eb2bbf34b7e --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames20_ES5.types @@ -0,0 +1,10 @@ +=== tests/cases/conformance/es6/computedProperties/computedPropertyNames20_ES5.ts === +var obj = { +>obj : {} +>{ [this.bar]: 0} : {} + + [this.bar]: 0 +>this.bar : any +>this : any +>bar : any +} diff --git a/tests/baselines/reference/computedPropertyNames21_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames21_ES5.errors.txt index 437417107a6..cb794d3865a 100644 --- a/tests/baselines/reference/computedPropertyNames21_ES5.errors.txt +++ b/tests/baselines/reference/computedPropertyNames21_ES5.errors.txt @@ -1,15 +1,12 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames21_ES5.ts(5,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/es6/computedProperties/computedPropertyNames21_ES5.ts(5,6): error TS2465: 'this' cannot be referenced in a computed property name. -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames21_ES5.ts (2 errors) ==== +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames21_ES5.ts (1 errors) ==== class C { bar() { return 0; } [this.bar()]() { } - ~~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. ~~~~ !!! error TS2465: 'this' cannot be referenced in a computed property name. } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames22_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames22_ES5.errors.txt deleted file mode 100644 index 1ec6413b117..00000000000 --- a/tests/baselines/reference/computedPropertyNames22_ES5.errors.txt +++ /dev/null @@ -1,14 +0,0 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames22_ES5.ts(4,13): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - - -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames22_ES5.ts (1 errors) ==== - class C { - bar() { - var obj = { - [this.bar()]() { } - ~~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - }; - return 0; - } - } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames22_ES5.types b/tests/baselines/reference/computedPropertyNames22_ES5.types new file mode 100644 index 00000000000..7afeeb75fa3 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames22_ES5.types @@ -0,0 +1,21 @@ +=== tests/cases/conformance/es6/computedProperties/computedPropertyNames22_ES5.ts === +class C { +>C : C + + bar() { +>bar : () => number + + var obj = { +>obj : {} +>{ [this.bar()]() { } } : {} + + [this.bar()]() { } +>this.bar() : number +>this.bar : () => number +>this : C +>bar : () => number + + }; + return 0; + } +} diff --git a/tests/baselines/reference/computedPropertyNames23_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames23_ES5.errors.txt index 76227dccaf5..ba827b91375 100644 --- a/tests/baselines/reference/computedPropertyNames23_ES5.errors.txt +++ b/tests/baselines/reference/computedPropertyNames23_ES5.errors.txt @@ -1,22 +1,14 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames23_ES5.ts(5,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames23_ES5.ts(6,11): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/es6/computedProperties/computedPropertyNames23_ES5.ts(6,12): error TS2465: 'this' cannot be referenced in a computed property name. -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames23_ES5.ts (3 errors) ==== +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames23_ES5.ts (1 errors) ==== class C { bar() { return 0; } [ - ~ { [this.bar()]: 1 }[0] - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ~~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. ~~~~ !!! error TS2465: 'this' cannot be referenced in a computed property name. ]() { } - ~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames24_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames24_ES5.errors.txt index 2cb804133aa..a1290e06956 100644 --- a/tests/baselines/reference/computedPropertyNames24_ES5.errors.txt +++ b/tests/baselines/reference/computedPropertyNames24_ES5.errors.txt @@ -1,8 +1,7 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames24_ES5.ts(9,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/es6/computedProperties/computedPropertyNames24_ES5.ts(9,6): error TS2466: 'super' cannot be referenced in a computed property name. -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames24_ES5.ts (2 errors) ==== +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames24_ES5.ts (1 errors) ==== class Base { bar() { return 0; @@ -12,8 +11,6 @@ tests/cases/conformance/es6/computedProperties/computedPropertyNames24_ES5.ts(9, // Gets emitted as super, not _super, which is consistent with // use of super in static properties initializers. [super.bar()]() { } - ~~~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. ~~~~~ !!! error TS2466: 'super' cannot be referenced in a computed property name. } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames25_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames25_ES5.errors.txt deleted file mode 100644 index 38142b2d177..00000000000 --- a/tests/baselines/reference/computedPropertyNames25_ES5.errors.txt +++ /dev/null @@ -1,19 +0,0 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames25_ES5.ts(9,13): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - - -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames25_ES5.ts (1 errors) ==== - class Base { - bar() { - return 0; - } - } - class C extends Base { - foo() { - var obj = { - [super.bar()]() { } - ~~~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - }; - return 0; - } - } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames25_ES5.types b/tests/baselines/reference/computedPropertyNames25_ES5.types new file mode 100644 index 00000000000..6f34ce35b44 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames25_ES5.types @@ -0,0 +1,31 @@ +=== tests/cases/conformance/es6/computedProperties/computedPropertyNames25_ES5.ts === +class Base { +>Base : Base + + bar() { +>bar : () => number + + return 0; + } +} +class C extends Base { +>C : C +>Base : Base + + foo() { +>foo : () => number + + var obj = { +>obj : {} +>{ [super.bar()]() { } } : {} + + [super.bar()]() { } +>super.bar() : number +>super.bar : () => number +>super : Base +>bar : () => number + + }; + return 0; + } +} diff --git a/tests/baselines/reference/computedPropertyNames26_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames26_ES5.errors.txt index fbef1d95ad4..77408f0a9f8 100644 --- a/tests/baselines/reference/computedPropertyNames26_ES5.errors.txt +++ b/tests/baselines/reference/computedPropertyNames26_ES5.errors.txt @@ -1,9 +1,7 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames26_ES5.ts(9,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames26_ES5.ts(10,11): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/es6/computedProperties/computedPropertyNames26_ES5.ts(10,12): error TS2466: 'super' cannot be referenced in a computed property name. -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames26_ES5.ts (3 errors) ==== +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames26_ES5.ts (1 errors) ==== class Base { bar() { return 0; @@ -13,14 +11,8 @@ tests/cases/conformance/es6/computedProperties/computedPropertyNames26_ES5.ts(10 // Gets emitted as super, not _super, which is consistent with // use of super in static properties initializers. [ - ~ { [super.bar()]: 1 }[0] - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ~~~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. ~~~~~ !!! error TS2466: 'super' cannot be referenced in a computed property name. ]() { } - ~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames27_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames27_ES5.errors.txt index 4508574cde1..1fbc7b37543 100644 --- a/tests/baselines/reference/computedPropertyNames27_ES5.errors.txt +++ b/tests/baselines/reference/computedPropertyNames27_ES5.errors.txt @@ -1,14 +1,11 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames27_ES5.ts(4,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/es6/computedProperties/computedPropertyNames27_ES5.ts(4,7): error TS2466: 'super' cannot be referenced in a computed property name. -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames27_ES5.ts (2 errors) ==== +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames27_ES5.ts (1 errors) ==== class Base { } class C extends Base { [(super(), "prop")]() { } - ~~~~~~~~~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. ~~~~~ !!! error TS2466: 'super' cannot be referenced in a computed property name. } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames28_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames28_ES5.errors.txt deleted file mode 100644 index 1e52db34288..00000000000 --- a/tests/baselines/reference/computedPropertyNames28_ES5.errors.txt +++ /dev/null @@ -1,16 +0,0 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames28_ES5.ts(7,13): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - - -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames28_ES5.ts (1 errors) ==== - class Base { - } - class C extends Base { - constructor() { - super(); - var obj = { - [(super(), "prop")]() { } - ~~~~~~~~~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - }; - } - } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames28_ES5.types b/tests/baselines/reference/computedPropertyNames28_ES5.types new file mode 100644 index 00000000000..278576ab1ca --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames28_ES5.types @@ -0,0 +1,26 @@ +=== tests/cases/conformance/es6/computedProperties/computedPropertyNames28_ES5.ts === +class Base { +>Base : Base +} +class C extends Base { +>C : C +>Base : Base + + constructor() { + super(); +>super() : void +>super : typeof Base + + var obj = { +>obj : {} +>{ [(super(), "prop")]() { } } : {} + + [(super(), "prop")]() { } +>(super(), "prop") : string +>super(), "prop" : string +>super() : void +>super : typeof Base + + }; + } +} diff --git a/tests/baselines/reference/computedPropertyNames29_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames29_ES5.errors.txt deleted file mode 100644 index 0b248e0d9ca..00000000000 --- a/tests/baselines/reference/computedPropertyNames29_ES5.errors.txt +++ /dev/null @@ -1,16 +0,0 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames29_ES5.ts(5,17): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - - -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames29_ES5.ts (1 errors) ==== - class C { - bar() { - () => { - var obj = { - [this.bar()]() { } // needs capture - ~~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - }; - } - return 0; - } - } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames29_ES5.types b/tests/baselines/reference/computedPropertyNames29_ES5.types new file mode 100644 index 00000000000..e0da4b10da8 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames29_ES5.types @@ -0,0 +1,25 @@ +=== tests/cases/conformance/es6/computedProperties/computedPropertyNames29_ES5.ts === +class C { +>C : C + + bar() { +>bar : () => number + + () => { +>() => { var obj = { [this.bar()]() { } // needs capture }; } : () => void + + var obj = { +>obj : {} +>{ [this.bar()]() { } // needs capture } : {} + + [this.bar()]() { } // needs capture +>this.bar() : number +>this.bar : () => number +>this : C +>bar : () => number + + }; + } + return 0; + } +} diff --git a/tests/baselines/reference/computedPropertyNames2_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames2_ES5.errors.txt index e25f3b765e9..2fbf68b4437 100644 --- a/tests/baselines/reference/computedPropertyNames2_ES5.errors.txt +++ b/tests/baselines/reference/computedPropertyNames2_ES5.errors.txt @@ -1,37 +1,19 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames2_ES5.ts(4,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames2_ES5.ts(5,12): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames2_ES5.ts(6,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/es6/computedProperties/computedPropertyNames2_ES5.ts(6,9): error TS2378: A 'get' accessor must return a value or consist of a single 'throw' statement. -tests/cases/conformance/es6/computedProperties/computedPropertyNames2_ES5.ts(7,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames2_ES5.ts(8,16): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/es6/computedProperties/computedPropertyNames2_ES5.ts(8,16): error TS2378: A 'get' accessor must return a value or consist of a single 'throw' statement. -tests/cases/conformance/es6/computedProperties/computedPropertyNames2_ES5.ts(9,16): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames2_ES5.ts (8 errors) ==== +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames2_ES5.ts (2 errors) ==== var methodName = "method"; var accessorName = "accessor"; class C { [methodName]() { } - ~~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. static [methodName]() { } - ~~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. get [accessorName]() { } ~~~~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~~~~~~~~~~~~ !!! error TS2378: A 'get' accessor must return a value or consist of a single 'throw' statement. set [accessorName](v) { } - ~~~~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. static get [accessorName]() { } ~~~~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~~~~~~~~~~~~ !!! error TS2378: A 'get' accessor must return a value or consist of a single 'throw' statement. static set [accessorName](v) { } - ~~~~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames30_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames30_ES5.errors.txt index a8c51a03246..1dfb605db33 100644 --- a/tests/baselines/reference/computedPropertyNames30_ES5.errors.txt +++ b/tests/baselines/reference/computedPropertyNames30_ES5.errors.txt @@ -1,8 +1,7 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames30_ES5.ts(11,17): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/es6/computedProperties/computedPropertyNames30_ES5.ts(11,19): error TS2337: Super calls are not permitted outside constructors or in nested functions inside constructors -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames30_ES5.ts (2 errors) ==== +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames30_ES5.ts (1 errors) ==== class Base { } class C extends Base { @@ -14,8 +13,6 @@ tests/cases/conformance/es6/computedProperties/computedPropertyNames30_ES5.ts(11 // illegal, and not capturing this is consistent with //treatment of other similar violations. [(super(), "prop")]() { } - ~~~~~~~~~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. ~~~~~ !!! error TS2337: Super calls are not permitted outside constructors or in nested functions inside constructors }; diff --git a/tests/baselines/reference/computedPropertyNames31_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames31_ES5.errors.txt deleted file mode 100644 index ab2f4783e36..00000000000 --- a/tests/baselines/reference/computedPropertyNames31_ES5.errors.txt +++ /dev/null @@ -1,21 +0,0 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames31_ES5.ts(10,17): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - - -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames31_ES5.ts (1 errors) ==== - class Base { - bar() { - return 0; - } - } - class C extends Base { - foo() { - () => { - var obj = { - [super.bar()]() { } // needs capture - ~~~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - }; - } - return 0; - } - } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames31_ES5.types b/tests/baselines/reference/computedPropertyNames31_ES5.types new file mode 100644 index 00000000000..eb14b223ed3 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames31_ES5.types @@ -0,0 +1,35 @@ +=== tests/cases/conformance/es6/computedProperties/computedPropertyNames31_ES5.ts === +class Base { +>Base : Base + + bar() { +>bar : () => number + + return 0; + } +} +class C extends Base { +>C : C +>Base : Base + + foo() { +>foo : () => number + + () => { +>() => { var obj = { [super.bar()]() { } // needs capture }; } : () => void + + var obj = { +>obj : {} +>{ [super.bar()]() { } // needs capture } : {} + + [super.bar()]() { } // needs capture +>super.bar() : number +>super.bar : () => number +>super : Base +>bar : () => number + + }; + } + return 0; + } +} diff --git a/tests/baselines/reference/computedPropertyNames32_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames32_ES5.errors.txt index 2cbba4b9b62..c61f748edb8 100644 --- a/tests/baselines/reference/computedPropertyNames32_ES5.errors.txt +++ b/tests/baselines/reference/computedPropertyNames32_ES5.errors.txt @@ -1,16 +1,13 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames32_ES5.ts(6,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/es6/computedProperties/computedPropertyNames32_ES5.ts(6,10): error TS2466: A computed property name cannot reference a type parameter from its containing type. -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames32_ES5.ts (2 errors) ==== +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames32_ES5.ts (1 errors) ==== function foo() { return '' } class C { bar() { return 0; } [foo()]() { } - ~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. ~ !!! error TS2466: A computed property name cannot reference a type parameter from its containing type. } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames33_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames33_ES5.errors.txt deleted file mode 100644 index ce79d83627c..00000000000 --- a/tests/baselines/reference/computedPropertyNames33_ES5.errors.txt +++ /dev/null @@ -1,15 +0,0 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames33_ES5.ts(5,13): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - - -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames33_ES5.ts (1 errors) ==== - function foo() { return '' } - class C { - bar() { - var obj = { - [foo()]() { } - ~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - }; - return 0; - } - } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames33_ES5.types b/tests/baselines/reference/computedPropertyNames33_ES5.types new file mode 100644 index 00000000000..a0d99ec8615 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames33_ES5.types @@ -0,0 +1,25 @@ +=== tests/cases/conformance/es6/computedProperties/computedPropertyNames33_ES5.ts === +function foo() { return '' } +>foo : () => string +>T : T + +class C { +>C : C +>T : T + + bar() { +>bar : () => number + + var obj = { +>obj : {} +>{ [foo()]() { } } : {} + + [foo()]() { } +>foo() : string +>foo : () => string +>T : T + + }; + return 0; + } +} diff --git a/tests/baselines/reference/computedPropertyNames34_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames34_ES5.errors.txt index 99f53d8b13b..30fa6642cbc 100644 --- a/tests/baselines/reference/computedPropertyNames34_ES5.errors.txt +++ b/tests/baselines/reference/computedPropertyNames34_ES5.errors.txt @@ -1,15 +1,12 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames34_ES5.ts(5,13): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/es6/computedProperties/computedPropertyNames34_ES5.ts(5,18): error TS2302: Static members cannot reference class type parameters. -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames34_ES5.ts (2 errors) ==== +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames34_ES5.ts (1 errors) ==== function foo() { return '' } class C { static bar() { var obj = { [foo()]() { } - ~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. ~ !!! error TS2302: Static members cannot reference class type parameters. }; diff --git a/tests/baselines/reference/computedPropertyNames36_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames36_ES5.errors.txt index fe90ccf2a71..6c38043c8e0 100644 --- a/tests/baselines/reference/computedPropertyNames36_ES5.errors.txt +++ b/tests/baselines/reference/computedPropertyNames36_ES5.errors.txt @@ -1,9 +1,7 @@ tests/cases/conformance/es6/computedProperties/computedPropertyNames36_ES5.ts(8,5): error TS2411: Property '["get1"]' of type 'Foo' is not assignable to string index type 'Foo2'. -tests/cases/conformance/es6/computedProperties/computedPropertyNames36_ES5.ts(8,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames36_ES5.ts(9,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames36_ES5.ts (3 errors) ==== +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames36_ES5.ts (1 errors) ==== class Foo { x } class Foo2 { x; y } @@ -14,9 +12,5 @@ tests/cases/conformance/es6/computedProperties/computedPropertyNames36_ES5.ts(9, get ["get1"]() { return new Foo } ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !!! error TS2411: Property '["get1"]' of type 'Foo' is not assignable to string index type 'Foo2'. - ~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. set ["set1"](p: Foo2) { } - ~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames37_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames37_ES5.errors.txt deleted file mode 100644 index 562f3756e59..00000000000 --- a/tests/baselines/reference/computedPropertyNames37_ES5.errors.txt +++ /dev/null @@ -1,19 +0,0 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames37_ES5.ts(8,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames37_ES5.ts(9,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - - -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames37_ES5.ts (2 errors) ==== - class Foo { x } - class Foo2 { x; y } - - class C { - [s: number]: Foo2; - - // Computed properties - get ["get1"]() { return new Foo } - ~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - set ["set1"](p: Foo2) { } - ~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames37_ES5.types b/tests/baselines/reference/computedPropertyNames37_ES5.types new file mode 100644 index 00000000000..a12324003bf --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames37_ES5.types @@ -0,0 +1,26 @@ +=== tests/cases/conformance/es6/computedProperties/computedPropertyNames37_ES5.ts === +class Foo { x } +>Foo : Foo +>x : any + +class Foo2 { x; y } +>Foo2 : Foo2 +>x : any +>y : any + +class C { +>C : C + + [s: number]: Foo2; +>s : number +>Foo2 : Foo2 + + // Computed properties + get ["get1"]() { return new Foo } +>new Foo : Foo +>Foo : typeof Foo + + set ["set1"](p: Foo2) { } +>p : Foo2 +>Foo2 : Foo2 +} diff --git a/tests/baselines/reference/computedPropertyNames38_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames38_ES5.errors.txt index 7f7579d9eea..acc08ee5527 100644 --- a/tests/baselines/reference/computedPropertyNames38_ES5.errors.txt +++ b/tests/baselines/reference/computedPropertyNames38_ES5.errors.txt @@ -1,9 +1,7 @@ tests/cases/conformance/es6/computedProperties/computedPropertyNames38_ES5.ts(8,5): error TS2411: Property '[1 << 6]' of type 'Foo' is not assignable to string index type 'Foo2'. -tests/cases/conformance/es6/computedProperties/computedPropertyNames38_ES5.ts(8,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames38_ES5.ts(9,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames38_ES5.ts (3 errors) ==== +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames38_ES5.ts (1 errors) ==== class Foo { x } class Foo2 { x; y } @@ -14,9 +12,5 @@ tests/cases/conformance/es6/computedProperties/computedPropertyNames38_ES5.ts(9, get [1 << 6]() { return new Foo } ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !!! error TS2411: Property '[1 << 6]' of type 'Foo' is not assignable to string index type 'Foo2'. - ~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. set [1 << 6](p: Foo2) { } - ~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames39_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames39_ES5.errors.txt index 7f4389794fb..669314676f9 100644 --- a/tests/baselines/reference/computedPropertyNames39_ES5.errors.txt +++ b/tests/baselines/reference/computedPropertyNames39_ES5.errors.txt @@ -1,9 +1,7 @@ tests/cases/conformance/es6/computedProperties/computedPropertyNames39_ES5.ts(8,5): error TS2412: Property '[1 << 6]' of type 'Foo' is not assignable to numeric index type 'Foo2'. -tests/cases/conformance/es6/computedProperties/computedPropertyNames39_ES5.ts(8,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames39_ES5.ts(9,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames39_ES5.ts (3 errors) ==== +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames39_ES5.ts (1 errors) ==== class Foo { x } class Foo2 { x; y } @@ -14,9 +12,5 @@ tests/cases/conformance/es6/computedProperties/computedPropertyNames39_ES5.ts(9, get [1 << 6]() { return new Foo } ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !!! error TS2412: Property '[1 << 6]' of type 'Foo' is not assignable to numeric index type 'Foo2'. - ~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. set [1 << 6](p: Foo2) { } - ~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames3_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames3_ES5.errors.txt index b484ee7269f..d044ea2abaf 100644 --- a/tests/baselines/reference/computedPropertyNames3_ES5.errors.txt +++ b/tests/baselines/reference/computedPropertyNames3_ES5.errors.txt @@ -1,48 +1,30 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames3_ES5.ts(3,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames3_ES5.ts(4,12): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/es6/computedProperties/computedPropertyNames3_ES5.ts(4,12): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. -tests/cases/conformance/es6/computedProperties/computedPropertyNames3_ES5.ts(5,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/es6/computedProperties/computedPropertyNames3_ES5.ts(5,9): error TS2378: A 'get' accessor must return a value or consist of a single 'throw' statement. tests/cases/conformance/es6/computedProperties/computedPropertyNames3_ES5.ts(5,9): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. -tests/cases/conformance/es6/computedProperties/computedPropertyNames3_ES5.ts(6,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/es6/computedProperties/computedPropertyNames3_ES5.ts(6,9): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. -tests/cases/conformance/es6/computedProperties/computedPropertyNames3_ES5.ts(7,16): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/es6/computedProperties/computedPropertyNames3_ES5.ts(7,16): error TS2378: A 'get' accessor must return a value or consist of a single 'throw' statement. tests/cases/conformance/es6/computedProperties/computedPropertyNames3_ES5.ts(7,16): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. -tests/cases/conformance/es6/computedProperties/computedPropertyNames3_ES5.ts(8,16): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames3_ES5.ts (12 errors) ==== +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames3_ES5.ts (6 errors) ==== var id; class C { [0 + 1]() { } - ~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. static [() => { }]() { } ~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~~~~~~~~~ !!! error TS2464: A computed property name must be of type 'string', 'number', or 'any'. get [delete id]() { } ~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~~~~~~~~~ !!! error TS2378: A 'get' accessor must return a value or consist of a single 'throw' statement. ~~~~~~~~~~~ !!! error TS2464: A computed property name must be of type 'string', 'number', or 'any'. set [[0, 1]](v) { } ~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~~~~~~ !!! error TS2464: A computed property name must be of type 'string', 'number', or 'any'. static get [""]() { } ~~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~~~~~~~~~~ !!! error TS2378: A 'get' accessor must return a value or consist of a single 'throw' statement. ~~~~~~~~~~~~ !!! error TS2464: A computed property name must be of type 'string', 'number', or 'any'. static set [id.toString()](v) { } - ~~~~~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames40_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames40_ES5.errors.txt index 762d2d44e20..e8ceef0d581 100644 --- a/tests/baselines/reference/computedPropertyNames40_ES5.errors.txt +++ b/tests/baselines/reference/computedPropertyNames40_ES5.errors.txt @@ -1,9 +1,7 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames40_ES5.ts(8,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/es6/computedProperties/computedPropertyNames40_ES5.ts(8,5): error TS2411: Property '[""]' of type '() => Foo' is not assignable to string index type '() => Foo2'. -tests/cases/conformance/es6/computedProperties/computedPropertyNames40_ES5.ts(9,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames40_ES5.ts (3 errors) ==== +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames40_ES5.ts (1 errors) ==== class Foo { x } class Foo2 { x; y } @@ -12,11 +10,7 @@ tests/cases/conformance/es6/computedProperties/computedPropertyNames40_ES5.ts(9, // Computed properties [""]() { return new Foo } - ~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. ~~~~~~~~~~~~~~~~~~~~~~~~~ !!! error TS2411: Property '[""]' of type '() => Foo' is not assignable to string index type '() => Foo2'. [""]() { return new Foo2 } - ~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames41_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames41_ES5.errors.txt deleted file mode 100644 index a2251da6a86..00000000000 --- a/tests/baselines/reference/computedPropertyNames41_ES5.errors.txt +++ /dev/null @@ -1,15 +0,0 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames41_ES5.ts(8,12): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - - -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames41_ES5.ts (1 errors) ==== - class Foo { x } - class Foo2 { x; y } - - class C { - [s: string]: () => Foo2; - - // Computed properties - static [""]() { return new Foo } - ~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames41_ES5.types b/tests/baselines/reference/computedPropertyNames41_ES5.types new file mode 100644 index 00000000000..aac087ee958 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames41_ES5.types @@ -0,0 +1,22 @@ +=== tests/cases/conformance/es6/computedProperties/computedPropertyNames41_ES5.ts === +class Foo { x } +>Foo : Foo +>x : any + +class Foo2 { x; y } +>Foo2 : Foo2 +>x : any +>y : any + +class C { +>C : C + + [s: string]: () => Foo2; +>s : string +>Foo2 : Foo2 + + // Computed properties + static [""]() { return new Foo } +>new Foo : Foo +>Foo : typeof Foo +} diff --git a/tests/baselines/reference/computedPropertyNames43_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames43_ES5.errors.txt index 2654d0076e3..62c239a5a54 100644 --- a/tests/baselines/reference/computedPropertyNames43_ES5.errors.txt +++ b/tests/baselines/reference/computedPropertyNames43_ES5.errors.txt @@ -1,9 +1,7 @@ tests/cases/conformance/es6/computedProperties/computedPropertyNames43_ES5.ts(10,5): error TS2411: Property '["get1"]' of type 'Foo' is not assignable to string index type 'Foo2'. -tests/cases/conformance/es6/computedProperties/computedPropertyNames43_ES5.ts(10,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames43_ES5.ts(11,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames43_ES5.ts (3 errors) ==== +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames43_ES5.ts (1 errors) ==== class Foo { x } class Foo2 { x; y } @@ -16,9 +14,5 @@ tests/cases/conformance/es6/computedProperties/computedPropertyNames43_ES5.ts(11 get ["get1"]() { return new Foo } ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !!! error TS2411: Property '["get1"]' of type 'Foo' is not assignable to string index type 'Foo2'. - ~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. set ["set1"](p: Foo2) { } - ~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames44_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames44_ES5.errors.txt index 27921efa1fb..35ab422e093 100644 --- a/tests/baselines/reference/computedPropertyNames44_ES5.errors.txt +++ b/tests/baselines/reference/computedPropertyNames44_ES5.errors.txt @@ -1,10 +1,8 @@ tests/cases/conformance/es6/computedProperties/computedPropertyNames44_ES5.ts(6,5): error TS2411: Property '["get1"]' of type 'Foo' is not assignable to string index type 'Foo2'. -tests/cases/conformance/es6/computedProperties/computedPropertyNames44_ES5.ts(6,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/es6/computedProperties/computedPropertyNames44_ES5.ts(10,5): error TS2411: Property '["set1"]' of type 'Foo' is not assignable to string index type 'Foo2'. -tests/cases/conformance/es6/computedProperties/computedPropertyNames44_ES5.ts(10,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames44_ES5.ts (4 errors) ==== +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames44_ES5.ts (2 errors) ==== class Foo { x } class Foo2 { x; y } @@ -13,14 +11,10 @@ tests/cases/conformance/es6/computedProperties/computedPropertyNames44_ES5.ts(10 get ["get1"]() { return new Foo } ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !!! error TS2411: Property '["get1"]' of type 'Foo' is not assignable to string index type 'Foo2'. - ~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. } class D extends C { set ["set1"](p: Foo) { } ~~~~~~~~~~~~~~~~~~~~~~~~ !!! error TS2411: Property '["set1"]' of type 'Foo' is not assignable to string index type 'Foo2'. - ~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames45_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames45_ES5.errors.txt index 92b87702561..83855c5f0b7 100644 --- a/tests/baselines/reference/computedPropertyNames45_ES5.errors.txt +++ b/tests/baselines/reference/computedPropertyNames45_ES5.errors.txt @@ -1,16 +1,12 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames45_ES5.ts(5,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/es6/computedProperties/computedPropertyNames45_ES5.ts(11,5): error TS2411: Property '["set1"]' of type 'Foo' is not assignable to string index type 'Foo2'. -tests/cases/conformance/es6/computedProperties/computedPropertyNames45_ES5.ts(11,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames45_ES5.ts (3 errors) ==== +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames45_ES5.ts (1 errors) ==== class Foo { x } class Foo2 { x; y } class C { get ["get1"]() { return new Foo } - ~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. } class D extends C { @@ -19,6 +15,4 @@ tests/cases/conformance/es6/computedProperties/computedPropertyNames45_ES5.ts(11 set ["set1"](p: Foo) { } ~~~~~~~~~~~~~~~~~~~~~~~~ !!! error TS2411: Property '["set1"]' of type 'Foo' is not assignable to string index type 'Foo2'. - ~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames46_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames46_ES5.errors.txt deleted file mode 100644 index 6af18c9e685..00000000000 --- a/tests/baselines/reference/computedPropertyNames46_ES5.errors.txt +++ /dev/null @@ -1,9 +0,0 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames46_ES5.ts(2,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - - -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames46_ES5.ts (1 errors) ==== - var o = { - ["" || 0]: 0 - ~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - }; \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames46_ES5.types b/tests/baselines/reference/computedPropertyNames46_ES5.types new file mode 100644 index 00000000000..bdc2f2cf644 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames46_ES5.types @@ -0,0 +1,9 @@ +=== tests/cases/conformance/es6/computedProperties/computedPropertyNames46_ES5.ts === +var o = { +>o : {} +>{ ["" || 0]: 0} : {} + + ["" || 0]: 0 +>"" || 0 : string | number + +}; diff --git a/tests/baselines/reference/computedPropertyNames47_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames47_ES5.errors.txt deleted file mode 100644 index 2f5af797b64..00000000000 --- a/tests/baselines/reference/computedPropertyNames47_ES5.errors.txt +++ /dev/null @@ -1,11 +0,0 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames47_ES5.ts(4,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - - -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames47_ES5.ts (1 errors) ==== - enum E1 { x } - enum E2 { x } - var o = { - [E1.x || E2.x]: 0 - ~~~~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - }; \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames47_ES5.types b/tests/baselines/reference/computedPropertyNames47_ES5.types new file mode 100644 index 00000000000..c79f2b20946 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames47_ES5.types @@ -0,0 +1,23 @@ +=== tests/cases/conformance/es6/computedProperties/computedPropertyNames47_ES5.ts === +enum E1 { x } +>E1 : E1 +>x : E1 + +enum E2 { x } +>E2 : E2 +>x : E2 + +var o = { +>o : {} +>{ [E1.x || E2.x]: 0} : {} + + [E1.x || E2.x]: 0 +>E1.x || E2.x : E1 | E2 +>E1.x : E1 +>E1 : typeof E1 +>x : E1 +>E2.x : E2 +>E2 : typeof E2 +>x : E2 + +}; diff --git a/tests/baselines/reference/computedPropertyNames48_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames48_ES5.errors.txt deleted file mode 100644 index cbda0c73c1f..00000000000 --- a/tests/baselines/reference/computedPropertyNames48_ES5.errors.txt +++ /dev/null @@ -1,38 +0,0 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames48_ES5.ts(8,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames48_ES5.ts(8,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames48_ES5.ts(12,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames48_ES5.ts(12,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames48_ES5.ts(16,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames48_ES5.ts(16,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - - -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames48_ES5.ts (6 errors) ==== - declare function extractIndexer(p: { [n: number]: T }): T; - - enum E { x } - - var a: any; - - extractIndexer({ - [a]: "" - ~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - }); // Should return string - - extractIndexer({ - [E.x]: "" - ~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - }); // Should return string - - extractIndexer({ - ["" || 0]: "" - ~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - }); // Should return any (widened form of undefined) \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames48_ES5.types b/tests/baselines/reference/computedPropertyNames48_ES5.types new file mode 100644 index 00000000000..3ff4c966e89 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames48_ES5.types @@ -0,0 +1,47 @@ +=== tests/cases/conformance/es6/computedProperties/computedPropertyNames48_ES5.ts === +declare function extractIndexer(p: { [n: number]: T }): T; +>extractIndexer : (p: { [n: number]: T; }) => T +>T : T +>p : { [n: number]: T; } +>n : number +>T : T +>T : T + +enum E { x } +>E : E +>x : E + +var a: any; +>a : any + +extractIndexer({ +>extractIndexer({ [a]: ""}) : string +>extractIndexer : (p: { [n: number]: T; }) => T +>{ [a]: ""} : { [x: number]: string; } + + [a]: "" +>a : any + +}); // Should return string + +extractIndexer({ +>extractIndexer({ [E.x]: ""}) : string +>extractIndexer : (p: { [n: number]: T; }) => T +>{ [E.x]: ""} : { [x: number]: string; } + + [E.x]: "" +>E.x : E +>E : typeof E +>x : E + +}); // Should return string + +extractIndexer({ +>extractIndexer({ ["" || 0]: ""}) : any +>extractIndexer : (p: { [n: number]: T; }) => T +>{ ["" || 0]: ""} : { [x: number]: undefined; } + + ["" || 0]: "" +>"" || 0 : string | number + +}); // Should return any (widened form of undefined) diff --git a/tests/baselines/reference/computedPropertyNames4_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames4_ES5.errors.txt deleted file mode 100644 index 39765b8365e..00000000000 --- a/tests/baselines/reference/computedPropertyNames4_ES5.errors.txt +++ /dev/null @@ -1,52 +0,0 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames4_ES5.ts(5,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames4_ES5.ts(6,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames4_ES5.ts(7,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames4_ES5.ts(8,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames4_ES5.ts(9,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames4_ES5.ts(10,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames4_ES5.ts(11,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames4_ES5.ts(12,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames4_ES5.ts(13,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames4_ES5.ts(14,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames4_ES5.ts(15,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - - -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames4_ES5.ts (11 errors) ==== - var s: string; - var n: number; - var a: any; - var v = { - [s]: 0, - ~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - [n]: n, - ~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - [s + s]: 1, - ~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - [s + n]: 2, - ~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - [+s]: s, - ~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - [""]: 0, - ~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - [0]: 0, - ~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - [a]: 1, - ~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - [true]: 0, - ~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - [`hello bye`]: 0, - ~~~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - [`hello ${a} bye`]: 0 - ~~~~~~~~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames4_ES5.types b/tests/baselines/reference/computedPropertyNames4_ES5.types new file mode 100644 index 00000000000..7c26cae6444 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames4_ES5.types @@ -0,0 +1,48 @@ +=== tests/cases/conformance/es6/computedProperties/computedPropertyNames4_ES5.ts === +var s: string; +>s : string + +var n: number; +>n : number + +var a: any; +>a : any + +var v = { +>v : {} +>{ [s]: 0, [n]: n, [s + s]: 1, [s + n]: 2, [+s]: s, [""]: 0, [0]: 0, [a]: 1, [true]: 0, [`hello bye`]: 0, [`hello ${a} bye`]: 0} : {} + + [s]: 0, +>s : string + + [n]: n, +>n : number +>n : number + + [s + s]: 1, +>s + s : string +>s : string +>s : string + + [s + n]: 2, +>s + n : string +>s : string +>n : number + + [+s]: s, +>+s : number +>s : string +>s : string + + [""]: 0, + [0]: 0, + [a]: 1, +>a : any + + [true]: 0, +>true : any + + [`hello bye`]: 0, + [`hello ${a} bye`]: 0 +>a : any +} diff --git a/tests/baselines/reference/computedPropertyNames5_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames5_ES5.errors.txt index b65197056f7..a51bbedd4fe 100644 --- a/tests/baselines/reference/computedPropertyNames5_ES5.errors.txt +++ b/tests/baselines/reference/computedPropertyNames5_ES5.errors.txt @@ -1,48 +1,30 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames5_ES5.ts(3,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/es6/computedProperties/computedPropertyNames5_ES5.ts(3,5): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. -tests/cases/conformance/es6/computedProperties/computedPropertyNames5_ES5.ts(4,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/es6/computedProperties/computedPropertyNames5_ES5.ts(4,5): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. -tests/cases/conformance/es6/computedProperties/computedPropertyNames5_ES5.ts(5,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/es6/computedProperties/computedPropertyNames5_ES5.ts(5,5): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. -tests/cases/conformance/es6/computedProperties/computedPropertyNames5_ES5.ts(6,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/es6/computedProperties/computedPropertyNames5_ES5.ts(6,5): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. -tests/cases/conformance/es6/computedProperties/computedPropertyNames5_ES5.ts(7,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/es6/computedProperties/computedPropertyNames5_ES5.ts(7,5): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. -tests/cases/conformance/es6/computedProperties/computedPropertyNames5_ES5.ts(8,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/es6/computedProperties/computedPropertyNames5_ES5.ts(8,5): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames5_ES5.ts (12 errors) ==== +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames5_ES5.ts (6 errors) ==== var b: boolean; var v = { [b]: 0, ~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~ !!! error TS2464: A computed property name must be of type 'string', 'number', or 'any'. [true]: 1, ~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~~~~ !!! error TS2464: A computed property name must be of type 'string', 'number', or 'any'. [[]]: 0, ~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~~ !!! error TS2464: A computed property name must be of type 'string', 'number', or 'any'. [{}]: 0, ~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~~ !!! error TS2464: A computed property name must be of type 'string', 'number', or 'any'. [undefined]: undefined, ~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~~~~~~~~~ !!! error TS2464: A computed property name must be of type 'string', 'number', or 'any'. [null]: null ~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~~~~ !!! error TS2464: A computed property name must be of type 'string', 'number', or 'any'. } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames6_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames6_ES5.errors.txt index c7cc95a06ae..a38036c7a03 100644 --- a/tests/baselines/reference/computedPropertyNames6_ES5.errors.txt +++ b/tests/baselines/reference/computedPropertyNames6_ES5.errors.txt @@ -1,26 +1,17 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames6_ES5.ts(5,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames6_ES5.ts(6,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/es6/computedProperties/computedPropertyNames6_ES5.ts(6,5): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. -tests/cases/conformance/es6/computedProperties/computedPropertyNames6_ES5.ts(7,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/es6/computedProperties/computedPropertyNames6_ES5.ts(7,5): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames6_ES5.ts (5 errors) ==== +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames6_ES5.ts (2 errors) ==== var p1: number | string; var p2: number | number[]; var p3: string | boolean; var v = { [p1]: 0, - ~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. [p2]: 1, ~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~~ !!! error TS2464: A computed property name must be of type 'string', 'number', or 'any'. [p3]: 2 ~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~~ !!! error TS2464: A computed property name must be of type 'string', 'number', or 'any'. } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames7_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames7_ES5.errors.txt deleted file mode 100644 index 389d47c2e0e..00000000000 --- a/tests/baselines/reference/computedPropertyNames7_ES5.errors.txt +++ /dev/null @@ -1,12 +0,0 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames7_ES5.ts(5,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - - -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames7_ES5.ts (1 errors) ==== - enum E { - member - } - var v = { - [E.member]: 0 - ~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames7_ES5.types b/tests/baselines/reference/computedPropertyNames7_ES5.types new file mode 100644 index 00000000000..209e07769c0 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames7_ES5.types @@ -0,0 +1,16 @@ +=== tests/cases/conformance/es6/computedProperties/computedPropertyNames7_ES5.ts === +enum E { +>E : E + + member +>member : E +} +var v = { +>v : {} +>{ [E.member]: 0} : {} + + [E.member]: 0 +>E.member : E +>E : typeof E +>member : E +} diff --git a/tests/baselines/reference/computedPropertyNames8_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames8_ES5.errors.txt index e66d445fdda..14d9b6e3446 100644 --- a/tests/baselines/reference/computedPropertyNames8_ES5.errors.txt +++ b/tests/baselines/reference/computedPropertyNames8_ES5.errors.txt @@ -1,23 +1,17 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames8_ES5.ts(5,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/es6/computedProperties/computedPropertyNames8_ES5.ts(5,9): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. -tests/cases/conformance/es6/computedProperties/computedPropertyNames8_ES5.ts(6,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/es6/computedProperties/computedPropertyNames8_ES5.ts(6,9): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames8_ES5.ts (4 errors) ==== +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames8_ES5.ts (2 errors) ==== function f() { var t: T; var u: U; var v = { [t]: 0, ~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~ !!! error TS2464: A computed property name must be of type 'string', 'number', or 'any'. [u]: 1 ~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~ !!! error TS2464: A computed property name must be of type 'string', 'number', or 'any'. }; } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames9_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames9_ES5.errors.txt index 1b97c1bfc5c..6e8419828f7 100644 --- a/tests/baselines/reference/computedPropertyNames9_ES5.errors.txt +++ b/tests/baselines/reference/computedPropertyNames9_ES5.errors.txt @@ -1,10 +1,7 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames9_ES5.ts(7,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames9_ES5.ts(8,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames9_ES5.ts(9,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/es6/computedProperties/computedPropertyNames9_ES5.ts(9,5): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames9_ES5.ts (4 errors) ==== +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames9_ES5.ts (1 errors) ==== function f(s: string): string; function f(n: number): number; function f(x: T): T; @@ -12,14 +9,8 @@ tests/cases/conformance/es6/computedProperties/computedPropertyNames9_ES5.ts(9,5 var v = { [f("")]: 0, - ~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. [f(0)]: 0, - ~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. [f(true)]: 0 ~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~~~~~~~ !!! error TS2464: A computed property name must be of type 'string', 'number', or 'any'. } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNamesContextualType10_ES5.errors.txt b/tests/baselines/reference/computedPropertyNamesContextualType10_ES5.errors.txt index 5bfd1959647..7fa95fe9426 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType10_ES5.errors.txt +++ b/tests/baselines/reference/computedPropertyNamesContextualType10_ES5.errors.txt @@ -2,11 +2,9 @@ tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualTy Index signatures are incompatible. Type 'string | number' is not assignable to type 'boolean'. Type 'string' is not assignable to type 'boolean'. -tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType10_ES5.ts(6,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType10_ES5.ts(7,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -==== tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType10_ES5.ts (3 errors) ==== +==== tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType10_ES5.ts (1 errors) ==== interface I { [s: number]: boolean; } @@ -18,9 +16,5 @@ tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualTy !!! error TS2322: Type 'string | number' is not assignable to type 'boolean'. !!! error TS2322: Type 'string' is not assignable to type 'boolean'. [+"foo"]: "", - ~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. [+"bar"]: 0 - ~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNamesContextualType1_ES5.errors.txt b/tests/baselines/reference/computedPropertyNamesContextualType1_ES5.errors.txt deleted file mode 100644 index 571a7142527..00000000000 --- a/tests/baselines/reference/computedPropertyNamesContextualType1_ES5.errors.txt +++ /dev/null @@ -1,18 +0,0 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType1_ES5.ts(7,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType1_ES5.ts(8,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - - -==== tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType1_ES5.ts (2 errors) ==== - interface I { - [s: string]: (x: string) => number; - [s: number]: (x: any) => number; // Doesn't get hit - } - - var o: I = { - ["" + 0](y) { return y.length; }, - ~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ["" + 1]: y => y.length - ~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNamesContextualType1_ES5.types b/tests/baselines/reference/computedPropertyNamesContextualType1_ES5.types new file mode 100644 index 00000000000..ad7ddc30567 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNamesContextualType1_ES5.types @@ -0,0 +1,33 @@ +=== tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType1_ES5.ts === +interface I { +>I : I + + [s: string]: (x: string) => number; +>s : string +>x : string + + [s: number]: (x: any) => number; // Doesn't get hit +>s : number +>x : any +} + +var o: I = { +>o : I +>I : I +>{ ["" + 0](y) { return y.length; }, ["" + 1]: y => y.length} : { [x: string]: (y: string) => number; [x: number]: undefined; } + + ["" + 0](y) { return y.length; }, +>"" + 0 : string +>y : string +>y.length : number +>y : string +>length : number + + ["" + 1]: y => y.length +>"" + 1 : string +>y => y.length : (y: string) => number +>y : string +>y.length : number +>y : string +>length : number +} diff --git a/tests/baselines/reference/computedPropertyNamesContextualType2_ES5.errors.txt b/tests/baselines/reference/computedPropertyNamesContextualType2_ES5.errors.txt deleted file mode 100644 index 930d67155e0..00000000000 --- a/tests/baselines/reference/computedPropertyNamesContextualType2_ES5.errors.txt +++ /dev/null @@ -1,18 +0,0 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType2_ES5.ts(7,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType2_ES5.ts(8,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - - -==== tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType2_ES5.ts (2 errors) ==== - interface I { - [s: string]: (x: any) => number; // Doesn't get hit - [s: number]: (x: string) => number; - } - - var o: I = { - [+"foo"](y) { return y.length; }, - ~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - [+"bar"]: y => y.length - ~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNamesContextualType2_ES5.types b/tests/baselines/reference/computedPropertyNamesContextualType2_ES5.types new file mode 100644 index 00000000000..0c1b9490abe --- /dev/null +++ b/tests/baselines/reference/computedPropertyNamesContextualType2_ES5.types @@ -0,0 +1,33 @@ +=== tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType2_ES5.ts === +interface I { +>I : I + + [s: string]: (x: any) => number; // Doesn't get hit +>s : string +>x : any + + [s: number]: (x: string) => number; +>s : number +>x : string +} + +var o: I = { +>o : I +>I : I +>{ [+"foo"](y) { return y.length; }, [+"bar"]: y => y.length} : { [x: string]: (y: string) => number; [x: number]: (y: string) => number; } + + [+"foo"](y) { return y.length; }, +>+"foo" : number +>y : string +>y.length : number +>y : string +>length : number + + [+"bar"]: y => y.length +>+"bar" : number +>y => y.length : (y: string) => number +>y : string +>y.length : number +>y : string +>length : number +} diff --git a/tests/baselines/reference/computedPropertyNamesContextualType3_ES5.errors.txt b/tests/baselines/reference/computedPropertyNamesContextualType3_ES5.errors.txt deleted file mode 100644 index 487fdd9a9a6..00000000000 --- a/tests/baselines/reference/computedPropertyNamesContextualType3_ES5.errors.txt +++ /dev/null @@ -1,17 +0,0 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType3_ES5.ts(6,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType3_ES5.ts(7,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - - -==== tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType3_ES5.ts (2 errors) ==== - interface I { - [s: string]: (x: string) => number; - } - - var o: I = { - [+"foo"](y) { return y.length; }, - ~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - [+"bar"]: y => y.length - ~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNamesContextualType3_ES5.types b/tests/baselines/reference/computedPropertyNamesContextualType3_ES5.types new file mode 100644 index 00000000000..482d58c3ee0 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNamesContextualType3_ES5.types @@ -0,0 +1,29 @@ +=== tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType3_ES5.ts === +interface I { +>I : I + + [s: string]: (x: string) => number; +>s : string +>x : string +} + +var o: I = { +>o : I +>I : I +>{ [+"foo"](y) { return y.length; }, [+"bar"]: y => y.length} : { [x: string]: (y: string) => number; } + + [+"foo"](y) { return y.length; }, +>+"foo" : number +>y : string +>y.length : number +>y : string +>length : number + + [+"bar"]: y => y.length +>+"bar" : number +>y => y.length : (y: string) => number +>y : string +>y.length : number +>y : string +>length : number +} diff --git a/tests/baselines/reference/computedPropertyNamesContextualType4_ES5.errors.txt b/tests/baselines/reference/computedPropertyNamesContextualType4_ES5.errors.txt deleted file mode 100644 index 76f6cfa990f..00000000000 --- a/tests/baselines/reference/computedPropertyNamesContextualType4_ES5.errors.txt +++ /dev/null @@ -1,18 +0,0 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType4_ES5.ts(7,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType4_ES5.ts(8,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - - -==== tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType4_ES5.ts (2 errors) ==== - interface I { - [s: string]: any; - [s: number]: any; - } - - var o: I = { - [""+"foo"]: "", - ~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - [""+"bar"]: 0 - ~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNamesContextualType4_ES5.types b/tests/baselines/reference/computedPropertyNamesContextualType4_ES5.types new file mode 100644 index 00000000000..c1662397527 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNamesContextualType4_ES5.types @@ -0,0 +1,22 @@ +=== tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType4_ES5.ts === +interface I { +>I : I + + [s: string]: any; +>s : string + + [s: number]: any; +>s : number +} + +var o: I = { +>o : I +>I : I +>{ [""+"foo"]: "", [""+"bar"]: 0} : { [x: string]: string | number; [x: number]: undefined; } + + [""+"foo"]: "", +>""+"foo" : string + + [""+"bar"]: 0 +>""+"bar" : string +} diff --git a/tests/baselines/reference/computedPropertyNamesContextualType5_ES5.errors.txt b/tests/baselines/reference/computedPropertyNamesContextualType5_ES5.errors.txt deleted file mode 100644 index 4510a92ddf0..00000000000 --- a/tests/baselines/reference/computedPropertyNamesContextualType5_ES5.errors.txt +++ /dev/null @@ -1,18 +0,0 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType5_ES5.ts(7,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType5_ES5.ts(8,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - - -==== tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType5_ES5.ts (2 errors) ==== - interface I { - [s: string]: any; - [s: number]: any; - } - - var o: I = { - [+"foo"]: "", - ~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - [+"bar"]: 0 - ~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNamesContextualType5_ES5.types b/tests/baselines/reference/computedPropertyNamesContextualType5_ES5.types new file mode 100644 index 00000000000..bb382ca136e --- /dev/null +++ b/tests/baselines/reference/computedPropertyNamesContextualType5_ES5.types @@ -0,0 +1,22 @@ +=== tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType5_ES5.ts === +interface I { +>I : I + + [s: string]: any; +>s : string + + [s: number]: any; +>s : number +} + +var o: I = { +>o : I +>I : I +>{ [+"foo"]: "", [+"bar"]: 0} : { [x: string]: string | number; [x: number]: string | number; } + + [+"foo"]: "", +>+"foo" : number + + [+"bar"]: 0 +>+"bar" : number +} diff --git a/tests/baselines/reference/computedPropertyNamesContextualType6_ES5.errors.txt b/tests/baselines/reference/computedPropertyNamesContextualType6_ES5.errors.txt deleted file mode 100644 index a72b98c1efc..00000000000 --- a/tests/baselines/reference/computedPropertyNamesContextualType6_ES5.errors.txt +++ /dev/null @@ -1,34 +0,0 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType6_ES5.ts(10,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType6_ES5.ts(10,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType6_ES5.ts(11,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType6_ES5.ts(11,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType6_ES5.ts(12,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType6_ES5.ts(12,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - - -==== tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType6_ES5.ts (6 errors) ==== - interface I { - [s: string]: T; - } - - declare function foo(obj: I): T - - foo({ - p: "", - 0: () => { }, - ["hi" + "bye"]: true, - ~~~~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - [0 + 1]: 0, - ~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - [+"hi"]: [0] - ~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - }); \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNamesContextualType6_ES5.types b/tests/baselines/reference/computedPropertyNamesContextualType6_ES5.types new file mode 100644 index 00000000000..2e16c7cb140 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNamesContextualType6_ES5.types @@ -0,0 +1,40 @@ +=== tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType6_ES5.ts === +interface I { +>I : I +>T : T + + [s: string]: T; +>s : string +>T : T +} + +declare function foo(obj: I): T +>foo : (obj: I) => T +>T : T +>obj : I +>I : I +>T : T +>T : T + +foo({ +>foo({ p: "", 0: () => { }, ["hi" + "bye"]: true, [0 + 1]: 0, [+"hi"]: [0]}) : string | number | boolean | number[] | (() => void) +>foo : (obj: I) => T +>{ p: "", 0: () => { }, ["hi" + "bye"]: true, [0 + 1]: 0, [+"hi"]: [0]} : { [x: string]: string | number | boolean | number[] | (() => void); 0: () => void; p: string; } + + p: "", +>p : string + + 0: () => { }, +>() => { } : () => void + + ["hi" + "bye"]: true, +>"hi" + "bye" : string + + [0 + 1]: 0, +>0 + 1 : number + + [+"hi"]: [0] +>+"hi" : number +>[0] : number[] + +}); diff --git a/tests/baselines/reference/computedPropertyNamesContextualType7_ES5.errors.txt b/tests/baselines/reference/computedPropertyNamesContextualType7_ES5.errors.txt deleted file mode 100644 index 153bfc1fbde..00000000000 --- a/tests/baselines/reference/computedPropertyNamesContextualType7_ES5.errors.txt +++ /dev/null @@ -1,34 +0,0 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType7_ES5.ts(10,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType7_ES5.ts(10,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType7_ES5.ts(11,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType7_ES5.ts(11,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType7_ES5.ts(12,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType7_ES5.ts(12,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - - -==== tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType7_ES5.ts (6 errors) ==== - interface I { - [s: number]: T; - } - - declare function foo(obj: I): T - - foo({ - p: "", - 0: () => { }, - ["hi" + "bye"]: true, - ~~~~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - [0 + 1]: 0, - ~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - [+"hi"]: [0] - ~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - }); \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNamesContextualType7_ES5.types b/tests/baselines/reference/computedPropertyNamesContextualType7_ES5.types new file mode 100644 index 00000000000..80ba2b9224f --- /dev/null +++ b/tests/baselines/reference/computedPropertyNamesContextualType7_ES5.types @@ -0,0 +1,40 @@ +=== tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType7_ES5.ts === +interface I { +>I : I +>T : T + + [s: number]: T; +>s : number +>T : T +} + +declare function foo(obj: I): T +>foo : (obj: I) => T +>T : T +>obj : I +>I : I +>T : T +>T : T + +foo({ +>foo({ p: "", 0: () => { }, ["hi" + "bye"]: true, [0 + 1]: 0, [+"hi"]: [0]}) : number | number[] | (() => void) +>foo : (obj: I) => T +>{ p: "", 0: () => { }, ["hi" + "bye"]: true, [0 + 1]: 0, [+"hi"]: [0]} : { [x: number]: number | number[] | (() => void); 0: () => void; p: string; } + + p: "", +>p : string + + 0: () => { }, +>() => { } : () => void + + ["hi" + "bye"]: true, +>"hi" + "bye" : string + + [0 + 1]: 0, +>0 + 1 : number + + [+"hi"]: [0] +>+"hi" : number +>[0] : number[] + +}); diff --git a/tests/baselines/reference/computedPropertyNamesContextualType8_ES5.errors.txt b/tests/baselines/reference/computedPropertyNamesContextualType8_ES5.errors.txt index 74a235bf087..3376243e370 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType8_ES5.errors.txt +++ b/tests/baselines/reference/computedPropertyNamesContextualType8_ES5.errors.txt @@ -2,11 +2,9 @@ tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualTy Index signatures are incompatible. Type 'string | number' is not assignable to type 'boolean'. Type 'string' is not assignable to type 'boolean'. -tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType8_ES5.ts(7,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType8_ES5.ts(8,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -==== tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType8_ES5.ts (3 errors) ==== +==== tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType8_ES5.ts (1 errors) ==== interface I { [s: string]: boolean; [s: number]: boolean; @@ -19,9 +17,5 @@ tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualTy !!! error TS2322: Type 'string | number' is not assignable to type 'boolean'. !!! error TS2322: Type 'string' is not assignable to type 'boolean'. [""+"foo"]: "", - ~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. [""+"bar"]: 0 - ~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNamesContextualType9_ES5.errors.txt b/tests/baselines/reference/computedPropertyNamesContextualType9_ES5.errors.txt index 79807602de2..d4085a37e60 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType9_ES5.errors.txt +++ b/tests/baselines/reference/computedPropertyNamesContextualType9_ES5.errors.txt @@ -2,11 +2,9 @@ tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualTy Index signatures are incompatible. Type 'string | number' is not assignable to type 'boolean'. Type 'string' is not assignable to type 'boolean'. -tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType9_ES5.ts(7,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType9_ES5.ts(8,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -==== tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType9_ES5.ts (3 errors) ==== +==== tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType9_ES5.ts (1 errors) ==== interface I { [s: string]: boolean; [s: number]: boolean; @@ -19,9 +17,5 @@ tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualTy !!! error TS2322: Type 'string | number' is not assignable to type 'boolean'. !!! error TS2322: Type 'string' is not assignable to type 'boolean'. [+"foo"]: "", - ~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. [+"bar"]: 0 - ~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNamesDeclarationEmit1_ES5.errors.txt b/tests/baselines/reference/computedPropertyNamesDeclarationEmit1_ES5.errors.txt deleted file mode 100644 index cc370681e4e..00000000000 --- a/tests/baselines/reference/computedPropertyNamesDeclarationEmit1_ES5.errors.txt +++ /dev/null @@ -1,17 +0,0 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit1_ES5.ts(2,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit1_ES5.ts(3,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit1_ES5.ts(4,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - - -==== tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit1_ES5.ts (3 errors) ==== - class C { - ["" + ""]() { } - ~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - get ["" + ""]() { return 0; } - ~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - set ["" + ""](x) { } - ~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNamesDeclarationEmit1_ES5.js b/tests/baselines/reference/computedPropertyNamesDeclarationEmit1_ES5.js index 246b22230bb..c091003735c 100644 --- a/tests/baselines/reference/computedPropertyNamesDeclarationEmit1_ES5.js +++ b/tests/baselines/reference/computedPropertyNamesDeclarationEmit1_ES5.js @@ -26,3 +26,8 @@ var C = (function () { }); return C; })(); + + +//// [computedPropertyNamesDeclarationEmit1_ES5.d.ts] +declare class C { +} diff --git a/tests/baselines/reference/computedPropertyNamesDeclarationEmit1_ES5.types b/tests/baselines/reference/computedPropertyNamesDeclarationEmit1_ES5.types new file mode 100644 index 00000000000..a5fe3dc0fa1 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNamesDeclarationEmit1_ES5.types @@ -0,0 +1,14 @@ +=== tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit1_ES5.ts === +class C { +>C : C + + ["" + ""]() { } +>"" + "" : string + + get ["" + ""]() { return 0; } +>"" + "" : string + + set ["" + ""](x) { } +>"" + "" : string +>x : any +} diff --git a/tests/baselines/reference/computedPropertyNamesDeclarationEmit2_ES5.errors.txt b/tests/baselines/reference/computedPropertyNamesDeclarationEmit2_ES5.errors.txt deleted file mode 100644 index 01263bdd7cf..00000000000 --- a/tests/baselines/reference/computedPropertyNamesDeclarationEmit2_ES5.errors.txt +++ /dev/null @@ -1,17 +0,0 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit2_ES5.ts(2,12): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit2_ES5.ts(3,16): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit2_ES5.ts(4,16): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - - -==== tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit2_ES5.ts (3 errors) ==== - class C { - static ["" + ""]() { } - ~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - static get ["" + ""]() { return 0; } - ~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - static set ["" + ""](x) { } - ~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNamesDeclarationEmit2_ES5.js b/tests/baselines/reference/computedPropertyNamesDeclarationEmit2_ES5.js index a3e4e6afd40..22a5b0d305d 100644 --- a/tests/baselines/reference/computedPropertyNamesDeclarationEmit2_ES5.js +++ b/tests/baselines/reference/computedPropertyNamesDeclarationEmit2_ES5.js @@ -26,3 +26,8 @@ var C = (function () { }); return C; })(); + + +//// [computedPropertyNamesDeclarationEmit2_ES5.d.ts] +declare class C { +} diff --git a/tests/baselines/reference/computedPropertyNamesDeclarationEmit2_ES5.types b/tests/baselines/reference/computedPropertyNamesDeclarationEmit2_ES5.types new file mode 100644 index 00000000000..949d82596c7 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNamesDeclarationEmit2_ES5.types @@ -0,0 +1,14 @@ +=== tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit2_ES5.ts === +class C { +>C : C + + static ["" + ""]() { } +>"" + "" : string + + static get ["" + ""]() { return 0; } +>"" + "" : string + + static set ["" + ""](x) { } +>"" + "" : string +>x : any +} diff --git a/tests/baselines/reference/computedPropertyNamesDeclarationEmit5_ES5.errors.txt b/tests/baselines/reference/computedPropertyNamesDeclarationEmit5_ES5.errors.txt deleted file mode 100644 index 4c8a2270d28..00000000000 --- a/tests/baselines/reference/computedPropertyNamesDeclarationEmit5_ES5.errors.txt +++ /dev/null @@ -1,27 +0,0 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit5_ES5.ts(2,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit5_ES5.ts(3,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit5_ES5.ts(4,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit5_ES5.ts(4,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit5_ES5.ts(5,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit5_ES5.ts(5,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - - -==== tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit5_ES5.ts (6 errors) ==== - var v = { - ["" + ""]: 0, - ~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ["" + ""]() { }, - ~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - get ["" + ""]() { return 0; }, - ~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - set ["" + ""](x) { } - ~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNamesDeclarationEmit5_ES5.js b/tests/baselines/reference/computedPropertyNamesDeclarationEmit5_ES5.js index ced7e199a4c..9f05669d823 100644 --- a/tests/baselines/reference/computedPropertyNamesDeclarationEmit5_ES5.js +++ b/tests/baselines/reference/computedPropertyNamesDeclarationEmit5_ES5.js @@ -17,3 +17,7 @@ var v = { set ["" + ""](x) { } }; + + +//// [computedPropertyNamesDeclarationEmit5_ES5.d.ts] +declare var v: {}; diff --git a/tests/baselines/reference/computedPropertyNamesDeclarationEmit5_ES5.types b/tests/baselines/reference/computedPropertyNamesDeclarationEmit5_ES5.types new file mode 100644 index 00000000000..3f5a7355a20 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNamesDeclarationEmit5_ES5.types @@ -0,0 +1,18 @@ +=== tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit5_ES5.ts === +var v = { +>v : {} +>{ ["" + ""]: 0, ["" + ""]() { }, get ["" + ""]() { return 0; }, set ["" + ""](x) { }} : {} + + ["" + ""]: 0, +>"" + "" : string + + ["" + ""]() { }, +>"" + "" : string + + get ["" + ""]() { return 0; }, +>"" + "" : string + + set ["" + ""](x) { } +>"" + "" : string +>x : any +} diff --git a/tests/baselines/reference/computedPropertyNamesOnOverloads_ES5.errors.txt b/tests/baselines/reference/computedPropertyNamesOnOverloads_ES5.errors.txt index d02a636938c..9e0128c7869 100644 --- a/tests/baselines/reference/computedPropertyNamesOnOverloads_ES5.errors.txt +++ b/tests/baselines/reference/computedPropertyNamesOnOverloads_ES5.errors.txt @@ -1,9 +1,8 @@ tests/cases/conformance/es6/computedProperties/computedPropertyNamesOnOverloads_ES5.ts(4,5): error TS1168: Computed property names are not allowed in method overloads. tests/cases/conformance/es6/computedProperties/computedPropertyNamesOnOverloads_ES5.ts(5,5): error TS1168: Computed property names are not allowed in method overloads. -tests/cases/conformance/es6/computedProperties/computedPropertyNamesOnOverloads_ES5.ts(6,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -==== tests/cases/conformance/es6/computedProperties/computedPropertyNamesOnOverloads_ES5.ts (3 errors) ==== +==== tests/cases/conformance/es6/computedProperties/computedPropertyNamesOnOverloads_ES5.ts (2 errors) ==== var methodName = "method"; var accessorName = "accessor"; class C { @@ -14,6 +13,4 @@ tests/cases/conformance/es6/computedProperties/computedPropertyNamesOnOverloads_ ~~~~~~~~~~~~ !!! error TS1168: Computed property names are not allowed in method overloads. [methodName](v?: string) { } - ~~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNamesSourceMap1_ES5.errors.txt b/tests/baselines/reference/computedPropertyNamesSourceMap1_ES5.errors.txt deleted file mode 100644 index 41ece97ba82..00000000000 --- a/tests/baselines/reference/computedPropertyNamesSourceMap1_ES5.errors.txt +++ /dev/null @@ -1,11 +0,0 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNamesSourceMap1_ES5.ts(2,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - - -==== tests/cases/conformance/es6/computedProperties/computedPropertyNamesSourceMap1_ES5.ts (1 errors) ==== - class C { - ["hello"]() { - ~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - debugger; - } - } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNamesSourceMap1_ES5.types b/tests/baselines/reference/computedPropertyNamesSourceMap1_ES5.types new file mode 100644 index 00000000000..1c57d97a7e8 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNamesSourceMap1_ES5.types @@ -0,0 +1,8 @@ +=== tests/cases/conformance/es6/computedProperties/computedPropertyNamesSourceMap1_ES5.ts === +class C { +>C : C + + ["hello"]() { + debugger; + } +} diff --git a/tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.errors.txt b/tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.errors.txt deleted file mode 100644 index d95aa2a1adb..00000000000 --- a/tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.errors.txt +++ /dev/null @@ -1,11 +0,0 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNamesSourceMap2_ES5.ts(2,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - - -==== tests/cases/conformance/es6/computedProperties/computedPropertyNamesSourceMap2_ES5.ts (1 errors) ==== - var v = { - ["hello"]() { - ~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - debugger; - } - } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.types b/tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.types new file mode 100644 index 00000000000..1dcc49a8fae --- /dev/null +++ b/tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.types @@ -0,0 +1,9 @@ +=== tests/cases/conformance/es6/computedProperties/computedPropertyNamesSourceMap2_ES5.ts === +var v = { +>v : {} +>{ ["hello"]() { debugger; }} : {} + + ["hello"]() { + debugger; + } +} diff --git a/tests/baselines/reference/parserES5ComputedPropertyName2.errors.txt b/tests/baselines/reference/parserES5ComputedPropertyName2.errors.txt index 5918387942d..55176bf76f1 100644 --- a/tests/baselines/reference/parserES5ComputedPropertyName2.errors.txt +++ b/tests/baselines/reference/parserES5ComputedPropertyName2.errors.txt @@ -1,10 +1,7 @@ -tests/cases/conformance/parser/ecmascript5/ComputedPropertyNames/parserES5ComputedPropertyName2.ts(1,11): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/parser/ecmascript5/ComputedPropertyNames/parserES5ComputedPropertyName2.ts(1,12): error TS2304: Cannot find name 'e'. -==== tests/cases/conformance/parser/ecmascript5/ComputedPropertyNames/parserES5ComputedPropertyName2.ts (2 errors) ==== +==== tests/cases/conformance/parser/ecmascript5/ComputedPropertyNames/parserES5ComputedPropertyName2.ts (1 errors) ==== var v = { [e]: 1 }; - ~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. ~ !!! error TS2304: Cannot find name 'e'. \ No newline at end of file diff --git a/tests/baselines/reference/parserES5ComputedPropertyName3.errors.txt b/tests/baselines/reference/parserES5ComputedPropertyName3.errors.txt index 097ab1ea9cb..07ea47dd3f0 100644 --- a/tests/baselines/reference/parserES5ComputedPropertyName3.errors.txt +++ b/tests/baselines/reference/parserES5ComputedPropertyName3.errors.txt @@ -1,10 +1,7 @@ -tests/cases/conformance/parser/ecmascript5/ComputedPropertyNames/parserES5ComputedPropertyName3.ts(1,11): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/parser/ecmascript5/ComputedPropertyNames/parserES5ComputedPropertyName3.ts(1,12): error TS2304: Cannot find name 'e'. -==== tests/cases/conformance/parser/ecmascript5/ComputedPropertyNames/parserES5ComputedPropertyName3.ts (2 errors) ==== +==== tests/cases/conformance/parser/ecmascript5/ComputedPropertyNames/parserES5ComputedPropertyName3.ts (1 errors) ==== var v = { [e]() { } }; - ~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. ~ !!! error TS2304: Cannot find name 'e'. \ No newline at end of file diff --git a/tests/baselines/reference/parserES5ComputedPropertyName4.errors.txt b/tests/baselines/reference/parserES5ComputedPropertyName4.errors.txt index ca69791c93c..cfb12152c94 100644 --- a/tests/baselines/reference/parserES5ComputedPropertyName4.errors.txt +++ b/tests/baselines/reference/parserES5ComputedPropertyName4.errors.txt @@ -1,13 +1,10 @@ -tests/cases/conformance/parser/ecmascript5/ComputedPropertyNames/parserES5ComputedPropertyName4.ts(1,15): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/parser/ecmascript5/ComputedPropertyNames/parserES5ComputedPropertyName4.ts(1,15): error TS2378: A 'get' accessor must return a value or consist of a single 'throw' statement. tests/cases/conformance/parser/ecmascript5/ComputedPropertyNames/parserES5ComputedPropertyName4.ts(1,16): error TS2304: Cannot find name 'e'. -==== tests/cases/conformance/parser/ecmascript5/ComputedPropertyNames/parserES5ComputedPropertyName4.ts (3 errors) ==== +==== tests/cases/conformance/parser/ecmascript5/ComputedPropertyNames/parserES5ComputedPropertyName4.ts (2 errors) ==== var v = { get [e]() { } }; ~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~ !!! error TS2378: A 'get' accessor must return a value or consist of a single 'throw' statement. ~ !!! error TS2304: Cannot find name 'e'. \ No newline at end of file