tests/cases/conformance/parser/ecmascript5/parserAstSpans1.ts(111,25): error TS2340: Only public and protected methods of the base class are accessible via the 'super' keyword.
tests/cases/conformance/parser/ecmascript5/parserAstSpans1.ts(217,24): error TS2340: Only public and protected methods of the base class are accessible via the 'super' keyword.


==== tests/cases/conformance/parser/ecmascript5/parserAstSpans1.ts (2 errors) ====
    /** i1 is interface with properties*/
    interface i1 {
        /** i1_p1*/
        i1_p1: number;
        /** i1_f1*/
        i1_f1(): void;
        /** i1_l1*/
        i1_l1: () => void;
        i1_nc_p1: number;
        i1_nc_f1(): void;
        i1_nc_l1: () => void;
        p1: number;
        f1(): void;
        l1: () => void;
        nc_p1: number;
        nc_f1(): void;
        nc_l1: () => void;
    }
    class c1 implements i1 {
        public i1_p1: number;
        public i1_f1() {
        }
        public i1_l1: () => void;
        public i1_nc_p1: number;
        public i1_nc_f1() {
        }
        public i1_nc_l1: () => void;
        /** c1_p1*/
        public p1: number;
        /** c1_f1*/
        public f1() {
        }
        /** c1_l1*/
        public l1: () => void;
        /** c1_nc_p1*/
        public nc_p1: number;
        /** c1_nc_f1*/
        public nc_f1() {
        }
        /** c1_nc_l1*/
        public nc_l1: () => void;
    }
    var i1_i: i1;
    i1_i.i1_f1();
    i1_i.i1_nc_f1();
    i1_i.f1();
    i1_i.nc_f1();
    i1_i.i1_l1();
    i1_i.i1_nc_l1();
    i1_i.l1();
    i1_i.nc_l1();
    var c1_i = new c1();
    c1_i.i1_f1();
    c1_i.i1_nc_f1();
    c1_i.f1();
    c1_i.nc_f1();
    c1_i.i1_l1();
    c1_i.i1_nc_l1();
    c1_i.l1();
    c1_i.nc_l1();
    // assign to interface
    i1_i = c1_i;
    i1_i.i1_f1();
    i1_i.i1_nc_f1();
    i1_i.f1();
    i1_i.nc_f1();
    i1_i.i1_l1();
    i1_i.i1_nc_l1();
    i1_i.l1();
    i1_i.nc_l1();
    
    class c2 {
        /** c2 c2_p1*/
        public c2_p1: number;
        /** c2 c2_f1*/
        public c2_f1() {
        }
        /** c2 c2_prop*/
        public get c2_prop() {
            return 10;
        }
        public c2_nc_p1: number;
        public c2_nc_f1() {
        }
        public get c2_nc_prop() {
            return 10;
        }
        /** c2 p1*/
        public p1: number;
        /** c2 f1*/
        public f1() {
        }
        /** c2 prop*/
        public get prop() {
            return 10;
        }
        public nc_p1: number;
        public nc_f1() {
        }
        public get nc_prop() {
            return 10;
        }
        /** c2 constructor*/
        constructor(a: number) {
            this.c2_p1 = a;
        }
    }
    class c3 extends c2 {
        constructor() {
            super(10);
            this.p1 = super.c2_p1;
                            ~~~~~
!!! error TS2340: Only public and protected methods of the base class are accessible via the 'super' keyword.
        }
        /** c3 p1*/
        public p1: number;
        /** c3 f1*/
        public f1() {
        }
        /** c3 prop*/
        public get prop() {
            return 10;
        }
        public nc_p1: number;
        public nc_f1() {
        }
        public get nc_prop() {
            return 10;
        }
    }
    var c2_i = new c2(10);
    var c3_i = new c3();
    c2_i.c2_f1();
    c2_i.c2_nc_f1();
    c2_i.f1();
    c2_i.nc_f1();
    c3_i.c2_f1();
    c3_i.c2_nc_f1();
    c3_i.f1();
    c3_i.nc_f1();
    // assign
    c2_i = c3_i;
    c2_i.c2_f1();
    c2_i.c2_nc_f1();
    c2_i.f1();
    c2_i.nc_f1();
    class c4 extends c2 {
    }
    var c4_i = new c4(10);
    
    interface i2 {
        /** i2_p1*/
        i2_p1: number;
        /** i2_f1*/
        i2_f1(): void;
        /** i2_l1*/
        i2_l1: () => void;
        i2_nc_p1: number;
        i2_nc_f1(): void;
        i2_nc_l1: () => void;
        /** i2 p1*/
        p1: number;
        /** i2 f1*/
        f1(): void;
        /** i2 l1*/
        l1: () => void;
        nc_p1: number;
        nc_f1(): void;
        nc_l1: () => void;
    }
    interface i3 extends i2 {
        /** i3 p1*/
        p1: number;
        /** i3 f1*/
        f1(): void;
        /** i3 l1*/
        l1: () => void;
        nc_p1: number;
        nc_f1(): void;
        nc_l1: () => void;
    }
    var i2_i: i2;
    var i3_i: i3;
    i2_i.i2_f1();
    i2_i.i2_nc_f1();
    i2_i.f1();
    i2_i.nc_f1();
    i2_i.i2_l1();
    i2_i.i2_nc_l1();
    i2_i.l1();
    i2_i.nc_l1();
    i3_i.i2_f1();
    i3_i.i2_nc_f1();
    i3_i.f1();
    i3_i.nc_f1();
    i3_i.i2_l1();
    i3_i.i2_nc_l1();
    i3_i.l1();
    i3_i.nc_l1();
    // assign to interface
    i2_i = i3_i;
    i2_i.i2_f1();
    i2_i.i2_nc_f1();
    i2_i.f1();
    i2_i.nc_f1();
    i2_i.i2_l1();
    i2_i.i2_nc_l1();
    i2_i.l1();
    i2_i.nc_l1();
    
    /**c5 class*/
    class c5 {
        public b: number;
    }
    class c6 extends c5 {
        public d;
        constructor() {
            super();
            this.d = super.b;
                           ~
!!! error TS2340: Only public and protected methods of the base class are accessible via the 'super' keyword.
        }
    }