mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-02-05 08:11:30 -06:00
Organize test cases for strict mode
This commit is contained in:
parent
3c2196bf54
commit
65b8792be7
@ -0,0 +1,25 @@
|
||||
tests/cases/compiler/errorRecoveryInClassDeclaration.ts(3,17): error TS2304: Cannot find name 'foo'.
|
||||
tests/cases/compiler/errorRecoveryInClassDeclaration.ts(4,13): error TS2304: Cannot find name 'public'.
|
||||
tests/cases/compiler/errorRecoveryInClassDeclaration.ts(4,20): error TS1005: ',' expected.
|
||||
tests/cases/compiler/errorRecoveryInClassDeclaration.ts(4,20): error TS2304: Cannot find name 'blaz'.
|
||||
tests/cases/compiler/errorRecoveryInClassDeclaration.ts(4,27): error TS1005: ',' expected.
|
||||
|
||||
|
||||
==== tests/cases/compiler/errorRecoveryInClassDeclaration.ts (5 errors) ====
|
||||
class C {
|
||||
public bar() {
|
||||
var v = foo(
|
||||
~~~
|
||||
!!! error TS2304: Cannot find name 'foo'.
|
||||
public blaz() {}
|
||||
~~~~~~
|
||||
!!! error TS2304: Cannot find name 'public'.
|
||||
~~~~
|
||||
!!! error TS1005: ',' expected.
|
||||
~~~~
|
||||
!!! error TS2304: Cannot find name 'blaz'.
|
||||
~
|
||||
!!! error TS1005: ',' expected.
|
||||
);
|
||||
}
|
||||
}
|
||||
@ -1,4 +1,4 @@
|
||||
//// [strictModeCode4.ts]
|
||||
//// [errorRecoveryInClassDeclaration.ts]
|
||||
class C {
|
||||
public bar() {
|
||||
var v = foo(
|
||||
@ -7,7 +7,7 @@ class C {
|
||||
}
|
||||
}
|
||||
|
||||
//// [strictModeCode4.js]
|
||||
//// [errorRecoveryInClassDeclaration.js]
|
||||
var C = (function () {
|
||||
function C() {
|
||||
}
|
||||
85
tests/baselines/reference/reservedWords2.errors.txt
Normal file
85
tests/baselines/reference/reservedWords2.errors.txt
Normal file
@ -0,0 +1,85 @@
|
||||
tests/cases/compiler/reservedWords2.ts(1,1): error TS1148: Cannot compile external modules unless the '--module' flag is provided.
|
||||
tests/cases/compiler/reservedWords2.ts(1,8): error TS1109: Expression expected.
|
||||
tests/cases/compiler/reservedWords2.ts(1,14): error TS1005: '(' expected.
|
||||
tests/cases/compiler/reservedWords2.ts(1,16): error TS2304: Cannot find name 'require'.
|
||||
tests/cases/compiler/reservedWords2.ts(1,31): error TS1005: ')' expected.
|
||||
tests/cases/compiler/reservedWords2.ts(2,12): error TS2300: Duplicate identifier '(Missing)'.
|
||||
tests/cases/compiler/reservedWords2.ts(2,14): error TS1003: Identifier expected.
|
||||
tests/cases/compiler/reservedWords2.ts(2,20): error TS1005: '(' expected.
|
||||
tests/cases/compiler/reservedWords2.ts(2,20): error TS2304: Cannot find name 'from'.
|
||||
tests/cases/compiler/reservedWords2.ts(2,25): error TS1005: ')' expected.
|
||||
tests/cases/compiler/reservedWords2.ts(4,5): error TS1134: Variable declaration expected.
|
||||
tests/cases/compiler/reservedWords2.ts(4,12): error TS1109: Expression expected.
|
||||
tests/cases/compiler/reservedWords2.ts(5,9): error TS2300: Duplicate identifier '(Missing)'.
|
||||
tests/cases/compiler/reservedWords2.ts(5,10): error TS1003: Identifier expected.
|
||||
tests/cases/compiler/reservedWords2.ts(5,18): error TS1005: '=>' expected.
|
||||
tests/cases/compiler/reservedWords2.ts(6,7): error TS2300: Duplicate identifier '(Missing)'.
|
||||
tests/cases/compiler/reservedWords2.ts(6,8): error TS1003: Identifier expected.
|
||||
tests/cases/compiler/reservedWords2.ts(9,6): error TS1181: Array element destructuring pattern expected.
|
||||
tests/cases/compiler/reservedWords2.ts(9,14): error TS1005: ';' expected.
|
||||
tests/cases/compiler/reservedWords2.ts(9,18): error TS1005: '(' expected.
|
||||
tests/cases/compiler/reservedWords2.ts(9,20): error TS1128: Declaration or statement expected.
|
||||
tests/cases/compiler/reservedWords2.ts(10,5): error TS2300: Duplicate identifier '(Missing)'.
|
||||
tests/cases/compiler/reservedWords2.ts(10,6): error TS1003: Identifier expected.
|
||||
|
||||
|
||||
==== tests/cases/compiler/reservedWords2.ts (23 errors) ====
|
||||
import while = require("dfdf");
|
||||
~~~~~~
|
||||
!!! error TS1148: Cannot compile external modules unless the '--module' flag is provided.
|
||||
~~~~~
|
||||
!!! error TS1109: Expression expected.
|
||||
~
|
||||
!!! error TS1005: '(' expected.
|
||||
~~~~~~~
|
||||
!!! error TS2304: Cannot find name 'require'.
|
||||
~
|
||||
!!! error TS1005: ')' expected.
|
||||
import * as while from "foo"
|
||||
|
||||
!!! error TS2300: Duplicate identifier '(Missing)'.
|
||||
~~~~~
|
||||
!!! error TS1003: Identifier expected.
|
||||
~~~~
|
||||
!!! error TS1005: '(' expected.
|
||||
~~~~
|
||||
!!! error TS2304: Cannot find name 'from'.
|
||||
~~~~~
|
||||
!!! error TS1005: ')' expected.
|
||||
|
||||
var typeof = 10;
|
||||
~~~~~~
|
||||
!!! error TS1134: Variable declaration expected.
|
||||
~
|
||||
!!! error TS1109: Expression expected.
|
||||
function throw() {}
|
||||
|
||||
!!! error TS2300: Duplicate identifier '(Missing)'.
|
||||
~~~~~
|
||||
!!! error TS1003: Identifier expected.
|
||||
~
|
||||
!!! error TS1005: '=>' expected.
|
||||
module void {}
|
||||
|
||||
!!! error TS2300: Duplicate identifier '(Missing)'.
|
||||
~~~~
|
||||
!!! error TS1003: Identifier expected.
|
||||
var {while, return} = { while: 1, return: 2 };
|
||||
var {this, switch: { continue} } = { this: 1, switch: { continue: 2 }};
|
||||
var [debugger, if] = [1, 2];
|
||||
~~~~~~~~
|
||||
!!! error TS1181: Array element destructuring pattern expected.
|
||||
~
|
||||
!!! error TS1005: ';' expected.
|
||||
~
|
||||
!!! error TS1005: '(' expected.
|
||||
~
|
||||
!!! error TS1128: Declaration or statement expected.
|
||||
enum void {}
|
||||
|
||||
!!! error TS2300: Duplicate identifier '(Missing)'.
|
||||
~~~~
|
||||
!!! error TS1003: Identifier expected.
|
||||
|
||||
|
||||
|
||||
37
tests/baselines/reference/reservedWords2.js
Normal file
37
tests/baselines/reference/reservedWords2.js
Normal file
@ -0,0 +1,37 @@
|
||||
//// [reservedWords2.ts]
|
||||
import while = require("dfdf");
|
||||
import * as while from "foo"
|
||||
|
||||
var typeof = 10;
|
||||
function throw() {}
|
||||
module void {}
|
||||
var {while, return} = { while: 1, return: 2 };
|
||||
var {this, switch: { continue} } = { this: 1, switch: { continue: 2 }};
|
||||
var [debugger, if] = [1, 2];
|
||||
enum void {}
|
||||
|
||||
|
||||
|
||||
|
||||
//// [reservedWords2.js]
|
||||
require();
|
||||
while ( = require("dfdf"))
|
||||
;
|
||||
while (from)
|
||||
"foo";
|
||||
var ;
|
||||
typeof ;
|
||||
10;
|
||||
throw function () { };
|
||||
void {};
|
||||
var _a = { while: 1, return: 2 }, while = _a.while, return = _a.return;
|
||||
var _b = { this: 1, switch: { continue: 2 } }, this = _b.this, continue = _b.switch.continue;
|
||||
var _c = void 0;
|
||||
debugger;
|
||||
if ()
|
||||
;
|
||||
[1, 2];
|
||||
var ;
|
||||
(function () {
|
||||
})( || ( = {}));
|
||||
void {};
|
||||
@ -1,103 +0,0 @@
|
||||
tests/cases/compiler/strictModeCode1.ts(4,17): error TS1213: Identifier expected. 'private' is a reserved word in strict mode. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/strictModeCode1.ts(4,26): error TS1213: Identifier expected. 'public' is a reserved word in strict mode. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/strictModeCode1.ts(4,34): error TS1213: Identifier expected. 'static' is a reserved word in strict mode. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/strictModeCode1.ts(5,9): error TS1213: Identifier expected. 'private' is a reserved word in strict mode. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/strictModeCode1.ts(5,19): error TS1213: Identifier expected. 'public' is a reserved word in strict mode. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/strictModeCode1.ts(5,28): error TS1213: Identifier expected. 'static' is a reserved word in strict mode. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/strictModeCode1.ts(7,22): error TS1216: Type expected. 'public' is a reserved word in strict mode. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/strictModeCode1.ts(11,24): error TS1213: Identifier expected. 'public' is a reserved word in strict mode. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/strictModeCode1.ts(11,32): error TS1213: Identifier expected. 'let' is a reserved word in strict mode. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/strictModeCode1.ts(13,10): error TS1213: Identifier expected. 'private' is a reserved word in strict mode. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/strictModeCode1.ts(13,19): error TS1213: Identifier expected. 'static' is a reserved word in strict mode. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/strictModeCode1.ts(13,27): error TS1213: Identifier expected. 'public' is a reserved word in strict mode. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/strictModeCode1.ts(14,18): error TS1213: Identifier expected. 'let' is a reserved word in strict mode. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/strictModeCode1.ts(21,9): error TS1213: Identifier expected. 'public' is a reserved word in strict mode. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/strictModeCode1.ts(21,17): error TS1213: Identifier expected. 'private' is a reserved word in strict mode. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/strictModeCode1.ts(23,20): error TS1213: Identifier expected. 'public' is a reserved word in strict mode. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/strictModeCode1.ts(25,20): error TS1213: Identifier expected. 'public' is a reserved word in strict mode. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/strictModeCode1.ts(25,20): error TS2304: Cannot find name 'public'.
|
||||
tests/cases/compiler/strictModeCode1.ts(26,21): error TS1213: Identifier expected. 'public' is a reserved word in strict mode. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/strictModeCode1.ts(26,21): error TS2304: Cannot find name 'public'.
|
||||
tests/cases/compiler/strictModeCode1.ts(27,17): error TS1213: Identifier expected. 'package' is a reserved word in strict mode. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/strictModeCode1.ts(27,17): error TS2304: Cannot find name 'package'.
|
||||
tests/cases/compiler/strictModeCode1.ts(28,17): error TS1213: Identifier expected. 'package' is a reserved word in strict mode. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/strictModeCode1.ts(28,17): error TS2304: Cannot find name 'package'.
|
||||
|
||||
|
||||
==== tests/cases/compiler/strictModeCode1.ts (24 errors) ====
|
||||
interface public { }
|
||||
|
||||
class Foo {
|
||||
constructor(private, public, static) {
|
||||
~~~~~~~
|
||||
!!! error TS1213: Identifier expected. 'private' is a reserved word in strict mode. Class definitions are automatically in strict mode.
|
||||
~~~~~~
|
||||
!!! error TS1213: Identifier expected. 'public' is a reserved word in strict mode. Class definitions are automatically in strict mode.
|
||||
~~~~~~
|
||||
!!! error TS1213: Identifier expected. 'static' is a reserved word in strict mode. Class definitions are automatically in strict mode.
|
||||
private = public = static;
|
||||
~~~~~~~
|
||||
!!! error TS1213: Identifier expected. 'private' is a reserved word in strict mode. Class definitions are automatically in strict mode.
|
||||
~~~~~~
|
||||
!!! error TS1213: Identifier expected. 'public' is a reserved word in strict mode. Class definitions are automatically in strict mode.
|
||||
~~~~~~
|
||||
!!! error TS1213: Identifier expected. 'static' is a reserved word in strict mode. Class definitions are automatically in strict mode.
|
||||
}
|
||||
public banana(x: public) { }
|
||||
~~~~~~
|
||||
!!! error TS1216: Type expected. 'public' is a reserved word in strict mode. Class definitions are automatically in strict mode.
|
||||
}
|
||||
|
||||
class C {
|
||||
constructor(public public, let) {
|
||||
~~~~~~
|
||||
!!! error TS1213: Identifier expected. 'public' is a reserved word in strict mode. Class definitions are automatically in strict mode.
|
||||
~~~
|
||||
!!! error TS1213: Identifier expected. 'let' is a reserved word in strict mode. Class definitions are automatically in strict mode.
|
||||
}
|
||||
foo1(private, static, public) {
|
||||
~~~~~~~
|
||||
!!! error TS1213: Identifier expected. 'private' is a reserved word in strict mode. Class definitions are automatically in strict mode.
|
||||
~~~~~~
|
||||
!!! error TS1213: Identifier expected. 'static' is a reserved word in strict mode. Class definitions are automatically in strict mode.
|
||||
~~~~~~
|
||||
!!! error TS1213: Identifier expected. 'public' is a reserved word in strict mode. Class definitions are automatically in strict mode.
|
||||
function let() { }
|
||||
~~~
|
||||
!!! error TS1213: Identifier expected. 'let' is a reserved word in strict mode. Class definitions are automatically in strict mode.
|
||||
var z = function let() { };
|
||||
}
|
||||
|
||||
public pulbic() { } // No Error;
|
||||
}
|
||||
|
||||
class D<public, private>{ }
|
||||
~~~~~~
|
||||
!!! error TS1213: Identifier expected. 'public' is a reserved word in strict mode. Class definitions are automatically in strict mode.
|
||||
~~~~~~~
|
||||
!!! error TS1213: Identifier expected. 'private' is a reserved word in strict mode. Class definitions are automatically in strict mode.
|
||||
|
||||
class E implements public { }
|
||||
~~~~~~
|
||||
!!! error TS1213: Identifier expected. 'public' is a reserved word in strict mode. Class definitions are automatically in strict mode.
|
||||
|
||||
class F implements public.private.B { }
|
||||
~~~~~~
|
||||
!!! error TS1213: Identifier expected. 'public' is a reserved word in strict mode. Class definitions are automatically in strict mode.
|
||||
~~~~~~
|
||||
!!! error TS2304: Cannot find name 'public'.
|
||||
class F1 implements public.private.implements { }
|
||||
~~~~~~
|
||||
!!! error TS1213: Identifier expected. 'public' is a reserved word in strict mode. Class definitions are automatically in strict mode.
|
||||
~~~~~~
|
||||
!!! error TS2304: Cannot find name 'public'.
|
||||
class G extends package { }
|
||||
~~~~~~~
|
||||
!!! error TS1213: Identifier expected. 'package' is a reserved word in strict mode. Class definitions are automatically in strict mode.
|
||||
~~~~~~~
|
||||
!!! error TS2304: Cannot find name 'package'.
|
||||
class H extends package.A { }
|
||||
~~~~~~~
|
||||
!!! error TS1213: Identifier expected. 'package' is a reserved word in strict mode. Class definitions are automatically in strict mode.
|
||||
~~~~~~~
|
||||
!!! error TS2304: Cannot find name 'package'.
|
||||
@ -1,136 +0,0 @@
|
||||
tests/cases/compiler/strictModeCode2.ts(5,9): error TS1212: Identifier expected. 'public' is a reserved word in strict mode
|
||||
tests/cases/compiler/strictModeCode2.ts(6,9): error TS1212: Identifier expected. 'static' is a reserved word in strict mode
|
||||
tests/cases/compiler/strictModeCode2.ts(7,9): error TS1212: Identifier expected. 'let' is a reserved word in strict mode
|
||||
tests/cases/compiler/strictModeCode2.ts(8,9): error TS1212: Identifier expected. 'package' is a reserved word in strict mode
|
||||
tests/cases/compiler/strictModeCode2.ts(8,9): error TS2300: Duplicate identifier 'package'.
|
||||
tests/cases/compiler/strictModeCode2.ts(9,14): error TS1212: Identifier expected. 'package' is a reserved word in strict mode
|
||||
tests/cases/compiler/strictModeCode2.ts(9,14): error TS2300: Duplicate identifier 'package'.
|
||||
tests/cases/compiler/strictModeCode2.ts(10,18): error TS1212: Identifier expected. 'private' is a reserved word in strict mode
|
||||
tests/cases/compiler/strictModeCode2.ts(10,27): error TS1212: Identifier expected. 'implements' is a reserved word in strict mode
|
||||
tests/cases/compiler/strictModeCode2.ts(10,39): error TS1212: Identifier expected. 'let' is a reserved word in strict mode
|
||||
tests/cases/compiler/strictModeCode2.ts(11,18): error TS1212: Identifier expected. 'implements' is a reserved word in strict mode
|
||||
tests/cases/compiler/strictModeCode2.ts(11,30): error TS1212: Identifier expected. 'protected' is a reserved word in strict mode
|
||||
tests/cases/compiler/strictModeCode2.ts(12,24): error TS1212: Identifier expected. 'private' is a reserved word in strict mode
|
||||
tests/cases/compiler/strictModeCode2.ts(12,33): error TS1212: Identifier expected. 'public' is a reserved word in strict mode
|
||||
tests/cases/compiler/strictModeCode2.ts(12,41): error TS1212: Identifier expected. 'package' is a reserved word in strict mode
|
||||
tests/cases/compiler/strictModeCode2.ts(13,11): error TS1212: Identifier expected. 'private' is a reserved word in strict mode
|
||||
tests/cases/compiler/strictModeCode2.ts(13,20): error TS1212: Identifier expected. 'public' is a reserved word in strict mode
|
||||
tests/cases/compiler/strictModeCode2.ts(13,28): error TS1212: Identifier expected. 'package' is a reserved word in strict mode
|
||||
tests/cases/compiler/strictModeCode2.ts(15,25): error TS9003: 'class' expressions are not currently supported.
|
||||
tests/cases/compiler/strictModeCode2.ts(17,9): error TS2300: Duplicate identifier 'b'.
|
||||
tests/cases/compiler/strictModeCode2.ts(17,12): error TS1215: Type expected. 'public' is a reserved word in strict mode
|
||||
tests/cases/compiler/strictModeCode2.ts(17,12): error TS2304: Cannot find name 'public'.
|
||||
tests/cases/compiler/strictModeCode2.ts(19,21): error TS1215: Type expected. 'private' is a reserved word in strict mode
|
||||
tests/cases/compiler/strictModeCode2.ts(19,21): error TS2304: Cannot find name 'private'.
|
||||
tests/cases/compiler/strictModeCode2.ts(20,22): error TS1215: Type expected. 'private' is a reserved word in strict mode
|
||||
tests/cases/compiler/strictModeCode2.ts(20,22): error TS2304: Cannot find name 'private'.
|
||||
tests/cases/compiler/strictModeCode2.ts(20,30): error TS1215: Type expected. 'package' is a reserved word in strict mode
|
||||
tests/cases/compiler/strictModeCode2.ts(21,22): error TS1215: Type expected. 'private' is a reserved word in strict mode
|
||||
tests/cases/compiler/strictModeCode2.ts(21,22): error TS2304: Cannot find name 'private'.
|
||||
tests/cases/compiler/strictModeCode2.ts(21,30): error TS1215: Type expected. 'package' is a reserved word in strict mode
|
||||
tests/cases/compiler/strictModeCode2.ts(21,38): error TS1215: Type expected. 'protected' is a reserved word in strict mode
|
||||
tests/cases/compiler/strictModeCode2.ts(22,9): error TS2300: Duplicate identifier 'b'.
|
||||
tests/cases/compiler/strictModeCode2.ts(22,12): error TS1215: Type expected. 'interface' is a reserved word in strict mode
|
||||
tests/cases/compiler/strictModeCode2.ts(22,12): error TS2304: Cannot find name 'interface'.
|
||||
tests/cases/compiler/strictModeCode2.ts(22,22): error TS1215: Type expected. 'package' is a reserved word in strict mode
|
||||
tests/cases/compiler/strictModeCode2.ts(22,30): error TS1215: Type expected. 'implements' is a reserved word in strict mode
|
||||
|
||||
|
||||
==== tests/cases/compiler/strictModeCode2.ts (36 errors) ====
|
||||
let let = 10;
|
||||
|
||||
function foo() {
|
||||
"use strict"
|
||||
var public = 10;
|
||||
~~~~~~
|
||||
!!! error TS1212: Identifier expected. 'public' is a reserved word in strict mode
|
||||
var static = "hi";
|
||||
~~~~~~
|
||||
!!! error TS1212: Identifier expected. 'static' is a reserved word in strict mode
|
||||
let let = "blah";
|
||||
~~~
|
||||
!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode
|
||||
var package = "hello"
|
||||
~~~~~~~
|
||||
!!! error TS1212: Identifier expected. 'package' is a reserved word in strict mode
|
||||
~~~~~~~
|
||||
!!! error TS2300: Duplicate identifier 'package'.
|
||||
function package() { }
|
||||
~~~~~~~
|
||||
!!! error TS1212: Identifier expected. 'package' is a reserved word in strict mode
|
||||
~~~~~~~
|
||||
!!! error TS2300: Duplicate identifier 'package'.
|
||||
function bar(private, implements, let) { }
|
||||
~~~~~~~
|
||||
!!! error TS1212: Identifier expected. 'private' is a reserved word in strict mode
|
||||
~~~~~~~~~~
|
||||
!!! error TS1212: Identifier expected. 'implements' is a reserved word in strict mode
|
||||
~~~
|
||||
!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode
|
||||
function baz<implements, protected>() { }
|
||||
~~~~~~~~~~
|
||||
!!! error TS1212: Identifier expected. 'implements' is a reserved word in strict mode
|
||||
~~~~~~~~~
|
||||
!!! error TS1212: Identifier expected. 'protected' is a reserved word in strict mode
|
||||
function barn(cb: (private, public, package) => void) { }
|
||||
~~~~~~~
|
||||
!!! error TS1212: Identifier expected. 'private' is a reserved word in strict mode
|
||||
~~~~~~
|
||||
!!! error TS1212: Identifier expected. 'public' is a reserved word in strict mode
|
||||
~~~~~~~
|
||||
!!! error TS1212: Identifier expected. 'package' is a reserved word in strict mode
|
||||
barn((private, public, package) => { });
|
||||
~~~~~~~
|
||||
!!! error TS1212: Identifier expected. 'private' is a reserved word in strict mode
|
||||
~~~~~~
|
||||
!!! error TS1212: Identifier expected. 'public' is a reserved word in strict mode
|
||||
~~~~~~~
|
||||
!!! error TS1212: Identifier expected. 'package' is a reserved word in strict mode
|
||||
|
||||
var myClass = class package extends public {}
|
||||
~~~~~~~
|
||||
!!! error TS9003: 'class' expressions are not currently supported.
|
||||
|
||||
var b: public.bar;
|
||||
~
|
||||
!!! error TS2300: Duplicate identifier 'b'.
|
||||
~~~~~~
|
||||
!!! error TS1215: Type expected. 'public' is a reserved word in strict mode
|
||||
~~~~~~
|
||||
!!! error TS2304: Cannot find name 'public'.
|
||||
|
||||
function foo(x: private.x) { }
|
||||
~~~~~~~
|
||||
!!! error TS1215: Type expected. 'private' is a reserved word in strict mode
|
||||
~~~~~~~
|
||||
!!! error TS2304: Cannot find name 'private'.
|
||||
function foo1(x: private.package.x) { }
|
||||
~~~~~~~
|
||||
!!! error TS1215: Type expected. 'private' is a reserved word in strict mode
|
||||
~~~~~~~
|
||||
!!! error TS2304: Cannot find name 'private'.
|
||||
~~~~~~~
|
||||
!!! error TS1215: Type expected. 'package' is a reserved word in strict mode
|
||||
function foo2(x: private.package.protected) { }
|
||||
~~~~~~~
|
||||
!!! error TS1215: Type expected. 'private' is a reserved word in strict mode
|
||||
~~~~~~~
|
||||
!!! error TS2304: Cannot find name 'private'.
|
||||
~~~~~~~
|
||||
!!! error TS1215: Type expected. 'package' is a reserved word in strict mode
|
||||
~~~~~~~~~
|
||||
!!! error TS1215: Type expected. 'protected' is a reserved word in strict mode
|
||||
let b: interface.package.implements.B;
|
||||
~
|
||||
!!! error TS2300: Duplicate identifier 'b'.
|
||||
~~~~~~~~~
|
||||
!!! error TS1215: Type expected. 'interface' is a reserved word in strict mode
|
||||
~~~~~~~~~
|
||||
!!! error TS2304: Cannot find name 'interface'.
|
||||
~~~~~~~
|
||||
!!! error TS1215: Type expected. 'package' is a reserved word in strict mode
|
||||
~~~~~~~~~~
|
||||
!!! error TS1215: Type expected. 'implements' is a reserved word in strict mode
|
||||
}
|
||||
|
||||
|
||||
@ -1,24 +0,0 @@
|
||||
tests/cases/compiler/strictModeCode3.ts(2,11): error TS1212: Identifier expected. 'public' is a reserved word in strict mode
|
||||
tests/cases/compiler/strictModeCode3.ts(3,11): error TS1212: Identifier expected. 'implements' is a reserved word in strict mode
|
||||
tests/cases/compiler/strictModeCode3.ts(4,9): error TS1212: Identifier expected. 'package' is a reserved word in strict mode
|
||||
tests/cases/compiler/strictModeCode3.ts(4,18): error TS1212: Identifier expected. 'protected' is a reserved word in strict mode
|
||||
tests/cases/compiler/strictModeCode3.ts(6,6): error TS1212: Identifier expected. 'package' is a reserved word in strict mode
|
||||
|
||||
|
||||
==== tests/cases/compiler/strictModeCode3.ts (5 errors) ====
|
||||
"use strict"
|
||||
interface public { }
|
||||
~~~~~~
|
||||
!!! error TS1212: Identifier expected. 'public' is a reserved word in strict mode
|
||||
interface implements {
|
||||
~~~~~~~~~~
|
||||
!!! error TS1212: Identifier expected. 'implements' is a reserved word in strict mode
|
||||
foo(package, protected);
|
||||
~~~~~~~
|
||||
!!! error TS1212: Identifier expected. 'package' is a reserved word in strict mode
|
||||
~~~~~~~~~
|
||||
!!! error TS1212: Identifier expected. 'protected' is a reserved word in strict mode
|
||||
}
|
||||
enum package { }
|
||||
~~~~~~~
|
||||
!!! error TS1212: Identifier expected. 'package' is a reserved word in strict mode
|
||||
@ -1,13 +0,0 @@
|
||||
//// [strictModeCode3.ts]
|
||||
"use strict"
|
||||
interface public { }
|
||||
interface implements {
|
||||
foo(package, protected);
|
||||
}
|
||||
enum package { }
|
||||
|
||||
//// [strictModeCode3.js]
|
||||
"use strict";
|
||||
var package;
|
||||
(function (package) {
|
||||
})(package || (package = {}));
|
||||
@ -1,25 +0,0 @@
|
||||
tests/cases/compiler/strictModeCode4.ts(3,17): error TS2304: Cannot find name 'foo'.
|
||||
tests/cases/compiler/strictModeCode4.ts(4,13): error TS2304: Cannot find name 'public'.
|
||||
tests/cases/compiler/strictModeCode4.ts(4,20): error TS1005: ',' expected.
|
||||
tests/cases/compiler/strictModeCode4.ts(4,20): error TS2304: Cannot find name 'blaz'.
|
||||
tests/cases/compiler/strictModeCode4.ts(4,27): error TS1005: ',' expected.
|
||||
|
||||
|
||||
==== tests/cases/compiler/strictModeCode4.ts (5 errors) ====
|
||||
class C {
|
||||
public bar() {
|
||||
var v = foo(
|
||||
~~~
|
||||
!!! error TS2304: Cannot find name 'foo'.
|
||||
public blaz() {}
|
||||
~~~~~~
|
||||
!!! error TS2304: Cannot find name 'public'.
|
||||
~~~~
|
||||
!!! error TS1005: ',' expected.
|
||||
~~~~
|
||||
!!! error TS2304: Cannot find name 'blaz'.
|
||||
~
|
||||
!!! error TS1005: ',' expected.
|
||||
);
|
||||
}
|
||||
}
|
||||
@ -1,30 +0,0 @@
|
||||
tests/cases/compiler/strictModeCode5.ts(2,6): error TS1212: Identifier expected. 'public' is a reserved word in strict mode
|
||||
tests/cases/compiler/strictModeCode5.ts(3,10): error TS1212: Identifier expected. 'public' is a reserved word in strict mode
|
||||
tests/cases/compiler/strictModeCode5.ts(4,7): error TS1212: Identifier expected. 'private' is a reserved word in strict mode
|
||||
tests/cases/compiler/strictModeCode5.ts(5,15): error TS1212: Identifier expected. 'static' is a reserved word in strict mode
|
||||
tests/cases/compiler/strictModeCode5.ts(5,38): error TS1212: Identifier expected. 'package' is a reserved word in strict mode
|
||||
tests/cases/compiler/strictModeCode5.ts(6,6): error TS1212: Identifier expected. 'public' is a reserved word in strict mode
|
||||
tests/cases/compiler/strictModeCode5.ts(6,14): error TS1212: Identifier expected. 'protected' is a reserved word in strict mode
|
||||
|
||||
|
||||
==== tests/cases/compiler/strictModeCode5.ts (7 errors) ====
|
||||
"use strict"
|
||||
var [public] = [1];
|
||||
~~~~~~
|
||||
!!! error TS1212: Identifier expected. 'public' is a reserved word in strict mode
|
||||
var { x: public } = { x: 1 };
|
||||
~~~~~~
|
||||
!!! error TS1212: Identifier expected. 'public' is a reserved word in strict mode
|
||||
var [[private]] = [["hello"]];
|
||||
~~~~~~~
|
||||
!!! error TS1212: Identifier expected. 'private' is a reserved word in strict mode
|
||||
var { y: { s: static }, z: { o: { p: package} }} = { y: { s: 1 }, z: { o: { p: 'h' } } };
|
||||
~~~~~~
|
||||
!!! error TS1212: Identifier expected. 'static' is a reserved word in strict mode
|
||||
~~~~~~~
|
||||
!!! error TS1212: Identifier expected. 'package' is a reserved word in strict mode
|
||||
var {public, protected} = { public: 1, protected: 2 };
|
||||
~~~~~~
|
||||
!!! error TS1212: Identifier expected. 'public' is a reserved word in strict mode
|
||||
~~~~~~~~~
|
||||
!!! error TS1212: Identifier expected. 'protected' is a reserved word in strict mode
|
||||
@ -1,22 +0,0 @@
|
||||
tests/cases/compiler/strictModeCode6.ts(2,13): error TS1212: Identifier expected. 'package' is a reserved word in strict mode
|
||||
tests/cases/compiler/strictModeCode6.ts(2,26): error TS2307: Cannot find external module './1'.
|
||||
tests/cases/compiler/strictModeCode6.ts(3,16): error TS1212: Identifier expected. 'private' is a reserved word in strict mode
|
||||
tests/cases/compiler/strictModeCode6.ts(3,30): error TS2307: Cannot find external module './1'.
|
||||
tests/cases/compiler/strictModeCode6.ts(4,20): error TS2307: Cannot find external module './1'.
|
||||
|
||||
|
||||
==== tests/cases/compiler/strictModeCode6.ts (5 errors) ====
|
||||
"use strict"
|
||||
import * as package from "./1"
|
||||
~~~~~~~
|
||||
!!! error TS1212: Identifier expected. 'package' is a reserved word in strict mode
|
||||
~~~~~
|
||||
!!! error TS2307: Cannot find external module './1'.
|
||||
import {foo as private} from "./1"
|
||||
~~~~~~~
|
||||
!!! error TS1212: Identifier expected. 'private' is a reserved word in strict mode
|
||||
~~~~~
|
||||
!!! error TS2307: Cannot find external module './1'.
|
||||
import public from "./1"
|
||||
~~~~~
|
||||
!!! error TS2307: Cannot find external module './1'.
|
||||
@ -1,12 +0,0 @@
|
||||
tests/cases/compiler/strictModeCode7.ts(3,8): error TS1212: Identifier expected. 'public' is a reserved word in strict mode
|
||||
tests/cases/compiler/strictModeCode7.ts(3,25): error TS2307: Cannot find external module '1'.
|
||||
|
||||
|
||||
==== tests/cases/compiler/strictModeCode7.ts (2 errors) ====
|
||||
|
||||
"use strict"
|
||||
import public = require("1");
|
||||
~~~~~~
|
||||
!!! error TS1212: Identifier expected. 'public' is a reserved word in strict mode
|
||||
~~~
|
||||
!!! error TS2307: Cannot find external module '1'.
|
||||
@ -1,7 +0,0 @@
|
||||
//// [strictModeCode7.ts]
|
||||
|
||||
"use strict"
|
||||
import public = require("1");
|
||||
|
||||
//// [strictModeCode7.js]
|
||||
"use strict";
|
||||
@ -1,24 +0,0 @@
|
||||
tests/cases/compiler/strictModeCode8.ts(2,8): error TS1212: Identifier expected. 'public' is a reserved word in strict mode
|
||||
tests/cases/compiler/strictModeCode8.ts(3,8): error TS1212: Identifier expected. 'private' is a reserved word in strict mode
|
||||
tests/cases/compiler/strictModeCode8.ts(4,8): error TS1212: Identifier expected. 'public' is a reserved word in strict mode
|
||||
tests/cases/compiler/strictModeCode8.ts(6,8): error TS1212: Identifier expected. 'private' is a reserved word in strict mode
|
||||
tests/cases/compiler/strictModeCode8.ts(6,16): error TS1212: Identifier expected. 'public' is a reserved word in strict mode
|
||||
|
||||
|
||||
==== tests/cases/compiler/strictModeCode8.ts (5 errors) ====
|
||||
"use strict"
|
||||
module public { }
|
||||
~~~~~~
|
||||
!!! error TS1212: Identifier expected. 'public' is a reserved word in strict mode
|
||||
module private { }
|
||||
~~~~~~~
|
||||
!!! error TS1212: Identifier expected. 'private' is a reserved word in strict mode
|
||||
module public.whatever {
|
||||
~~~~~~
|
||||
!!! error TS1212: Identifier expected. 'public' is a reserved word in strict mode
|
||||
}
|
||||
module private.public.foo { }
|
||||
~~~~~~~
|
||||
!!! error TS1212: Identifier expected. 'private' is a reserved word in strict mode
|
||||
~~~~~~
|
||||
!!! error TS1212: Identifier expected. 'public' is a reserved word in strict mode
|
||||
147
tests/baselines/reference/strictModeReservedWord.errors.txt
Normal file
147
tests/baselines/reference/strictModeReservedWord.errors.txt
Normal file
@ -0,0 +1,147 @@
|
||||
tests/cases/compiler/strictModeReservedWord.ts(5,9): error TS1212: Identifier expected. 'public' is a reserved word in strict mode
|
||||
tests/cases/compiler/strictModeReservedWord.ts(6,9): error TS1212: Identifier expected. 'static' is a reserved word in strict mode
|
||||
tests/cases/compiler/strictModeReservedWord.ts(7,9): error TS1212: Identifier expected. 'let' is a reserved word in strict mode
|
||||
tests/cases/compiler/strictModeReservedWord.ts(8,9): error TS1212: Identifier expected. 'package' is a reserved word in strict mode
|
||||
tests/cases/compiler/strictModeReservedWord.ts(8,9): error TS2300: Duplicate identifier 'package'.
|
||||
tests/cases/compiler/strictModeReservedWord.ts(9,14): error TS1212: Identifier expected. 'package' is a reserved word in strict mode
|
||||
tests/cases/compiler/strictModeReservedWord.ts(9,14): error TS2300: Duplicate identifier 'package'.
|
||||
tests/cases/compiler/strictModeReservedWord.ts(10,18): error TS1212: Identifier expected. 'private' is a reserved word in strict mode
|
||||
tests/cases/compiler/strictModeReservedWord.ts(10,27): error TS1212: Identifier expected. 'implements' is a reserved word in strict mode
|
||||
tests/cases/compiler/strictModeReservedWord.ts(10,39): error TS1212: Identifier expected. 'let' is a reserved word in strict mode
|
||||
tests/cases/compiler/strictModeReservedWord.ts(11,18): error TS1212: Identifier expected. 'implements' is a reserved word in strict mode
|
||||
tests/cases/compiler/strictModeReservedWord.ts(11,30): error TS1212: Identifier expected. 'protected' is a reserved word in strict mode
|
||||
tests/cases/compiler/strictModeReservedWord.ts(12,24): error TS1212: Identifier expected. 'private' is a reserved word in strict mode
|
||||
tests/cases/compiler/strictModeReservedWord.ts(12,33): error TS1212: Identifier expected. 'public' is a reserved word in strict mode
|
||||
tests/cases/compiler/strictModeReservedWord.ts(12,41): error TS1212: Identifier expected. 'package' is a reserved word in strict mode
|
||||
tests/cases/compiler/strictModeReservedWord.ts(13,11): error TS1212: Identifier expected. 'private' is a reserved word in strict mode
|
||||
tests/cases/compiler/strictModeReservedWord.ts(13,20): error TS1212: Identifier expected. 'public' is a reserved word in strict mode
|
||||
tests/cases/compiler/strictModeReservedWord.ts(13,28): error TS1212: Identifier expected. 'package' is a reserved word in strict mode
|
||||
tests/cases/compiler/strictModeReservedWord.ts(15,25): error TS9003: 'class' expressions are not currently supported.
|
||||
tests/cases/compiler/strictModeReservedWord.ts(17,9): error TS2300: Duplicate identifier 'b'.
|
||||
tests/cases/compiler/strictModeReservedWord.ts(17,12): error TS1215: Type expected. 'public' is a reserved word in strict mode
|
||||
tests/cases/compiler/strictModeReservedWord.ts(17,12): error TS2304: Cannot find name 'public'.
|
||||
tests/cases/compiler/strictModeReservedWord.ts(19,21): error TS1215: Type expected. 'private' is a reserved word in strict mode
|
||||
tests/cases/compiler/strictModeReservedWord.ts(19,21): error TS2304: Cannot find name 'private'.
|
||||
tests/cases/compiler/strictModeReservedWord.ts(20,22): error TS1215: Type expected. 'private' is a reserved word in strict mode
|
||||
tests/cases/compiler/strictModeReservedWord.ts(20,22): error TS2304: Cannot find name 'private'.
|
||||
tests/cases/compiler/strictModeReservedWord.ts(20,30): error TS1215: Type expected. 'package' is a reserved word in strict mode
|
||||
tests/cases/compiler/strictModeReservedWord.ts(21,22): error TS1215: Type expected. 'private' is a reserved word in strict mode
|
||||
tests/cases/compiler/strictModeReservedWord.ts(21,22): error TS2304: Cannot find name 'private'.
|
||||
tests/cases/compiler/strictModeReservedWord.ts(21,30): error TS1215: Type expected. 'package' is a reserved word in strict mode
|
||||
tests/cases/compiler/strictModeReservedWord.ts(21,38): error TS1215: Type expected. 'protected' is a reserved word in strict mode
|
||||
tests/cases/compiler/strictModeReservedWord.ts(22,9): error TS2300: Duplicate identifier 'b'.
|
||||
tests/cases/compiler/strictModeReservedWord.ts(22,12): error TS1215: Type expected. 'interface' is a reserved word in strict mode
|
||||
tests/cases/compiler/strictModeReservedWord.ts(22,12): error TS2304: Cannot find name 'interface'.
|
||||
tests/cases/compiler/strictModeReservedWord.ts(22,22): error TS1215: Type expected. 'package' is a reserved word in strict mode
|
||||
tests/cases/compiler/strictModeReservedWord.ts(22,30): error TS1215: Type expected. 'implements' is a reserved word in strict mode
|
||||
tests/cases/compiler/strictModeReservedWord.ts(23,5): error TS2304: Cannot find name 'ublic'.
|
||||
tests/cases/compiler/strictModeReservedWord.ts(24,5): error TS1212: Identifier expected. 'static' is a reserved word in strict mode
|
||||
tests/cases/compiler/strictModeReservedWord.ts(24,5): error TS2349: Cannot invoke an expression whose type lacks a call signature.
|
||||
|
||||
|
||||
==== tests/cases/compiler/strictModeReservedWord.ts (39 errors) ====
|
||||
let let = 10;
|
||||
|
||||
function foo() {
|
||||
"use strict"
|
||||
var public = 10;
|
||||
~~~~~~
|
||||
!!! error TS1212: Identifier expected. 'public' is a reserved word in strict mode
|
||||
var static = "hi";
|
||||
~~~~~~
|
||||
!!! error TS1212: Identifier expected. 'static' is a reserved word in strict mode
|
||||
let let = "blah";
|
||||
~~~
|
||||
!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode
|
||||
var package = "hello"
|
||||
~~~~~~~
|
||||
!!! error TS1212: Identifier expected. 'package' is a reserved word in strict mode
|
||||
~~~~~~~
|
||||
!!! error TS2300: Duplicate identifier 'package'.
|
||||
function package() { }
|
||||
~~~~~~~
|
||||
!!! error TS1212: Identifier expected. 'package' is a reserved word in strict mode
|
||||
~~~~~~~
|
||||
!!! error TS2300: Duplicate identifier 'package'.
|
||||
function bar(private, implements, let) { }
|
||||
~~~~~~~
|
||||
!!! error TS1212: Identifier expected. 'private' is a reserved word in strict mode
|
||||
~~~~~~~~~~
|
||||
!!! error TS1212: Identifier expected. 'implements' is a reserved word in strict mode
|
||||
~~~
|
||||
!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode
|
||||
function baz<implements, protected>() { }
|
||||
~~~~~~~~~~
|
||||
!!! error TS1212: Identifier expected. 'implements' is a reserved word in strict mode
|
||||
~~~~~~~~~
|
||||
!!! error TS1212: Identifier expected. 'protected' is a reserved word in strict mode
|
||||
function barn(cb: (private, public, package) => void) { }
|
||||
~~~~~~~
|
||||
!!! error TS1212: Identifier expected. 'private' is a reserved word in strict mode
|
||||
~~~~~~
|
||||
!!! error TS1212: Identifier expected. 'public' is a reserved word in strict mode
|
||||
~~~~~~~
|
||||
!!! error TS1212: Identifier expected. 'package' is a reserved word in strict mode
|
||||
barn((private, public, package) => { });
|
||||
~~~~~~~
|
||||
!!! error TS1212: Identifier expected. 'private' is a reserved word in strict mode
|
||||
~~~~~~
|
||||
!!! error TS1212: Identifier expected. 'public' is a reserved word in strict mode
|
||||
~~~~~~~
|
||||
!!! error TS1212: Identifier expected. 'package' is a reserved word in strict mode
|
||||
|
||||
var myClass = class package extends public {}
|
||||
~~~~~~~
|
||||
!!! error TS9003: 'class' expressions are not currently supported.
|
||||
|
||||
var b: public.bar;
|
||||
~
|
||||
!!! error TS2300: Duplicate identifier 'b'.
|
||||
~~~~~~
|
||||
!!! error TS1215: Type expected. 'public' is a reserved word in strict mode
|
||||
~~~~~~
|
||||
!!! error TS2304: Cannot find name 'public'.
|
||||
|
||||
function foo(x: private.x) { }
|
||||
~~~~~~~
|
||||
!!! error TS1215: Type expected. 'private' is a reserved word in strict mode
|
||||
~~~~~~~
|
||||
!!! error TS2304: Cannot find name 'private'.
|
||||
function foo1(x: private.package.x) { }
|
||||
~~~~~~~
|
||||
!!! error TS1215: Type expected. 'private' is a reserved word in strict mode
|
||||
~~~~~~~
|
||||
!!! error TS2304: Cannot find name 'private'.
|
||||
~~~~~~~
|
||||
!!! error TS1215: Type expected. 'package' is a reserved word in strict mode
|
||||
function foo2(x: private.package.protected) { }
|
||||
~~~~~~~
|
||||
!!! error TS1215: Type expected. 'private' is a reserved word in strict mode
|
||||
~~~~~~~
|
||||
!!! error TS2304: Cannot find name 'private'.
|
||||
~~~~~~~
|
||||
!!! error TS1215: Type expected. 'package' is a reserved word in strict mode
|
||||
~~~~~~~~~
|
||||
!!! error TS1215: Type expected. 'protected' is a reserved word in strict mode
|
||||
let b: interface.package.implements.B;
|
||||
~
|
||||
!!! error TS2300: Duplicate identifier 'b'.
|
||||
~~~~~~~~~
|
||||
!!! error TS1215: Type expected. 'interface' is a reserved word in strict mode
|
||||
~~~~~~~~~
|
||||
!!! error TS2304: Cannot find name 'interface'.
|
||||
~~~~~~~
|
||||
!!! error TS1215: Type expected. 'package' is a reserved word in strict mode
|
||||
~~~~~~~~~~
|
||||
!!! error TS1215: Type expected. 'implements' is a reserved word in strict mode
|
||||
ublic();
|
||||
~~~~~
|
||||
!!! error TS2304: Cannot find name 'ublic'.
|
||||
static();
|
||||
~~~~~~
|
||||
!!! error TS1212: Identifier expected. 'static' is a reserved word in strict mode
|
||||
~~~~~~~~
|
||||
!!! error TS2349: Cannot invoke an expression whose type lacks a call signature.
|
||||
}
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
//// [strictModeCode2.ts]
|
||||
//// [strictModeReservedWord.ts]
|
||||
let let = 10;
|
||||
|
||||
function foo() {
|
||||
@ -21,11 +21,13 @@ function foo() {
|
||||
function foo1(x: private.package.x) { }
|
||||
function foo2(x: private.package.protected) { }
|
||||
let b: interface.package.implements.B;
|
||||
ublic();
|
||||
static();
|
||||
}
|
||||
|
||||
|
||||
|
||||
//// [strictModeCode2.js]
|
||||
//// [strictModeReservedWord.js]
|
||||
var let = 10;
|
||||
function foo() {
|
||||
"use strict";
|
||||
@ -50,4 +52,6 @@ function foo() {
|
||||
function foo1(x) { }
|
||||
function foo2(x) { }
|
||||
var b;
|
||||
ublic();
|
||||
static();
|
||||
}
|
||||
45
tests/baselines/reference/strictModeReservedWord2.errors.txt
Normal file
45
tests/baselines/reference/strictModeReservedWord2.errors.txt
Normal file
@ -0,0 +1,45 @@
|
||||
tests/cases/compiler/strictModeReservedWord2.ts(2,11): error TS1212: Identifier expected. 'public' is a reserved word in strict mode
|
||||
tests/cases/compiler/strictModeReservedWord2.ts(3,11): error TS1212: Identifier expected. 'implements' is a reserved word in strict mode
|
||||
tests/cases/compiler/strictModeReservedWord2.ts(4,9): error TS1212: Identifier expected. 'package' is a reserved word in strict mode
|
||||
tests/cases/compiler/strictModeReservedWord2.ts(4,18): error TS1212: Identifier expected. 'protected' is a reserved word in strict mode
|
||||
tests/cases/compiler/strictModeReservedWord2.ts(6,6): error TS1212: Identifier expected. 'package' is a reserved word in strict mode
|
||||
tests/cases/compiler/strictModeReservedWord2.ts(13,12): error TS1212: Identifier expected. 'private' is a reserved word in strict mode
|
||||
|
||||
|
||||
==== tests/cases/compiler/strictModeReservedWord2.ts (6 errors) ====
|
||||
"use strict"
|
||||
interface public { }
|
||||
~~~~~~
|
||||
!!! error TS1212: Identifier expected. 'public' is a reserved word in strict mode
|
||||
interface implements {
|
||||
~~~~~~~~~~
|
||||
!!! error TS1212: Identifier expected. 'implements' is a reserved word in strict mode
|
||||
foo(package, protected);
|
||||
~~~~~~~
|
||||
!!! error TS1212: Identifier expected. 'package' is a reserved word in strict mode
|
||||
~~~~~~~~~
|
||||
!!! error TS1212: Identifier expected. 'protected' is a reserved word in strict mode
|
||||
}
|
||||
enum package { }
|
||||
~~~~~~~
|
||||
!!! error TS1212: Identifier expected. 'package' is a reserved word in strict mode
|
||||
enum foo {
|
||||
public,
|
||||
private,
|
||||
pacakge
|
||||
}
|
||||
|
||||
const enum private {
|
||||
~~~~~~~
|
||||
!!! error TS1212: Identifier expected. 'private' is a reserved word in strict mode
|
||||
public,
|
||||
private,
|
||||
pacakge
|
||||
}
|
||||
|
||||
const enum bar {
|
||||
public,
|
||||
private,
|
||||
pacakge
|
||||
}
|
||||
|
||||
37
tests/baselines/reference/strictModeReservedWord2.js
Normal file
37
tests/baselines/reference/strictModeReservedWord2.js
Normal file
@ -0,0 +1,37 @@
|
||||
//// [strictModeReservedWord2.ts]
|
||||
"use strict"
|
||||
interface public { }
|
||||
interface implements {
|
||||
foo(package, protected);
|
||||
}
|
||||
enum package { }
|
||||
enum foo {
|
||||
public,
|
||||
private,
|
||||
pacakge
|
||||
}
|
||||
|
||||
const enum private {
|
||||
public,
|
||||
private,
|
||||
pacakge
|
||||
}
|
||||
|
||||
const enum bar {
|
||||
public,
|
||||
private,
|
||||
pacakge
|
||||
}
|
||||
|
||||
|
||||
//// [strictModeReservedWord2.js]
|
||||
"use strict";
|
||||
var package;
|
||||
(function (package) {
|
||||
})(package || (package = {}));
|
||||
var foo;
|
||||
(function (foo) {
|
||||
foo[foo["public"] = 0] = "public";
|
||||
foo[foo["private"] = 1] = "private";
|
||||
foo[foo["pacakge"] = 2] = "pacakge";
|
||||
})(foo || (foo = {}));
|
||||
@ -0,0 +1,103 @@
|
||||
tests/cases/compiler/strictModeReservedWordInClassDeclaration.ts(4,17): error TS1213: Identifier expected. 'private' is a reserved word in strict mode. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/strictModeReservedWordInClassDeclaration.ts(4,26): error TS1213: Identifier expected. 'public' is a reserved word in strict mode. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/strictModeReservedWordInClassDeclaration.ts(4,34): error TS1213: Identifier expected. 'static' is a reserved word in strict mode. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/strictModeReservedWordInClassDeclaration.ts(5,9): error TS1213: Identifier expected. 'private' is a reserved word in strict mode. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/strictModeReservedWordInClassDeclaration.ts(5,19): error TS1213: Identifier expected. 'public' is a reserved word in strict mode. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/strictModeReservedWordInClassDeclaration.ts(5,28): error TS1213: Identifier expected. 'static' is a reserved word in strict mode. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/strictModeReservedWordInClassDeclaration.ts(7,22): error TS1216: Type expected. 'public' is a reserved word in strict mode. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/strictModeReservedWordInClassDeclaration.ts(11,24): error TS1213: Identifier expected. 'public' is a reserved word in strict mode. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/strictModeReservedWordInClassDeclaration.ts(11,32): error TS1213: Identifier expected. 'let' is a reserved word in strict mode. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/strictModeReservedWordInClassDeclaration.ts(13,10): error TS1213: Identifier expected. 'private' is a reserved word in strict mode. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/strictModeReservedWordInClassDeclaration.ts(13,19): error TS1213: Identifier expected. 'static' is a reserved word in strict mode. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/strictModeReservedWordInClassDeclaration.ts(13,27): error TS1213: Identifier expected. 'public' is a reserved word in strict mode. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/strictModeReservedWordInClassDeclaration.ts(14,18): error TS1213: Identifier expected. 'let' is a reserved word in strict mode. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/strictModeReservedWordInClassDeclaration.ts(21,9): error TS1213: Identifier expected. 'public' is a reserved word in strict mode. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/strictModeReservedWordInClassDeclaration.ts(21,17): error TS1213: Identifier expected. 'private' is a reserved word in strict mode. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/strictModeReservedWordInClassDeclaration.ts(23,20): error TS1213: Identifier expected. 'public' is a reserved word in strict mode. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/strictModeReservedWordInClassDeclaration.ts(25,20): error TS1213: Identifier expected. 'public' is a reserved word in strict mode. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/strictModeReservedWordInClassDeclaration.ts(25,20): error TS2304: Cannot find name 'public'.
|
||||
tests/cases/compiler/strictModeReservedWordInClassDeclaration.ts(26,21): error TS1213: Identifier expected. 'public' is a reserved word in strict mode. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/strictModeReservedWordInClassDeclaration.ts(26,21): error TS2304: Cannot find name 'public'.
|
||||
tests/cases/compiler/strictModeReservedWordInClassDeclaration.ts(27,17): error TS1213: Identifier expected. 'package' is a reserved word in strict mode. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/strictModeReservedWordInClassDeclaration.ts(27,17): error TS2304: Cannot find name 'package'.
|
||||
tests/cases/compiler/strictModeReservedWordInClassDeclaration.ts(28,17): error TS1213: Identifier expected. 'package' is a reserved word in strict mode. Class definitions are automatically in strict mode.
|
||||
tests/cases/compiler/strictModeReservedWordInClassDeclaration.ts(28,17): error TS2304: Cannot find name 'package'.
|
||||
|
||||
|
||||
==== tests/cases/compiler/strictModeReservedWordInClassDeclaration.ts (24 errors) ====
|
||||
interface public { }
|
||||
|
||||
class Foo {
|
||||
constructor(private, public, static) {
|
||||
~~~~~~~
|
||||
!!! error TS1213: Identifier expected. 'private' is a reserved word in strict mode. Class definitions are automatically in strict mode.
|
||||
~~~~~~
|
||||
!!! error TS1213: Identifier expected. 'public' is a reserved word in strict mode. Class definitions are automatically in strict mode.
|
||||
~~~~~~
|
||||
!!! error TS1213: Identifier expected. 'static' is a reserved word in strict mode. Class definitions are automatically in strict mode.
|
||||
private = public = static;
|
||||
~~~~~~~
|
||||
!!! error TS1213: Identifier expected. 'private' is a reserved word in strict mode. Class definitions are automatically in strict mode.
|
||||
~~~~~~
|
||||
!!! error TS1213: Identifier expected. 'public' is a reserved word in strict mode. Class definitions are automatically in strict mode.
|
||||
~~~~~~
|
||||
!!! error TS1213: Identifier expected. 'static' is a reserved word in strict mode. Class definitions are automatically in strict mode.
|
||||
}
|
||||
public banana(x: public) { }
|
||||
~~~~~~
|
||||
!!! error TS1216: Type expected. 'public' is a reserved word in strict mode. Class definitions are automatically in strict mode.
|
||||
}
|
||||
|
||||
class C {
|
||||
constructor(public public, let) {
|
||||
~~~~~~
|
||||
!!! error TS1213: Identifier expected. 'public' is a reserved word in strict mode. Class definitions are automatically in strict mode.
|
||||
~~~
|
||||
!!! error TS1213: Identifier expected. 'let' is a reserved word in strict mode. Class definitions are automatically in strict mode.
|
||||
}
|
||||
foo1(private, static, public) {
|
||||
~~~~~~~
|
||||
!!! error TS1213: Identifier expected. 'private' is a reserved word in strict mode. Class definitions are automatically in strict mode.
|
||||
~~~~~~
|
||||
!!! error TS1213: Identifier expected. 'static' is a reserved word in strict mode. Class definitions are automatically in strict mode.
|
||||
~~~~~~
|
||||
!!! error TS1213: Identifier expected. 'public' is a reserved word in strict mode. Class definitions are automatically in strict mode.
|
||||
function let() { }
|
||||
~~~
|
||||
!!! error TS1213: Identifier expected. 'let' is a reserved word in strict mode. Class definitions are automatically in strict mode.
|
||||
var z = function let() { };
|
||||
}
|
||||
|
||||
public pulbic() { } // No Error;
|
||||
}
|
||||
|
||||
class D<public, private>{ }
|
||||
~~~~~~
|
||||
!!! error TS1213: Identifier expected. 'public' is a reserved word in strict mode. Class definitions are automatically in strict mode.
|
||||
~~~~~~~
|
||||
!!! error TS1213: Identifier expected. 'private' is a reserved word in strict mode. Class definitions are automatically in strict mode.
|
||||
|
||||
class E implements public { }
|
||||
~~~~~~
|
||||
!!! error TS1213: Identifier expected. 'public' is a reserved word in strict mode. Class definitions are automatically in strict mode.
|
||||
|
||||
class F implements public.private.B { }
|
||||
~~~~~~
|
||||
!!! error TS1213: Identifier expected. 'public' is a reserved word in strict mode. Class definitions are automatically in strict mode.
|
||||
~~~~~~
|
||||
!!! error TS2304: Cannot find name 'public'.
|
||||
class F1 implements public.private.implements { }
|
||||
~~~~~~
|
||||
!!! error TS1213: Identifier expected. 'public' is a reserved word in strict mode. Class definitions are automatically in strict mode.
|
||||
~~~~~~
|
||||
!!! error TS2304: Cannot find name 'public'.
|
||||
class G extends package { }
|
||||
~~~~~~~
|
||||
!!! error TS1213: Identifier expected. 'package' is a reserved word in strict mode. Class definitions are automatically in strict mode.
|
||||
~~~~~~~
|
||||
!!! error TS2304: Cannot find name 'package'.
|
||||
class H extends package.A { }
|
||||
~~~~~~~
|
||||
!!! error TS1213: Identifier expected. 'package' is a reserved word in strict mode. Class definitions are automatically in strict mode.
|
||||
~~~~~~~
|
||||
!!! error TS2304: Cannot find name 'package'.
|
||||
@ -1,4 +1,4 @@
|
||||
//// [strictModeCode1.ts]
|
||||
//// [strictModeReservedWordInClassDeclaration.ts]
|
||||
interface public { }
|
||||
|
||||
class Foo {
|
||||
@ -28,7 +28,7 @@ class F1 implements public.private.implements { }
|
||||
class G extends package { }
|
||||
class H extends package.A { }
|
||||
|
||||
//// [strictModeCode1.js]
|
||||
//// [strictModeReservedWordInClassDeclaration.js]
|
||||
var __extends = this.__extends || function (d, b) {
|
||||
for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
|
||||
function __() { this.constructor = d; }
|
||||
@ -0,0 +1,30 @@
|
||||
tests/cases/compiler/strictModeReservedWordInDestructuring.ts(2,6): error TS1212: Identifier expected. 'public' is a reserved word in strict mode
|
||||
tests/cases/compiler/strictModeReservedWordInDestructuring.ts(3,10): error TS1212: Identifier expected. 'public' is a reserved word in strict mode
|
||||
tests/cases/compiler/strictModeReservedWordInDestructuring.ts(4,7): error TS1212: Identifier expected. 'private' is a reserved word in strict mode
|
||||
tests/cases/compiler/strictModeReservedWordInDestructuring.ts(5,15): error TS1212: Identifier expected. 'static' is a reserved word in strict mode
|
||||
tests/cases/compiler/strictModeReservedWordInDestructuring.ts(5,38): error TS1212: Identifier expected. 'package' is a reserved word in strict mode
|
||||
tests/cases/compiler/strictModeReservedWordInDestructuring.ts(6,6): error TS1212: Identifier expected. 'public' is a reserved word in strict mode
|
||||
tests/cases/compiler/strictModeReservedWordInDestructuring.ts(6,14): error TS1212: Identifier expected. 'protected' is a reserved word in strict mode
|
||||
|
||||
|
||||
==== tests/cases/compiler/strictModeReservedWordInDestructuring.ts (7 errors) ====
|
||||
"use strict"
|
||||
var [public] = [1];
|
||||
~~~~~~
|
||||
!!! error TS1212: Identifier expected. 'public' is a reserved word in strict mode
|
||||
var { x: public } = { x: 1 };
|
||||
~~~~~~
|
||||
!!! error TS1212: Identifier expected. 'public' is a reserved word in strict mode
|
||||
var [[private]] = [["hello"]];
|
||||
~~~~~~~
|
||||
!!! error TS1212: Identifier expected. 'private' is a reserved word in strict mode
|
||||
var { y: { s: static }, z: { o: { p: package} }} = { y: { s: 1 }, z: { o: { p: 'h' } } };
|
||||
~~~~~~
|
||||
!!! error TS1212: Identifier expected. 'static' is a reserved word in strict mode
|
||||
~~~~~~~
|
||||
!!! error TS1212: Identifier expected. 'package' is a reserved word in strict mode
|
||||
var {public, protected} = { public: 1, protected: 2 };
|
||||
~~~~~~
|
||||
!!! error TS1212: Identifier expected. 'public' is a reserved word in strict mode
|
||||
~~~~~~~~~
|
||||
!!! error TS1212: Identifier expected. 'protected' is a reserved word in strict mode
|
||||
@ -1,4 +1,4 @@
|
||||
//// [strictModeCode5.ts]
|
||||
//// [strictModeReservedWordInDestructuring.ts]
|
||||
"use strict"
|
||||
var [public] = [1];
|
||||
var { x: public } = { x: 1 };
|
||||
@ -6,7 +6,7 @@ var [[private]] = [["hello"]];
|
||||
var { y: { s: static }, z: { o: { p: package} }} = { y: { s: 1 }, z: { o: { p: 'h' } } };
|
||||
var {public, protected} = { public: 1, protected: 2 };
|
||||
|
||||
//// [strictModeCode5.js]
|
||||
//// [strictModeReservedWordInDestructuring.js]
|
||||
"use strict";
|
||||
var public = ([1])[0];
|
||||
var public = ({ x: 1 }).x;
|
||||
@ -0,0 +1,12 @@
|
||||
tests/cases/compiler/strictModeReservedWordInImportEqualDeclaration.ts(3,8): error TS1212: Identifier expected. 'public' is a reserved word in strict mode
|
||||
tests/cases/compiler/strictModeReservedWordInImportEqualDeclaration.ts(3,25): error TS2307: Cannot find external module '1'.
|
||||
|
||||
|
||||
==== tests/cases/compiler/strictModeReservedWordInImportEqualDeclaration.ts (2 errors) ====
|
||||
|
||||
"use strict"
|
||||
import public = require("1");
|
||||
~~~~~~
|
||||
!!! error TS1212: Identifier expected. 'public' is a reserved word in strict mode
|
||||
~~~
|
||||
!!! error TS2307: Cannot find external module '1'.
|
||||
@ -0,0 +1,7 @@
|
||||
//// [strictModeReservedWordInImportEqualDeclaration.ts]
|
||||
|
||||
"use strict"
|
||||
import public = require("1");
|
||||
|
||||
//// [strictModeReservedWordInImportEqualDeclaration.js]
|
||||
"use strict";
|
||||
@ -0,0 +1,24 @@
|
||||
tests/cases/compiler/strictModeReservedWordInModuleDeclaration.ts(2,8): error TS1212: Identifier expected. 'public' is a reserved word in strict mode
|
||||
tests/cases/compiler/strictModeReservedWordInModuleDeclaration.ts(3,8): error TS1212: Identifier expected. 'private' is a reserved word in strict mode
|
||||
tests/cases/compiler/strictModeReservedWordInModuleDeclaration.ts(4,8): error TS1212: Identifier expected. 'public' is a reserved word in strict mode
|
||||
tests/cases/compiler/strictModeReservedWordInModuleDeclaration.ts(6,8): error TS1212: Identifier expected. 'private' is a reserved word in strict mode
|
||||
tests/cases/compiler/strictModeReservedWordInModuleDeclaration.ts(6,16): error TS1212: Identifier expected. 'public' is a reserved word in strict mode
|
||||
|
||||
|
||||
==== tests/cases/compiler/strictModeReservedWordInModuleDeclaration.ts (5 errors) ====
|
||||
"use strict"
|
||||
module public { }
|
||||
~~~~~~
|
||||
!!! error TS1212: Identifier expected. 'public' is a reserved word in strict mode
|
||||
module private { }
|
||||
~~~~~~~
|
||||
!!! error TS1212: Identifier expected. 'private' is a reserved word in strict mode
|
||||
module public.whatever {
|
||||
~~~~~~
|
||||
!!! error TS1212: Identifier expected. 'public' is a reserved word in strict mode
|
||||
}
|
||||
module private.public.foo { }
|
||||
~~~~~~~
|
||||
!!! error TS1212: Identifier expected. 'private' is a reserved word in strict mode
|
||||
~~~~~~
|
||||
!!! error TS1212: Identifier expected. 'public' is a reserved word in strict mode
|
||||
@ -1,4 +1,4 @@
|
||||
//// [strictModeCode8.ts]
|
||||
//// [strictModeReservedWordInModuleDeclaration.ts]
|
||||
"use strict"
|
||||
module public { }
|
||||
module private { }
|
||||
@ -6,5 +6,5 @@ module public.whatever {
|
||||
}
|
||||
module private.public.foo { }
|
||||
|
||||
//// [strictModeCode8.js]
|
||||
//// [strictModeReservedWordInModuleDeclaration.js]
|
||||
"use strict";
|
||||
@ -0,0 +1,13 @@
|
||||
//// [strictModeWordInExportDeclaration.ts]
|
||||
"use strict"
|
||||
var x = 1;
|
||||
export { x as foo }
|
||||
export { x as implements }
|
||||
export { x as while }
|
||||
|
||||
//// [strictModeWordInExportDeclaration.js]
|
||||
"use strict";
|
||||
var x = 1;
|
||||
export { x as foo };
|
||||
export { x as implements };
|
||||
export { x as while };
|
||||
@ -0,0 +1,17 @@
|
||||
=== tests/cases/compiler/strictModeWordInExportDeclaration.ts ===
|
||||
"use strict"
|
||||
var x = 1;
|
||||
>x : number
|
||||
|
||||
export { x as foo }
|
||||
>x : number
|
||||
>foo : number
|
||||
|
||||
export { x as implements }
|
||||
>x : number
|
||||
>implements : number
|
||||
|
||||
export { x as while }
|
||||
>x : number
|
||||
>while : number
|
||||
|
||||
@ -0,0 +1,22 @@
|
||||
tests/cases/compiler/strictModeWordInImportDeclaration.ts(2,13): error TS1212: Identifier expected. 'package' is a reserved word in strict mode
|
||||
tests/cases/compiler/strictModeWordInImportDeclaration.ts(2,26): error TS2307: Cannot find external module './1'.
|
||||
tests/cases/compiler/strictModeWordInImportDeclaration.ts(3,16): error TS1212: Identifier expected. 'private' is a reserved word in strict mode
|
||||
tests/cases/compiler/strictModeWordInImportDeclaration.ts(3,30): error TS2307: Cannot find external module './1'.
|
||||
tests/cases/compiler/strictModeWordInImportDeclaration.ts(4,20): error TS2307: Cannot find external module './1'.
|
||||
|
||||
|
||||
==== tests/cases/compiler/strictModeWordInImportDeclaration.ts (5 errors) ====
|
||||
"use strict"
|
||||
import * as package from "./1"
|
||||
~~~~~~~
|
||||
!!! error TS1212: Identifier expected. 'package' is a reserved word in strict mode
|
||||
~~~~~
|
||||
!!! error TS2307: Cannot find external module './1'.
|
||||
import {foo as private} from "./1"
|
||||
~~~~~~~
|
||||
!!! error TS1212: Identifier expected. 'private' is a reserved word in strict mode
|
||||
~~~~~
|
||||
!!! error TS2307: Cannot find external module './1'.
|
||||
import public from "./1"
|
||||
~~~~~
|
||||
!!! error TS2307: Cannot find external module './1'.
|
||||
@ -1,8 +1,8 @@
|
||||
//// [strictModeCode6.ts]
|
||||
//// [strictModeWordInImportDeclaration.ts]
|
||||
"use strict"
|
||||
import * as package from "./1"
|
||||
import {foo as private} from "./1"
|
||||
import public from "./1"
|
||||
|
||||
//// [strictModeCode6.js]
|
||||
//// [strictModeWordInImportDeclaration.js]
|
||||
"use strict";
|
||||
12
tests/cases/compiler/reservedWords2.ts
Normal file
12
tests/cases/compiler/reservedWords2.ts
Normal file
@ -0,0 +1,12 @@
|
||||
import while = require("dfdf");
|
||||
import * as while from "foo"
|
||||
|
||||
var typeof = 10;
|
||||
function throw() {}
|
||||
module void {}
|
||||
var {while, return} = { while: 1, return: 2 };
|
||||
var {this, switch: { continue} } = { this: 1, switch: { continue: 2 }};
|
||||
var [debugger, if] = [1, 2];
|
||||
enum void {}
|
||||
|
||||
|
||||
@ -1,6 +0,0 @@
|
||||
"use strict"
|
||||
interface public { }
|
||||
interface implements {
|
||||
foo(package, protected);
|
||||
}
|
||||
enum package { }
|
||||
@ -20,5 +20,7 @@ function foo() {
|
||||
function foo1(x: private.package.x) { }
|
||||
function foo2(x: private.package.protected) { }
|
||||
let b: interface.package.implements.B;
|
||||
ublic();
|
||||
static();
|
||||
}
|
||||
|
||||
23
tests/cases/compiler/strictModeReservedWord2.ts
Normal file
23
tests/cases/compiler/strictModeReservedWord2.ts
Normal file
@ -0,0 +1,23 @@
|
||||
"use strict"
|
||||
interface public { }
|
||||
interface implements {
|
||||
foo(package, protected);
|
||||
}
|
||||
enum package { }
|
||||
enum foo {
|
||||
public,
|
||||
private,
|
||||
pacakge
|
||||
}
|
||||
|
||||
const enum private {
|
||||
public,
|
||||
private,
|
||||
pacakge
|
||||
}
|
||||
|
||||
const enum bar {
|
||||
public,
|
||||
private,
|
||||
pacakge
|
||||
}
|
||||
@ -0,0 +1,6 @@
|
||||
// @target: ES6
|
||||
"use strict"
|
||||
var x = 1;
|
||||
export { x as foo }
|
||||
export { x as implements }
|
||||
export { x as while }
|
||||
Loading…
x
Reference in New Issue
Block a user