33 lines
906 B
Text
33 lines
906 B
Text
|
==== tests/cases/conformance/classes/constructorDeclarations/superCalls/derivedClassSuperCallsWithThisArg.ts (2 errors) ====
|
||
|
class Base {
|
||
|
x: string;
|
||
|
constructor(a) { }
|
||
|
}
|
||
|
|
||
|
class Derived extends Base {
|
||
|
constructor() {
|
||
|
super(this); // ok
|
||
|
}
|
||
|
}
|
||
|
|
||
|
class Derived2 extends Base {
|
||
|
constructor(public a: string) {
|
||
|
super(this); // error
|
||
|
~~~~
|
||
|
!!! 'this' cannot be referenced in current location.
|
||
|
}
|
||
|
}
|
||
|
|
||
|
class Derived3 extends Base {
|
||
|
constructor(public a: string) {
|
||
|
super(() => this); // error
|
||
|
~~~~
|
||
|
!!! 'this' cannot be referenced in current location.
|
||
|
}
|
||
|
}
|
||
|
|
||
|
class Derived4 extends Base {
|
||
|
constructor(public a: string) {
|
||
|
super(function () { return this; }); // ok
|
||
|
}
|
||
|
}
|