tests/cases/conformance/classes/constructorDeclarations/superCalls/derivedClassSuperCallsWithThisArg.ts(8,15): error TS17009: 'super' must be called before accessing 'this' in the constructor of a derived class.
tests/cases/conformance/classes/constructorDeclarations/superCalls/derivedClassSuperCallsWithThisArg.ts(14,15): error TS17009: 'super' must be called before accessing 'this' in the constructor of a derived class.


==== tests/cases/conformance/classes/constructorDeclarations/superCalls/derivedClassSuperCallsWithThisArg.ts (2 errors) ====
    class Base {
        x: string;
        constructor(a) { }
    }
    
    class Derived extends Base {
        constructor() {
            super(this); // ok
                  ~~~~
!!! error TS17009: 'super' must be called before accessing 'this' in the constructor of a derived class.
        }
    }
    
    class Derived2 extends Base {
        constructor(public a: string) {
            super(this); // error
                  ~~~~
!!! error TS17009: 'super' must be called before accessing 'this' in the constructor of a derived class.
        }
    }
    
    class Derived3 extends Base {
        constructor(public a: string) {
            super(() => this); // error
        }
    }
    
    class Derived4 extends Base {
        constructor(public a: string) {
            super(function () { return this; }); // ok
        }
    }