TypeScript/tests/baselines/reference/initializerReferencingConstructorLocals.errors.txt
2014-09-11 16:11:08 -07:00

46 lines
1.5 KiB
Plaintext

==== tests/cases/conformance/classes/propertyMemberDeclarations/initializerReferencingConstructorLocals.ts (12 errors) ====
// Initializer expressions for instance member variables are evaluated in the scope of the class constructor body but are not permitted to reference parameters or local variables of the constructor.
class C {
a = z; // error
~
!!! error TS2304: Cannot find name 'z'.
b: typeof z; // error
~
!!! error TS2304: Cannot find name 'z'.
c = this.z; // error
~
!!! error TS2339: Property 'z' does not exist on type 'C'.
d: typeof this.z; // error
~~~~
!!! error TS1003: Identifier expected.
~
!!! error TS2339: Property 'z' does not exist on type 'C'.
constructor(x) {
z = 1;
~
!!! error TS2304: Cannot find name 'z'.
}
}
class D<T> {
a = z; // error
~
!!! error TS2304: Cannot find name 'z'.
b: typeof z; // error
~
!!! error TS2304: Cannot find name 'z'.
c = this.z; // error
~
!!! error TS2339: Property 'z' does not exist on type 'D<T>'.
d: typeof this.z; // error
~~~~
!!! error TS1003: Identifier expected.
~
!!! error TS2339: Property 'z' does not exist on type 'D<T>'.
constructor(x: T) {
z = 1;
~
!!! error TS2304: Cannot find name 'z'.
}
}