2014-08-15 23:33:16 +02:00
|
|
|
=== tests/cases/compiler/commentsInheritance.ts ===
|
|
|
|
|
|
|
|
/** i1 is interface with properties*/
|
|
|
|
interface i1 {
|
|
|
|
>i1 : i1
|
|
|
|
|
|
|
|
/** i1_p1*/
|
|
|
|
i1_p1: number;
|
|
|
|
>i1_p1 : number
|
|
|
|
|
|
|
|
/** i1_f1*/
|
|
|
|
i1_f1(): void;
|
|
|
|
>i1_f1 : () => void
|
|
|
|
|
|
|
|
/** i1_l1*/
|
|
|
|
i1_l1: () => void;
|
|
|
|
>i1_l1 : () => void
|
|
|
|
|
|
|
|
// il_nc_p1
|
|
|
|
i1_nc_p1: number;
|
|
|
|
>i1_nc_p1 : number
|
|
|
|
|
|
|
|
i1_nc_f1(): void;
|
|
|
|
>i1_nc_f1 : () => void
|
|
|
|
|
|
|
|
i1_nc_l1: () => void;
|
|
|
|
>i1_nc_l1 : () => void
|
|
|
|
|
|
|
|
p1: number;
|
|
|
|
>p1 : number
|
|
|
|
|
|
|
|
f1(): void;
|
|
|
|
>f1 : () => void
|
|
|
|
|
|
|
|
l1: () => void;
|
|
|
|
>l1 : () => void
|
|
|
|
|
|
|
|
nc_p1: number;
|
|
|
|
>nc_p1 : number
|
|
|
|
|
|
|
|
nc_f1(): void;
|
|
|
|
>nc_f1 : () => void
|
|
|
|
|
|
|
|
nc_l1: () => void;
|
|
|
|
>nc_l1 : () => void
|
|
|
|
}
|
|
|
|
class c1 implements i1 {
|
|
|
|
>c1 : c1
|
|
|
|
>i1 : i1
|
|
|
|
|
|
|
|
public i1_p1: number;
|
|
|
|
>i1_p1 : number
|
|
|
|
|
|
|
|
// i1_f1
|
|
|
|
public i1_f1() {
|
|
|
|
>i1_f1 : () => void
|
|
|
|
}
|
|
|
|
public i1_l1: () => void;
|
|
|
|
>i1_l1 : () => void
|
|
|
|
|
|
|
|
public i1_nc_p1: number;
|
|
|
|
>i1_nc_p1 : number
|
|
|
|
|
|
|
|
public i1_nc_f1() {
|
|
|
|
>i1_nc_f1 : () => void
|
|
|
|
}
|
|
|
|
public i1_nc_l1: () => void;
|
|
|
|
>i1_nc_l1 : () => void
|
|
|
|
|
|
|
|
/** c1_p1*/
|
|
|
|
public p1: number;
|
|
|
|
>p1 : number
|
|
|
|
|
|
|
|
/** c1_f1*/
|
|
|
|
public f1() {
|
|
|
|
>f1 : () => void
|
|
|
|
}
|
|
|
|
/** c1_l1*/
|
|
|
|
public l1: () => void;
|
|
|
|
>l1 : () => void
|
|
|
|
|
|
|
|
/** c1_nc_p1*/
|
|
|
|
public nc_p1: number;
|
|
|
|
>nc_p1 : number
|
|
|
|
|
|
|
|
/** c1_nc_f1*/
|
|
|
|
public nc_f1() {
|
|
|
|
>nc_f1 : () => void
|
|
|
|
}
|
|
|
|
/** c1_nc_l1*/
|
|
|
|
public nc_l1: () => void;
|
|
|
|
>nc_l1 : () => void
|
|
|
|
}
|
|
|
|
var i1_i: i1;
|
|
|
|
>i1_i : i1
|
|
|
|
>i1 : i1
|
|
|
|
|
|
|
|
var c1_i = new c1();
|
|
|
|
>c1_i : c1
|
|
|
|
>new c1() : c1
|
|
|
|
>c1 : typeof c1
|
|
|
|
|
|
|
|
// assign to interface
|
|
|
|
i1_i = c1_i;
|
|
|
|
>i1_i = c1_i : c1
|
|
|
|
>i1_i : i1
|
|
|
|
>c1_i : c1
|
|
|
|
|
|
|
|
class c2 {
|
|
|
|
>c2 : c2
|
|
|
|
|
|
|
|
/** c2 c2_p1*/
|
|
|
|
public c2_p1: number;
|
|
|
|
>c2_p1 : number
|
|
|
|
|
|
|
|
/** c2 c2_f1*/
|
|
|
|
public c2_f1() {
|
|
|
|
>c2_f1 : () => void
|
|
|
|
}
|
|
|
|
/** c2 c2_prop*/
|
|
|
|
public get c2_prop() {
|
|
|
|
>c2_prop : number
|
|
|
|
|
|
|
|
return 10;
|
|
|
|
}
|
|
|
|
public c2_nc_p1: number;
|
|
|
|
>c2_nc_p1 : number
|
|
|
|
|
|
|
|
public c2_nc_f1() {
|
|
|
|
>c2_nc_f1 : () => void
|
|
|
|
}
|
|
|
|
public get c2_nc_prop() {
|
|
|
|
>c2_nc_prop : number
|
|
|
|
|
|
|
|
return 10;
|
|
|
|
}
|
|
|
|
/** c2 p1*/
|
|
|
|
public p1: number;
|
|
|
|
>p1 : number
|
|
|
|
|
|
|
|
/** c2 f1*/
|
|
|
|
public f1() {
|
|
|
|
>f1 : () => void
|
|
|
|
}
|
|
|
|
/** c2 prop*/
|
|
|
|
public get prop() {
|
|
|
|
>prop : number
|
|
|
|
|
|
|
|
return 10;
|
|
|
|
}
|
|
|
|
public nc_p1: number;
|
|
|
|
>nc_p1 : number
|
|
|
|
|
|
|
|
public nc_f1() {
|
|
|
|
>nc_f1 : () => void
|
|
|
|
}
|
|
|
|
public get nc_prop() {
|
|
|
|
>nc_prop : number
|
|
|
|
|
|
|
|
return 10;
|
|
|
|
}
|
|
|
|
/** c2 constructor*/
|
|
|
|
constructor(a: number) {
|
|
|
|
>a : number
|
|
|
|
|
|
|
|
this.c2_p1 = a;
|
|
|
|
>this.c2_p1 = a : number
|
|
|
|
>this.c2_p1 : number
|
|
|
|
>this : c2
|
|
|
|
>c2_p1 : number
|
|
|
|
>a : number
|
|
|
|
}
|
|
|
|
}
|
|
|
|
class c3 extends c2 {
|
|
|
|
>c3 : c3
|
|
|
|
>c2 : c2
|
|
|
|
|
|
|
|
constructor() {
|
|
|
|
super(10);
|
|
|
|
>super(10) : void
|
2014-08-28 21:31:37 +02:00
|
|
|
>super : typeof c2
|
2014-08-15 23:33:16 +02:00
|
|
|
}
|
|
|
|
/** c3 p1*/
|
|
|
|
public p1: number;
|
|
|
|
>p1 : number
|
|
|
|
|
|
|
|
/** c3 f1*/
|
|
|
|
public f1() {
|
|
|
|
>f1 : () => void
|
|
|
|
}
|
|
|
|
/** c3 prop*/
|
|
|
|
public get prop() {
|
|
|
|
>prop : number
|
|
|
|
|
|
|
|
return 10;
|
|
|
|
}
|
|
|
|
public nc_p1: number;
|
|
|
|
>nc_p1 : number
|
|
|
|
|
|
|
|
public nc_f1() {
|
|
|
|
>nc_f1 : () => void
|
|
|
|
}
|
|
|
|
public get nc_prop() {
|
|
|
|
>nc_prop : number
|
|
|
|
|
|
|
|
return 10;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
var c2_i = new c2(10);
|
|
|
|
>c2_i : c2
|
|
|
|
>new c2(10) : c2
|
|
|
|
>c2 : typeof c2
|
|
|
|
|
|
|
|
var c3_i = new c3();
|
|
|
|
>c3_i : c3
|
|
|
|
>new c3() : c3
|
|
|
|
>c3 : typeof c3
|
|
|
|
|
|
|
|
// assign
|
|
|
|
c2_i = c3_i;
|
|
|
|
>c2_i = c3_i : c3
|
|
|
|
>c2_i : c2
|
|
|
|
>c3_i : c3
|
|
|
|
|
|
|
|
class c4 extends c2 {
|
|
|
|
>c4 : c4
|
|
|
|
>c2 : c2
|
|
|
|
}
|
|
|
|
var c4_i = new c4(10);
|
|
|
|
>c4_i : c4
|
|
|
|
>new c4(10) : c4
|
|
|
|
>c4 : typeof c4
|
|
|
|
|
|
|
|
interface i2 {
|
|
|
|
>i2 : i2
|
|
|
|
|
|
|
|
/** i2_p1*/
|
|
|
|
i2_p1: number;
|
|
|
|
>i2_p1 : number
|
|
|
|
|
|
|
|
/** i2_f1*/
|
|
|
|
i2_f1(): void;
|
|
|
|
>i2_f1 : () => void
|
|
|
|
|
|
|
|
/** i2_l1*/
|
|
|
|
i2_l1: () => void;
|
|
|
|
>i2_l1 : () => void
|
|
|
|
|
|
|
|
// i2_nc_p1
|
|
|
|
i2_nc_p1: number;
|
|
|
|
>i2_nc_p1 : number
|
|
|
|
|
|
|
|
i2_nc_f1(): void;
|
|
|
|
>i2_nc_f1 : () => void
|
|
|
|
|
|
|
|
i2_nc_l1: () => void;
|
|
|
|
>i2_nc_l1 : () => void
|
|
|
|
|
|
|
|
/** i2 p1*/
|
|
|
|
p1: number;
|
|
|
|
>p1 : number
|
|
|
|
|
|
|
|
/** i2 f1*/
|
|
|
|
f1(): void;
|
|
|
|
>f1 : () => void
|
|
|
|
|
|
|
|
/** i2 l1*/
|
|
|
|
l1: () => void;
|
|
|
|
>l1 : () => void
|
|
|
|
|
|
|
|
nc_p1: number;
|
|
|
|
>nc_p1 : number
|
|
|
|
|
|
|
|
nc_f1(): void;
|
|
|
|
>nc_f1 : () => void
|
|
|
|
|
|
|
|
nc_l1: () => void;
|
|
|
|
>nc_l1 : () => void
|
|
|
|
}
|
|
|
|
interface i3 extends i2 {
|
|
|
|
>i3 : i3
|
|
|
|
>i2 : i2
|
|
|
|
|
|
|
|
/** i3 p1 */
|
|
|
|
p1: number;
|
|
|
|
>p1 : number
|
|
|
|
|
|
|
|
/**
|
|
|
|
* i3 f1
|
|
|
|
*/
|
|
|
|
f1(): void;
|
|
|
|
>f1 : () => void
|
|
|
|
|
|
|
|
/** i3 l1*/
|
|
|
|
l1: () => void;
|
|
|
|
>l1 : () => void
|
|
|
|
|
|
|
|
nc_p1: number;
|
|
|
|
>nc_p1 : number
|
|
|
|
|
|
|
|
nc_f1(): void;
|
|
|
|
>nc_f1 : () => void
|
|
|
|
|
|
|
|
nc_l1: () => void;
|
|
|
|
>nc_l1 : () => void
|
|
|
|
}
|
|
|
|
var i2_i: i2;
|
|
|
|
>i2_i : i2
|
|
|
|
>i2 : i2
|
|
|
|
|
|
|
|
var i3_i: i3;
|
|
|
|
>i3_i : i3
|
|
|
|
>i3 : i3
|
|
|
|
|
|
|
|
// assign to interface
|
|
|
|
i2_i = i3_i;
|
|
|
|
>i2_i = i3_i : i3
|
|
|
|
>i2_i : i2
|
|
|
|
>i3_i : i3
|
|
|
|
|