diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index edfdb6d9484..0d2575401c7 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -10524,9 +10524,7 @@ module ts { } function checkImportDeclaration(node: ImportDeclaration) { - checkGrammarImportDeclarationNameInStrictMode(node); - - if (!checkGrammarDecorators(node) && !checkGrammarModifiers(node) && (node.flags & NodeFlags.Modifier)) { + if (!checkGrammarImportDeclarationNameInStrictMode(node) && !checkGrammarDecorators(node) && !checkGrammarModifiers(node) && (node.flags & NodeFlags.Modifier)) { grammarErrorOnFirstToken(node, Diagnostics.An_import_declaration_cannot_have_modifiers); } if (checkExternalImportOrExportDeclaration(node)) { @@ -10548,9 +10546,7 @@ module ts { } function checkImportEqualsDeclaration(node: ImportEqualsDeclaration) { - checkGrammarDeclarationNameInStrictMode(node); - - checkGrammarDecorators(node) || checkGrammarModifiers(node); + checkGrammarDeclarationNameInStrictMode(node) || checkGrammarDecorators(node) || checkGrammarModifiers(node); if (isInternalModuleImportEqualsDeclaration(node) || checkExternalImportOrExportDeclaration(node)) { checkImportBinding(node); if (node.flags & NodeFlags.Export) { diff --git a/src/compiler/diagnosticInformationMap.generated.ts b/src/compiler/diagnosticInformationMap.generated.ts index 502cd13296b..5f36f90d60a 100644 --- a/src/compiler/diagnosticInformationMap.generated.ts +++ b/src/compiler/diagnosticInformationMap.generated.ts @@ -170,12 +170,11 @@ module ts { Invalid_use_of_0_Class_definitions_are_automatically_in_strict_mode: { code: 1210, category: DiagnosticCategory.Error, key: "Invalid use of '{0}'. Class definitions are automatically in strict mode." }, A_class_declaration_without_the_default_modifier_must_have_a_name: { code: 1211, category: DiagnosticCategory.Error, key: "A class declaration without the 'default' modifier must have a name" }, Identifier_expected_0_is_a_reserved_word_in_strict_mode: { code: 1212, category: DiagnosticCategory.Error, key: "Identifier expected. '{0}' is a reserved word in strict mode" }, - Identifier_expected_0_is_a_reserved_word_Class_definitions_are_automatically_in_strict_mode: { code: 1212, category: DiagnosticCategory.Error, key: "Identifier expected. '{0}' is a reserved word. Class definitions are automatically in strict mode." }, - Identifier_expected_0_is_a_reserved_word_Module_is_automatically_in_strict_mode: { code: 1212, category: DiagnosticCategory.Error, key: "Identifier expected. '{0}' is a reserved word. Module is automatically in strict mode." }, - Type_expected_0_is_a_reserved_word_in_strict_mode: { code: 1212, category: DiagnosticCategory.Error, key: "Type expected. '{0}' is a reserved word in strict mode" }, - Type_expected_0_is_a_reserved_word_Class_definitions_are_automatically_in_strict_mode: { code: 1212, category: DiagnosticCategory.Error, key: "Type expected. '{0}' is a reserved word. Class definitions are automatically in strict mode." }, - Type_expected_0_is_a_reserved_word_Module_is_automatically_in_strict_mode: { code: 1212, category: DiagnosticCategory.Error, key: "Type expected. '{0}' is a reserved word. Module is automatically in strict mode." }, - ImportDecl_SlashExportDecl_SlashImportEqaul: { code: 1212, category: DiagnosticCategory.Error, key: "ImportDecl/ExportDecl/ImportEqaul" }, + Identifier_expected_0_is_a_reserved_word_Class_definitions_are_automatically_in_strict_mode: { code: 1213, category: DiagnosticCategory.Error, key: "Identifier expected. '{0}' is a reserved word. Class definitions are automatically in strict mode." }, + Identifier_expected_0_is_a_reserved_word_Module_is_automatically_in_strict_mode: { code: 1214, category: DiagnosticCategory.Error, key: "Identifier expected. '{0}' is a reserved word. Module is automatically in strict mode." }, + Type_expected_0_is_a_reserved_word_in_strict_mode: { code: 1215, category: DiagnosticCategory.Error, key: "Type expected. '{0}' is a reserved word in strict mode" }, + Type_expected_0_is_a_reserved_word_Class_definitions_are_automatically_in_strict_mode: { code: 1216, category: DiagnosticCategory.Error, key: "Type expected. '{0}' is a reserved word. Class definitions are automatically in strict mode." }, + Type_expected_0_is_a_reserved_word_Module_is_automatically_in_strict_mode: { code: 1217, category: DiagnosticCategory.Error, key: "Type expected. '{0}' is a reserved word. Module is automatically in strict mode." }, Duplicate_identifier_0: { code: 2300, category: DiagnosticCategory.Error, key: "Duplicate identifier '{0}'." }, Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor: { code: 2301, category: DiagnosticCategory.Error, key: "Initializer of instance member variable '{0}' cannot reference identifier '{1}' declared in the constructor." }, Static_members_cannot_reference_class_type_parameters: { code: 2302, category: DiagnosticCategory.Error, key: "Static members cannot reference class type parameters." }, diff --git a/src/compiler/diagnosticMessages.json b/src/compiler/diagnosticMessages.json index 6d822695930..61726910846 100644 --- a/src/compiler/diagnosticMessages.json +++ b/src/compiler/diagnosticMessages.json @@ -673,27 +673,23 @@ }, "Identifier expected. '{0}' is a reserved word. Class definitions are automatically in strict mode.": { "category": "Error", - "code": 1212 + "code": 1213 }, "Identifier expected. '{0}' is a reserved word. Module is automatically in strict mode.": { "category": "Error", - "code": 1212 + "code": 1214 }, "Type expected. '{0}' is a reserved word in strict mode": { "category": "Error", - "code": 1212 + "code": 1215 }, "Type expected. '{0}' is a reserved word. Class definitions are automatically in strict mode.": { "category": "Error", - "code": 1212 + "code": 1216 }, "Type expected. '{0}' is a reserved word. Module is automatically in strict mode.": { "category": "Error", - "code": 1212 - }, - "ImportDecl/ExportDecl/ImportEqaul": { - "category": "Error", - "code": 1212 + "code": 1217 }, "Duplicate identifier '{0}'.": { "category": "Error", diff --git a/tests/baselines/reference/constructorStaticParamName.errors.txt b/tests/baselines/reference/constructorStaticParamName.errors.txt index 6d5c1015f48..36ee447e4e8 100644 --- a/tests/baselines/reference/constructorStaticParamName.errors.txt +++ b/tests/baselines/reference/constructorStaticParamName.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/constructorStaticParamName.ts(4,18): error TS1212: Identifier expected. 'static' is a reserved word. Class definitions are automatically in strict mode. +tests/cases/compiler/constructorStaticParamName.ts(4,18): error TS1213: Identifier expected. 'static' is a reserved word. Class definitions are automatically in strict mode. ==== tests/cases/compiler/constructorStaticParamName.ts (1 errors) ==== @@ -7,6 +7,6 @@ tests/cases/compiler/constructorStaticParamName.ts(4,18): error TS1212: Identifi class test { constructor (static) { } ~~~~~~ -!!! error TS1212: Identifier expected. 'static' is a reserved word. Class definitions are automatically in strict mode. +!!! error TS1213: Identifier expected. 'static' is a reserved word. Class definitions are automatically in strict mode. } \ No newline at end of file diff --git a/tests/baselines/reference/constructorStaticParamNameErrors.errors.txt b/tests/baselines/reference/constructorStaticParamNameErrors.errors.txt index a5f6a74b8dd..cd49422e7d5 100644 --- a/tests/baselines/reference/constructorStaticParamNameErrors.errors.txt +++ b/tests/baselines/reference/constructorStaticParamNameErrors.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/constructorStaticParamNameErrors.ts(4,18): error TS1212: Identifier expected. 'static' is a reserved word. Class definitions are automatically in strict mode. +tests/cases/compiler/constructorStaticParamNameErrors.ts(4,18): error TS1213: Identifier expected. 'static' is a reserved word. Class definitions are automatically in strict mode. ==== tests/cases/compiler/constructorStaticParamNameErrors.ts (1 errors) ==== @@ -7,5 +7,5 @@ tests/cases/compiler/constructorStaticParamNameErrors.ts(4,18): error TS1212: Id class test { constructor (static) { } ~~~~~~ -!!! error TS1212: Identifier expected. 'static' is a reserved word. Class definitions are automatically in strict mode. +!!! error TS1213: Identifier expected. 'static' is a reserved word. Class definitions are automatically in strict mode. } \ No newline at end of file diff --git a/tests/baselines/reference/convertKeywordsYes.errors.txt b/tests/baselines/reference/convertKeywordsYes.errors.txt index b558ba0b714..dcecdacd776 100644 --- a/tests/baselines/reference/convertKeywordsYes.errors.txt +++ b/tests/baselines/reference/convertKeywordsYes.errors.txt @@ -1,12 +1,12 @@ -tests/cases/compiler/convertKeywordsYes.ts(292,11): error TS1212: Identifier expected. 'implements' is a reserved word. Class definitions are automatically in strict mode. -tests/cases/compiler/convertKeywordsYes.ts(293,11): error TS1212: Identifier expected. 'interface' is a reserved word. Class definitions are automatically in strict mode. -tests/cases/compiler/convertKeywordsYes.ts(294,11): error TS1212: Identifier expected. 'let' is a reserved word. Class definitions are automatically in strict mode. -tests/cases/compiler/convertKeywordsYes.ts(296,11): error TS1212: Identifier expected. 'package' is a reserved word. Class definitions are automatically in strict mode. -tests/cases/compiler/convertKeywordsYes.ts(297,11): error TS1212: Identifier expected. 'private' is a reserved word. Class definitions are automatically in strict mode. -tests/cases/compiler/convertKeywordsYes.ts(298,11): error TS1212: Identifier expected. 'protected' is a reserved word. Class definitions are automatically in strict mode. -tests/cases/compiler/convertKeywordsYes.ts(299,11): error TS1212: Identifier expected. 'public' is a reserved word. Class definitions are automatically in strict mode. -tests/cases/compiler/convertKeywordsYes.ts(301,11): error TS1212: Identifier expected. 'static' is a reserved word. Class definitions are automatically in strict mode. -tests/cases/compiler/convertKeywordsYes.ts(303,11): error TS1212: Identifier expected. 'yield' is a reserved word. Class definitions are automatically in strict mode. +tests/cases/compiler/convertKeywordsYes.ts(292,11): error TS1213: Identifier expected. 'implements' is a reserved word. Class definitions are automatically in strict mode. +tests/cases/compiler/convertKeywordsYes.ts(293,11): error TS1213: Identifier expected. 'interface' is a reserved word. Class definitions are automatically in strict mode. +tests/cases/compiler/convertKeywordsYes.ts(294,11): error TS1213: Identifier expected. 'let' is a reserved word. Class definitions are automatically in strict mode. +tests/cases/compiler/convertKeywordsYes.ts(296,11): error TS1213: Identifier expected. 'package' is a reserved word. Class definitions are automatically in strict mode. +tests/cases/compiler/convertKeywordsYes.ts(297,11): error TS1213: Identifier expected. 'private' is a reserved word. Class definitions are automatically in strict mode. +tests/cases/compiler/convertKeywordsYes.ts(298,11): error TS1213: Identifier expected. 'protected' is a reserved word. Class definitions are automatically in strict mode. +tests/cases/compiler/convertKeywordsYes.ts(299,11): error TS1213: Identifier expected. 'public' is a reserved word. Class definitions are automatically in strict mode. +tests/cases/compiler/convertKeywordsYes.ts(301,11): error TS1213: Identifier expected. 'static' is a reserved word. Class definitions are automatically in strict mode. +tests/cases/compiler/convertKeywordsYes.ts(303,11): error TS1213: Identifier expected. 'yield' is a reserved word. Class definitions are automatically in strict mode. ==== tests/cases/compiler/convertKeywordsYes.ts (9 errors) ==== @@ -303,33 +303,33 @@ tests/cases/compiler/convertKeywordsYes.ts(303,11): error TS1212: Identifier exp class constructor { } class implements { } ~~~~~~~~~~ -!!! error TS1212: Identifier expected. 'implements' is a reserved word. Class definitions are automatically in strict mode. +!!! error TS1213: Identifier expected. 'implements' is a reserved word. Class definitions are automatically in strict mode. class interface { } ~~~~~~~~~ -!!! error TS1212: Identifier expected. 'interface' is a reserved word. Class definitions are automatically in strict mode. +!!! error TS1213: Identifier expected. 'interface' is a reserved word. Class definitions are automatically in strict mode. class let { } ~~~ -!!! error TS1212: Identifier expected. 'let' is a reserved word. Class definitions are automatically in strict mode. +!!! error TS1213: Identifier expected. 'let' is a reserved word. Class definitions are automatically in strict mode. class module { } class package { } ~~~~~~~ -!!! error TS1212: Identifier expected. 'package' is a reserved word. Class definitions are automatically in strict mode. +!!! error TS1213: Identifier expected. 'package' is a reserved word. Class definitions are automatically in strict mode. class private { } ~~~~~~~ -!!! error TS1212: Identifier expected. 'private' is a reserved word. Class definitions are automatically in strict mode. +!!! error TS1213: Identifier expected. 'private' is a reserved word. Class definitions are automatically in strict mode. class protected { } ~~~~~~~~~ -!!! error TS1212: Identifier expected. 'protected' is a reserved word. Class definitions are automatically in strict mode. +!!! error TS1213: Identifier expected. 'protected' is a reserved word. Class definitions are automatically in strict mode. class public { } ~~~~~~ -!!! error TS1212: Identifier expected. 'public' is a reserved word. Class definitions are automatically in strict mode. +!!! error TS1213: Identifier expected. 'public' is a reserved word. Class definitions are automatically in strict mode. class set { } class static { } ~~~~~~ -!!! error TS1212: Identifier expected. 'static' is a reserved word. Class definitions are automatically in strict mode. +!!! error TS1213: Identifier expected. 'static' is a reserved word. Class definitions are automatically in strict mode. class get { } class yield { } ~~~~~ -!!! error TS1212: Identifier expected. 'yield' is a reserved word. Class definitions are automatically in strict mode. +!!! error TS1213: Identifier expected. 'yield' is a reserved word. Class definitions are automatically in strict mode. class declare { } } \ No newline at end of file diff --git a/tests/baselines/reference/decoratorOnClassMethod11.js b/tests/baselines/reference/decoratorOnClassMethod11.js index 71d4298f02c..f8276de2fe3 100644 --- a/tests/baselines/reference/decoratorOnClassMethod11.js +++ b/tests/baselines/reference/decoratorOnClassMethod11.js @@ -1,11 +1,11 @@ //// [decoratorOnClassMethod11.ts] -module M { - class C { - decorator(target: Object, key: string): void { } - - @this.decorator - method() { } - } +module M { + class C { + decorator(target: Object, key: string): void { } + + @this.decorator + method() { } + } } //// [decoratorOnClassMethod11.js] diff --git a/tests/baselines/reference/parser553699.errors.txt b/tests/baselines/reference/parser553699.errors.txt index 505bc93c338..f526629b7b6 100644 --- a/tests/baselines/reference/parser553699.errors.txt +++ b/tests/baselines/reference/parser553699.errors.txt @@ -1,4 +1,4 @@ -tests/cases/conformance/parser/ecmascript5/RegressionTests/parser553699.ts(3,21): error TS1212: Type expected. 'public' is a reserved word. Class definitions are automatically in strict mode. +tests/cases/conformance/parser/ecmascript5/RegressionTests/parser553699.ts(3,21): error TS1216: Type expected. 'public' is a reserved word. Class definitions are automatically in strict mode. tests/cases/conformance/parser/ecmascript5/RegressionTests/parser553699.ts(3,21): error TS2304: Cannot find name 'public'. @@ -7,7 +7,7 @@ tests/cases/conformance/parser/ecmascript5/RegressionTests/parser553699.ts(3,21) constructor() { } public banana (x: public) { } ~~~~~~ -!!! error TS1212: Type expected. 'public' is a reserved word. Class definitions are automatically in strict mode. +!!! error TS1216: Type expected. 'public' is a reserved word. Class definitions are automatically in strict mode. ~~~~~~ !!! error TS2304: Cannot find name 'public'. } diff --git a/tests/baselines/reference/parser642331.errors.txt b/tests/baselines/reference/parser642331.errors.txt index 5586cf6754f..5d7db637653 100644 --- a/tests/baselines/reference/parser642331.errors.txt +++ b/tests/baselines/reference/parser642331.errors.txt @@ -1,10 +1,10 @@ -tests/cases/conformance/parser/ecmascript5/RegressionTests/parser642331.ts(2,18): error TS1212: Identifier expected. 'static' is a reserved word. Class definitions are automatically in strict mode. +tests/cases/conformance/parser/ecmascript5/RegressionTests/parser642331.ts(2,18): error TS1213: Identifier expected. 'static' is a reserved word. Class definitions are automatically in strict mode. ==== tests/cases/conformance/parser/ecmascript5/RegressionTests/parser642331.ts (1 errors) ==== class test { constructor (static) { } ~~~~~~ -!!! error TS1212: Identifier expected. 'static' is a reserved word. Class definitions are automatically in strict mode. +!!! error TS1213: Identifier expected. 'static' is a reserved word. Class definitions are automatically in strict mode. } \ No newline at end of file diff --git a/tests/baselines/reference/parser642331_1.errors.txt b/tests/baselines/reference/parser642331_1.errors.txt index 02674121ac9..be6fa63ee7c 100644 --- a/tests/baselines/reference/parser642331_1.errors.txt +++ b/tests/baselines/reference/parser642331_1.errors.txt @@ -1,4 +1,4 @@ -tests/cases/conformance/parser/ecmascript5/RegressionTests/parser642331_1.ts(4,18): error TS1212: Identifier expected. 'static' is a reserved word. Class definitions are automatically in strict mode. +tests/cases/conformance/parser/ecmascript5/RegressionTests/parser642331_1.ts(4,18): error TS1213: Identifier expected. 'static' is a reserved word. Class definitions are automatically in strict mode. ==== tests/cases/conformance/parser/ecmascript5/RegressionTests/parser642331_1.ts (1 errors) ==== @@ -7,6 +7,6 @@ tests/cases/conformance/parser/ecmascript5/RegressionTests/parser642331_1.ts(4,1 class test { constructor (static) { } ~~~~~~ -!!! error TS1212: Identifier expected. 'static' is a reserved word. Class definitions are automatically in strict mode. +!!! error TS1213: Identifier expected. 'static' is a reserved word. Class definitions are automatically in strict mode. } \ No newline at end of file diff --git a/tests/baselines/reference/strictModeCode1.errors.txt b/tests/baselines/reference/strictModeCode1.errors.txt index a7292d6b610..8cc66072c4b 100644 --- a/tests/baselines/reference/strictModeCode1.errors.txt +++ b/tests/baselines/reference/strictModeCode1.errors.txt @@ -1,18 +1,18 @@ -tests/cases/compiler/strictModeCode1.ts(4,17): error TS1212: Identifier expected. 'private' is a reserved word. Class definitions are automatically in strict mode. -tests/cases/compiler/strictModeCode1.ts(4,26): error TS1212: Identifier expected. 'public' is a reserved word. Class definitions are automatically in strict mode. -tests/cases/compiler/strictModeCode1.ts(4,34): error TS1212: Identifier expected. 'static' is a reserved word. Class definitions are automatically in strict mode. +tests/cases/compiler/strictModeCode1.ts(4,17): error TS1213: Identifier expected. 'private' is a reserved word. Class definitions are automatically in strict mode. +tests/cases/compiler/strictModeCode1.ts(4,26): error TS1213: Identifier expected. 'public' is a reserved word. Class definitions are automatically in strict mode. +tests/cases/compiler/strictModeCode1.ts(4,34): error TS1213: Identifier expected. 'static' is a reserved word. Class definitions are automatically in strict mode. tests/cases/compiler/strictModeCode1.ts(5,9): error TS1212: Identifier expected. 'private' is a reserved word in strict mode tests/cases/compiler/strictModeCode1.ts(5,19): error TS1212: Identifier expected. 'public' is a reserved word in strict mode tests/cases/compiler/strictModeCode1.ts(5,28): error TS1212: Identifier expected. 'static' is a reserved word in strict mode -tests/cases/compiler/strictModeCode1.ts(7,22): error TS1212: Type expected. 'public' is a reserved word. Class definitions are automatically in strict mode. -tests/cases/compiler/strictModeCode1.ts(11,24): error TS1212: Identifier expected. 'public' is a reserved word. Class definitions are automatically in strict mode. -tests/cases/compiler/strictModeCode1.ts(11,32): error TS1212: Identifier expected. 'let' is a reserved word. Class definitions are automatically in strict mode. -tests/cases/compiler/strictModeCode1.ts(13,10): error TS1212: Identifier expected. 'private' is a reserved word. Class definitions are automatically in strict mode. -tests/cases/compiler/strictModeCode1.ts(13,19): error TS1212: Identifier expected. 'static' is a reserved word. Class definitions are automatically in strict mode. -tests/cases/compiler/strictModeCode1.ts(13,27): error TS1212: Identifier expected. 'public' is a reserved word. Class definitions are automatically in strict mode. -tests/cases/compiler/strictModeCode1.ts(14,18): error TS1212: Identifier expected. 'let' is a reserved word. Class definitions are automatically in strict mode. -tests/cases/compiler/strictModeCode1.ts(20,9): error TS1212: Identifier expected. 'public' is a reserved word. Class definitions are automatically in strict mode. -tests/cases/compiler/strictModeCode1.ts(20,17): error TS1212: Identifier expected. 'private' is a reserved word. Class definitions are automatically in strict mode. +tests/cases/compiler/strictModeCode1.ts(7,22): error TS1216: Type expected. 'public' is a reserved word. Class definitions are automatically in strict mode. +tests/cases/compiler/strictModeCode1.ts(11,24): error TS1213: Identifier expected. 'public' is a reserved word. Class definitions are automatically in strict mode. +tests/cases/compiler/strictModeCode1.ts(11,32): error TS1213: Identifier expected. 'let' is a reserved word. Class definitions are automatically in strict mode. +tests/cases/compiler/strictModeCode1.ts(13,10): error TS1213: Identifier expected. 'private' is a reserved word. Class definitions are automatically in strict mode. +tests/cases/compiler/strictModeCode1.ts(13,19): error TS1213: Identifier expected. 'static' is a reserved word. Class definitions are automatically in strict mode. +tests/cases/compiler/strictModeCode1.ts(13,27): error TS1213: Identifier expected. 'public' is a reserved word. Class definitions are automatically in strict mode. +tests/cases/compiler/strictModeCode1.ts(14,18): error TS1213: Identifier expected. 'let' is a reserved word. Class definitions are automatically in strict mode. +tests/cases/compiler/strictModeCode1.ts(20,9): error TS1213: Identifier expected. 'public' is a reserved word. Class definitions are automatically in strict mode. +tests/cases/compiler/strictModeCode1.ts(20,17): error TS1213: Identifier expected. 'private' is a reserved word. Class definitions are automatically in strict mode. tests/cases/compiler/strictModeCode1.ts(22,20): error TS1212: Identifier expected. 'public' is a reserved word in strict mode @@ -22,11 +22,11 @@ tests/cases/compiler/strictModeCode1.ts(22,20): error TS1212: Identifier expecte class Foo { constructor(private, public, static) { ~~~~~~~ -!!! error TS1212: Identifier expected. 'private' is a reserved word. Class definitions are automatically in strict mode. +!!! error TS1213: Identifier expected. 'private' is a reserved word. Class definitions are automatically in strict mode. ~~~~~~ -!!! error TS1212: Identifier expected. 'public' is a reserved word. Class definitions are automatically in strict mode. +!!! error TS1213: Identifier expected. 'public' is a reserved word. Class definitions are automatically in strict mode. ~~~~~~ -!!! error TS1212: Identifier expected. 'static' is a reserved word. Class definitions are automatically in strict mode. +!!! error TS1213: Identifier expected. 'static' is a reserved word. Class definitions are automatically in strict mode. private = public = static; ~~~~~~~ !!! error TS1212: Identifier expected. 'private' is a reserved word in strict mode @@ -37,26 +37,26 @@ tests/cases/compiler/strictModeCode1.ts(22,20): error TS1212: Identifier expecte } public banana(x: public) { } ~~~~~~ -!!! error TS1212: Type expected. 'public' is a reserved word. Class definitions are automatically in strict mode. +!!! error TS1216: Type expected. 'public' is a reserved word. Class definitions are automatically in strict mode. } class C { constructor(public public, let) { ~~~~~~ -!!! error TS1212: Identifier expected. 'public' is a reserved word. Class definitions are automatically in strict mode. +!!! error TS1213: Identifier expected. 'public' is a reserved word. Class definitions are automatically in strict mode. ~~~ -!!! error TS1212: Identifier expected. 'let' is a reserved word. Class definitions are automatically in strict mode. +!!! error TS1213: Identifier expected. 'let' is a reserved word. Class definitions are automatically in strict mode. } foo1(private, static, public) { ~~~~~~~ -!!! error TS1212: Identifier expected. 'private' is a reserved word. Class definitions are automatically in strict mode. +!!! error TS1213: Identifier expected. 'private' is a reserved word. Class definitions are automatically in strict mode. ~~~~~~ -!!! error TS1212: Identifier expected. 'static' is a reserved word. Class definitions are automatically in strict mode. +!!! error TS1213: Identifier expected. 'static' is a reserved word. Class definitions are automatically in strict mode. ~~~~~~ -!!! error TS1212: Identifier expected. 'public' is a reserved word. Class definitions are automatically in strict mode. +!!! error TS1213: Identifier expected. 'public' is a reserved word. Class definitions are automatically in strict mode. function let() { } ~~~ -!!! error TS1212: Identifier expected. 'let' is a reserved word. Class definitions are automatically in strict mode. +!!! error TS1213: Identifier expected. 'let' is a reserved word. Class definitions are automatically in strict mode. var z = function let() { }; } @@ -64,9 +64,9 @@ tests/cases/compiler/strictModeCode1.ts(22,20): error TS1212: Identifier expecte class D{ } ~~~~~~ -!!! error TS1212: Identifier expected. 'public' is a reserved word. Class definitions are automatically in strict mode. +!!! error TS1213: Identifier expected. 'public' is a reserved word. Class definitions are automatically in strict mode. ~~~~~~~ -!!! error TS1212: Identifier expected. 'private' is a reserved word. Class definitions are automatically in strict mode. +!!! error TS1213: Identifier expected. 'private' is a reserved word. Class definitions are automatically in strict mode. class E implements public { } ~~~~~~ diff --git a/tests/baselines/reference/strictModeCode8.errors.txt b/tests/baselines/reference/strictModeCode8.errors.txt index faf13a186e5..b0134007e0d 100644 --- a/tests/baselines/reference/strictModeCode8.errors.txt +++ b/tests/baselines/reference/strictModeCode8.errors.txt @@ -1,12 +1,12 @@ -tests/cases/compiler/strictModeCode8.ts(2,8): error TS1212: Identifier expected. 'public' is a reserved word. Module is automatically in strict mode. -tests/cases/compiler/strictModeCode8.ts(3,8): error TS1212: Identifier expected. 'private' is a reserved word. Module is automatically in strict mode. +tests/cases/compiler/strictModeCode8.ts(2,8): error TS1214: Identifier expected. 'public' is a reserved word. Module is automatically in strict mode. +tests/cases/compiler/strictModeCode8.ts(3,8): error TS1214: Identifier expected. 'private' is a reserved word. Module is automatically in strict mode. ==== tests/cases/compiler/strictModeCode8.ts (2 errors) ==== "use strict" module public { } ~~~~~~ -!!! error TS1212: Identifier expected. 'public' is a reserved word. Module is automatically in strict mode. +!!! error TS1214: Identifier expected. 'public' is a reserved word. Module is automatically in strict mode. module private { } ~~~~~~~ -!!! error TS1212: Identifier expected. 'private' is a reserved word. Module is automatically in strict mode. \ No newline at end of file +!!! error TS1214: Identifier expected. 'private' is a reserved word. Module is automatically in strict mode. \ No newline at end of file