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


==== tests/cases/compiler/thisInSuperCall2.ts (4 errors) ====
    class Base { 
        constructor(a: any) {}
    }
    
    class Foo extends Base {
        public x: number;
        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 x: number = 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.
        }
    }
    