tests/cases/compiler/thisInSuperCall.ts(7,9): error TS2684: The 'this' context of type 'void' is not assignable to method's 'this' of type 'Base'.
tests/cases/compiler/thisInSuperCall.ts(7,15): error TS17009: 'super' must be called before accessing 'this' in the constructor of a derived class.
tests/cases/compiler/thisInSuperCall.ts(14,9): error TS2684: The 'this' context of type 'void' is not assignable to method's 'this' of type 'Base'.
tests/cases/compiler/thisInSuperCall.ts(14,15): error TS17009: 'super' must be called before accessing 'this' in the constructor of a derived class.
tests/cases/compiler/thisInSuperCall.ts(20,9): error TS2684: The 'this' context of type 'void' is not assignable to method's 'this' of type 'Base'.
tests/cases/compiler/thisInSuperCall.ts(20,15): error TS17009: 'super' must be called before accessing 'this' in the constructor of a derived class.


==== tests/cases/compiler/thisInSuperCall.ts (6 errors) ====
    class Base { 
        constructor(x: any) {}
    }
    
    class Foo extends Base {
        constructor() {
            super(this); // error: "super" has to be called before "this" accessing
            ~~~~~~~~~~~
!!! error TS2684: The 'this' context of type 'void' is not assignable to method's 'this' of type 'Base'.
                  ~~~~
!!! error TS17009: 'super' must be called before accessing 'this' in the constructor of a derived class.
        }
    }
    
    class Foo2 extends Base {
        public p = 0;
        constructor() {
            super(this); // error
            ~~~~~~~~~~~
!!! error TS2684: The 'this' context of type 'void' is not assignable to method's 'this' of type 'Base'.
                  ~~~~
!!! error TS17009: 'super' must be called before accessing 'this' in the constructor of a derived class.
        }
    }
    
    class Foo3 extends Base {
        constructor(public p) {
            super(this); // error
            ~~~~~~~~~~~
!!! error TS2684: The 'this' context of type 'void' is not assignable to method's 'this' of type 'Base'.
                  ~~~~
!!! error TS17009: 'super' must be called before accessing 'this' in the constructor of a derived class.
        }
    }