// @declaration: true
// @noImplicitOverride: true
class B {
    a: string
}

class D extends B {
    constructor(public a: string, public b: string) {
        super();
    }
}

class BB {
    constructor(public a: string) {

    }
}

class DD extends BB {
    constructor(public a: string) {
        super(a)
    }
}

class DDD extends BB {
    public a: string;

    constructor(a: string) {
        super(a)
        this.a = a
    }
}