Merge pull request #2596 from Microsoft/parseClassInStrictMode
Parse class in strict mode
This commit is contained in:
commit
5e7343f573
|
@ -12445,7 +12445,16 @@ module ts {
|
|||
let identifier = <Identifier>name;
|
||||
if (contextNode && (contextNode.parserContextFlags & ParserContextFlags.StrictMode) && isEvalOrArgumentsIdentifier(identifier)) {
|
||||
let nameText = declarationNameToString(identifier);
|
||||
return grammarErrorOnNode(identifier, Diagnostics.Invalid_use_of_0_in_strict_mode, nameText);
|
||||
|
||||
// We are checking if this name is inside class declaration or class expression (which are under class definitions inside ES6 spec.)
|
||||
// if so, we would like to give more explicit invalid usage error.
|
||||
// This will be particularly helpful in the case of "arguments" as such case is very common mistake.
|
||||
if (getAncestor(name, SyntaxKind.ClassDeclaration) || getAncestor(name, SyntaxKind.ClassExpression)) {
|
||||
return grammarErrorOnNode(identifier, Diagnostics.Invalid_use_of_0_Class_definitions_are_automatically_in_strict_mode, nameText);
|
||||
}
|
||||
else {
|
||||
return grammarErrorOnNode(identifier, Diagnostics.Invalid_use_of_0_in_strict_mode, nameText);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -167,7 +167,8 @@ module ts {
|
|||
Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name: { code: 1207, category: DiagnosticCategory.Error, key: "Decorators cannot be applied to multiple get/set accessors of the same name." },
|
||||
Cannot_compile_non_external_modules_when_the_separateCompilation_flag_is_provided: { code: 1208, category: DiagnosticCategory.Error, key: "Cannot compile non-external modules when the '--separateCompilation' flag is provided." },
|
||||
Ambient_const_enums_are_not_allowed_when_the_separateCompilation_flag_is_provided: { code: 1209, category: DiagnosticCategory.Error, key: "Ambient const enums are not allowed when the '--separateCompilation' flag is provided." },
|
||||
A_class_declaration_without_the_default_modifier_must_have_a_name: { code: 1210, category: DiagnosticCategory.Error, key: "A class declaration without the 'default' modifier must have a name" },
|
||||
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" },
|
||||
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." },
|
||||
|
|
|
@ -659,9 +659,13 @@
|
|||
"category": "Error",
|
||||
"code": 1209
|
||||
},
|
||||
"Invalid use of '{0}'. Class definitions are automatically in strict mode.": {
|
||||
"category": "Error",
|
||||
"code": 1210
|
||||
},
|
||||
"A class declaration without the 'default' modifier must have a name": {
|
||||
"category": "Error",
|
||||
"code": 1210
|
||||
"code": 1211
|
||||
},
|
||||
"Duplicate identifier '{0}'.": {
|
||||
"category": "Error",
|
||||
|
|
|
@ -4756,9 +4756,7 @@ module ts {
|
|||
function parseClassDeclarationOrExpression(fullStart: number, decorators: NodeArray<Decorator>, modifiers: ModifiersArray, kind: SyntaxKind): ClassLikeDeclaration {
|
||||
// In ES6 specification, All parts of a ClassDeclaration or a ClassExpression are strict mode code
|
||||
let savedStrictModeContext = inStrictModeContext();
|
||||
if (languageVersion >= ScriptTarget.ES6) {
|
||||
setStrictModeContext(true);
|
||||
}
|
||||
setStrictModeContext(true);
|
||||
|
||||
var node = <ClassLikeDeclaration>createNode(kind, fullStart);
|
||||
node.decorators = decorators;
|
||||
|
|
|
@ -68,12 +68,12 @@ module ts.server {
|
|||
};
|
||||
}
|
||||
|
||||
private processRequest<T extends protocol.Request>(command: string, arguments?: any): T {
|
||||
private processRequest<T extends protocol.Request>(command: string, args?: any): T {
|
||||
var request: protocol.Request = {
|
||||
seq: this.sequence++,
|
||||
type: "request",
|
||||
command: command,
|
||||
arguments: arguments
|
||||
arguments: args,
|
||||
command
|
||||
};
|
||||
|
||||
this.writeMessage(JSON.stringify(request));
|
||||
|
|
|
@ -1,40 +1,89 @@
|
|||
tests/cases/compiler/collisionArgumentsClassConstructor.ts(3,28): error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.
|
||||
tests/cases/compiler/collisionArgumentsClassConstructor.ts(3,31): error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/collisionArgumentsClassConstructor.ts(4,13): error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/collisionArgumentsClassConstructor.ts(8,17): error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/collisionArgumentsClassConstructor.ts(8,17): error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.
|
||||
tests/cases/compiler/collisionArgumentsClassConstructor.ts(9,13): error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/collisionArgumentsClassConstructor.ts(13,17): error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/collisionArgumentsClassConstructor.ts(14,13): error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/collisionArgumentsClassConstructor.ts(20,13): error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/collisionArgumentsClassConstructor.ts(25,13): error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/collisionArgumentsClassConstructor.ts(30,17): error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.
|
||||
tests/cases/compiler/collisionArgumentsClassConstructor.ts(30,24): error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/collisionArgumentsClassConstructor.ts(31,13): error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/collisionArgumentsClassConstructor.ts(35,24): error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/collisionArgumentsClassConstructor.ts(36,13): error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/collisionArgumentsClassConstructor.ts(41,31): error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/collisionArgumentsClassConstructor.ts(44,17): error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/collisionArgumentsClassConstructor.ts(47,17): error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/collisionArgumentsClassConstructor.ts(51,31): error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/collisionArgumentsClassConstructor.ts(52,31): error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/collisionArgumentsClassConstructor.ts(53,25): error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.
|
||||
tests/cases/compiler/collisionArgumentsClassConstructor.ts(53,28): error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/collisionArgumentsClassConstructor.ts(54,13): error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/collisionArgumentsClassConstructor.ts(59,17): error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/collisionArgumentsClassConstructor.ts(60,17): error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/collisionArgumentsClassConstructor.ts(61,17): error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/collisionArgumentsClassConstructor.ts(61,17): error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.
|
||||
tests/cases/compiler/collisionArgumentsClassConstructor.ts(62,13): error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/collisionArgumentsClassConstructor.ts(67,17): error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/collisionArgumentsClassConstructor.ts(68,17): error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/collisionArgumentsClassConstructor.ts(69,17): error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/collisionArgumentsClassConstructor.ts(70,13): error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/collisionArgumentsClassConstructor.ts(75,31): error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/collisionArgumentsClassConstructor.ts(76,31): error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/collisionArgumentsClassConstructor.ts(79,17): error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/collisionArgumentsClassConstructor.ts(80,17): error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/collisionArgumentsClassConstructor.ts(84,17): error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/collisionArgumentsClassConstructor.ts(85,17): error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
|
||||
|
||||
==== tests/cases/compiler/collisionArgumentsClassConstructor.ts (5 errors) ====
|
||||
==== tests/cases/compiler/collisionArgumentsClassConstructor.ts (38 errors) ====
|
||||
// Constructors
|
||||
class c1 {
|
||||
constructor(i: number, ...arguments) { // error
|
||||
~~~~~~~~~~~~
|
||||
!!! error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.
|
||||
~~~~~~~~~
|
||||
!!! error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
var arguments: any[]; // no error
|
||||
~~~~~~~~~
|
||||
!!! error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
}
|
||||
}
|
||||
class c12 {
|
||||
constructor(arguments: number, ...rest) { // error
|
||||
~~~~~~~~~
|
||||
!!! error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
~~~~~~~~~~~~~~~~~
|
||||
!!! error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.
|
||||
var arguments = 10; // no error
|
||||
~~~~~~~~~
|
||||
!!! error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
}
|
||||
}
|
||||
class c1NoError {
|
||||
constructor(arguments: number) { // no error
|
||||
~~~~~~~~~
|
||||
!!! error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
var arguments = 10; // no error
|
||||
~~~~~~~~~
|
||||
!!! error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
}
|
||||
}
|
||||
|
||||
class c2 {
|
||||
constructor(...restParameters) {
|
||||
var arguments = 10; // no error
|
||||
~~~~~~~~~
|
||||
!!! error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
}
|
||||
}
|
||||
class c2NoError {
|
||||
constructor() {
|
||||
var arguments = 10; // no error
|
||||
~~~~~~~~~
|
||||
!!! error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -42,63 +91,113 @@ tests/cases/compiler/collisionArgumentsClassConstructor.ts(61,17): error TS2396:
|
|||
constructor(public arguments: number, ...restParameters) { //arguments is error
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
!!! error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.
|
||||
~~~~~~~~~
|
||||
!!! error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
var arguments = 10; // no error
|
||||
~~~~~~~~~
|
||||
!!! error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
}
|
||||
}
|
||||
class c3NoError {
|
||||
constructor(public arguments: number) { // no error
|
||||
~~~~~~~~~
|
||||
!!! error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
var arguments = 10; // no error
|
||||
~~~~~~~~~
|
||||
!!! error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
}
|
||||
}
|
||||
|
||||
declare class c4 {
|
||||
constructor(i: number, ...arguments); // No error - no code gen
|
||||
~~~~~~~~~
|
||||
!!! error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
}
|
||||
declare class c42 {
|
||||
constructor(arguments: number, ...rest); // No error - no code gen
|
||||
~~~~~~~~~
|
||||
!!! error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
}
|
||||
declare class c4NoError {
|
||||
constructor(arguments: number); // no error
|
||||
~~~~~~~~~
|
||||
!!! error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
}
|
||||
|
||||
class c5 {
|
||||
constructor(i: number, ...arguments); // no codegen no error
|
||||
~~~~~~~~~
|
||||
!!! error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
constructor(i: string, ...arguments); // no codegen no error
|
||||
~~~~~~~~~
|
||||
!!! error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
constructor(i: any, ...arguments) { // error
|
||||
~~~~~~~~~~~~
|
||||
!!! error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.
|
||||
~~~~~~~~~
|
||||
!!! error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
var arguments: any[]; // no error
|
||||
~~~~~~~~~
|
||||
!!! error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
}
|
||||
}
|
||||
|
||||
class c52 {
|
||||
constructor(arguments: number, ...rest); // no codegen no error
|
||||
~~~~~~~~~
|
||||
!!! error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
constructor(arguments: string, ...rest); // no codegen no error
|
||||
~~~~~~~~~
|
||||
!!! error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
constructor(arguments: any, ...rest) { // error
|
||||
~~~~~~~~~
|
||||
!!! error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
~~~~~~~~~~~~~~
|
||||
!!! error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.
|
||||
var arguments: any; // no error
|
||||
~~~~~~~~~
|
||||
!!! error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
}
|
||||
}
|
||||
|
||||
class c5NoError {
|
||||
constructor(arguments: number); // no error
|
||||
~~~~~~~~~
|
||||
!!! error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
constructor(arguments: string); // no error
|
||||
~~~~~~~~~
|
||||
!!! error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
constructor(arguments: any) { // no error
|
||||
~~~~~~~~~
|
||||
!!! error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
var arguments: any; // no error
|
||||
~~~~~~~~~
|
||||
!!! error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
}
|
||||
}
|
||||
|
||||
declare class c6 {
|
||||
constructor(i: number, ...arguments); // no codegen no error
|
||||
~~~~~~~~~
|
||||
!!! error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
constructor(i: string, ...arguments); // no codegen no error
|
||||
~~~~~~~~~
|
||||
!!! error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
}
|
||||
declare class c62 {
|
||||
constructor(arguments: number, ...rest); // no codegen no error
|
||||
~~~~~~~~~
|
||||
!!! error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
constructor(arguments: string, ...rest); // no codegen no error
|
||||
~~~~~~~~~
|
||||
!!! error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
}
|
||||
|
||||
declare class c6NoError {
|
||||
constructor(arguments: number); // no error
|
||||
~~~~~~~~~
|
||||
!!! error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
constructor(arguments: string); // no error
|
||||
~~~~~~~~~
|
||||
!!! error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
}
|
|
@ -1,63 +1,150 @@
|
|||
tests/cases/compiler/collisionArgumentsClassMethod.ts(2,27): error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.
|
||||
tests/cases/compiler/collisionArgumentsClassMethod.ts(2,30): error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/collisionArgumentsClassMethod.ts(3,13): error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/collisionArgumentsClassMethod.ts(5,17): error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/collisionArgumentsClassMethod.ts(5,17): error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.
|
||||
tests/cases/compiler/collisionArgumentsClassMethod.ts(6,13): error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/collisionArgumentsClassMethod.ts(8,23): error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/collisionArgumentsClassMethod.ts(9,13): error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/collisionArgumentsClassMethod.ts(11,29): error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/collisionArgumentsClassMethod.ts(12,29): error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/collisionArgumentsClassMethod.ts(13,23): error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.
|
||||
tests/cases/compiler/collisionArgumentsClassMethod.ts(13,26): error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/collisionArgumentsClassMethod.ts(14,13): error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/collisionArgumentsClassMethod.ts(16,16): error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/collisionArgumentsClassMethod.ts(17,16): error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/collisionArgumentsClassMethod.ts(18,16): error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/collisionArgumentsClassMethod.ts(18,16): error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.
|
||||
tests/cases/compiler/collisionArgumentsClassMethod.ts(19,13): error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/collisionArgumentsClassMethod.ts(21,22): error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/collisionArgumentsClassMethod.ts(22,22): error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/collisionArgumentsClassMethod.ts(23,22): error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/collisionArgumentsClassMethod.ts(24,13): error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/collisionArgumentsClassMethod.ts(29,30): error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/collisionArgumentsClassMethod.ts(30,17): error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/collisionArgumentsClassMethod.ts(31,23): error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/collisionArgumentsClassMethod.ts(33,29): error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/collisionArgumentsClassMethod.ts(34,29): error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/collisionArgumentsClassMethod.ts(35,16): error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/collisionArgumentsClassMethod.ts(36,16): error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/collisionArgumentsClassMethod.ts(37,22): error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/collisionArgumentsClassMethod.ts(38,22): error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/collisionArgumentsClassMethod.ts(43,13): error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/collisionArgumentsClassMethod.ts(46,13): error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
|
||||
|
||||
==== tests/cases/compiler/collisionArgumentsClassMethod.ts (4 errors) ====
|
||||
==== tests/cases/compiler/collisionArgumentsClassMethod.ts (33 errors) ====
|
||||
class c1 {
|
||||
public foo(i: number, ...arguments) { //arguments is error
|
||||
~~~~~~~~~~~~
|
||||
!!! error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.
|
||||
~~~~~~~~~
|
||||
!!! error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
var arguments: any[]; // no error
|
||||
~~~~~~~~~
|
||||
!!! error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
}
|
||||
public foo1(arguments: number, ...rest) { //arguments is error
|
||||
~~~~~~~~~
|
||||
!!! error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
~~~~~~~~~~~~~~~~~
|
||||
!!! error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.
|
||||
var arguments = 10; // no error
|
||||
~~~~~~~~~
|
||||
!!! error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
}
|
||||
public fooNoError(arguments: number) { // no error
|
||||
~~~~~~~~~
|
||||
!!! error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
var arguments = 10; // no error
|
||||
~~~~~~~~~
|
||||
!!! error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
}
|
||||
public f4(i: number, ...arguments); // no codegen no error
|
||||
~~~~~~~~~
|
||||
!!! error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
public f4(i: string, ...arguments); // no codegen no error
|
||||
~~~~~~~~~
|
||||
!!! error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
public f4(i: any, ...arguments) { // error
|
||||
~~~~~~~~~~~~
|
||||
!!! error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.
|
||||
~~~~~~~~~
|
||||
!!! error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
var arguments: any[]; // no error
|
||||
~~~~~~~~~
|
||||
!!! error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
}
|
||||
public f41(arguments: number, ...rest); // no codegen no error
|
||||
~~~~~~~~~
|
||||
!!! error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
public f41(arguments: string, ...rest); // no codegen no error
|
||||
~~~~~~~~~
|
||||
!!! error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
public f41(arguments: any, ...rest) { // error
|
||||
~~~~~~~~~
|
||||
!!! error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
~~~~~~~~~~~~~~
|
||||
!!! error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.
|
||||
var arguments: any; // no error
|
||||
~~~~~~~~~
|
||||
!!! error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
}
|
||||
public f4NoError(arguments: number); // no error
|
||||
~~~~~~~~~
|
||||
!!! error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
public f4NoError(arguments: string); // no error
|
||||
~~~~~~~~~
|
||||
!!! error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
public f4NoError(arguments: any) { // no error
|
||||
~~~~~~~~~
|
||||
!!! error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
var arguments: any; // no error
|
||||
~~~~~~~~~
|
||||
!!! error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
}
|
||||
}
|
||||
|
||||
declare class c2 {
|
||||
public foo(i: number, ...arguments); // No error - no code gen
|
||||
~~~~~~~~~
|
||||
!!! error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
public foo1(arguments: number, ...rest); // No error - no code gen
|
||||
~~~~~~~~~
|
||||
!!! error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
public fooNoError(arguments: number); // No error - no code gen
|
||||
~~~~~~~~~
|
||||
!!! error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
|
||||
public f4(i: number, ...arguments); // no codegen no error
|
||||
~~~~~~~~~
|
||||
!!! error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
public f4(i: string, ...arguments); // no codegen no error
|
||||
~~~~~~~~~
|
||||
!!! error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
public f41(arguments: number, ...rest); // no codegen no error
|
||||
~~~~~~~~~
|
||||
!!! error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
public f41(arguments: string, ...rest); // no codegen no error
|
||||
~~~~~~~~~
|
||||
!!! error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
public f4NoError(arguments: number); // no error
|
||||
~~~~~~~~~
|
||||
!!! error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
public f4NoError(arguments: string); // no error
|
||||
~~~~~~~~~
|
||||
!!! error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
}
|
||||
|
||||
class c3 {
|
||||
public foo(...restParameters) {
|
||||
var arguments = 10; // no error
|
||||
~~~~~~~~~
|
||||
!!! error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
}
|
||||
public fooNoError() {
|
||||
var arguments = 10; // no error
|
||||
~~~~~~~~~
|
||||
!!! error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
}
|
||||
}
|
|
@ -1,12 +1,13 @@
|
|||
tests/cases/conformance/es6/computedProperties/computedPropertyNames3_ES5.ts(4,12): error TS2464: A computed property name must be of type 'string', 'number', 'symbol', or 'any'.
|
||||
tests/cases/conformance/es6/computedProperties/computedPropertyNames3_ES5.ts(5,9): error TS2378: A 'get' accessor must return a value or consist of a single 'throw' statement.
|
||||
tests/cases/conformance/es6/computedProperties/computedPropertyNames3_ES5.ts(5,9): error TS2464: A computed property name must be of type 'string', 'number', 'symbol', or 'any'.
|
||||
tests/cases/conformance/es6/computedProperties/computedPropertyNames3_ES5.ts(5,17): error TS1102: 'delete' cannot be called on an identifier in strict mode.
|
||||
tests/cases/conformance/es6/computedProperties/computedPropertyNames3_ES5.ts(6,9): error TS2464: A computed property name must be of type 'string', 'number', 'symbol', or 'any'.
|
||||
tests/cases/conformance/es6/computedProperties/computedPropertyNames3_ES5.ts(7,16): error TS2378: A 'get' accessor must return a value or consist of a single 'throw' statement.
|
||||
tests/cases/conformance/es6/computedProperties/computedPropertyNames3_ES5.ts(7,16): error TS2464: A computed property name must be of type 'string', 'number', 'symbol', or 'any'.
|
||||
|
||||
|
||||
==== tests/cases/conformance/es6/computedProperties/computedPropertyNames3_ES5.ts (6 errors) ====
|
||||
==== tests/cases/conformance/es6/computedProperties/computedPropertyNames3_ES5.ts (7 errors) ====
|
||||
var id;
|
||||
class C {
|
||||
[0 + 1]() { }
|
||||
|
@ -18,6 +19,8 @@ tests/cases/conformance/es6/computedProperties/computedPropertyNames3_ES5.ts(7,1
|
|||
!!! error TS2378: A 'get' accessor must return a value or consist of a single 'throw' statement.
|
||||
~~~~~~~~~~~
|
||||
!!! error TS2464: A computed property name must be of type 'string', 'number', 'symbol', or 'any'.
|
||||
~~
|
||||
!!! error TS1102: 'delete' cannot be called on an identifier in strict mode.
|
||||
set [[0, 1]](v) { }
|
||||
~~~~~~~~
|
||||
!!! error TS2464: A computed property name must be of type 'string', 'number', 'symbol', or 'any'.
|
||||
|
|
|
@ -0,0 +1,12 @@
|
|||
tests/cases/compiler/constructorStaticParamName.ts(4,18): error TS1003: Identifier expected.
|
||||
|
||||
|
||||
==== tests/cases/compiler/constructorStaticParamName.ts (1 errors) ====
|
||||
// static as constructor parameter name should only give error if 'use strict'
|
||||
|
||||
class test {
|
||||
constructor (static) { }
|
||||
~~~~~~
|
||||
!!! error TS1003: Identifier expected.
|
||||
}
|
||||
|
|
@ -9,7 +9,7 @@ class test {
|
|||
//// [constructorStaticParamName.js]
|
||||
// static as constructor parameter name should only give error if 'use strict'
|
||||
var test = (function () {
|
||||
function test(static) {
|
||||
function test() {
|
||||
}
|
||||
return test;
|
||||
})();
|
||||
|
|
|
@ -1,10 +0,0 @@
|
|||
=== tests/cases/compiler/constructorStaticParamName.ts ===
|
||||
// static as constructor parameter name should only give error if 'use strict'
|
||||
|
||||
class test {
|
||||
>test : test
|
||||
|
||||
constructor (static) { }
|
||||
>static : any
|
||||
}
|
||||
|
|
@ -21,27 +21,47 @@ tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(47,17): error TS
|
|||
tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(49,13): error TS1068: Unexpected token. A constructor, method, accessor, or property was expected.
|
||||
tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(53,13): error TS2304: Cannot find name 'console'.
|
||||
tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(58,5): error TS1128: Declaration or statement expected.
|
||||
tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(65,29): error TS2355: A function whose declared type is neither 'void' nor 'any' must return a value or consist of a single 'throw' statement.
|
||||
tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(69,13): error TS1109: Expression expected.
|
||||
tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(72,37): error TS1127: Invalid character.
|
||||
tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(81,13): error TS1109: Expression expected.
|
||||
tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(89,23): error TS2364: Invalid left-hand side of assignment expression.
|
||||
tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(90,13): error TS1109: Expression expected.
|
||||
tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(94,17): error TS1134: Variable declaration expected.
|
||||
tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(95,13): error TS1068: Unexpected token. A constructor, method, accessor, or property was expected.
|
||||
tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(105,29): error TS1109: Expression expected.
|
||||
tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(106,13): error TS1109: Expression expected.
|
||||
tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(108,24): error TS2365: Operator '+' cannot be applied to types 'number' and 'boolean'.
|
||||
tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(108,24): error TS2304: Cannot find name 'any'.
|
||||
tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(108,30): error TS2304: Cannot find name 'bool'.
|
||||
tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(108,37): error TS2304: Cannot find name 'declare'.
|
||||
tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(108,47): error TS2304: Cannot find name 'constructor'.
|
||||
tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(108,61): error TS2304: Cannot find name 'get'.
|
||||
tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(108,67): error TS2304: Cannot find name 'implements'.
|
||||
tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(111,9): error TS1128: Declaration or statement expected.
|
||||
tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(118,9): error TS2304: Cannot find name 'STATEMENTS'.
|
||||
tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(118,21): error TS1005: ',' expected.
|
||||
tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(118,30): error TS1005: ';' expected.
|
||||
tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(118,39): error TS1005: ';' expected.
|
||||
tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(138,13): error TS1109: Expression expected.
|
||||
tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(141,32): error TS1005: '{' expected.
|
||||
tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(143,13): error TS1005: 'try' expected.
|
||||
tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(155,9): error TS1128: Declaration or statement expected.
|
||||
tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(155,16): error TS2304: Cannot find name 'TYPES'.
|
||||
tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(155,23): error TS1005: ';' expected.
|
||||
tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(155,32): error TS1005: ';' expected.
|
||||
tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(159,24): error TS1109: Expression expected.
|
||||
tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(159,30): error TS1005: '(' expected.
|
||||
tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(159,31): error TS2304: Cannot find name 'Property'.
|
||||
tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(166,13): error TS2365: Operator '+=' cannot be applied to types 'number' and 'void'.
|
||||
tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(176,9): error TS1128: Declaration or statement expected.
|
||||
tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(176,16): error TS2304: Cannot find name 'OPERATOR'.
|
||||
tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(176,26): error TS1005: ';' expected.
|
||||
tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(176,35): error TS1005: ';' expected.
|
||||
tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(180,40): error TS2447: The '^' operator is not allowed for boolean types. Consider using '!==' instead.
|
||||
tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(205,28): error TS1109: Expression expected.
|
||||
tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(210,5): error TS1128: Declaration or statement expected.
|
||||
tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(213,16): error TS2304: Cannot find name 'bool'.
|
||||
tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(218,10): error TS1068: Unexpected token. A constructor, method, accessor, or property was expected.
|
||||
tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(218,29): error TS2304: Cannot find name 'yield'.
|
||||
tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(218,36): error TS1005: ';' expected.
|
||||
tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(223,23): error TS2304: Cannot find name 'bool'.
|
||||
tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(227,13): error TS1109: Expression expected.
|
||||
tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(234,14): error TS1005: '{' expected.
|
||||
|
@ -49,7 +69,6 @@ tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(235,9): error TS
|
|||
tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(235,16): error TS2304: Cannot find name 'method1'.
|
||||
tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(235,24): error TS2304: Cannot find name 'val'.
|
||||
tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(235,27): error TS1005: ',' expected.
|
||||
tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(235,28): error TS2304: Cannot find name 'number'.
|
||||
tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(235,36): error TS1005: ';' expected.
|
||||
tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(238,9): error TS1128: Declaration or statement expected.
|
||||
tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(238,16): error TS2304: Cannot find name 'method2'.
|
||||
|
@ -64,27 +83,23 @@ tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(256,9): error TS
|
|||
tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(256,16): error TS2304: Cannot find name 'Overloads'.
|
||||
tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(256,26): error TS2304: Cannot find name 'value'.
|
||||
tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(256,31): error TS1005: ',' expected.
|
||||
tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(256,33): error TS2304: Cannot find name 'string'.
|
||||
tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(257,9): error TS1128: Declaration or statement expected.
|
||||
tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(257,16): error TS2304: Cannot find name 'Overloads'.
|
||||
tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(257,27): error TS1135: Argument expression expected.
|
||||
tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(257,33): error TS1005: '(' expected.
|
||||
tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(257,35): error TS2304: Cannot find name 'string'.
|
||||
tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(257,43): error TS1109: Expression expected.
|
||||
tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(257,52): error TS2304: Cannot find name 'string'.
|
||||
tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(257,60): error TS1005: ';' expected.
|
||||
tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(257,65): error TS1109: Expression expected.
|
||||
tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(259,9): error TS2304: Cannot find name 'public'.
|
||||
tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(259,16): error TS1005: ';' expected.
|
||||
tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(259,16): error TS2304: Cannot find name 'DefaultValue'.
|
||||
tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(259,29): error TS2304: Cannot find name 'value'.
|
||||
tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(259,35): error TS1109: Expression expected.
|
||||
tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(259,37): error TS2304: Cannot find name 'string'.
|
||||
tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(259,37): error TS2322: Type 'string' is not assignable to type 'boolean'.
|
||||
tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(259,55): error TS1005: ';' expected.
|
||||
tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(261,1): error TS1128: Declaration or statement expected.
|
||||
|
||||
|
||||
==== tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts (84 errors) ====
|
||||
==== tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts (99 errors) ====
|
||||
declare module "fs" {
|
||||
export class File {
|
||||
constructor(filename: string);
|
||||
|
@ -199,6 +214,8 @@ tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(261,1): error TS
|
|||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public VARIABLES(): number {
|
||||
~~~~~~
|
||||
!!! error TS2355: A function whose declared type is neither 'void' nor 'any' must return a value or consist of a single 'throw' statement.
|
||||
var local = Number.MAX_VALUE;
|
||||
var min = Number.MIN_VALUE;
|
||||
var inf = Number.NEGATIVE_INFINITY -
|
||||
|
@ -238,7 +255,11 @@ tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(261,1): error TS
|
|||
var constructor = 0;
|
||||
var get = 0;
|
||||
var implements = 0;
|
||||
~~~~~~~~~~
|
||||
!!! error TS1134: Variable declaration expected.
|
||||
var interface = 0;
|
||||
~~~
|
||||
!!! error TS1068: Unexpected token. A constructor, method, accessor, or property was expected.
|
||||
var let = 0;
|
||||
var module = 0;
|
||||
var number = 0;
|
||||
|
@ -256,11 +277,23 @@ tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(261,1): error TS
|
|||
!!! error TS1109: Expression expected.
|
||||
|
||||
var sum3 = any + bool + declare + constructor + get + implements + interface + let + module + number + package + private + protected + public + set + static + string + yield;
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
!!! error TS2365: Operator '+' cannot be applied to types 'number' and 'boolean'.
|
||||
~~~
|
||||
!!! error TS2304: Cannot find name 'any'.
|
||||
~~~~
|
||||
!!! error TS2304: Cannot find name 'bool'.
|
||||
~~~~~~~
|
||||
!!! error TS2304: Cannot find name 'declare'.
|
||||
~~~~~~~~~~~
|
||||
!!! error TS2304: Cannot find name 'constructor'.
|
||||
~~~
|
||||
!!! error TS2304: Cannot find name 'get'.
|
||||
~~~~~~~~~~
|
||||
!!! error TS2304: Cannot find name 'implements'.
|
||||
|
||||
return 0;
|
||||
}
|
||||
~
|
||||
!!! error TS1128: Declaration or statement expected.
|
||||
|
||||
/// <summary>
|
||||
/// Test different statements. Including if-else,swith,foreach,(un)checked,lock,using,try-catch-finally
|
||||
|
@ -268,6 +301,14 @@ tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(261,1): error TS
|
|||
/// <param name="i"></param>
|
||||
/// <returns></returns>
|
||||
STATEMENTS(i: number): number {
|
||||
~~~~~~~~~~
|
||||
!!! error TS2304: Cannot find name 'STATEMENTS'.
|
||||
~
|
||||
!!! error TS1005: ',' expected.
|
||||
~
|
||||
!!! error TS1005: ';' expected.
|
||||
~
|
||||
!!! error TS1005: ';' expected.
|
||||
var retVal = 0;
|
||||
if (i == 1)
|
||||
retVal = 1;
|
||||
|
@ -311,6 +352,14 @@ tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(261,1): error TS
|
|||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public TYPES(): number {
|
||||
~~~~~~
|
||||
!!! error TS1128: Declaration or statement expected.
|
||||
~~~~~
|
||||
!!! error TS2304: Cannot find name 'TYPES'.
|
||||
~
|
||||
!!! error TS1005: ';' expected.
|
||||
~
|
||||
!!! error TS1005: ';' expected.
|
||||
var retVal = 0;
|
||||
var c = new CLASS();
|
||||
var xx: IF = c;
|
||||
|
@ -340,6 +389,14 @@ tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(261,1): error TS
|
|||
///// </summary>
|
||||
///// <returns></returns>
|
||||
public OPERATOR(): number {
|
||||
~~~~~~
|
||||
!!! error TS1128: Declaration or statement expected.
|
||||
~~~~~~~~
|
||||
!!! error TS2304: Cannot find name 'OPERATOR'.
|
||||
~
|
||||
!!! error TS1005: ';' expected.
|
||||
~
|
||||
!!! error TS1005: ';' expected.
|
||||
var a: number[] = [1, 2, 3, 4, 5, ];/*[] bug*/ // YES []
|
||||
var i = a[1];/*[]*/
|
||||
i = i + i - i * i / i % i & i | i ^ i;/*+ - * / % & | ^*/
|
||||
|
@ -378,6 +435,8 @@ tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(261,1): error TS
|
|||
}
|
||||
|
||||
}
|
||||
~
|
||||
!!! error TS1128: Declaration or statement expected.
|
||||
|
||||
interface IF {
|
||||
Foo(): bool;
|
||||
|
@ -390,10 +449,6 @@ tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(261,1): error TS
|
|||
case d = () => { yield 0; };
|
||||
~~~~
|
||||
!!! error TS1068: Unexpected token. A constructor, method, accessor, or property was expected.
|
||||
~~~~~
|
||||
!!! error TS2304: Cannot find name 'yield'.
|
||||
~
|
||||
!!! error TS1005: ';' expected.
|
||||
public get Property() { return 0; }
|
||||
public Member() {
|
||||
return 0;
|
||||
|
@ -425,8 +480,6 @@ tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(261,1): error TS
|
|||
!!! error TS2304: Cannot find name 'val'.
|
||||
~
|
||||
!!! error TS1005: ',' expected.
|
||||
~~~~~~
|
||||
!!! error TS2304: Cannot find name 'number'.
|
||||
~
|
||||
!!! error TS1005: ';' expected.
|
||||
return val;
|
||||
|
@ -476,8 +529,6 @@ tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(261,1): error TS
|
|||
!!! error TS2304: Cannot find name 'value'.
|
||||
~
|
||||
!!! error TS1005: ',' expected.
|
||||
~~~~~~
|
||||
!!! error TS2304: Cannot find name 'string'.
|
||||
public Overloads( while : string, ...rest: string[]) { &
|
||||
~~~~~~
|
||||
!!! error TS1128: Declaration or statement expected.
|
||||
|
@ -487,20 +538,14 @@ tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(261,1): error TS
|
|||
!!! error TS1135: Argument expression expected.
|
||||
~
|
||||
!!! error TS1005: '(' expected.
|
||||
~~~~~~
|
||||
!!! error TS2304: Cannot find name 'string'.
|
||||
~~~
|
||||
!!! error TS1109: Expression expected.
|
||||
~~~~~~
|
||||
!!! error TS2304: Cannot find name 'string'.
|
||||
~
|
||||
!!! error TS1005: ';' expected.
|
||||
~
|
||||
!!! error TS1109: Expression expected.
|
||||
|
||||
public DefaultValue(value?: string = "Hello") { }
|
||||
~~~~~~
|
||||
!!! error TS2304: Cannot find name 'public'.
|
||||
~~~~~~~~~~~~
|
||||
!!! error TS1005: ';' expected.
|
||||
~~~~~~~~~~~~
|
||||
|
@ -510,7 +555,7 @@ tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(261,1): error TS
|
|||
~
|
||||
!!! error TS1109: Expression expected.
|
||||
~~~~~~
|
||||
!!! error TS2304: Cannot find name 'string'.
|
||||
!!! error TS2322: Type 'string' is not assignable to type 'boolean'.
|
||||
~
|
||||
!!! error TS1005: ';' expected.
|
||||
}
|
||||
|
|
|
@ -342,6 +342,7 @@ var TypeScriptAllInOne;
|
|||
})(TypeScriptAllInOne || (TypeScriptAllInOne = {}));
|
||||
var BasicFeatures = (function () {
|
||||
function BasicFeatures() {
|
||||
this.implements = 0;
|
||||
}
|
||||
/// <summary>
|
||||
/// Test various of variables. Including nullable,key world as variable,special format
|
||||
|
@ -374,120 +375,118 @@ var BasicFeatures = (function () {
|
|||
var declare = 0;
|
||||
var constructor = 0;
|
||||
var get = 0;
|
||||
var implements = 0;
|
||||
var interface = 0;
|
||||
var let = 0;
|
||||
var module = 0;
|
||||
var number = 0;
|
||||
var package = 0;
|
||||
var private = 0;
|
||||
var protected = 0;
|
||||
var public = 0;
|
||||
var set = 0;
|
||||
var static = 0;
|
||||
var string = 0 / >
|
||||
;
|
||||
var yield = 0;
|
||||
var sum3 = any + bool + declare + constructor + get + implements + interface + let + module + number + package + private + protected + public + set + static + string + yield;
|
||||
return 0;
|
||||
};
|
||||
/// <summary>
|
||||
/// Test different statements. Including if-else,swith,foreach,(un)checked,lock,using,try-catch-finally
|
||||
/// </summary>
|
||||
/// <param name="i"></param>
|
||||
/// <returns></returns>
|
||||
BasicFeatures.prototype.STATEMENTS = function (i) {
|
||||
var retVal = 0;
|
||||
if (i == 1)
|
||||
retVal = 1;
|
||||
else
|
||||
retVal = 0;
|
||||
switch (i) {
|
||||
case 2:
|
||||
retVal = 1;
|
||||
break;
|
||||
case 3:
|
||||
retVal = 1;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
for (var x in { x: 0, y: 1 }) {
|
||||
!;
|
||||
try {
|
||||
throw null;
|
||||
}
|
||||
catch (Exception) { }
|
||||
}
|
||||
try {
|
||||
}
|
||||
finally {
|
||||
try { }
|
||||
catch (Exception) { }
|
||||
}
|
||||
return retVal;
|
||||
};
|
||||
/// <summary>
|
||||
/// Test types in ts language. Including class,struct,interface,delegate,anonymous type
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
BasicFeatures.prototype.TYPES = function () {
|
||||
var retVal = 0;
|
||||
var c = new CLASS();
|
||||
var xx = c;
|
||||
retVal += ;
|
||||
try { }
|
||||
catch () { }
|
||||
Property;
|
||||
retVal += c.Member();
|
||||
retVal += xx.Foo() ? 0 : 1;
|
||||
//anonymous type
|
||||
var anony = { a: new CLASS() };
|
||||
retVal += anony.a.d();
|
||||
return retVal;
|
||||
};
|
||||
///// <summary>
|
||||
///// Test different operators
|
||||
///// </summary>
|
||||
///// <returns></returns>
|
||||
BasicFeatures.prototype.OPERATOR = function () {
|
||||
var a = [1, 2, 3, 4, 5,]; /*[] bug*/ // YES []
|
||||
var i = a[1]; /*[]*/
|
||||
i = i + i - i * i / i % i & i | i ^ i; /*+ - * / % & | ^*/
|
||||
var b = true && false || true ^ false; /*& | ^*/
|
||||
b = !b; /*!*/
|
||||
i = ~i; /*~i*/
|
||||
b = i < (i - 1) && (i + 1) > i; /*< && >*/
|
||||
var f = true ? 1 : 0; /*? :*/ // YES :
|
||||
i++; /*++*/
|
||||
i--; /*--*/
|
||||
b = true && false || true; /*&& ||*/
|
||||
i = i << 5; /*<<*/
|
||||
i = i >> 5; /*>>*/
|
||||
var j = i;
|
||||
b = i == j && i != j && i <= j && i >= j; /*= == && != <= >=*/
|
||||
i += 5.0; /*+=*/
|
||||
i -= i; /*-=*/
|
||||
i *= i; /**=*/
|
||||
if (i == 0)
|
||||
i++;
|
||||
i /= i; /*/=*/
|
||||
i %= i; /*%=*/
|
||||
i &= i; /*&=*/
|
||||
i |= i; /*|=*/
|
||||
i ^= i; /*^=*/
|
||||
i <<= i; /*<<=*/
|
||||
i >>= i; /*>>=*/
|
||||
if (i == 0 && != b && f == 1)
|
||||
return 0;
|
||||
else
|
||||
return 1;
|
||||
var ;
|
||||
};
|
||||
return BasicFeatures;
|
||||
})();
|
||||
var interface = 0;
|
||||
var let = 0;
|
||||
var module = 0;
|
||||
var number = 0;
|
||||
var package = 0;
|
||||
var private = 0;
|
||||
var protected = 0;
|
||||
var public = 0;
|
||||
var set = 0;
|
||||
var static = 0;
|
||||
var string = 0 / >
|
||||
;
|
||||
var yield = 0;
|
||||
var sum3 = any + bool + declare + constructor + get + implements + interface + let + module + number + package + private + protected + public + set + static + string + yield;
|
||||
return 0;
|
||||
/// <summary>
|
||||
/// Test different statements. Including if-else,swith,foreach,(un)checked,lock,using,try-catch-finally
|
||||
/// </summary>
|
||||
/// <param name="i"></param>
|
||||
/// <returns></returns>
|
||||
STATEMENTS(i, number);
|
||||
number;
|
||||
{
|
||||
var retVal = 0;
|
||||
if (i == 1)
|
||||
retVal = 1;
|
||||
else
|
||||
retVal = 0;
|
||||
switch (i) {
|
||||
case 2:
|
||||
retVal = 1;
|
||||
break;
|
||||
case 3:
|
||||
retVal = 1;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
for (var x in { x: 0, y: 1 }) {
|
||||
!;
|
||||
try {
|
||||
throw null;
|
||||
}
|
||||
catch (Exception) { }
|
||||
}
|
||||
try {
|
||||
}
|
||||
finally {
|
||||
try { }
|
||||
catch (Exception) { }
|
||||
}
|
||||
return retVal;
|
||||
}
|
||||
TYPES();
|
||||
number;
|
||||
{
|
||||
var retVal = 0;
|
||||
var c = new CLASS();
|
||||
var xx = c;
|
||||
retVal += ;
|
||||
try { }
|
||||
catch () { }
|
||||
Property;
|
||||
retVal += c.Member();
|
||||
retVal += xx.Foo() ? 0 : 1;
|
||||
//anonymous type
|
||||
var anony = { a: new CLASS() };
|
||||
retVal += anony.a.d();
|
||||
return retVal;
|
||||
}
|
||||
OPERATOR();
|
||||
number;
|
||||
{
|
||||
var a = [1, 2, 3, 4, 5,]; /*[] bug*/ // YES []
|
||||
var i = a[1]; /*[]*/
|
||||
i = i + i - i * i / i % i & i | i ^ i; /*+ - * / % & | ^*/
|
||||
var b = true && false || true ^ false; /*& | ^*/
|
||||
b = !b; /*!*/
|
||||
i = ~i; /*~i*/
|
||||
b = i < (i - 1) && (i + 1) > i; /*< && >*/
|
||||
var f = true ? 1 : 0; /*? :*/ // YES :
|
||||
i++; /*++*/
|
||||
i--; /*--*/
|
||||
b = true && false || true; /*&& ||*/
|
||||
i = i << 5; /*<<*/
|
||||
i = i >> 5; /*>>*/
|
||||
var j = i;
|
||||
b = i == j && i != j && i <= j && i >= j; /*= == && != <= >=*/
|
||||
i += 5.0; /*+=*/
|
||||
i -= i; /*-=*/
|
||||
i *= i; /**=*/
|
||||
if (i == 0)
|
||||
i++;
|
||||
i /= i; /*/=*/
|
||||
i %= i; /*%=*/
|
||||
i &= i; /*&=*/
|
||||
i |= i; /*|=*/
|
||||
i ^= i; /*^=*/
|
||||
i <<= i; /*<<=*/
|
||||
i >>= i; /*>>=*/
|
||||
if (i == 0 && != b && f == 1)
|
||||
return 0;
|
||||
else
|
||||
return 1;
|
||||
}
|
||||
var CLASS = (function () {
|
||||
function CLASS() {
|
||||
this.d = function () { yield; 0; };
|
||||
this.d = function () { ; };
|
||||
}
|
||||
Object.defineProperty(CLASS.prototype, "Property", {
|
||||
get: function () { return 0; },
|
||||
|
|
353
tests/baselines/reference/convertKeywordsYes.errors.txt
Normal file
353
tests/baselines/reference/convertKeywordsYes.errors.txt
Normal file
|
@ -0,0 +1,353 @@
|
|||
tests/cases/compiler/convertKeywordsYes.ts(293,11): error TS1005: '{' expected.
|
||||
tests/cases/compiler/convertKeywordsYes.ts(293,21): error TS1005: ';' expected.
|
||||
tests/cases/compiler/convertKeywordsYes.ts(294,11): error TS1005: '{' expected.
|
||||
tests/cases/compiler/convertKeywordsYes.ts(296,11): error TS1005: '{' expected.
|
||||
tests/cases/compiler/convertKeywordsYes.ts(296,19): error TS1005: ';' expected.
|
||||
tests/cases/compiler/convertKeywordsYes.ts(297,11): error TS1005: '{' expected.
|
||||
tests/cases/compiler/convertKeywordsYes.ts(297,19): error TS1005: ';' expected.
|
||||
tests/cases/compiler/convertKeywordsYes.ts(298,11): error TS1005: '{' expected.
|
||||
tests/cases/compiler/convertKeywordsYes.ts(298,21): error TS1005: ';' expected.
|
||||
tests/cases/compiler/convertKeywordsYes.ts(299,11): error TS1005: '{' expected.
|
||||
tests/cases/compiler/convertKeywordsYes.ts(299,18): error TS1005: ';' expected.
|
||||
tests/cases/compiler/convertKeywordsYes.ts(301,11): error TS1005: '{' expected.
|
||||
tests/cases/compiler/convertKeywordsYes.ts(301,18): error TS1005: ';' expected.
|
||||
tests/cases/compiler/convertKeywordsYes.ts(303,11): error TS1005: '{' expected.
|
||||
tests/cases/compiler/convertKeywordsYes.ts(303,17): error TS1005: ';' expected.
|
||||
|
||||
|
||||
==== tests/cases/compiler/convertKeywordsYes.ts (15 errors) ====
|
||||
// reserved ES5 future in strict mode
|
||||
|
||||
var constructor = 0;
|
||||
var any = 0;
|
||||
var boolean = 0;
|
||||
var implements = 0;
|
||||
var interface = 0;
|
||||
var let = 0;
|
||||
var module = 0;
|
||||
var number = 0;
|
||||
var package = 0;
|
||||
var private = 0;
|
||||
var protected = 0;
|
||||
var public = 0;
|
||||
var set = 0;
|
||||
var static = 0;
|
||||
var string = 0;
|
||||
var get = 0;
|
||||
var yield = 0;
|
||||
var declare = 0;
|
||||
|
||||
function bigGeneric<
|
||||
constructor,
|
||||
implements ,
|
||||
interface ,
|
||||
let,
|
||||
module ,
|
||||
package,
|
||||
private ,
|
||||
protected,
|
||||
public ,
|
||||
set ,
|
||||
static ,
|
||||
get ,
|
||||
yield,
|
||||
declare
|
||||
>(c: constructor,
|
||||
a: any,
|
||||
b2: boolean,
|
||||
i: implements ,
|
||||
i2: interface ,
|
||||
l: let,
|
||||
m: module ,
|
||||
n: number,
|
||||
p: package,
|
||||
p2: private ,
|
||||
p3: protected,
|
||||
p4: public ,
|
||||
s: set ,
|
||||
s2: static ,
|
||||
s3: string,
|
||||
g: get ,
|
||||
y: yield,
|
||||
d: declare ) { }
|
||||
|
||||
var bigObject = {
|
||||
constructor: 0,
|
||||
any: 0,
|
||||
boolean: 0,
|
||||
implements: 0,
|
||||
interface: 0,
|
||||
let: 0,
|
||||
module: 0,
|
||||
number: 0,
|
||||
package: 0,
|
||||
private: 0,
|
||||
protected: 0,
|
||||
public: 0,
|
||||
set: 0,
|
||||
static: 0,
|
||||
string: 0,
|
||||
get: 0,
|
||||
yield: 0,
|
||||
break: 0,
|
||||
case: 0,
|
||||
catch: 0,
|
||||
class: 0,
|
||||
continue: 0,
|
||||
const: 0,
|
||||
|
||||
debugger: 0,
|
||||
declare: 0,
|
||||
default: 0,
|
||||
delete: 0,
|
||||
do: 0,
|
||||
else: 0,
|
||||
enum: 0,
|
||||
export: 0,
|
||||
extends: 0,
|
||||
false: 0,
|
||||
finally: 0,
|
||||
for: 0,
|
||||
function: 0,
|
||||
if: 0,
|
||||
|
||||
import: 0,
|
||||
in: 0,
|
||||
instanceof: 0,
|
||||
new: 0,
|
||||
null: 0,
|
||||
return: 0,
|
||||
super: 0,
|
||||
switch: 0,
|
||||
this: 0,
|
||||
throw: 0,
|
||||
true: 0,
|
||||
try: 0,
|
||||
typeof: 0,
|
||||
var: 0,
|
||||
void: 0,
|
||||
while: 0,
|
||||
with: 0,
|
||||
};
|
||||
|
||||
interface bigInterface {
|
||||
constructor;
|
||||
any;
|
||||
boolean;
|
||||
implements;
|
||||
interface;
|
||||
let;
|
||||
module;
|
||||
number;
|
||||
package;
|
||||
private;
|
||||
protected;
|
||||
public;
|
||||
set;
|
||||
static;
|
||||
string;
|
||||
get;
|
||||
yield;
|
||||
break;
|
||||
case;
|
||||
catch;
|
||||
class;
|
||||
continue;
|
||||
const;
|
||||
|
||||
debugger;
|
||||
declare;
|
||||
default;
|
||||
delete;
|
||||
do;
|
||||
else;
|
||||
enum;
|
||||
export;
|
||||
extends;
|
||||
false;
|
||||
finally;
|
||||
for;
|
||||
function;
|
||||
if;
|
||||
|
||||
import;
|
||||
in;
|
||||
instanceof;
|
||||
new;
|
||||
null;
|
||||
return;
|
||||
super;
|
||||
switch;
|
||||
this;
|
||||
throw;
|
||||
true;
|
||||
try;
|
||||
typeof;
|
||||
var;
|
||||
void;
|
||||
while;
|
||||
with;
|
||||
}
|
||||
|
||||
class bigClass {
|
||||
public "constructor" = 0;
|
||||
public any = 0;
|
||||
public boolean = 0;
|
||||
public implements = 0;
|
||||
public interface = 0;
|
||||
public let = 0;
|
||||
public module = 0;
|
||||
public number = 0;
|
||||
public package = 0;
|
||||
public private = 0;
|
||||
public protected = 0;
|
||||
public public = 0;
|
||||
public set = 0;
|
||||
public static = 0;
|
||||
public string = 0;
|
||||
public get = 0;
|
||||
public yield = 0;
|
||||
public break = 0;
|
||||
public case = 0;
|
||||
public catch = 0;
|
||||
public class = 0;
|
||||
public continue = 0;
|
||||
public const = 0;
|
||||
public debugger = 0;
|
||||
public declare = 0;
|
||||
public default = 0;
|
||||
public delete = 0;
|
||||
public do = 0;
|
||||
public else = 0;
|
||||
public enum = 0;
|
||||
public export = 0;
|
||||
public extends = 0;
|
||||
public false = 0;
|
||||
public finally = 0;
|
||||
public for = 0;
|
||||
public function = 0;
|
||||
public if = 0;
|
||||
public import = 0;
|
||||
public in = 0;
|
||||
public instanceof = 0;
|
||||
public new = 0;
|
||||
public null = 0;
|
||||
public return = 0;
|
||||
public super = 0;
|
||||
public switch = 0;
|
||||
public this = 0;
|
||||
public throw = 0;
|
||||
public true = 0;
|
||||
public try = 0;
|
||||
public typeof = 0;
|
||||
public var = 0;
|
||||
public void = 0;
|
||||
public while = 0;
|
||||
public with = 0;
|
||||
}
|
||||
|
||||
enum bigEnum {
|
||||
constructor,
|
||||
any,
|
||||
boolean,
|
||||
implements,
|
||||
interface,
|
||||
let,
|
||||
module,
|
||||
number,
|
||||
package,
|
||||
private,
|
||||
protected,
|
||||
public,
|
||||
set,
|
||||
static,
|
||||
string,
|
||||
get,
|
||||
yield,
|
||||
break,
|
||||
case,
|
||||
catch,
|
||||
class,
|
||||
continue,
|
||||
const,
|
||||
|
||||
debugger,
|
||||
declare,
|
||||
default,
|
||||
delete,
|
||||
do,
|
||||
else,
|
||||
enum,
|
||||
export,
|
||||
extends,
|
||||
false,
|
||||
finally,
|
||||
for,
|
||||
function,
|
||||
if,
|
||||
|
||||
import,
|
||||
in,
|
||||
instanceof,
|
||||
new,
|
||||
null,
|
||||
return,
|
||||
super,
|
||||
switch,
|
||||
this,
|
||||
throw,
|
||||
true,
|
||||
try,
|
||||
typeof,
|
||||
var,
|
||||
void,
|
||||
while,
|
||||
with,
|
||||
}
|
||||
|
||||
module bigModule {
|
||||
class constructor { }
|
||||
class implements { }
|
||||
class interface { }
|
||||
~~~~~~~~~
|
||||
!!! error TS1005: '{' expected.
|
||||
~
|
||||
!!! error TS1005: ';' expected.
|
||||
class let { }
|
||||
~~~
|
||||
!!! error TS1005: '{' expected.
|
||||
class module { }
|
||||
class package { }
|
||||
~~~~~~~
|
||||
!!! error TS1005: '{' expected.
|
||||
~
|
||||
!!! error TS1005: ';' expected.
|
||||
class private { }
|
||||
~~~~~~~
|
||||
!!! error TS1005: '{' expected.
|
||||
~
|
||||
!!! error TS1005: ';' expected.
|
||||
class protected { }
|
||||
~~~~~~~~~
|
||||
!!! error TS1005: '{' expected.
|
||||
~
|
||||
!!! error TS1005: ';' expected.
|
||||
class public { }
|
||||
~~~~~~
|
||||
!!! error TS1005: '{' expected.
|
||||
~
|
||||
!!! error TS1005: ';' expected.
|
||||
class set { }
|
||||
class static { }
|
||||
~~~~~~
|
||||
!!! error TS1005: '{' expected.
|
||||
~
|
||||
!!! error TS1005: ';' expected.
|
||||
class get { }
|
||||
class yield { }
|
||||
~~~~~
|
||||
!!! error TS1005: '{' expected.
|
||||
~
|
||||
!!! error TS1005: ';' expected.
|
||||
class declare { }
|
||||
}
|
|
@ -505,66 +505,81 @@ var bigModule;
|
|||
}
|
||||
return constructor;
|
||||
})();
|
||||
var implements = (function () {
|
||||
function implements() {
|
||||
var default_1 = (function () {
|
||||
function default_1() {
|
||||
}
|
||||
return implements;
|
||||
return default_1;
|
||||
})();
|
||||
var interface = (function () {
|
||||
function interface() {
|
||||
var default_2 = (function () {
|
||||
function default_2() {
|
||||
}
|
||||
return interface;
|
||||
return default_2;
|
||||
})();
|
||||
var let = (function () {
|
||||
function let() {
|
||||
interface;
|
||||
{ }
|
||||
var default_3 = (function () {
|
||||
function default_3() {
|
||||
}
|
||||
return let;
|
||||
return default_3;
|
||||
})();
|
||||
var _a = void 0;
|
||||
var module = (function () {
|
||||
function module() {
|
||||
}
|
||||
return module;
|
||||
})();
|
||||
var package = (function () {
|
||||
function package() {
|
||||
var default_4 = (function () {
|
||||
function default_4() {
|
||||
}
|
||||
return package;
|
||||
return default_4;
|
||||
})();
|
||||
var private = (function () {
|
||||
function private() {
|
||||
package;
|
||||
{ }
|
||||
var default_5 = (function () {
|
||||
function default_5() {
|
||||
}
|
||||
return private;
|
||||
return default_5;
|
||||
})();
|
||||
var protected = (function () {
|
||||
function protected() {
|
||||
private;
|
||||
{ }
|
||||
var default_6 = (function () {
|
||||
function default_6() {
|
||||
}
|
||||
return protected;
|
||||
return default_6;
|
||||
})();
|
||||
var public = (function () {
|
||||
function public() {
|
||||
protected;
|
||||
{ }
|
||||
var default_7 = (function () {
|
||||
function default_7() {
|
||||
}
|
||||
return public;
|
||||
return default_7;
|
||||
})();
|
||||
public;
|
||||
{ }
|
||||
var set = (function () {
|
||||
function set() {
|
||||
}
|
||||
return set;
|
||||
})();
|
||||
var static = (function () {
|
||||
function static() {
|
||||
var default_8 = (function () {
|
||||
function default_8() {
|
||||
}
|
||||
return static;
|
||||
return default_8;
|
||||
})();
|
||||
static;
|
||||
{ }
|
||||
var get = (function () {
|
||||
function get() {
|
||||
}
|
||||
return get;
|
||||
})();
|
||||
var yield = (function () {
|
||||
function yield() {
|
||||
var default_9 = (function () {
|
||||
function default_9() {
|
||||
}
|
||||
return yield;
|
||||
return default_9;
|
||||
})();
|
||||
yield;
|
||||
{ }
|
||||
var declare = (function () {
|
||||
function declare() {
|
||||
}
|
||||
|
|
|
@ -1,879 +0,0 @@
|
|||
=== tests/cases/compiler/convertKeywordsYes.ts ===
|
||||
// reserved ES5 future in strict mode
|
||||
|
||||
var constructor = 0;
|
||||
>constructor : number
|
||||
|
||||
var any = 0;
|
||||
>any : number
|
||||
|
||||
var boolean = 0;
|
||||
>boolean : number
|
||||
|
||||
var implements = 0;
|
||||
>implements : number
|
||||
|
||||
var interface = 0;
|
||||
>interface : number
|
||||
|
||||
var let = 0;
|
||||
>let : number
|
||||
|
||||
var module = 0;
|
||||
>module : number
|
||||
|
||||
var number = 0;
|
||||
>number : number
|
||||
|
||||
var package = 0;
|
||||
>package : number
|
||||
|
||||
var private = 0;
|
||||
>private : number
|
||||
|
||||
var protected = 0;
|
||||
>protected : number
|
||||
|
||||
var public = 0;
|
||||
>public : number
|
||||
|
||||
var set = 0;
|
||||
>set : number
|
||||
|
||||
var static = 0;
|
||||
>static : number
|
||||
|
||||
var string = 0;
|
||||
>string : number
|
||||
|
||||
var get = 0;
|
||||
>get : number
|
||||
|
||||
var yield = 0;
|
||||
>yield : number
|
||||
|
||||
var declare = 0;
|
||||
>declare : number
|
||||
|
||||
function bigGeneric<
|
||||
>bigGeneric : <constructor, implements, interface, let, module, package, private, protected, public, set, static, get, yield, declare>(c: constructor, a: any, b2: boolean, i: implements, i2: interface, l: let, m: module, n: number, p: package, p2: private, p3: protected, p4: public, s: set, s2: static, s3: string, g: get, y: yield, d: declare) => void
|
||||
|
||||
constructor,
|
||||
>constructor : constructor
|
||||
|
||||
implements ,
|
||||
>implements : implements
|
||||
|
||||
interface ,
|
||||
>interface : interface
|
||||
|
||||
let,
|
||||
>let : let
|
||||
|
||||
module ,
|
||||
>module : module
|
||||
|
||||
package,
|
||||
>package : package
|
||||
|
||||
private ,
|
||||
>private : private
|
||||
|
||||
protected,
|
||||
>protected : protected
|
||||
|
||||
public ,
|
||||
>public : public
|
||||
|
||||
set ,
|
||||
>set : set
|
||||
|
||||
static ,
|
||||
>static : static
|
||||
|
||||
get ,
|
||||
>get : get
|
||||
|
||||
yield,
|
||||
>yield : yield
|
||||
|
||||
declare
|
||||
>declare : declare
|
||||
|
||||
>(c: constructor,
|
||||
>c : constructor
|
||||
>constructor : constructor
|
||||
|
||||
a: any,
|
||||
>a : any
|
||||
|
||||
b2: boolean,
|
||||
>b2 : boolean
|
||||
|
||||
i: implements ,
|
||||
>i : implements
|
||||
>implements : implements
|
||||
|
||||
i2: interface ,
|
||||
>i2 : interface
|
||||
>interface : interface
|
||||
|
||||
l: let,
|
||||
>l : let
|
||||
>let : let
|
||||
|
||||
m: module ,
|
||||
>m : module
|
||||
>module : module
|
||||
|
||||
n: number,
|
||||
>n : number
|
||||
|
||||
p: package,
|
||||
>p : package
|
||||
>package : package
|
||||
|
||||
p2: private ,
|
||||
>p2 : private
|
||||
>private : private
|
||||
|
||||
p3: protected,
|
||||
>p3 : protected
|
||||
>protected : protected
|
||||
|
||||
p4: public ,
|
||||
>p4 : public
|
||||
>public : public
|
||||
|
||||
s: set ,
|
||||
>s : set
|
||||
>set : set
|
||||
|
||||
s2: static ,
|
||||
>s2 : static
|
||||
>static : static
|
||||
|
||||
s3: string,
|
||||
>s3 : string
|
||||
|
||||
g: get ,
|
||||
>g : get
|
||||
>get : get
|
||||
|
||||
y: yield,
|
||||
>y : yield
|
||||
>yield : yield
|
||||
|
||||
d: declare ) { }
|
||||
>d : declare
|
||||
>declare : declare
|
||||
|
||||
var bigObject = {
|
||||
>bigObject : { constructor: number; any: number; boolean: number; implements: number; interface: number; let: number; module: number; number: number; package: number; private: number; protected: number; public: number; set: number; static: number; string: number; get: number; yield: number; break: number; case: number; catch: number; class: number; continue: number; const: number; debugger: number; declare: number; default: number; delete: number; do: number; else: number; enum: number; export: number; extends: number; false: number; finally: number; for: number; function: number; if: number; import: number; in: number; instanceof: number; new: number; null: number; return: number; super: number; switch: number; this: number; throw: number; true: number; try: number; typeof: number; var: number; void: number; while: number; with: number; }
|
||||
>{ constructor: 0, any: 0, boolean: 0, implements: 0, interface: 0, let: 0, module: 0, number: 0, package: 0, private: 0, protected: 0, public: 0, set: 0, static: 0, string: 0, get: 0, yield: 0, break: 0, case: 0, catch: 0, class: 0, continue: 0, const: 0, debugger: 0, declare: 0, default: 0, delete: 0, do: 0, else: 0, enum: 0, export: 0, extends: 0, false: 0, finally: 0, for: 0, function: 0, if: 0, import: 0, in: 0, instanceof: 0, new: 0, null: 0, return: 0, super: 0, switch: 0, this: 0, throw: 0, true: 0, try: 0, typeof: 0, var: 0, void: 0, while: 0, with: 0,} : { constructor: number; any: number; boolean: number; implements: number; interface: number; let: number; module: number; number: number; package: number; private: number; protected: number; public: number; set: number; static: number; string: number; get: number; yield: number; break: number; case: number; catch: number; class: number; continue: number; const: number; debugger: number; declare: number; default: number; delete: number; do: number; else: number; enum: number; export: number; extends: number; false: number; finally: number; for: number; function: number; if: number; import: number; in: number; instanceof: number; new: number; null: number; return: number; super: number; switch: number; this: number; throw: number; true: number; try: number; typeof: number; var: number; void: number; while: number; with: number; }
|
||||
|
||||
constructor: 0,
|
||||
>constructor : number
|
||||
|
||||
any: 0,
|
||||
>any : number
|
||||
|
||||
boolean: 0,
|
||||
>boolean : number
|
||||
|
||||
implements: 0,
|
||||
>implements : number
|
||||
|
||||
interface: 0,
|
||||
>interface : number
|
||||
|
||||
let: 0,
|
||||
>let : number
|
||||
|
||||
module: 0,
|
||||
>module : number
|
||||
|
||||
number: 0,
|
||||
>number : number
|
||||
|
||||
package: 0,
|
||||
>package : number
|
||||
|
||||
private: 0,
|
||||
>private : number
|
||||
|
||||
protected: 0,
|
||||
>protected : number
|
||||
|
||||
public: 0,
|
||||
>public : number
|
||||
|
||||
set: 0,
|
||||
>set : number
|
||||
|
||||
static: 0,
|
||||
>static : number
|
||||
|
||||
string: 0,
|
||||
>string : number
|
||||
|
||||
get: 0,
|
||||
>get : number
|
||||
|
||||
yield: 0,
|
||||
>yield : number
|
||||
|
||||
break: 0,
|
||||
>break : number
|
||||
|
||||
case: 0,
|
||||
>case : number
|
||||
|
||||
catch: 0,
|
||||
>catch : number
|
||||
|
||||
class: 0,
|
||||
>class : number
|
||||
|
||||
continue: 0,
|
||||
>continue : number
|
||||
|
||||
const: 0,
|
||||
>const : number
|
||||
|
||||
debugger: 0,
|
||||
>debugger : number
|
||||
|
||||
declare: 0,
|
||||
>declare : number
|
||||
|
||||
default: 0,
|
||||
>default : number
|
||||
|
||||
delete: 0,
|
||||
>delete : number
|
||||
|
||||
do: 0,
|
||||
>do : number
|
||||
|
||||
else: 0,
|
||||
>else : number
|
||||
|
||||
enum: 0,
|
||||
>enum : number
|
||||
|
||||
export: 0,
|
||||
>export : number
|
||||
|
||||
extends: 0,
|
||||
>extends : number
|
||||
|
||||
false: 0,
|
||||
>false : number
|
||||
|
||||
finally: 0,
|
||||
>finally : number
|
||||
|
||||
for: 0,
|
||||
>for : number
|
||||
|
||||
function: 0,
|
||||
>function : number
|
||||
|
||||
if: 0,
|
||||
>if : number
|
||||
|
||||
import: 0,
|
||||
>import : number
|
||||
|
||||
in: 0,
|
||||
>in : number
|
||||
|
||||
instanceof: 0,
|
||||
>instanceof : number
|
||||
|
||||
new: 0,
|
||||
>new : number
|
||||
|
||||
null: 0,
|
||||
>null : number
|
||||
|
||||
return: 0,
|
||||
>return : number
|
||||
|
||||
super: 0,
|
||||
>super : number
|
||||
|
||||
switch: 0,
|
||||
>switch : number
|
||||
|
||||
this: 0,
|
||||
>this : number
|
||||
|
||||
throw: 0,
|
||||
>throw : number
|
||||
|
||||
true: 0,
|
||||
>true : number
|
||||
|
||||
try: 0,
|
||||
>try : number
|
||||
|
||||
typeof: 0,
|
||||
>typeof : number
|
||||
|
||||
var: 0,
|
||||
>var : number
|
||||
|
||||
void: 0,
|
||||
>void : number
|
||||
|
||||
while: 0,
|
||||
>while : number
|
||||
|
||||
with: 0,
|
||||
>with : number
|
||||
|
||||
};
|
||||
|
||||
interface bigInterface {
|
||||
>bigInterface : bigInterface
|
||||
|
||||
constructor;
|
||||
>constructor : any
|
||||
|
||||
any;
|
||||
>any : any
|
||||
|
||||
boolean;
|
||||
>boolean : any
|
||||
|
||||
implements;
|
||||
>implements : any
|
||||
|
||||
interface;
|
||||
>interface : any
|
||||
|
||||
let;
|
||||
>let : any
|
||||
|
||||
module;
|
||||
>module : any
|
||||
|
||||
number;
|
||||
>number : any
|
||||
|
||||
package;
|
||||
>package : any
|
||||
|
||||
private;
|
||||
>private : any
|
||||
|
||||
protected;
|
||||
>protected : any
|
||||
|
||||
public;
|
||||
>public : any
|
||||
|
||||
set;
|
||||
>set : any
|
||||
|
||||
static;
|
||||
>static : any
|
||||
|
||||
string;
|
||||
>string : any
|
||||
|
||||
get;
|
||||
>get : any
|
||||
|
||||
yield;
|
||||
>yield : any
|
||||
|
||||
break;
|
||||
>break : any
|
||||
|
||||
case;
|
||||
>case : any
|
||||
|
||||
catch;
|
||||
>catch : any
|
||||
|
||||
class;
|
||||
>class : any
|
||||
|
||||
continue;
|
||||
>continue : any
|
||||
|
||||
const;
|
||||
>const : any
|
||||
|
||||
debugger;
|
||||
>debugger : any
|
||||
|
||||
declare;
|
||||
>declare : any
|
||||
|
||||
default;
|
||||
>default : any
|
||||
|
||||
delete;
|
||||
>delete : any
|
||||
|
||||
do;
|
||||
>do : any
|
||||
|
||||
else;
|
||||
>else : any
|
||||
|
||||
enum;
|
||||
>enum : any
|
||||
|
||||
export;
|
||||
>export : any
|
||||
|
||||
extends;
|
||||
>extends : any
|
||||
|
||||
false;
|
||||
>false : any
|
||||
|
||||
finally;
|
||||
>finally : any
|
||||
|
||||
for;
|
||||
>for : any
|
||||
|
||||
function;
|
||||
>function : any
|
||||
|
||||
if;
|
||||
>if : any
|
||||
|
||||
import;
|
||||
>import : any
|
||||
|
||||
in;
|
||||
>in : any
|
||||
|
||||
instanceof;
|
||||
>instanceof : any
|
||||
|
||||
new;
|
||||
>new : any
|
||||
|
||||
null;
|
||||
>null : any
|
||||
|
||||
return;
|
||||
>return : any
|
||||
|
||||
super;
|
||||
>super : any
|
||||
|
||||
switch;
|
||||
>switch : any
|
||||
|
||||
this;
|
||||
>this : any
|
||||
|
||||
throw;
|
||||
>throw : any
|
||||
|
||||
true;
|
||||
>true : any
|
||||
|
||||
try;
|
||||
>try : any
|
||||
|
||||
typeof;
|
||||
>typeof : any
|
||||
|
||||
var;
|
||||
>var : any
|
||||
|
||||
void;
|
||||
>void : any
|
||||
|
||||
while;
|
||||
>while : any
|
||||
|
||||
with;
|
||||
>with : any
|
||||
}
|
||||
|
||||
class bigClass {
|
||||
>bigClass : bigClass
|
||||
|
||||
public "constructor" = 0;
|
||||
public any = 0;
|
||||
>any : number
|
||||
|
||||
public boolean = 0;
|
||||
>boolean : number
|
||||
|
||||
public implements = 0;
|
||||
>implements : number
|
||||
|
||||
public interface = 0;
|
||||
>interface : number
|
||||
|
||||
public let = 0;
|
||||
>let : number
|
||||
|
||||
public module = 0;
|
||||
>module : number
|
||||
|
||||
public number = 0;
|
||||
>number : number
|
||||
|
||||
public package = 0;
|
||||
>package : number
|
||||
|
||||
public private = 0;
|
||||
>private : number
|
||||
|
||||
public protected = 0;
|
||||
>protected : number
|
||||
|
||||
public public = 0;
|
||||
>public : number
|
||||
|
||||
public set = 0;
|
||||
>set : number
|
||||
|
||||
public static = 0;
|
||||
>static : number
|
||||
|
||||
public string = 0;
|
||||
>string : number
|
||||
|
||||
public get = 0;
|
||||
>get : number
|
||||
|
||||
public yield = 0;
|
||||
>yield : number
|
||||
|
||||
public break = 0;
|
||||
>break : number
|
||||
|
||||
public case = 0;
|
||||
>case : number
|
||||
|
||||
public catch = 0;
|
||||
>catch : number
|
||||
|
||||
public class = 0;
|
||||
>class : number
|
||||
|
||||
public continue = 0;
|
||||
>continue : number
|
||||
|
||||
public const = 0;
|
||||
>const : number
|
||||
|
||||
public debugger = 0;
|
||||
>debugger : number
|
||||
|
||||
public declare = 0;
|
||||
>declare : number
|
||||
|
||||
public default = 0;
|
||||
>default : number
|
||||
|
||||
public delete = 0;
|
||||
>delete : number
|
||||
|
||||
public do = 0;
|
||||
>do : number
|
||||
|
||||
public else = 0;
|
||||
>else : number
|
||||
|
||||
public enum = 0;
|
||||
>enum : number
|
||||
|
||||
public export = 0;
|
||||
>export : number
|
||||
|
||||
public extends = 0;
|
||||
>extends : number
|
||||
|
||||
public false = 0;
|
||||
>false : number
|
||||
|
||||
public finally = 0;
|
||||
>finally : number
|
||||
|
||||
public for = 0;
|
||||
>for : number
|
||||
|
||||
public function = 0;
|
||||
>function : number
|
||||
|
||||
public if = 0;
|
||||
>if : number
|
||||
|
||||
public import = 0;
|
||||
>import : number
|
||||
|
||||
public in = 0;
|
||||
>in : number
|
||||
|
||||
public instanceof = 0;
|
||||
>instanceof : number
|
||||
|
||||
public new = 0;
|
||||
>new : number
|
||||
|
||||
public null = 0;
|
||||
>null : number
|
||||
|
||||
public return = 0;
|
||||
>return : number
|
||||
|
||||
public super = 0;
|
||||
>super : number
|
||||
|
||||
public switch = 0;
|
||||
>switch : number
|
||||
|
||||
public this = 0;
|
||||
>this : number
|
||||
|
||||
public throw = 0;
|
||||
>throw : number
|
||||
|
||||
public true = 0;
|
||||
>true : number
|
||||
|
||||
public try = 0;
|
||||
>try : number
|
||||
|
||||
public typeof = 0;
|
||||
>typeof : number
|
||||
|
||||
public var = 0;
|
||||
>var : number
|
||||
|
||||
public void = 0;
|
||||
>void : number
|
||||
|
||||
public while = 0;
|
||||
>while : number
|
||||
|
||||
public with = 0;
|
||||
>with : number
|
||||
}
|
||||
|
||||
enum bigEnum {
|
||||
>bigEnum : bigEnum
|
||||
|
||||
constructor,
|
||||
>constructor : bigEnum
|
||||
|
||||
any,
|
||||
>any : bigEnum
|
||||
|
||||
boolean,
|
||||
>boolean : bigEnum
|
||||
|
||||
implements,
|
||||
>implements : bigEnum
|
||||
|
||||
interface,
|
||||
>interface : bigEnum
|
||||
|
||||
let,
|
||||
>let : bigEnum
|
||||
|
||||
module,
|
||||
>module : bigEnum
|
||||
|
||||
number,
|
||||
>number : bigEnum
|
||||
|
||||
package,
|
||||
>package : bigEnum
|
||||
|
||||
private,
|
||||
>private : bigEnum
|
||||
|
||||
protected,
|
||||
>protected : bigEnum
|
||||
|
||||
public,
|
||||
>public : bigEnum
|
||||
|
||||
set,
|
||||
>set : bigEnum
|
||||
|
||||
static,
|
||||
>static : bigEnum
|
||||
|
||||
string,
|
||||
>string : bigEnum
|
||||
|
||||
get,
|
||||
>get : bigEnum
|
||||
|
||||
yield,
|
||||
>yield : bigEnum
|
||||
|
||||
break,
|
||||
>break : bigEnum
|
||||
|
||||
case,
|
||||
>case : bigEnum
|
||||
|
||||
catch,
|
||||
>catch : bigEnum
|
||||
|
||||
class,
|
||||
>class : bigEnum
|
||||
|
||||
continue,
|
||||
>continue : bigEnum
|
||||
|
||||
const,
|
||||
>const : bigEnum
|
||||
|
||||
debugger,
|
||||
>debugger : bigEnum
|
||||
|
||||
declare,
|
||||
>declare : bigEnum
|
||||
|
||||
default,
|
||||
>default : bigEnum
|
||||
|
||||
delete,
|
||||
>delete : bigEnum
|
||||
|
||||
do,
|
||||
>do : bigEnum
|
||||
|
||||
else,
|
||||
>else : bigEnum
|
||||
|
||||
enum,
|
||||
>enum : bigEnum
|
||||
|
||||
export,
|
||||
>export : bigEnum
|
||||
|
||||
extends,
|
||||
>extends : bigEnum
|
||||
|
||||
false,
|
||||
>false : bigEnum
|
||||
|
||||
finally,
|
||||
>finally : bigEnum
|
||||
|
||||
for,
|
||||
>for : bigEnum
|
||||
|
||||
function,
|
||||
>function : bigEnum
|
||||
|
||||
if,
|
||||
>if : bigEnum
|
||||
|
||||
import,
|
||||
>import : bigEnum
|
||||
|
||||
in,
|
||||
>in : bigEnum
|
||||
|
||||
instanceof,
|
||||
>instanceof : bigEnum
|
||||
|
||||
new,
|
||||
>new : bigEnum
|
||||
|
||||
null,
|
||||
>null : bigEnum
|
||||
|
||||
return,
|
||||
>return : bigEnum
|
||||
|
||||
super,
|
||||
>super : bigEnum
|
||||
|
||||
switch,
|
||||
>switch : bigEnum
|
||||
|
||||
this,
|
||||
>this : bigEnum
|
||||
|
||||
throw,
|
||||
>throw : bigEnum
|
||||
|
||||
true,
|
||||
>true : bigEnum
|
||||
|
||||
try,
|
||||
>try : bigEnum
|
||||
|
||||
typeof,
|
||||
>typeof : bigEnum
|
||||
|
||||
var,
|
||||
>var : bigEnum
|
||||
|
||||
void,
|
||||
>void : bigEnum
|
||||
|
||||
while,
|
||||
>while : bigEnum
|
||||
|
||||
with,
|
||||
>with : bigEnum
|
||||
}
|
||||
|
||||
module bigModule {
|
||||
>bigModule : typeof bigModule
|
||||
|
||||
class constructor { }
|
||||
>constructor : constructor
|
||||
|
||||
class implements { }
|
||||
>implements : implements
|
||||
|
||||
class interface { }
|
||||
>interface : interface
|
||||
|
||||
class let { }
|
||||
>let : let
|
||||
|
||||
class module { }
|
||||
>module : module
|
||||
|
||||
class package { }
|
||||
>package : package
|
||||
|
||||
class private { }
|
||||
>private : private
|
||||
|
||||
class protected { }
|
||||
>protected : protected
|
||||
|
||||
class public { }
|
||||
>public : public
|
||||
|
||||
class set { }
|
||||
>set : set
|
||||
|
||||
class static { }
|
||||
>static : static
|
||||
|
||||
class get { }
|
||||
>get : get
|
||||
|
||||
class yield { }
|
||||
>yield : yield
|
||||
|
||||
class declare { }
|
||||
>declare : declare
|
||||
}
|
|
@ -1,35 +1,11 @@
|
|||
tests/cases/conformance/decorators/class/accessor/decoratorOnClassAccessor3.ts(4,5): error TS1068: Unexpected token. A constructor, method, accessor, or property was expected.
|
||||
tests/cases/conformance/decorators/class/accessor/decoratorOnClassAccessor3.ts(4,5): error TS2304: Cannot find name 'public'.
|
||||
tests/cases/conformance/decorators/class/accessor/decoratorOnClassAccessor3.ts(4,12): error TS1005: ';' expected.
|
||||
tests/cases/conformance/decorators/class/accessor/decoratorOnClassAccessor3.ts(4,16): error TS1146: Declaration expected.
|
||||
tests/cases/conformance/decorators/class/accessor/decoratorOnClassAccessor3.ts(4,17): error TS2304: Cannot find name 'get'.
|
||||
tests/cases/conformance/decorators/class/accessor/decoratorOnClassAccessor3.ts(4,21): error TS1005: ';' expected.
|
||||
tests/cases/conformance/decorators/class/accessor/decoratorOnClassAccessor3.ts(4,21): error TS2304: Cannot find name 'accessor'.
|
||||
tests/cases/conformance/decorators/class/accessor/decoratorOnClassAccessor3.ts(4,32): error TS1005: ';' expected.
|
||||
tests/cases/conformance/decorators/class/accessor/decoratorOnClassAccessor3.ts(5,1): error TS1128: Declaration or statement expected.
|
||||
|
||||
|
||||
==== tests/cases/conformance/decorators/class/accessor/decoratorOnClassAccessor3.ts (9 errors) ====
|
||||
==== tests/cases/conformance/decorators/class/accessor/decoratorOnClassAccessor3.ts (1 errors) ====
|
||||
declare function dec<T>(target: any, propertyKey: string, descriptor: TypedPropertyDescriptor<T>): TypedPropertyDescriptor<T>;
|
||||
|
||||
class C {
|
||||
public @dec get accessor() { return 1; }
|
||||
~~~~~~
|
||||
!!! error TS1068: Unexpected token. A constructor, method, accessor, or property was expected.
|
||||
~~~~~~
|
||||
!!! error TS2304: Cannot find name 'public'.
|
||||
~
|
||||
!!! error TS1005: ';' expected.
|
||||
|
||||
!!! error TS1146: Declaration expected.
|
||||
~~~
|
||||
!!! error TS2304: Cannot find name 'get'.
|
||||
~~~~~~~~
|
||||
!!! error TS1005: ';' expected.
|
||||
~~~~~~~~
|
||||
!!! error TS2304: Cannot find name 'accessor'.
|
||||
~
|
||||
!!! error TS1005: ';' expected.
|
||||
}
|
||||
~
|
||||
!!! error TS1128: Declaration or statement expected.
|
||||
}
|
|
@ -6,14 +6,27 @@ class C {
|
|||
}
|
||||
|
||||
//// [decoratorOnClassAccessor3.js]
|
||||
var __decorate = this.__decorate || function (decorators, target, key, value) {
|
||||
var kind = typeof (arguments.length == 2 ? value = target : value);
|
||||
for (var i = decorators.length - 1; i >= 0; --i) {
|
||||
var decorator = decorators[i];
|
||||
switch (kind) {
|
||||
case "function": value = decorator(value) || value; break;
|
||||
case "number": decorator(target, key, value); break;
|
||||
case "undefined": decorator(target, key); break;
|
||||
case "object": value = decorator(target, key, value) || value; break;
|
||||
}
|
||||
}
|
||||
return value;
|
||||
};
|
||||
var C = (function () {
|
||||
function C() {
|
||||
}
|
||||
Object.defineProperty(C.prototype, "accessor", {
|
||||
get: function () { return 1; },
|
||||
enumerable: true,
|
||||
configurable: true
|
||||
});
|
||||
Object.defineProperty(C.prototype, "accessor", __decorate([dec], C.prototype, "accessor", Object.getOwnPropertyDescriptor(C.prototype, "accessor")));
|
||||
return C;
|
||||
})();
|
||||
public;
|
||||
get;
|
||||
accessor();
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
|
|
@ -1,44 +1,11 @@
|
|||
tests/cases/conformance/decorators/class/accessor/decoratorOnClassAccessor6.ts(4,5): error TS1068: Unexpected token. A constructor, method, accessor, or property was expected.
|
||||
tests/cases/conformance/decorators/class/accessor/decoratorOnClassAccessor6.ts(4,5): error TS2304: Cannot find name 'public'.
|
||||
tests/cases/conformance/decorators/class/accessor/decoratorOnClassAccessor6.ts(4,12): error TS1005: ';' expected.
|
||||
tests/cases/conformance/decorators/class/accessor/decoratorOnClassAccessor6.ts(4,16): error TS1146: Declaration expected.
|
||||
tests/cases/conformance/decorators/class/accessor/decoratorOnClassAccessor6.ts(4,17): error TS2304: Cannot find name 'set'.
|
||||
tests/cases/conformance/decorators/class/accessor/decoratorOnClassAccessor6.ts(4,21): error TS1005: ';' expected.
|
||||
tests/cases/conformance/decorators/class/accessor/decoratorOnClassAccessor6.ts(4,21): error TS2304: Cannot find name 'accessor'.
|
||||
tests/cases/conformance/decorators/class/accessor/decoratorOnClassAccessor6.ts(4,30): error TS2304: Cannot find name 'value'.
|
||||
tests/cases/conformance/decorators/class/accessor/decoratorOnClassAccessor6.ts(4,35): error TS1005: ',' expected.
|
||||
tests/cases/conformance/decorators/class/accessor/decoratorOnClassAccessor6.ts(4,37): error TS2304: Cannot find name 'number'.
|
||||
tests/cases/conformance/decorators/class/accessor/decoratorOnClassAccessor6.ts(4,45): error TS1005: ';' expected.
|
||||
tests/cases/conformance/decorators/class/accessor/decoratorOnClassAccessor6.ts(5,1): error TS1128: Declaration or statement expected.
|
||||
|
||||
|
||||
==== tests/cases/conformance/decorators/class/accessor/decoratorOnClassAccessor6.ts (12 errors) ====
|
||||
==== tests/cases/conformance/decorators/class/accessor/decoratorOnClassAccessor6.ts (1 errors) ====
|
||||
declare function dec<T>(target: any, propertyKey: string, descriptor: TypedPropertyDescriptor<T>): TypedPropertyDescriptor<T>;
|
||||
|
||||
class C {
|
||||
public @dec set accessor(value: number) { }
|
||||
~~~~~~
|
||||
!!! error TS1068: Unexpected token. A constructor, method, accessor, or property was expected.
|
||||
~~~~~~
|
||||
!!! error TS2304: Cannot find name 'public'.
|
||||
~
|
||||
!!! error TS1005: ';' expected.
|
||||
|
||||
!!! error TS1146: Declaration expected.
|
||||
~~~
|
||||
!!! error TS2304: Cannot find name 'set'.
|
||||
~~~~~~~~
|
||||
!!! error TS1005: ';' expected.
|
||||
~~~~~~~~
|
||||
!!! error TS2304: Cannot find name 'accessor'.
|
||||
~~~~~
|
||||
!!! error TS2304: Cannot find name 'value'.
|
||||
~
|
||||
!!! error TS1005: ',' expected.
|
||||
~~~~~~
|
||||
!!! error TS2304: Cannot find name 'number'.
|
||||
~
|
||||
!!! error TS1005: ';' expected.
|
||||
}
|
||||
~
|
||||
!!! error TS1128: Declaration or statement expected.
|
||||
}
|
|
@ -6,12 +6,27 @@ class C {
|
|||
}
|
||||
|
||||
//// [decoratorOnClassAccessor6.js]
|
||||
var __decorate = this.__decorate || function (decorators, target, key, value) {
|
||||
var kind = typeof (arguments.length == 2 ? value = target : value);
|
||||
for (var i = decorators.length - 1; i >= 0; --i) {
|
||||
var decorator = decorators[i];
|
||||
switch (kind) {
|
||||
case "function": value = decorator(value) || value; break;
|
||||
case "number": decorator(target, key, value); break;
|
||||
case "undefined": decorator(target, key); break;
|
||||
case "object": value = decorator(target, key, value) || value; break;
|
||||
}
|
||||
}
|
||||
return value;
|
||||
};
|
||||
var C = (function () {
|
||||
function C() {
|
||||
}
|
||||
Object.defineProperty(C.prototype, "accessor", {
|
||||
set: function (value) { },
|
||||
enumerable: true,
|
||||
configurable: true
|
||||
});
|
||||
Object.defineProperty(C.prototype, "accessor", __decorate([dec], C.prototype, "accessor", Object.getOwnPropertyDescriptor(C.prototype, "accessor")));
|
||||
return C;
|
||||
})();
|
||||
public;
|
||||
set;
|
||||
accessor(value, number);
|
||||
{ }
|
||||
|
|
|
@ -1,11 +1,14 @@
|
|||
tests/cases/conformance/decorators/class/constructor/parameter/decoratorOnClassConstructorParameter4.ts(4,17): error TS1003: Identifier expected.
|
||||
tests/cases/conformance/decorators/class/constructor/parameter/decoratorOnClassConstructorParameter4.ts(4,24): error TS1005: ',' expected.
|
||||
|
||||
|
||||
==== tests/cases/conformance/decorators/class/constructor/parameter/decoratorOnClassConstructorParameter4.ts (1 errors) ====
|
||||
==== tests/cases/conformance/decorators/class/constructor/parameter/decoratorOnClassConstructorParameter4.ts (2 errors) ====
|
||||
declare function dec(target: Function, propertyKey: string | symbol, parameterIndex: number): void;
|
||||
|
||||
class C {
|
||||
constructor(public @dec p: number) {}
|
||||
~~~~~~
|
||||
!!! error TS1003: Identifier expected.
|
||||
~
|
||||
!!! error TS1005: ',' expected.
|
||||
}
|
|
@ -20,7 +20,7 @@ var __decorate = this.__decorate || function (decorators, target, key, value) {
|
|||
return value;
|
||||
};
|
||||
var C = (function () {
|
||||
function C(public, p) {
|
||||
function C(, p) {
|
||||
}
|
||||
__decorate([dec], C, void 0, 1);
|
||||
return C;
|
||||
|
|
|
@ -1,29 +1,11 @@
|
|||
tests/cases/conformance/decorators/class/method/decoratorOnClassMethod3.ts(4,5): error TS1068: Unexpected token. A constructor, method, accessor, or property was expected.
|
||||
tests/cases/conformance/decorators/class/method/decoratorOnClassMethod3.ts(4,5): error TS2304: Cannot find name 'public'.
|
||||
tests/cases/conformance/decorators/class/method/decoratorOnClassMethod3.ts(4,12): error TS1005: ';' expected.
|
||||
tests/cases/conformance/decorators/class/method/decoratorOnClassMethod3.ts(4,16): error TS1146: Declaration expected.
|
||||
tests/cases/conformance/decorators/class/method/decoratorOnClassMethod3.ts(4,17): error TS2304: Cannot find name 'method'.
|
||||
tests/cases/conformance/decorators/class/method/decoratorOnClassMethod3.ts(4,26): error TS1005: ';' expected.
|
||||
tests/cases/conformance/decorators/class/method/decoratorOnClassMethod3.ts(5,1): error TS1128: Declaration or statement expected.
|
||||
|
||||
|
||||
==== tests/cases/conformance/decorators/class/method/decoratorOnClassMethod3.ts (7 errors) ====
|
||||
==== tests/cases/conformance/decorators/class/method/decoratorOnClassMethod3.ts (1 errors) ====
|
||||
declare function dec<T>(target: any, propertyKey: string, descriptor: TypedPropertyDescriptor<T>): TypedPropertyDescriptor<T>;
|
||||
|
||||
class C {
|
||||
public @dec method() {}
|
||||
~~~~~~
|
||||
!!! error TS1068: Unexpected token. A constructor, method, accessor, or property was expected.
|
||||
~~~~~~
|
||||
!!! error TS2304: Cannot find name 'public'.
|
||||
~
|
||||
!!! error TS1005: ';' expected.
|
||||
|
||||
!!! error TS1146: Declaration expected.
|
||||
~~~~~~
|
||||
!!! error TS2304: Cannot find name 'method'.
|
||||
~
|
||||
!!! error TS1005: ';' expected.
|
||||
}
|
||||
~
|
||||
!!! error TS1128: Declaration or statement expected.
|
||||
}
|
|
@ -6,11 +6,23 @@ class C {
|
|||
}
|
||||
|
||||
//// [decoratorOnClassMethod3.js]
|
||||
var __decorate = this.__decorate || function (decorators, target, key, value) {
|
||||
var kind = typeof (arguments.length == 2 ? value = target : value);
|
||||
for (var i = decorators.length - 1; i >= 0; --i) {
|
||||
var decorator = decorators[i];
|
||||
switch (kind) {
|
||||
case "function": value = decorator(value) || value; break;
|
||||
case "number": decorator(target, key, value); break;
|
||||
case "undefined": decorator(target, key); break;
|
||||
case "object": value = decorator(target, key, value) || value; break;
|
||||
}
|
||||
}
|
||||
return value;
|
||||
};
|
||||
var C = (function () {
|
||||
function C() {
|
||||
}
|
||||
C.prototype.method = function () { };
|
||||
Object.defineProperty(C.prototype, "method", __decorate([dec], C.prototype, "method", Object.getOwnPropertyDescriptor(C.prototype, "method")));
|
||||
return C;
|
||||
})();
|
||||
public;
|
||||
method();
|
||||
{ }
|
||||
|
|
|
@ -1,26 +1,11 @@
|
|||
tests/cases/conformance/decorators/class/property/decoratorOnClassProperty3.ts(4,5): error TS1068: Unexpected token. A constructor, method, accessor, or property was expected.
|
||||
tests/cases/conformance/decorators/class/property/decoratorOnClassProperty3.ts(4,5): error TS2304: Cannot find name 'public'.
|
||||
tests/cases/conformance/decorators/class/property/decoratorOnClassProperty3.ts(4,12): error TS1005: ';' expected.
|
||||
tests/cases/conformance/decorators/class/property/decoratorOnClassProperty3.ts(4,16): error TS1146: Declaration expected.
|
||||
tests/cases/conformance/decorators/class/property/decoratorOnClassProperty3.ts(4,17): error TS2304: Cannot find name 'prop'.
|
||||
tests/cases/conformance/decorators/class/property/decoratorOnClassProperty3.ts(5,1): error TS1128: Declaration or statement expected.
|
||||
|
||||
|
||||
==== tests/cases/conformance/decorators/class/property/decoratorOnClassProperty3.ts (6 errors) ====
|
||||
==== tests/cases/conformance/decorators/class/property/decoratorOnClassProperty3.ts (1 errors) ====
|
||||
declare function dec(target: any, propertyKey: string): void;
|
||||
|
||||
class C {
|
||||
public @dec prop;
|
||||
~~~~~~
|
||||
!!! error TS1068: Unexpected token. A constructor, method, accessor, or property was expected.
|
||||
~~~~~~
|
||||
!!! error TS2304: Cannot find name 'public'.
|
||||
~
|
||||
!!! error TS1005: ';' expected.
|
||||
|
||||
!!! error TS1146: Declaration expected.
|
||||
~~~~
|
||||
!!! error TS2304: Cannot find name 'prop'.
|
||||
}
|
||||
~
|
||||
!!! error TS1128: Declaration or statement expected.
|
||||
}
|
|
@ -6,10 +6,22 @@ class C {
|
|||
}
|
||||
|
||||
//// [decoratorOnClassProperty3.js]
|
||||
var __decorate = this.__decorate || function (decorators, target, key, value) {
|
||||
var kind = typeof (arguments.length == 2 ? value = target : value);
|
||||
for (var i = decorators.length - 1; i >= 0; --i) {
|
||||
var decorator = decorators[i];
|
||||
switch (kind) {
|
||||
case "function": value = decorator(value) || value; break;
|
||||
case "number": decorator(target, key, value); break;
|
||||
case "undefined": decorator(target, key); break;
|
||||
case "object": value = decorator(target, key, value) || value; break;
|
||||
}
|
||||
}
|
||||
return value;
|
||||
};
|
||||
var C = (function () {
|
||||
function C() {
|
||||
}
|
||||
__decorate([dec], C.prototype, "prop");
|
||||
return C;
|
||||
})();
|
||||
public;
|
||||
prop;
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
tests/cases/conformance/es6/classDeclaration/parseClassDeclarationInStrictModeByDefaultInES6.ts(4,16): error TS1100: Invalid use of 'arguments' in strict mode.
|
||||
tests/cases/conformance/es6/classDeclaration/parseClassDeclarationInStrictModeByDefaultInES6.ts(5,17): error TS1100: Invalid use of 'eval' in strict mode.
|
||||
tests/cases/conformance/es6/classDeclaration/parseClassDeclarationInStrictModeByDefaultInES6.ts(6,9): error TS1100: Invalid use of 'arguments' in strict mode.
|
||||
tests/cases/conformance/es6/classDeclaration/parseClassDeclarationInStrictModeByDefaultInES6.ts(4,16): error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
tests/cases/conformance/es6/classDeclaration/parseClassDeclarationInStrictModeByDefaultInES6.ts(5,17): error TS1210: Invalid use of 'eval'. Class definitions are automatically in strict mode.
|
||||
tests/cases/conformance/es6/classDeclaration/parseClassDeclarationInStrictModeByDefaultInES6.ts(6,9): error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
tests/cases/conformance/es6/classDeclaration/parseClassDeclarationInStrictModeByDefaultInES6.ts(6,9): error TS2322: Type 'string' is not assignable to type 'IArguments'.
|
||||
Property 'callee' is missing in type 'String'.
|
||||
|
||||
|
@ -11,13 +11,13 @@ tests/cases/conformance/es6/classDeclaration/parseClassDeclarationInStrictModeBy
|
|||
public implements() { }
|
||||
public foo(arguments: any) { }
|
||||
~~~~~~~~~
|
||||
!!! error TS1100: Invalid use of 'arguments' in strict mode.
|
||||
!!! error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
private bar(eval:any) {
|
||||
~~~~
|
||||
!!! error TS1100: Invalid use of 'eval' in strict mode.
|
||||
!!! error TS1210: Invalid use of 'eval'. Class definitions are automatically in strict mode.
|
||||
arguments = "hello";
|
||||
~~~~~~~~~
|
||||
!!! error TS1100: Invalid use of 'arguments' in strict mode.
|
||||
!!! error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
~~~~~~~~~
|
||||
!!! error TS2322: Type 'string' is not assignable to type 'IArguments'.
|
||||
!!! error TS2322: Property 'callee' is missing in type 'String'.
|
||||
|
|
|
@ -1,10 +1,13 @@
|
|||
tests/cases/conformance/parser/ecmascript5/RegressionTests/parser509668.ts(3,16): error TS1003: Identifier expected.
|
||||
tests/cases/conformance/parser/ecmascript5/RegressionTests/parser509668.ts(3,23): error TS1005: ',' expected.
|
||||
|
||||
|
||||
==== tests/cases/conformance/parser/ecmascript5/RegressionTests/parser509668.ts (1 errors) ====
|
||||
==== tests/cases/conformance/parser/ecmascript5/RegressionTests/parser509668.ts (2 errors) ====
|
||||
class Foo3 {
|
||||
// Doesn't work, but should
|
||||
constructor (public ...args: string[]) { }
|
||||
~~~~~~
|
||||
!!! error TS1003: Identifier expected.
|
||||
~~~
|
||||
!!! error TS1005: ',' expected.
|
||||
}
|
|
@ -7,7 +7,7 @@ class Foo3 {
|
|||
//// [parser509668.js]
|
||||
var Foo3 = (function () {
|
||||
// Doesn't work, but should
|
||||
function Foo3(public) {
|
||||
function Foo3() {
|
||||
var args = [];
|
||||
for (var _i = 1; _i < arguments.length; _i++) {
|
||||
args[_i - 1] = arguments[_i];
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
tests/cases/conformance/parser/ecmascript5/RegressionTests/parser553699.ts(3,21): error TS2304: Cannot find name 'public'.
|
||||
tests/cases/conformance/parser/ecmascript5/RegressionTests/parser553699.ts(3,21): error TS1110: Type expected.
|
||||
|
||||
|
||||
==== tests/cases/conformance/parser/ecmascript5/RegressionTests/parser553699.ts (1 errors) ====
|
||||
|
@ -6,7 +6,7 @@ tests/cases/conformance/parser/ecmascript5/RegressionTests/parser553699.ts(3,21)
|
|||
constructor() { }
|
||||
public banana (x: public) { }
|
||||
~~~~~~
|
||||
!!! error TS2304: Cannot find name 'public'.
|
||||
!!! error TS1110: Type expected.
|
||||
}
|
||||
|
||||
class Bar {
|
||||
|
|
|
@ -12,7 +12,7 @@ class Bar {
|
|||
var Foo = (function () {
|
||||
function Foo() {
|
||||
}
|
||||
Foo.prototype.banana = function (x) { };
|
||||
Foo.prototype.banana = function (x, ) { };
|
||||
return Foo;
|
||||
})();
|
||||
var Bar = (function () {
|
||||
|
|
10
tests/baselines/reference/parser642331.errors.txt
Normal file
10
tests/baselines/reference/parser642331.errors.txt
Normal file
|
@ -0,0 +1,10 @@
|
|||
tests/cases/conformance/parser/ecmascript5/RegressionTests/parser642331.ts(2,18): error TS1003: Identifier expected.
|
||||
|
||||
|
||||
==== tests/cases/conformance/parser/ecmascript5/RegressionTests/parser642331.ts (1 errors) ====
|
||||
class test {
|
||||
constructor (static) { }
|
||||
~~~~~~
|
||||
!!! error TS1003: Identifier expected.
|
||||
}
|
||||
|
|
@ -6,7 +6,7 @@ class test {
|
|||
|
||||
//// [parser642331.js]
|
||||
var test = (function () {
|
||||
function test(static) {
|
||||
function test() {
|
||||
}
|
||||
return test;
|
||||
})();
|
||||
|
|
|
@ -1,8 +0,0 @@
|
|||
=== tests/cases/conformance/parser/ecmascript5/RegressionTests/parser642331.ts ===
|
||||
class test {
|
||||
>test : test
|
||||
|
||||
constructor (static) { }
|
||||
>static : any
|
||||
}
|
||||
|
|
@ -115,6 +115,7 @@ tests/cases/conformance/parser/ecmascript5/parserRealSource11.ts(504,58): error
|
|||
tests/cases/conformance/parser/ecmascript5/parserRealSource11.ts(506,22): error TS2304: Cannot find name 'NodeType'.
|
||||
tests/cases/conformance/parser/ecmascript5/parserRealSource11.ts(507,58): error TS2304: Cannot find name 'TokenID'.
|
||||
tests/cases/conformance/parser/ecmascript5/parserRealSource11.ts(518,32): error TS2304: Cannot find name 'NodeType'.
|
||||
tests/cases/conformance/parser/ecmascript5/parserRealSource11.ts(520,29): error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
tests/cases/conformance/parser/ecmascript5/parserRealSource11.ts(525,27): error TS2304: Cannot find name 'Signature'.
|
||||
tests/cases/conformance/parser/ecmascript5/parserRealSource11.ts(527,36): error TS2304: Cannot find name 'TypeFlow'.
|
||||
tests/cases/conformance/parser/ecmascript5/parserRealSource11.ts(528,34): error TS2304: Cannot find name 'NodeType'.
|
||||
|
@ -246,6 +247,7 @@ tests/cases/conformance/parser/ecmascript5/parserRealSource11.ts(963,27): error
|
|||
tests/cases/conformance/parser/ecmascript5/parserRealSource11.ts(969,31): error TS2304: Cannot find name 'Symbol'.
|
||||
tests/cases/conformance/parser/ecmascript5/parserRealSource11.ts(977,32): error TS2304: Cannot find name 'Symbol'.
|
||||
tests/cases/conformance/parser/ecmascript5/parserRealSource11.ts(981,27): error TS2304: Cannot find name 'Type'.
|
||||
tests/cases/conformance/parser/ecmascript5/parserRealSource11.ts(985,29): error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
tests/cases/conformance/parser/ecmascript5/parserRealSource11.ts(1004,44): error TS2304: Cannot find name 'hasFlag'.
|
||||
tests/cases/conformance/parser/ecmascript5/parserRealSource11.ts(1004,67): error TS2304: Cannot find name 'FncFlags'.
|
||||
tests/cases/conformance/parser/ecmascript5/parserRealSource11.ts(1005,57): error TS2304: Cannot find name 'FncFlags'.
|
||||
|
@ -515,7 +517,7 @@ tests/cases/conformance/parser/ecmascript5/parserRealSource11.ts(2356,30): error
|
|||
tests/cases/conformance/parser/ecmascript5/parserRealSource11.ts(2356,48): error TS2304: Cannot find name 'TokenID'.
|
||||
|
||||
|
||||
==== tests/cases/conformance/parser/ecmascript5/parserRealSource11.ts (515 errors) ====
|
||||
==== tests/cases/conformance/parser/ecmascript5/parserRealSource11.ts (517 errors) ====
|
||||
// Copyright (c) Microsoft. All rights reserved. Licensed under the Apache License, Version 2.0.
|
||||
// See LICENSE.txt in the project root for complete license information.
|
||||
|
||||
|
@ -1270,6 +1272,8 @@ tests/cases/conformance/parser/ecmascript5/parserRealSource11.ts(2356,48): error
|
|||
!!! error TS2304: Cannot find name 'NodeType'.
|
||||
public target: AST,
|
||||
public arguments: ASTList) {
|
||||
~~~~~~~~~
|
||||
!!! error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
super(nodeType);
|
||||
this.minChar = this.target.minChar;
|
||||
}
|
||||
|
@ -1997,6 +2001,8 @@ tests/cases/conformance/parser/ecmascript5/parserRealSource11.ts(2356,48): error
|
|||
|
||||
constructor (public name: Identifier, public bod: ASTList, public isConstructor: boolean,
|
||||
public arguments: ASTList, public vars: ASTList, public scopes: ASTList, public statics: ASTList,
|
||||
~~~~~~~~~
|
||||
!!! error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode.
|
||||
nodeType: number) {
|
||||
|
||||
super(nodeType);
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
tests/cases/compiler/superCallsInConstructor.ts(12,9): error TS1101: 'with' statements are not allowed in strict mode.
|
||||
tests/cases/compiler/superCallsInConstructor.ts(12,14): error TS2410: All symbols within a 'with' block will be resolved to 'any'.
|
||||
|
||||
|
||||
==== tests/cases/compiler/superCallsInConstructor.ts (1 errors) ====
|
||||
==== tests/cases/compiler/superCallsInConstructor.ts (2 errors) ====
|
||||
class C {
|
||||
foo() {}
|
||||
bar() {}
|
||||
|
@ -14,6 +15,8 @@ tests/cases/compiler/superCallsInConstructor.ts(12,14): error TS2410: All symbol
|
|||
class Derived extends Base {
|
||||
constructor() {
|
||||
with(new C()) {
|
||||
~~~~
|
||||
!!! error TS1101: 'with' statements are not allowed in strict mode.
|
||||
~~~~~~~
|
||||
!!! error TS2410: All symbols within a 'with' block will be resolved to 'any'.
|
||||
foo();
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
tests/cases/compiler/varArgConstructorMemberParameter.ts(10,18): error TS1003: Identifier expected.
|
||||
tests/cases/compiler/varArgConstructorMemberParameter.ts(10,25): error TS1005: ',' expected.
|
||||
|
||||
|
||||
==== tests/cases/compiler/varArgConstructorMemberParameter.ts (1 errors) ====
|
||||
==== tests/cases/compiler/varArgConstructorMemberParameter.ts (2 errors) ====
|
||||
class Foo1 {
|
||||
constructor (...args: string[]) { }
|
||||
}
|
||||
|
@ -12,6 +13,8 @@ tests/cases/compiler/varArgConstructorMemberParameter.ts(10,25): error TS1005: '
|
|||
|
||||
class Foo3 {
|
||||
constructor (public ...args: string[]) { }
|
||||
~~~~~~
|
||||
!!! error TS1003: Identifier expected.
|
||||
~~~
|
||||
!!! error TS1005: ',' expected.
|
||||
}
|
||||
|
|
|
@ -29,7 +29,7 @@ var Foo2 = (function () {
|
|||
return Foo2;
|
||||
})();
|
||||
var Foo3 = (function () {
|
||||
function Foo3(public) {
|
||||
function Foo3() {
|
||||
var args = [];
|
||||
for (var _i = 1; _i < arguments.length; _i++) {
|
||||
args[_i - 1] = arguments[_i];
|
||||
|
|
|
@ -44,7 +44,6 @@
|
|||
//// protected prot1;
|
||||
////
|
||||
//// protected constructor(public public, protected protected, private private) {
|
||||
//// public = private = protected;
|
||||
//// }
|
||||
//// }
|
||||
//// }
|
||||
|
|
|
@ -48,7 +48,6 @@
|
|||
//// protected prot1;
|
||||
////
|
||||
//// protected constructor(public public, protected protected, private private) {
|
||||
//// public = private = protected;
|
||||
//// }
|
||||
//// }
|
||||
//// }
|
||||
|
|
|
@ -44,7 +44,6 @@
|
|||
//// protected prot1;
|
||||
////
|
||||
//// protected constructor(public public, protected protected, private private) {
|
||||
//// public = private = protected;
|
||||
//// }
|
||||
//// }
|
||||
//// }
|
||||
|
|
|
@ -48,7 +48,6 @@
|
|||
//// protected prot1;
|
||||
////
|
||||
//// protected constructor(public public, protected protected, private private) {
|
||||
//// public = private = protected;
|
||||
//// }
|
||||
//// }
|
||||
//// }
|
||||
|
|
Loading…
Reference in a new issue