mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-02-07 23:08:20 -06:00
Test:static inits can refer to later static methods
This commit is contained in:
parent
833fd010d7
commit
4214aed37d
@ -0,0 +1,30 @@
|
||||
tests/cases/compiler/scopeCheckStaticInitializer.ts(2,38): error TS2448: Block-scoped variable 'data' used before its declaration.
|
||||
tests/cases/compiler/scopeCheckStaticInitializer.ts(5,23): error TS2449: Class 'After' used before its declaration.
|
||||
tests/cases/compiler/scopeCheckStaticInitializer.ts(5,29): error TS2448: Block-scoped variable 'data' used before its declaration.
|
||||
tests/cases/compiler/scopeCheckStaticInitializer.ts(6,23): error TS2449: Class 'After' used before its declaration.
|
||||
|
||||
|
||||
==== tests/cases/compiler/scopeCheckStaticInitializer.ts (4 errors) ====
|
||||
class X {
|
||||
static illegalBeforeProperty = X.data;
|
||||
~~~~
|
||||
!!! error TS2448: Block-scoped variable 'data' used before its declaration.
|
||||
static okBeforeMethod = X.method;
|
||||
|
||||
static illegal2 = After.data;
|
||||
~~~~~
|
||||
!!! error TS2449: Class 'After' used before its declaration.
|
||||
~~~~
|
||||
!!! error TS2448: Block-scoped variable 'data' used before its declaration.
|
||||
static illegal3 = After.method;
|
||||
~~~~~
|
||||
!!! error TS2449: Class 'After' used before its declaration.
|
||||
static data = 13;
|
||||
static method() { }
|
||||
}
|
||||
class After {
|
||||
static data = 12;
|
||||
static method() { };
|
||||
}
|
||||
|
||||
|
||||
37
tests/baselines/reference/scopeCheckStaticInitializer.js
Normal file
37
tests/baselines/reference/scopeCheckStaticInitializer.js
Normal file
@ -0,0 +1,37 @@
|
||||
//// [scopeCheckStaticInitializer.ts]
|
||||
class X {
|
||||
static illegalBeforeProperty = X.data;
|
||||
static okBeforeMethod = X.method;
|
||||
|
||||
static illegal2 = After.data;
|
||||
static illegal3 = After.method;
|
||||
static data = 13;
|
||||
static method() { }
|
||||
}
|
||||
class After {
|
||||
static data = 12;
|
||||
static method() { };
|
||||
}
|
||||
|
||||
|
||||
|
||||
//// [scopeCheckStaticInitializer.js]
|
||||
var X = (function () {
|
||||
function X() {
|
||||
}
|
||||
X.method = function () { };
|
||||
return X;
|
||||
}());
|
||||
X.illegalBeforeProperty = X.data;
|
||||
X.okBeforeMethod = X.method;
|
||||
X.illegal2 = After.data;
|
||||
X.illegal3 = After.method;
|
||||
X.data = 13;
|
||||
var After = (function () {
|
||||
function After() {
|
||||
}
|
||||
After.method = function () { };
|
||||
;
|
||||
return After;
|
||||
}());
|
||||
After.data = 12;
|
||||
14
tests/cases/compiler/scopeCheckStaticInitializer.ts
Normal file
14
tests/cases/compiler/scopeCheckStaticInitializer.ts
Normal file
@ -0,0 +1,14 @@
|
||||
class X {
|
||||
static illegalBeforeProperty = X.data;
|
||||
static okBeforeMethod = X.method;
|
||||
|
||||
static illegal2 = After.data;
|
||||
static illegal3 = After.method;
|
||||
static data = 13;
|
||||
static method() { }
|
||||
}
|
||||
class After {
|
||||
static data = 12;
|
||||
static method() { };
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user