diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index afcf12fed1b..6682761812d 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -8777,11 +8777,6 @@ module ts { } function checkForOfStatement(node: ForOfStatement): void { - if (languageVersion < ScriptTarget.ES6) { - grammarErrorOnFirstToken(node, Diagnostics.for_of_statements_are_only_available_when_targeting_ECMAScript_6_or_higher); - return; - } - checkGrammarForInOrForOfStatement(node) // Check the LHS and RHS diff --git a/src/compiler/diagnosticInformationMap.generated.ts b/src/compiler/diagnosticInformationMap.generated.ts index b06a283a876..74028d85910 100644 --- a/src/compiler/diagnosticInformationMap.generated.ts +++ b/src/compiler/diagnosticInformationMap.generated.ts @@ -327,7 +327,6 @@ module ts { Property_0_does_not_exist_on_const_enum_1: { code: 2479, category: DiagnosticCategory.Error, key: "Property '{0}' does not exist on 'const' enum '{1}'." }, let_is_not_allowed_to_be_used_as_a_name_in_let_or_const_declarations: { code: 2480, category: DiagnosticCategory.Error, key: "'let' is not allowed to be used as a name in 'let' or 'const' declarations." }, Cannot_initialize_outer_scoped_variable_0_in_the_same_scope_as_block_scoped_declaration_1: { code: 2481, category: DiagnosticCategory.Error, key: "Cannot initialize outer scoped variable '{0}' in the same scope as block scoped declaration '{1}'." }, - for_of_statements_are_only_available_when_targeting_ECMAScript_6_or_higher: { code: 2482, category: DiagnosticCategory.Error, key: "'for...of' statements are only available when targeting ECMAScript 6 or higher." }, The_left_hand_side_of_a_for_of_statement_cannot_use_a_type_annotation: { code: 2483, category: DiagnosticCategory.Error, key: "The left-hand side of a 'for...of' statement cannot use a type annotation." }, Export_declaration_conflicts_with_exported_declaration_of_0: { code: 2484, category: DiagnosticCategory.Error, key: "Export declaration conflicts with exported declaration of '{0}'" }, The_left_hand_side_of_a_for_of_statement_cannot_be_a_previously_defined_constant: { code: 2485, category: DiagnosticCategory.Error, key: "The left-hand side of a 'for...of' statement cannot be a previously defined constant." }, diff --git a/src/compiler/diagnosticMessages.json b/src/compiler/diagnosticMessages.json index b265f5b5281..f55c4391699 100644 --- a/src/compiler/diagnosticMessages.json +++ b/src/compiler/diagnosticMessages.json @@ -1299,10 +1299,6 @@ "category": "Error", "code": 2481 }, - "'for...of' statements are only available when targeting ECMAScript 6 or higher.": { - "category": "Error", - "code": 2482 - }, "The left-hand side of a 'for...of' statement cannot use a type annotation.": { "category": "Error", "code": 2483 diff --git a/tests/baselines/reference/ES5For-of1.errors.txt b/tests/baselines/reference/ES5For-of1.errors.txt index 7579ea04528..16222725b3d 100644 --- a/tests/baselines/reference/ES5For-of1.errors.txt +++ b/tests/baselines/reference/ES5For-of1.errors.txt @@ -1,9 +1,9 @@ -tests/cases/conformance/statements/for-ofStatements/ES5For-of1.ts(1,1): error TS2482: 'for...of' statements are only available when targeting ECMAScript 6 or higher. +tests/cases/conformance/statements/for-ofStatements/ES5For-of1.ts(2,5): error TS2304: Cannot find name 'console'. ==== tests/cases/conformance/statements/for-ofStatements/ES5For-of1.ts (1 errors) ==== for (var v of ['a', 'b', 'c']) { - ~~~ -!!! error TS2482: 'for...of' statements are only available when targeting ECMAScript 6 or higher. console.log(v); + ~~~~~~~ +!!! error TS2304: Cannot find name 'console'. } \ No newline at end of file diff --git a/tests/baselines/reference/ES5For-of10.errors.txt b/tests/baselines/reference/ES5For-of10.errors.txt deleted file mode 100644 index 70f69ed204f..00000000000 --- a/tests/baselines/reference/ES5For-of10.errors.txt +++ /dev/null @@ -1,13 +0,0 @@ -tests/cases/conformance/statements/for-ofStatements/ES5For-of10.ts(4,1): error TS2482: 'for...of' statements are only available when targeting ECMAScript 6 or higher. - - -==== tests/cases/conformance/statements/for-ofStatements/ES5For-of10.ts (1 errors) ==== - function foo() { - return { x: 0 }; - } - for (foo().x of []) { - ~~~ -!!! error TS2482: 'for...of' statements are only available when targeting ECMAScript 6 or higher. - for (foo().x of []) - var p = foo().x; - } \ No newline at end of file diff --git a/tests/baselines/reference/ES5For-of11.errors.txt b/tests/baselines/reference/ES5For-of11.errors.txt deleted file mode 100644 index bfb494f83a5..00000000000 --- a/tests/baselines/reference/ES5For-of11.errors.txt +++ /dev/null @@ -1,8 +0,0 @@ -tests/cases/conformance/statements/for-ofStatements/ES5For-of11.ts(2,1): error TS2482: 'for...of' statements are only available when targeting ECMAScript 6 or higher. - - -==== tests/cases/conformance/statements/for-ofStatements/ES5For-of11.ts (1 errors) ==== - var v; - for (v of []) { } - ~~~ -!!! error TS2482: 'for...of' statements are only available when targeting ECMAScript 6 or higher. \ No newline at end of file diff --git a/tests/baselines/reference/ES5For-of13.errors.txt b/tests/baselines/reference/ES5For-of13.errors.txt deleted file mode 100644 index a217d590f5e..00000000000 --- a/tests/baselines/reference/ES5For-of13.errors.txt +++ /dev/null @@ -1,9 +0,0 @@ -tests/cases/conformance/statements/for-ofStatements/ES5For-of13.ts(1,1): error TS2482: 'for...of' statements are only available when targeting ECMAScript 6 or higher. - - -==== tests/cases/conformance/statements/for-ofStatements/ES5For-of13.ts (1 errors) ==== - for (let v of ['a', 'b', 'c']) { - ~~~ -!!! error TS2482: 'for...of' statements are only available when targeting ECMAScript 6 or higher. - var x = v; - } \ No newline at end of file diff --git a/tests/baselines/reference/ES5For-of14.errors.txt b/tests/baselines/reference/ES5For-of14.errors.txt deleted file mode 100644 index 073c3869028..00000000000 --- a/tests/baselines/reference/ES5For-of14.errors.txt +++ /dev/null @@ -1,9 +0,0 @@ -tests/cases/conformance/statements/for-ofStatements/ES5For-of14.ts(1,1): error TS2482: 'for...of' statements are only available when targeting ECMAScript 6 or higher. - - -==== tests/cases/conformance/statements/for-ofStatements/ES5For-of14.ts (1 errors) ==== - for (const v of []) { - ~~~ -!!! error TS2482: 'for...of' statements are only available when targeting ECMAScript 6 or higher. - var x = v; - } \ No newline at end of file diff --git a/tests/baselines/reference/ES5For-of14.types b/tests/baselines/reference/ES5For-of14.types new file mode 100644 index 00000000000..0a4f9a78453 --- /dev/null +++ b/tests/baselines/reference/ES5For-of14.types @@ -0,0 +1,9 @@ +=== tests/cases/conformance/statements/for-ofStatements/ES5For-of14.ts === +for (const v of []) { +>v : any +>[] : undefined[] + + var x = v; +>x : any +>v : any +} diff --git a/tests/baselines/reference/ES5For-of15.errors.txt b/tests/baselines/reference/ES5For-of15.errors.txt deleted file mode 100644 index a63e1202cec..00000000000 --- a/tests/baselines/reference/ES5For-of15.errors.txt +++ /dev/null @@ -1,12 +0,0 @@ -tests/cases/conformance/statements/for-ofStatements/ES5For-of15.ts(1,1): error TS2482: 'for...of' statements are only available when targeting ECMAScript 6 or higher. - - -==== tests/cases/conformance/statements/for-ofStatements/ES5For-of15.ts (1 errors) ==== - for (let v of []) { - ~~~ -!!! error TS2482: 'for...of' statements are only available when targeting ECMAScript 6 or higher. - v; - for (const v of []) { - var x = v; - } - } \ No newline at end of file diff --git a/tests/baselines/reference/ES5For-of15.types b/tests/baselines/reference/ES5For-of15.types new file mode 100644 index 00000000000..90409b8b167 --- /dev/null +++ b/tests/baselines/reference/ES5For-of15.types @@ -0,0 +1,17 @@ +=== tests/cases/conformance/statements/for-ofStatements/ES5For-of15.ts === +for (let v of []) { +>v : any +>[] : undefined[] + + v; +>v : any + + for (const v of []) { +>v : any +>[] : undefined[] + + var x = v; +>x : any +>v : any + } +} diff --git a/tests/baselines/reference/ES5For-of16.errors.txt b/tests/baselines/reference/ES5For-of16.errors.txt deleted file mode 100644 index 969d83b8058..00000000000 --- a/tests/baselines/reference/ES5For-of16.errors.txt +++ /dev/null @@ -1,13 +0,0 @@ -tests/cases/conformance/statements/for-ofStatements/ES5For-of16.ts(1,1): error TS2482: 'for...of' statements are only available when targeting ECMAScript 6 or higher. - - -==== tests/cases/conformance/statements/for-ofStatements/ES5For-of16.ts (1 errors) ==== - for (let v of []) { - ~~~ -!!! error TS2482: 'for...of' statements are only available when targeting ECMAScript 6 or higher. - v; - for (let v of []) { - var x = v; - v++; - } - } \ No newline at end of file diff --git a/tests/baselines/reference/ES5For-of16.types b/tests/baselines/reference/ES5For-of16.types new file mode 100644 index 00000000000..94f01509711 --- /dev/null +++ b/tests/baselines/reference/ES5For-of16.types @@ -0,0 +1,21 @@ +=== tests/cases/conformance/statements/for-ofStatements/ES5For-of16.ts === +for (let v of []) { +>v : any +>[] : undefined[] + + v; +>v : any + + for (let v of []) { +>v : any +>[] : undefined[] + + var x = v; +>x : any +>v : any + + v++; +>v++ : number +>v : any + } +} diff --git a/tests/baselines/reference/ES5For-of18.errors.txt b/tests/baselines/reference/ES5For-of18.errors.txt deleted file mode 100644 index 77872e93b97..00000000000 --- a/tests/baselines/reference/ES5For-of18.errors.txt +++ /dev/null @@ -1,16 +0,0 @@ -tests/cases/conformance/statements/for-ofStatements/ES5For-of18.ts(1,1): error TS2482: 'for...of' statements are only available when targeting ECMAScript 6 or higher. -tests/cases/conformance/statements/for-ofStatements/ES5For-of18.ts(4,1): error TS2482: 'for...of' statements are only available when targeting ECMAScript 6 or higher. - - -==== tests/cases/conformance/statements/for-ofStatements/ES5For-of18.ts (2 errors) ==== - for (let v of []) { - ~~~ -!!! error TS2482: 'for...of' statements are only available when targeting ECMAScript 6 or higher. - v; - } - for (let v of []) { - ~~~ -!!! error TS2482: 'for...of' statements are only available when targeting ECMAScript 6 or higher. - v; - } - \ No newline at end of file diff --git a/tests/baselines/reference/ES5For-of18.types b/tests/baselines/reference/ES5For-of18.types new file mode 100644 index 00000000000..e78bc846df6 --- /dev/null +++ b/tests/baselines/reference/ES5For-of18.types @@ -0,0 +1,16 @@ +=== tests/cases/conformance/statements/for-ofStatements/ES5For-of18.ts === +for (let v of []) { +>v : any +>[] : undefined[] + + v; +>v : any +} +for (let v of []) { +>v : any +>[] : undefined[] + + v; +>v : any +} + diff --git a/tests/baselines/reference/ES5For-of19.errors.txt b/tests/baselines/reference/ES5For-of19.errors.txt deleted file mode 100644 index 0e1352d988d..00000000000 --- a/tests/baselines/reference/ES5For-of19.errors.txt +++ /dev/null @@ -1,15 +0,0 @@ -tests/cases/conformance/statements/for-ofStatements/ES5For-of19.ts(1,1): error TS2482: 'for...of' statements are only available when targeting ECMAScript 6 or higher. - - -==== tests/cases/conformance/statements/for-ofStatements/ES5For-of19.ts (1 errors) ==== - for (let v of []) { - ~~~ -!!! error TS2482: 'for...of' statements are only available when targeting ECMAScript 6 or higher. - v; - function foo() { - for (const v of []) { - v; - } - } - } - \ No newline at end of file diff --git a/tests/baselines/reference/ES5For-of19.types b/tests/baselines/reference/ES5For-of19.types new file mode 100644 index 00000000000..d95dc63d262 --- /dev/null +++ b/tests/baselines/reference/ES5For-of19.types @@ -0,0 +1,21 @@ +=== tests/cases/conformance/statements/for-ofStatements/ES5For-of19.ts === +for (let v of []) { +>v : any +>[] : undefined[] + + v; +>v : any + + function foo() { +>foo : () => void + + for (const v of []) { +>v : any +>[] : undefined[] + + v; +>v : any + } + } +} + diff --git a/tests/baselines/reference/ES5For-of2.errors.txt b/tests/baselines/reference/ES5For-of2.errors.txt deleted file mode 100644 index 2b39c276796..00000000000 --- a/tests/baselines/reference/ES5For-of2.errors.txt +++ /dev/null @@ -1,9 +0,0 @@ -tests/cases/conformance/statements/for-ofStatements/ES5For-of2.ts(1,1): error TS2482: 'for...of' statements are only available when targeting ECMAScript 6 or higher. - - -==== tests/cases/conformance/statements/for-ofStatements/ES5For-of2.ts (1 errors) ==== - for (var v of []) { - ~~~ -!!! error TS2482: 'for...of' statements are only available when targeting ECMAScript 6 or higher. - var x = v; - } \ No newline at end of file diff --git a/tests/baselines/reference/ES5For-of2.types b/tests/baselines/reference/ES5For-of2.types new file mode 100644 index 00000000000..3e680c44bc8 --- /dev/null +++ b/tests/baselines/reference/ES5For-of2.types @@ -0,0 +1,9 @@ +=== tests/cases/conformance/statements/for-ofStatements/ES5For-of2.ts === +for (var v of []) { +>v : any +>[] : undefined[] + + var x = v; +>x : any +>v : any +} diff --git a/tests/baselines/reference/ES5For-of20.errors.txt b/tests/baselines/reference/ES5For-of20.errors.txt index 35e5130b0de..81509910996 100644 --- a/tests/baselines/reference/ES5For-of20.errors.txt +++ b/tests/baselines/reference/ES5For-of20.errors.txt @@ -1,12 +1,12 @@ -tests/cases/conformance/statements/for-ofStatements/ES5For-of20.ts(1,1): error TS2482: 'for...of' statements are only available when targeting ECMAScript 6 or higher. +tests/cases/conformance/statements/for-ofStatements/ES5For-of20.ts(4,15): error TS1155: 'const' declarations must be initialized ==== tests/cases/conformance/statements/for-ofStatements/ES5For-of20.ts (1 errors) ==== for (let v of []) { - ~~~ -!!! error TS2482: 'for...of' statements are only available when targeting ECMAScript 6 or higher. let v; for (let v of [v]) { const v; + ~ +!!! error TS1155: 'const' declarations must be initialized } } \ No newline at end of file diff --git a/tests/baselines/reference/ES5For-of21.errors.txt b/tests/baselines/reference/ES5For-of21.errors.txt deleted file mode 100644 index bd0a6ccee64..00000000000 --- a/tests/baselines/reference/ES5For-of21.errors.txt +++ /dev/null @@ -1,9 +0,0 @@ -tests/cases/conformance/statements/for-ofStatements/ES5For-of21.ts(1,1): error TS2482: 'for...of' statements are only available when targeting ECMAScript 6 or higher. - - -==== tests/cases/conformance/statements/for-ofStatements/ES5For-of21.ts (1 errors) ==== - for (let v of []) { - ~~~ -!!! error TS2482: 'for...of' statements are only available when targeting ECMAScript 6 or higher. - for (let _i of []) { } - } \ No newline at end of file diff --git a/tests/baselines/reference/ES5For-of21.types b/tests/baselines/reference/ES5For-of21.types new file mode 100644 index 00000000000..a15942fd013 --- /dev/null +++ b/tests/baselines/reference/ES5For-of21.types @@ -0,0 +1,9 @@ +=== tests/cases/conformance/statements/for-ofStatements/ES5For-of21.ts === +for (let v of []) { +>v : any +>[] : undefined[] + + for (let _i of []) { } +>_i : any +>[] : undefined[] +} diff --git a/tests/baselines/reference/ES5For-of22.errors.txt b/tests/baselines/reference/ES5For-of22.errors.txt index 0acfcb6dde8..914be13c63c 100644 --- a/tests/baselines/reference/ES5For-of22.errors.txt +++ b/tests/baselines/reference/ES5For-of22.errors.txt @@ -1,10 +1,10 @@ -tests/cases/conformance/statements/for-ofStatements/ES5For-of22.ts(1,1): error TS2482: 'for...of' statements are only available when targeting ECMAScript 6 or higher. +tests/cases/conformance/statements/for-ofStatements/ES5For-of22.ts(3,5): error TS2304: Cannot find name 'console'. ==== tests/cases/conformance/statements/for-ofStatements/ES5For-of22.ts (1 errors) ==== for (var x of [1, 2, 3]) { - ~~~ -!!! error TS2482: 'for...of' statements are only available when targeting ECMAScript 6 or higher. let _a = 0; console.log(x); + ~~~~~~~ +!!! error TS2304: Cannot find name 'console'. } \ No newline at end of file diff --git a/tests/baselines/reference/ES5For-of23.errors.txt b/tests/baselines/reference/ES5For-of23.errors.txt index a659436ad9d..cbc043e32d2 100644 --- a/tests/baselines/reference/ES5For-of23.errors.txt +++ b/tests/baselines/reference/ES5For-of23.errors.txt @@ -1,10 +1,10 @@ -tests/cases/conformance/statements/for-ofStatements/ES5For-of23.ts(1,1): error TS2482: 'for...of' statements are only available when targeting ECMAScript 6 or higher. +tests/cases/conformance/statements/for-ofStatements/ES5For-of23.ts(3,5): error TS2304: Cannot find name 'console'. ==== tests/cases/conformance/statements/for-ofStatements/ES5For-of23.ts (1 errors) ==== for (var x of [1, 2, 3]) { - ~~~ -!!! error TS2482: 'for...of' statements are only available when targeting ECMAScript 6 or higher. var _a = 0; console.log(x); + ~~~~~~~ +!!! error TS2304: Cannot find name 'console'. } \ No newline at end of file diff --git a/tests/baselines/reference/ES5For-of24.errors.txt b/tests/baselines/reference/ES5For-of24.errors.txt deleted file mode 100644 index 378bc42ecd9..00000000000 --- a/tests/baselines/reference/ES5For-of24.errors.txt +++ /dev/null @@ -1,10 +0,0 @@ -tests/cases/conformance/statements/for-ofStatements/ES5For-of24.ts(2,1): error TS2482: 'for...of' statements are only available when targeting ECMAScript 6 or higher. - - -==== tests/cases/conformance/statements/for-ofStatements/ES5For-of24.ts (1 errors) ==== - var a = [1, 2, 3]; - for (var v of a) { - ~~~ -!!! error TS2482: 'for...of' statements are only available when targeting ECMAScript 6 or higher. - let a = 0; - } \ No newline at end of file diff --git a/tests/baselines/reference/ES5For-of25.errors.txt b/tests/baselines/reference/ES5For-of25.errors.txt deleted file mode 100644 index d53cdbadd50..00000000000 --- a/tests/baselines/reference/ES5For-of25.errors.txt +++ /dev/null @@ -1,11 +0,0 @@ -tests/cases/conformance/statements/for-ofStatements/ES5For-of25.ts(2,1): error TS2482: 'for...of' statements are only available when targeting ECMAScript 6 or higher. - - -==== tests/cases/conformance/statements/for-ofStatements/ES5For-of25.ts (1 errors) ==== - var a = [1, 2, 3]; - for (var v of a) { - ~~~ -!!! error TS2482: 'for...of' statements are only available when targeting ECMAScript 6 or higher. - v; - a; - } \ No newline at end of file diff --git a/tests/baselines/reference/ES5For-of26.errors.txt b/tests/baselines/reference/ES5For-of26.errors.txt deleted file mode 100644 index 4fae8257d79..00000000000 --- a/tests/baselines/reference/ES5For-of26.errors.txt +++ /dev/null @@ -1,10 +0,0 @@ -tests/cases/conformance/statements/for-ofStatements/ES5For-of26.ts(1,1): error TS2482: 'for...of' statements are only available when targeting ECMAScript 6 or higher. - - -==== tests/cases/conformance/statements/for-ofStatements/ES5For-of26.ts (1 errors) ==== - for (var [a = 0, b = 1] of [2, 3]) { - ~~~ -!!! error TS2482: 'for...of' statements are only available when targeting ECMAScript 6 or higher. - a; - b; - } \ No newline at end of file diff --git a/tests/baselines/reference/ES5For-of26.types b/tests/baselines/reference/ES5For-of26.types new file mode 100644 index 00000000000..b59378fdb6b --- /dev/null +++ b/tests/baselines/reference/ES5For-of26.types @@ -0,0 +1,12 @@ +=== tests/cases/conformance/statements/for-ofStatements/ES5For-of26.ts === +for (var [a = 0, b = 1] of [2, 3]) { +>a : number +>b : number +>[2, 3] : number[] + + a; +>a : number + + b; +>b : number +} diff --git a/tests/baselines/reference/ES5For-of28.errors.txt b/tests/baselines/reference/ES5For-of28.errors.txt deleted file mode 100644 index 31080bb5648..00000000000 --- a/tests/baselines/reference/ES5For-of28.errors.txt +++ /dev/null @@ -1,10 +0,0 @@ -tests/cases/conformance/statements/for-ofStatements/ES5For-of28.ts(1,1): error TS2482: 'for...of' statements are only available when targeting ECMAScript 6 or higher. - - -==== tests/cases/conformance/statements/for-ofStatements/ES5For-of28.ts (1 errors) ==== - for (let [a = 0, b = 1] of [2, 3]) { - ~~~ -!!! error TS2482: 'for...of' statements are only available when targeting ECMAScript 6 or higher. - a; - b; - } \ No newline at end of file diff --git a/tests/baselines/reference/ES5For-of28.types b/tests/baselines/reference/ES5For-of28.types new file mode 100644 index 00000000000..61a4779e80b --- /dev/null +++ b/tests/baselines/reference/ES5For-of28.types @@ -0,0 +1,12 @@ +=== tests/cases/conformance/statements/for-ofStatements/ES5For-of28.ts === +for (let [a = 0, b = 1] of [2, 3]) { +>a : number +>b : number +>[2, 3] : number[] + + a; +>a : number + + b; +>b : number +} diff --git a/tests/baselines/reference/ES5For-of3.errors.txt b/tests/baselines/reference/ES5For-of3.errors.txt deleted file mode 100644 index ecf6b73db13..00000000000 --- a/tests/baselines/reference/ES5For-of3.errors.txt +++ /dev/null @@ -1,8 +0,0 @@ -tests/cases/conformance/statements/for-ofStatements/ES5For-of3.ts(1,1): error TS2482: 'for...of' statements are only available when targeting ECMAScript 6 or higher. - - -==== tests/cases/conformance/statements/for-ofStatements/ES5For-of3.ts (1 errors) ==== - for (var v of ['a', 'b', 'c']) - ~~~ -!!! error TS2482: 'for...of' statements are only available when targeting ECMAScript 6 or higher. - var x = v; \ No newline at end of file diff --git a/tests/baselines/reference/ES5For-of4.errors.txt b/tests/baselines/reference/ES5For-of4.errors.txt deleted file mode 100644 index 047c6f4e153..00000000000 --- a/tests/baselines/reference/ES5For-of4.errors.txt +++ /dev/null @@ -1,9 +0,0 @@ -tests/cases/conformance/statements/for-ofStatements/ES5For-of4.ts(1,1): error TS2482: 'for...of' statements are only available when targeting ECMAScript 6 or higher. - - -==== tests/cases/conformance/statements/for-ofStatements/ES5For-of4.ts (1 errors) ==== - for (var v of []) - ~~~ -!!! error TS2482: 'for...of' statements are only available when targeting ECMAScript 6 or higher. - var x = v; - var y = v; \ No newline at end of file diff --git a/tests/baselines/reference/ES5For-of4.types b/tests/baselines/reference/ES5For-of4.types new file mode 100644 index 00000000000..9396096746c --- /dev/null +++ b/tests/baselines/reference/ES5For-of4.types @@ -0,0 +1,13 @@ +=== tests/cases/conformance/statements/for-ofStatements/ES5For-of4.ts === +for (var v of []) +>v : any +>[] : undefined[] + + var x = v; +>x : any +>v : any + +var y = v; +>y : any +>v : any + diff --git a/tests/baselines/reference/ES5For-of5.errors.txt b/tests/baselines/reference/ES5For-of5.errors.txt deleted file mode 100644 index 6109498afb2..00000000000 --- a/tests/baselines/reference/ES5For-of5.errors.txt +++ /dev/null @@ -1,9 +0,0 @@ -tests/cases/conformance/statements/for-ofStatements/ES5For-of5.ts(1,1): error TS2482: 'for...of' statements are only available when targeting ECMAScript 6 or higher. - - -==== tests/cases/conformance/statements/for-ofStatements/ES5For-of5.ts (1 errors) ==== - for (var _a of []) { - ~~~ -!!! error TS2482: 'for...of' statements are only available when targeting ECMAScript 6 or higher. - var x = _a; - } \ No newline at end of file diff --git a/tests/baselines/reference/ES5For-of5.types b/tests/baselines/reference/ES5For-of5.types new file mode 100644 index 00000000000..dd9aa285edb --- /dev/null +++ b/tests/baselines/reference/ES5For-of5.types @@ -0,0 +1,9 @@ +=== tests/cases/conformance/statements/for-ofStatements/ES5For-of5.ts === +for (var _a of []) { +>_a : any +>[] : undefined[] + + var x = _a; +>x : any +>_a : any +} diff --git a/tests/baselines/reference/ES5For-of6.errors.txt b/tests/baselines/reference/ES5For-of6.errors.txt deleted file mode 100644 index 3664b51b217..00000000000 --- a/tests/baselines/reference/ES5For-of6.errors.txt +++ /dev/null @@ -1,11 +0,0 @@ -tests/cases/conformance/statements/for-ofStatements/ES5For-of6.ts(1,1): error TS2482: 'for...of' statements are only available when targeting ECMAScript 6 or higher. - - -==== tests/cases/conformance/statements/for-ofStatements/ES5For-of6.ts (1 errors) ==== - for (var w of []) { - ~~~ -!!! error TS2482: 'for...of' statements are only available when targeting ECMAScript 6 or higher. - for (var v of []) { - var x = [w, v]; - } - } \ No newline at end of file diff --git a/tests/baselines/reference/ES5For-of6.types b/tests/baselines/reference/ES5For-of6.types new file mode 100644 index 00000000000..e2d2f872809 --- /dev/null +++ b/tests/baselines/reference/ES5For-of6.types @@ -0,0 +1,16 @@ +=== tests/cases/conformance/statements/for-ofStatements/ES5For-of6.ts === +for (var w of []) { +>w : any +>[] : undefined[] + + for (var v of []) { +>v : any +>[] : undefined[] + + var x = [w, v]; +>x : any[] +>[w, v] : any[] +>w : any +>v : any + } +} diff --git a/tests/baselines/reference/ES5For-of7.errors.txt b/tests/baselines/reference/ES5For-of7.errors.txt index 21f9c4d137c..a3d40f38814 100644 --- a/tests/baselines/reference/ES5For-of7.errors.txt +++ b/tests/baselines/reference/ES5For-of7.errors.txt @@ -1,16 +1,13 @@ -tests/cases/conformance/statements/for-ofStatements/ES5For-of7.ts(1,1): error TS2482: 'for...of' statements are only available when targeting ECMAScript 6 or higher. -tests/cases/conformance/statements/for-ofStatements/ES5For-of7.ts(5,1): error TS2482: 'for...of' statements are only available when targeting ECMAScript 6 or higher. +tests/cases/conformance/statements/for-ofStatements/ES5For-of7.ts(6,9): error TS2403: Subsequent variable declarations must have the same type. Variable 'x' must be of type 'any', but here has type 'any[]'. -==== tests/cases/conformance/statements/for-ofStatements/ES5For-of7.ts (2 errors) ==== +==== tests/cases/conformance/statements/for-ofStatements/ES5For-of7.ts (1 errors) ==== for (var w of []) { - ~~~ -!!! error TS2482: 'for...of' statements are only available when targeting ECMAScript 6 or higher. var x = w; } for (var v of []) { - ~~~ -!!! error TS2482: 'for...of' statements are only available when targeting ECMAScript 6 or higher. var x = [w, v]; + ~ +!!! error TS2403: Subsequent variable declarations must have the same type. Variable 'x' must be of type 'any', but here has type 'any[]'. } \ No newline at end of file diff --git a/tests/baselines/reference/ES5For-of9.errors.txt b/tests/baselines/reference/ES5For-of9.errors.txt deleted file mode 100644 index 1b6607afb30..00000000000 --- a/tests/baselines/reference/ES5For-of9.errors.txt +++ /dev/null @@ -1,14 +0,0 @@ -tests/cases/conformance/statements/for-ofStatements/ES5For-of9.ts(4,1): error TS2482: 'for...of' statements are only available when targeting ECMAScript 6 or higher. - - -==== tests/cases/conformance/statements/for-ofStatements/ES5For-of9.ts (1 errors) ==== - function foo() { - return { x: 0 }; - } - for (foo().x of []) { - ~~~ -!!! error TS2482: 'for...of' statements are only available when targeting ECMAScript 6 or higher. - for (foo().x of []) { - var p = foo().x; - } - } \ No newline at end of file diff --git a/tests/baselines/reference/downlevelLetConst16.errors.txt b/tests/baselines/reference/downlevelLetConst16.errors.txt deleted file mode 100644 index 6156bfe4a2b..00000000000 --- a/tests/baselines/reference/downlevelLetConst16.errors.txt +++ /dev/null @@ -1,248 +0,0 @@ -tests/cases/compiler/downlevelLetConst16.ts(188,5): error TS2482: 'for...of' statements are only available when targeting ECMAScript 6 or higher. -tests/cases/compiler/downlevelLetConst16.ts(195,5): error TS2482: 'for...of' statements are only available when targeting ECMAScript 6 or higher. -tests/cases/compiler/downlevelLetConst16.ts(202,5): error TS2482: 'for...of' statements are only available when targeting ECMAScript 6 or higher. -tests/cases/compiler/downlevelLetConst16.ts(209,5): error TS2482: 'for...of' statements are only available when targeting ECMAScript 6 or higher. -tests/cases/compiler/downlevelLetConst16.ts(216,5): error TS2482: 'for...of' statements are only available when targeting ECMAScript 6 or higher. -tests/cases/compiler/downlevelLetConst16.ts(223,5): error TS2482: 'for...of' statements are only available when targeting ECMAScript 6 or higher. - - -==== tests/cases/compiler/downlevelLetConst16.ts (6 errors) ==== - 'use strict' - - declare function use(a: any); - - var x = 10; - var y; - var z; - use(x); - use(y); - use(z); - function foo1() { - let x = 1; - use(x); - let [y] = [1]; - use(y); - let {a: z} = {a: 1}; - use(z); - } - - function foo2() { - { - let x = 1; - use(x); - let [y] = [1]; - use(y); - let {a: z} = { a: 1 }; - use(z); - } - use(x); - } - - class A { - m1() { - let x = 1; - use(x); - let [y] = [1]; - use(y); - let {a: z} = { a: 1 }; - use(z); - } - m2() { - { - let x = 1; - use(x); - let [y] = [1]; - use(y); - let {a: z} = { a: 1 }; - use(z); - } - use(x); - } - - } - - class B { - m1() { - const x = 1; - use(x); - const [y] = [1]; - use(y); - const {a: z} = { a: 1 }; - use(z); - - } - m2() { - { - const x = 1; - use(x); - const [y] = [1]; - use(y); - const {a: z} = { a: 1 }; - use(z); - - } - use(x); - } - } - - function bar1() { - const x = 1; - use(x); - const [y] = [1]; - use(y); - const {a: z} = { a: 1 }; - use(z); - } - - function bar2() { - { - const x = 1; - use(x); - const [y] = [1]; - use(y); - const {a: z} = { a: 1 }; - use(z); - - } - use(x); - } - - module M1 { - let x = 1; - use(x); - let [y] = [1]; - use(y); - let {a: z} = { a: 1 }; - use(z); - } - - module M2 { - { - let x = 1; - use(x); - let [y] = [1]; - use(y); - let {a: z} = { a: 1 }; - use(z); - } - use(x); - } - - module M3 { - const x = 1; - use(x); - const [y] = [1]; - use(y); - const {a: z} = { a: 1 }; - use(z); - - } - - module M4 { - { - const x = 1; - use(x); - const [y] = [1]; - use(y); - const {a: z} = { a: 1 }; - use(z); - - } - use(x); - use(y); - use(z); - } - - function foo3() { - for (let x; ;) { - use(x); - } - for (let [y] = []; ;) { - use(y); - } - for (let {a: z} = {a: 1}; ;) { - use(z); - } - use(x); - } - - function foo4() { - for (const x = 1; ;) { - use(x); - } - for (const [y] = []; ;) { - use(y); - } - for (const {a: z} = { a: 1 }; ;) { - use(z); - } - use(x); - } - - function foo5() { - for (let x in []) { - use(x); - } - use(x); - } - - function foo6() { - for (const x in []) { - use(x); - } - use(x); - } - - function foo7() { - for (let x of []) { - ~~~ -!!! error TS2482: 'for...of' statements are only available when targeting ECMAScript 6 or higher. - use(x); - } - use(x); - } - - function foo8() { - for (let [x] of []) { - ~~~ -!!! error TS2482: 'for...of' statements are only available when targeting ECMAScript 6 or higher. - use(x); - } - use(x); - } - - function foo9() { - for (let {a: x} of []) { - ~~~ -!!! error TS2482: 'for...of' statements are only available when targeting ECMAScript 6 or higher. - use(x); - } - use(x); - } - - function foo10() { - for (const x of []) { - ~~~ -!!! error TS2482: 'for...of' statements are only available when targeting ECMAScript 6 or higher. - use(x); - } - use(x); - } - - function foo11() { - for (const [x] of []) { - ~~~ -!!! error TS2482: 'for...of' statements are only available when targeting ECMAScript 6 or higher. - use(x); - } - use(x); - } - - function foo12() { - for (const {a: x} of []) { - ~~~ -!!! error TS2482: 'for...of' statements are only available when targeting ECMAScript 6 or higher. - use(x); - } - use(x); - } \ No newline at end of file diff --git a/tests/baselines/reference/downlevelLetConst16.types b/tests/baselines/reference/downlevelLetConst16.types new file mode 100644 index 00000000000..a9a11507c30 --- /dev/null +++ b/tests/baselines/reference/downlevelLetConst16.types @@ -0,0 +1,686 @@ +=== tests/cases/compiler/downlevelLetConst16.ts === +'use strict' + +declare function use(a: any); +>use : (a: any) => any +>a : any + +var x = 10; +>x : number + +var y; +>y : any + +var z; +>z : any + +use(x); +>use(x) : any +>use : (a: any) => any +>x : number + +use(y); +>use(y) : any +>use : (a: any) => any +>y : any + +use(z); +>use(z) : any +>use : (a: any) => any +>z : any + +function foo1() { +>foo1 : () => void + + let x = 1; +>x : number + + use(x); +>use(x) : any +>use : (a: any) => any +>x : number + + let [y] = [1]; +>y : number +>[1] : [number] + + use(y); +>use(y) : any +>use : (a: any) => any +>y : number + + let {a: z} = {a: 1}; +>a : unknown +>z : number +>{a: 1} : { a: number; } +>a : number + + use(z); +>use(z) : any +>use : (a: any) => any +>z : number +} + +function foo2() { +>foo2 : () => void + { + let x = 1; +>x : number + + use(x); +>use(x) : any +>use : (a: any) => any +>x : number + + let [y] = [1]; +>y : number +>[1] : [number] + + use(y); +>use(y) : any +>use : (a: any) => any +>y : number + + let {a: z} = { a: 1 }; +>a : unknown +>z : number +>{ a: 1 } : { a: number; } +>a : number + + use(z); +>use(z) : any +>use : (a: any) => any +>z : number + } + use(x); +>use(x) : any +>use : (a: any) => any +>x : number +} + +class A { +>A : A + + m1() { +>m1 : () => void + + let x = 1; +>x : number + + use(x); +>use(x) : any +>use : (a: any) => any +>x : number + + let [y] = [1]; +>y : number +>[1] : [number] + + use(y); +>use(y) : any +>use : (a: any) => any +>y : number + + let {a: z} = { a: 1 }; +>a : unknown +>z : number +>{ a: 1 } : { a: number; } +>a : number + + use(z); +>use(z) : any +>use : (a: any) => any +>z : number + } + m2() { +>m2 : () => void + { + let x = 1; +>x : number + + use(x); +>use(x) : any +>use : (a: any) => any +>x : number + + let [y] = [1]; +>y : number +>[1] : [number] + + use(y); +>use(y) : any +>use : (a: any) => any +>y : number + + let {a: z} = { a: 1 }; +>a : unknown +>z : number +>{ a: 1 } : { a: number; } +>a : number + + use(z); +>use(z) : any +>use : (a: any) => any +>z : number + } + use(x); +>use(x) : any +>use : (a: any) => any +>x : number + } + +} + +class B { +>B : B + + m1() { +>m1 : () => void + + const x = 1; +>x : number + + use(x); +>use(x) : any +>use : (a: any) => any +>x : number + + const [y] = [1]; +>y : number +>[1] : [number] + + use(y); +>use(y) : any +>use : (a: any) => any +>y : number + + const {a: z} = { a: 1 }; +>a : unknown +>z : number +>{ a: 1 } : { a: number; } +>a : number + + use(z); +>use(z) : any +>use : (a: any) => any +>z : number + + } + m2() { +>m2 : () => void + { + const x = 1; +>x : number + + use(x); +>use(x) : any +>use : (a: any) => any +>x : number + + const [y] = [1]; +>y : number +>[1] : [number] + + use(y); +>use(y) : any +>use : (a: any) => any +>y : number + + const {a: z} = { a: 1 }; +>a : unknown +>z : number +>{ a: 1 } : { a: number; } +>a : number + + use(z); +>use(z) : any +>use : (a: any) => any +>z : number + + } + use(x); +>use(x) : any +>use : (a: any) => any +>x : number + } +} + +function bar1() { +>bar1 : () => void + + const x = 1; +>x : number + + use(x); +>use(x) : any +>use : (a: any) => any +>x : number + + const [y] = [1]; +>y : number +>[1] : [number] + + use(y); +>use(y) : any +>use : (a: any) => any +>y : number + + const {a: z} = { a: 1 }; +>a : unknown +>z : number +>{ a: 1 } : { a: number; } +>a : number + + use(z); +>use(z) : any +>use : (a: any) => any +>z : number +} + +function bar2() { +>bar2 : () => void + { + const x = 1; +>x : number + + use(x); +>use(x) : any +>use : (a: any) => any +>x : number + + const [y] = [1]; +>y : number +>[1] : [number] + + use(y); +>use(y) : any +>use : (a: any) => any +>y : number + + const {a: z} = { a: 1 }; +>a : unknown +>z : number +>{ a: 1 } : { a: number; } +>a : number + + use(z); +>use(z) : any +>use : (a: any) => any +>z : number + + } + use(x); +>use(x) : any +>use : (a: any) => any +>x : number +} + +module M1 { +>M1 : typeof M1 + + let x = 1; +>x : number + + use(x); +>use(x) : any +>use : (a: any) => any +>x : number + + let [y] = [1]; +>y : number +>[1] : [number] + + use(y); +>use(y) : any +>use : (a: any) => any +>y : number + + let {a: z} = { a: 1 }; +>a : unknown +>z : number +>{ a: 1 } : { a: number; } +>a : number + + use(z); +>use(z) : any +>use : (a: any) => any +>z : number +} + +module M2 { +>M2 : typeof M2 + { + let x = 1; +>x : number + + use(x); +>use(x) : any +>use : (a: any) => any +>x : number + + let [y] = [1]; +>y : number +>[1] : [number] + + use(y); +>use(y) : any +>use : (a: any) => any +>y : number + + let {a: z} = { a: 1 }; +>a : unknown +>z : number +>{ a: 1 } : { a: number; } +>a : number + + use(z); +>use(z) : any +>use : (a: any) => any +>z : number + } + use(x); +>use(x) : any +>use : (a: any) => any +>x : number +} + +module M3 { +>M3 : typeof M3 + + const x = 1; +>x : number + + use(x); +>use(x) : any +>use : (a: any) => any +>x : number + + const [y] = [1]; +>y : number +>[1] : [number] + + use(y); +>use(y) : any +>use : (a: any) => any +>y : number + + const {a: z} = { a: 1 }; +>a : unknown +>z : number +>{ a: 1 } : { a: number; } +>a : number + + use(z); +>use(z) : any +>use : (a: any) => any +>z : number + +} + +module M4 { +>M4 : typeof M4 + { + const x = 1; +>x : number + + use(x); +>use(x) : any +>use : (a: any) => any +>x : number + + const [y] = [1]; +>y : number +>[1] : [number] + + use(y); +>use(y) : any +>use : (a: any) => any +>y : number + + const {a: z} = { a: 1 }; +>a : unknown +>z : number +>{ a: 1 } : { a: number; } +>a : number + + use(z); +>use(z) : any +>use : (a: any) => any +>z : number + + } + use(x); +>use(x) : any +>use : (a: any) => any +>x : number + + use(y); +>use(y) : any +>use : (a: any) => any +>y : any + + use(z); +>use(z) : any +>use : (a: any) => any +>z : any +} + +function foo3() { +>foo3 : () => void + + for (let x; ;) { +>x : any + + use(x); +>use(x) : any +>use : (a: any) => any +>x : any + } + for (let [y] = []; ;) { +>y : any +>[] : undefined[] + + use(y); +>use(y) : any +>use : (a: any) => any +>y : any + } + for (let {a: z} = {a: 1}; ;) { +>a : unknown +>z : number +>{a: 1} : { a: number; } +>a : number + + use(z); +>use(z) : any +>use : (a: any) => any +>z : number + } + use(x); +>use(x) : any +>use : (a: any) => any +>x : number +} + +function foo4() { +>foo4 : () => void + + for (const x = 1; ;) { +>x : number + + use(x); +>use(x) : any +>use : (a: any) => any +>x : number + } + for (const [y] = []; ;) { +>y : any +>[] : undefined[] + + use(y); +>use(y) : any +>use : (a: any) => any +>y : any + } + for (const {a: z} = { a: 1 }; ;) { +>a : unknown +>z : number +>{ a: 1 } : { a: number; } +>a : number + + use(z); +>use(z) : any +>use : (a: any) => any +>z : number + } + use(x); +>use(x) : any +>use : (a: any) => any +>x : number +} + +function foo5() { +>foo5 : () => void + + for (let x in []) { +>x : any +>[] : undefined[] + + use(x); +>use(x) : any +>use : (a: any) => any +>x : any + } + use(x); +>use(x) : any +>use : (a: any) => any +>x : number +} + +function foo6() { +>foo6 : () => void + + for (const x in []) { +>x : any +>[] : undefined[] + + use(x); +>use(x) : any +>use : (a: any) => any +>x : any + } + use(x); +>use(x) : any +>use : (a: any) => any +>x : number +} + +function foo7() { +>foo7 : () => void + + for (let x of []) { +>x : any +>[] : undefined[] + + use(x); +>use(x) : any +>use : (a: any) => any +>x : any + } + use(x); +>use(x) : any +>use : (a: any) => any +>x : number +} + +function foo8() { +>foo8 : () => void + + for (let [x] of []) { +>x : any +>[] : undefined[] + + use(x); +>use(x) : any +>use : (a: any) => any +>x : any + } + use(x); +>use(x) : any +>use : (a: any) => any +>x : number +} + +function foo9() { +>foo9 : () => void + + for (let {a: x} of []) { +>a : unknown +>x : any +>[] : undefined[] + + use(x); +>use(x) : any +>use : (a: any) => any +>x : any + } + use(x); +>use(x) : any +>use : (a: any) => any +>x : number +} + +function foo10() { +>foo10 : () => void + + for (const x of []) { +>x : any +>[] : undefined[] + + use(x); +>use(x) : any +>use : (a: any) => any +>x : any + } + use(x); +>use(x) : any +>use : (a: any) => any +>x : number +} + +function foo11() { +>foo11 : () => void + + for (const [x] of []) { +>x : any +>[] : undefined[] + + use(x); +>use(x) : any +>use : (a: any) => any +>x : any + } + use(x); +>use(x) : any +>use : (a: any) => any +>x : number +} + +function foo12() { +>foo12 : () => void + + for (const {a: x} of []) { +>a : unknown +>x : any +>[] : undefined[] + + use(x); +>use(x) : any +>use : (a: any) => any +>x : any + } + use(x); +>use(x) : any +>use : (a: any) => any +>x : number +} diff --git a/tests/baselines/reference/downlevelLetConst17.errors.txt b/tests/baselines/reference/downlevelLetConst17.errors.txt deleted file mode 100644 index 6183bab9430..00000000000 --- a/tests/baselines/reference/downlevelLetConst17.errors.txt +++ /dev/null @@ -1,73 +0,0 @@ -tests/cases/compiler/downlevelLetConst17.ts(65,1): error TS2482: 'for...of' statements are only available when targeting ECMAScript 6 or higher. - - -==== tests/cases/compiler/downlevelLetConst17.ts (1 errors) ==== - 'use strict' - - declare function use(a: any); - - var x; - for (let x = 10; ;) { - use(x); - } - use(x); - - for (const x = 10; ;) { - use(x); - } - - for (; ;) { - let x = 10; - use(x); - x = 1; - } - - for (; ;) { - const x = 10; - use(x); - } - - for (let x; ;) { - use(x); - x = 1; - } - - for (; ;) { - let x; - use(x); - x = 1; - } - - while (true) { - let x; - use(x); - } - - while (true) { - const x = true; - use(x); - } - - do { - let x; - use(x); - } while (true); - - do { - let x; - use(x); - } while (true); - - for (let x in []) { - use(x); - } - - for (const x in []) { - use(x); - } - - for (const x of []) { - ~~~ -!!! error TS2482: 'for...of' statements are only available when targeting ECMAScript 6 or higher. - use(x); - } \ No newline at end of file diff --git a/tests/baselines/reference/downlevelLetConst17.types b/tests/baselines/reference/downlevelLetConst17.types new file mode 100644 index 00000000000..0c5a8eaa86b --- /dev/null +++ b/tests/baselines/reference/downlevelLetConst17.types @@ -0,0 +1,154 @@ +=== tests/cases/compiler/downlevelLetConst17.ts === +'use strict' + +declare function use(a: any); +>use : (a: any) => any +>a : any + +var x; +>x : any + +for (let x = 10; ;) { +>x : number + + use(x); +>use(x) : any +>use : (a: any) => any +>x : number +} +use(x); +>use(x) : any +>use : (a: any) => any +>x : any + +for (const x = 10; ;) { +>x : number + + use(x); +>use(x) : any +>use : (a: any) => any +>x : number +} + +for (; ;) { + let x = 10; +>x : number + + use(x); +>use(x) : any +>use : (a: any) => any +>x : number + + x = 1; +>x = 1 : number +>x : number +} + +for (; ;) { + const x = 10; +>x : number + + use(x); +>use(x) : any +>use : (a: any) => any +>x : number +} + +for (let x; ;) { +>x : any + + use(x); +>use(x) : any +>use : (a: any) => any +>x : any + + x = 1; +>x = 1 : number +>x : any +} + +for (; ;) { + let x; +>x : any + + use(x); +>use(x) : any +>use : (a: any) => any +>x : any + + x = 1; +>x = 1 : number +>x : any +} + +while (true) { + let x; +>x : any + + use(x); +>use(x) : any +>use : (a: any) => any +>x : any +} + +while (true) { + const x = true; +>x : boolean + + use(x); +>use(x) : any +>use : (a: any) => any +>x : boolean +} + +do { + let x; +>x : any + + use(x); +>use(x) : any +>use : (a: any) => any +>x : any + +} while (true); + +do { + let x; +>x : any + + use(x); +>use(x) : any +>use : (a: any) => any +>x : any + +} while (true); + +for (let x in []) { +>x : any +>[] : undefined[] + + use(x); +>use(x) : any +>use : (a: any) => any +>x : any +} + +for (const x in []) { +>x : any +>[] : undefined[] + + use(x); +>use(x) : any +>use : (a: any) => any +>x : any +} + +for (const x of []) { +>x : any +>[] : undefined[] + + use(x); +>use(x) : any +>use : (a: any) => any +>x : any +} diff --git a/tests/baselines/reference/parserES5ForOfStatement1.d.errors.txt b/tests/baselines/reference/parserES5ForOfStatement1.d.errors.txt index c280b597b2c..f3034cd2c27 100644 --- a/tests/baselines/reference/parserES5ForOfStatement1.d.errors.txt +++ b/tests/baselines/reference/parserES5ForOfStatement1.d.errors.txt @@ -1,8 +1,8 @@ -tests/cases/conformance/parser/ecmascript5/Statements/parserES5ForOfStatement1.d.ts(1,1): error TS2482: 'for...of' statements are only available when targeting ECMAScript 6 or higher. +tests/cases/conformance/parser/ecmascript5/Statements/parserES5ForOfStatement1.d.ts(1,1): error TS1036: Statements are not allowed in ambient contexts. ==== tests/cases/conformance/parser/ecmascript5/Statements/parserES5ForOfStatement1.d.ts (1 errors) ==== for (var i of e) { ~~~ -!!! error TS2482: 'for...of' statements are only available when targeting ECMAScript 6 or higher. +!!! error TS1036: Statements are not allowed in ambient contexts. } \ No newline at end of file diff --git a/tests/baselines/reference/parserES5ForOfStatement2.errors.txt b/tests/baselines/reference/parserES5ForOfStatement2.errors.txt index 618e2f3f0ae..cb249e83785 100644 --- a/tests/baselines/reference/parserES5ForOfStatement2.errors.txt +++ b/tests/baselines/reference/parserES5ForOfStatement2.errors.txt @@ -1,8 +1,8 @@ -tests/cases/conformance/parser/ecmascript5/Statements/parserES5ForOfStatement2.ts(1,1): error TS2482: 'for...of' statements are only available when targeting ECMAScript 6 or higher. +tests/cases/conformance/parser/ecmascript5/Statements/parserES5ForOfStatement2.ts(1,9): error TS1123: Variable declaration list cannot be empty. ==== tests/cases/conformance/parser/ecmascript5/Statements/parserES5ForOfStatement2.ts (1 errors) ==== for (var of X) { - ~~~ -!!! error TS2482: 'for...of' statements are only available when targeting ECMAScript 6 or higher. + +!!! error TS1123: Variable declaration list cannot be empty. } \ No newline at end of file diff --git a/tests/baselines/reference/parserES5ForOfStatement21.errors.txt b/tests/baselines/reference/parserES5ForOfStatement21.errors.txt index 14d97f49faf..76f87978cf1 100644 --- a/tests/baselines/reference/parserES5ForOfStatement21.errors.txt +++ b/tests/baselines/reference/parserES5ForOfStatement21.errors.txt @@ -1,7 +1,7 @@ -tests/cases/conformance/parser/ecmascript5/Statements/parserES5ForOfStatement21.ts(1,1): error TS2482: 'for...of' statements are only available when targeting ECMAScript 6 or higher. +tests/cases/conformance/parser/ecmascript5/Statements/parserES5ForOfStatement21.ts(1,9): error TS1123: Variable declaration list cannot be empty. ==== tests/cases/conformance/parser/ecmascript5/Statements/parserES5ForOfStatement21.ts (1 errors) ==== for (var of of) { } - ~~~ -!!! error TS2482: 'for...of' statements are only available when targeting ECMAScript 6 or higher. \ No newline at end of file + +!!! error TS1123: Variable declaration list cannot be empty. \ No newline at end of file diff --git a/tests/baselines/reference/parserES5ForOfStatement3.errors.txt b/tests/baselines/reference/parserES5ForOfStatement3.errors.txt index dd888a3120a..a976d9c0d54 100644 --- a/tests/baselines/reference/parserES5ForOfStatement3.errors.txt +++ b/tests/baselines/reference/parserES5ForOfStatement3.errors.txt @@ -1,8 +1,8 @@ -tests/cases/conformance/parser/ecmascript5/Statements/parserES5ForOfStatement3.ts(1,1): error TS2482: 'for...of' statements are only available when targeting ECMAScript 6 or higher. +tests/cases/conformance/parser/ecmascript5/Statements/parserES5ForOfStatement3.ts(1,13): error TS1188: Only a single variable declaration is allowed in a 'for...of' statement. ==== tests/cases/conformance/parser/ecmascript5/Statements/parserES5ForOfStatement3.ts (1 errors) ==== for (var a, b of X) { - ~~~ -!!! error TS2482: 'for...of' statements are only available when targeting ECMAScript 6 or higher. + ~ +!!! error TS1188: Only a single variable declaration is allowed in a 'for...of' statement. } \ No newline at end of file diff --git a/tests/baselines/reference/parserES5ForOfStatement4.errors.txt b/tests/baselines/reference/parserES5ForOfStatement4.errors.txt index b94de56b17c..e2b38b56be5 100644 --- a/tests/baselines/reference/parserES5ForOfStatement4.errors.txt +++ b/tests/baselines/reference/parserES5ForOfStatement4.errors.txt @@ -1,8 +1,8 @@ -tests/cases/conformance/parser/ecmascript5/Statements/parserES5ForOfStatement4.ts(1,1): error TS2482: 'for...of' statements are only available when targeting ECMAScript 6 or higher. +tests/cases/conformance/parser/ecmascript5/Statements/parserES5ForOfStatement4.ts(1,10): error TS1190: The variable declaration of a 'for...of' statement cannot have an initializer. ==== tests/cases/conformance/parser/ecmascript5/Statements/parserES5ForOfStatement4.ts (1 errors) ==== for (var a = 1 of X) { - ~~~ -!!! error TS2482: 'for...of' statements are only available when targeting ECMAScript 6 or higher. + ~ +!!! error TS1190: The variable declaration of a 'for...of' statement cannot have an initializer. } \ No newline at end of file diff --git a/tests/baselines/reference/parserES5ForOfStatement5.errors.txt b/tests/baselines/reference/parserES5ForOfStatement5.errors.txt index 0b8dafc0b90..0e88ce6cf36 100644 --- a/tests/baselines/reference/parserES5ForOfStatement5.errors.txt +++ b/tests/baselines/reference/parserES5ForOfStatement5.errors.txt @@ -1,8 +1,8 @@ -tests/cases/conformance/parser/ecmascript5/Statements/parserES5ForOfStatement5.ts(1,1): error TS2482: 'for...of' statements are only available when targeting ECMAScript 6 or higher. +tests/cases/conformance/parser/ecmascript5/Statements/parserES5ForOfStatement5.ts(1,10): error TS2483: The left-hand side of a 'for...of' statement cannot use a type annotation. ==== tests/cases/conformance/parser/ecmascript5/Statements/parserES5ForOfStatement5.ts (1 errors) ==== for (var a: number of X) { - ~~~ -!!! error TS2482: 'for...of' statements are only available when targeting ECMAScript 6 or higher. + ~ +!!! error TS2483: The left-hand side of a 'for...of' statement cannot use a type annotation. } \ No newline at end of file diff --git a/tests/baselines/reference/parserES5ForOfStatement6.errors.txt b/tests/baselines/reference/parserES5ForOfStatement6.errors.txt index 04ac84fbd73..da76589190d 100644 --- a/tests/baselines/reference/parserES5ForOfStatement6.errors.txt +++ b/tests/baselines/reference/parserES5ForOfStatement6.errors.txt @@ -1,8 +1,8 @@ -tests/cases/conformance/parser/ecmascript5/Statements/parserES5ForOfStatement6.ts(1,1): error TS2482: 'for...of' statements are only available when targeting ECMAScript 6 or higher. +tests/cases/conformance/parser/ecmascript5/Statements/parserES5ForOfStatement6.ts(1,17): error TS1188: Only a single variable declaration is allowed in a 'for...of' statement. ==== tests/cases/conformance/parser/ecmascript5/Statements/parserES5ForOfStatement6.ts (1 errors) ==== for (var a = 1, b = 2 of X) { - ~~~ -!!! error TS2482: 'for...of' statements are only available when targeting ECMAScript 6 or higher. + ~ +!!! error TS1188: Only a single variable declaration is allowed in a 'for...of' statement. } \ No newline at end of file diff --git a/tests/baselines/reference/parserES5ForOfStatement7.errors.txt b/tests/baselines/reference/parserES5ForOfStatement7.errors.txt index 1def5279f65..ced399ca103 100644 --- a/tests/baselines/reference/parserES5ForOfStatement7.errors.txt +++ b/tests/baselines/reference/parserES5ForOfStatement7.errors.txt @@ -1,8 +1,8 @@ -tests/cases/conformance/parser/ecmascript5/Statements/parserES5ForOfStatement7.ts(1,1): error TS2482: 'for...of' statements are only available when targeting ECMAScript 6 or higher. +tests/cases/conformance/parser/ecmascript5/Statements/parserES5ForOfStatement7.ts(1,25): error TS1188: Only a single variable declaration is allowed in a 'for...of' statement. ==== tests/cases/conformance/parser/ecmascript5/Statements/parserES5ForOfStatement7.ts (1 errors) ==== for (var a: number = 1, b: string = "" of X) { - ~~~ -!!! error TS2482: 'for...of' statements are only available when targeting ECMAScript 6 or higher. + ~ +!!! error TS1188: Only a single variable declaration is allowed in a 'for...of' statement. } \ No newline at end of file