=== tests/cases/conformance/classes/propertyMemberDeclarations/initializerReferencingConstructorParameters.ts === // 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 { >C : Symbol(C, Decl(initializerReferencingConstructorParameters.ts, 0, 0)) a = x; // error >a : Symbol(C.a, Decl(initializerReferencingConstructorParameters.ts, 2, 9)) b: typeof x; // error >b : Symbol(C.b, Decl(initializerReferencingConstructorParameters.ts, 3, 10)) constructor(x) { } >x : Symbol(x, Decl(initializerReferencingConstructorParameters.ts, 5, 16)) } class D { >D : Symbol(D, Decl(initializerReferencingConstructorParameters.ts, 6, 1)) a = x; // error >a : Symbol(D.a, Decl(initializerReferencingConstructorParameters.ts, 8, 9)) b: typeof x; // error >b : Symbol(D.b, Decl(initializerReferencingConstructorParameters.ts, 9, 10)) constructor(public x) { } >x : Symbol(D.x, Decl(initializerReferencingConstructorParameters.ts, 11, 16)) } class E { >E : Symbol(E, Decl(initializerReferencingConstructorParameters.ts, 12, 1)) a = this.x; // ok >a : Symbol(E.a, Decl(initializerReferencingConstructorParameters.ts, 14, 9)) >this.x : Symbol(E.x, Decl(initializerReferencingConstructorParameters.ts, 17, 16)) >this : Symbol(E, Decl(initializerReferencingConstructorParameters.ts, 12, 1)) >x : Symbol(E.x, Decl(initializerReferencingConstructorParameters.ts, 17, 16)) b: typeof this.x; // ok >b : Symbol(E.b, Decl(initializerReferencingConstructorParameters.ts, 15, 15)) >this.x : Symbol(E.x, Decl(initializerReferencingConstructorParameters.ts, 17, 16)) >x : Symbol(E.x, Decl(initializerReferencingConstructorParameters.ts, 17, 16)) constructor(public x) { } >x : Symbol(E.x, Decl(initializerReferencingConstructorParameters.ts, 17, 16)) } class F { >F : Symbol(F, Decl(initializerReferencingConstructorParameters.ts, 18, 1)) >T : Symbol(T, Decl(initializerReferencingConstructorParameters.ts, 20, 8)) a = this.x; // ok >a : Symbol(F.a, Decl(initializerReferencingConstructorParameters.ts, 20, 12)) >this.x : Symbol(F.x, Decl(initializerReferencingConstructorParameters.ts, 23, 16)) >this : Symbol(F, Decl(initializerReferencingConstructorParameters.ts, 18, 1)) >x : Symbol(F.x, Decl(initializerReferencingConstructorParameters.ts, 23, 16)) b = x; // error >b : Symbol(F.b, Decl(initializerReferencingConstructorParameters.ts, 21, 15)) constructor(public x: T) { } >x : Symbol(F.x, Decl(initializerReferencingConstructorParameters.ts, 23, 16)) >T : Symbol(T, Decl(initializerReferencingConstructorParameters.ts, 20, 8)) }