Skip to content

Commit

Permalink
Remove error for using 'for...of' in ES3/ES5
Browse files Browse the repository at this point in the history
  • Loading branch information
JsonFreeman committed Mar 11, 2015
1 parent b38743c commit 5b46f5f
Show file tree
Hide file tree
Showing 51 changed files with 1,043 additions and 578 deletions.
5 changes: 0 additions & 5 deletions src/compiler/checker.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
1 change: 0 additions & 1 deletion src/compiler/diagnosticInformationMap.generated.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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." },
Expand Down
4 changes: 0 additions & 4 deletions src/compiler/diagnosticMessages.json
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
6 changes: 3 additions & 3 deletions tests/baselines/reference/ES5For-of1.errors.txt
Original file line number Diff line number Diff line change
@@ -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'.
}
13 changes: 0 additions & 13 deletions tests/baselines/reference/ES5For-of10.errors.txt

This file was deleted.

8 changes: 0 additions & 8 deletions tests/baselines/reference/ES5For-of11.errors.txt

This file was deleted.

9 changes: 0 additions & 9 deletions tests/baselines/reference/ES5For-of13.errors.txt

This file was deleted.

9 changes: 0 additions & 9 deletions tests/baselines/reference/ES5For-of14.errors.txt

This file was deleted.

9 changes: 9 additions & 0 deletions tests/baselines/reference/ES5For-of14.types
Original file line number Diff line number Diff line change
@@ -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
}
12 changes: 0 additions & 12 deletions tests/baselines/reference/ES5For-of15.errors.txt

This file was deleted.

17 changes: 17 additions & 0 deletions tests/baselines/reference/ES5For-of15.types
Original file line number Diff line number Diff line change
@@ -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
}
}
13 changes: 0 additions & 13 deletions tests/baselines/reference/ES5For-of16.errors.txt

This file was deleted.

21 changes: 21 additions & 0 deletions tests/baselines/reference/ES5For-of16.types
Original file line number Diff line number Diff line change
@@ -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
}
}
16 changes: 0 additions & 16 deletions tests/baselines/reference/ES5For-of18.errors.txt

This file was deleted.

16 changes: 16 additions & 0 deletions tests/baselines/reference/ES5For-of18.types
Original file line number Diff line number Diff line change
@@ -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
}

15 changes: 0 additions & 15 deletions tests/baselines/reference/ES5For-of19.errors.txt

This file was deleted.

21 changes: 21 additions & 0 deletions tests/baselines/reference/ES5For-of19.types
Original file line number Diff line number Diff line change
@@ -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
}
}
}

9 changes: 0 additions & 9 deletions tests/baselines/reference/ES5For-of2.errors.txt

This file was deleted.

9 changes: 9 additions & 0 deletions tests/baselines/reference/ES5For-of2.types
Original file line number Diff line number Diff line change
@@ -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
}
6 changes: 3 additions & 3 deletions tests/baselines/reference/ES5For-of20.errors.txt
Original file line number Diff line number Diff line change
@@ -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
}
}
9 changes: 0 additions & 9 deletions tests/baselines/reference/ES5For-of21.errors.txt

This file was deleted.

9 changes: 9 additions & 0 deletions tests/baselines/reference/ES5For-of21.types
Original file line number Diff line number Diff line change
@@ -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[]
}
6 changes: 3 additions & 3 deletions tests/baselines/reference/ES5For-of22.errors.txt
Original file line number Diff line number Diff line change
@@ -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'.
}
6 changes: 3 additions & 3 deletions tests/baselines/reference/ES5For-of23.errors.txt
Original file line number Diff line number Diff line change
@@ -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'.
}
10 changes: 0 additions & 10 deletions tests/baselines/reference/ES5For-of24.errors.txt

This file was deleted.

11 changes: 0 additions & 11 deletions tests/baselines/reference/ES5For-of25.errors.txt

This file was deleted.

10 changes: 0 additions & 10 deletions tests/baselines/reference/ES5For-of26.errors.txt

This file was deleted.

12 changes: 12 additions & 0 deletions tests/baselines/reference/ES5For-of26.types
Original file line number Diff line number Diff line change
@@ -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
}
10 changes: 0 additions & 10 deletions tests/baselines/reference/ES5For-of28.errors.txt

This file was deleted.

Loading

0 comments on commit 5b46f5f

Please sign in to comment.