Update error code

This commit is contained in:
Yui T
2015-04-08 23:39:54 -07:00
parent 111a297584
commit 3a7384a95e
12 changed files with 75 additions and 84 deletions
+2 -6
View File
@@ -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) {
@@ -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." },
+5 -9
View File
@@ -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",
@@ -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.
}
@@ -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.
}
@@ -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 { }
}
@@ -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]
@@ -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'.
}
@@ -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.
}
@@ -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.
}
@@ -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<public, private>{ }
~~~~~~
!!! 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 { }
~~~~~~
@@ -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.
!!! error TS1214: Identifier expected. 'private' is a reserved word. Module is automatically in strict mode.