TypeScript/tests/baselines/reference/super2.types
2014-08-28 12:31:37 -07:00

118 lines
1.8 KiB
Plaintext

=== tests/cases/compiler/super2.ts ===
// Case 5
class Base5 {
>Base5 : Base5
public x() {
>x : () => string
return "BaseX";
}
public y() {
>y : () => string
return "BaseY";
}
}
class Sub5 extends Base5 {
>Sub5 : Sub5
>Base5 : Base5
public x() {
>x : () => string
return "SubX";
}
}
class SubSub5 extends Sub5 {
>SubSub5 : SubSub5
>Sub5 : Sub5
public x() {
>x : () => string
return super.x();
>super.x() : string
>super.x : () => string
>super : Sub5
>x : () => string
}
public y() {
>y : () => string
return super.y();
>super.y() : string
>super.y : () => string
>super : Sub5
>y : () => string
}
}
// Case 6
class Base6 {
>Base6 : Base6
public x() {
>x : () => string
return "BaseX";
}
}
class Sub6 extends Base6 {
>Sub6 : Sub6
>Base6 : Base6
public y() {
>y : () => string
return "SubY";
}
}
class SubSub6 extends Sub6 {
>SubSub6 : SubSub6
>Sub6 : Sub6
public y() {
>y : () => string
return super.y();
>super.y() : string
>super.y : () => string
>super : Sub6
>y : () => string
}
}
var results1 = new SubSub5();
>results1 : SubSub5
>new SubSub5() : SubSub5
>SubSub5 : typeof SubSub5
var results2 = new SubSub6();
>results2 : SubSub6
>new SubSub6() : SubSub6
>SubSub6 : typeof SubSub6
results1.x() + results1.y() + results2.y();
>results1.x() + results1.y() + results2.y() : string
>results1.x() + results1.y() : string
>results1.x() : string
>results1.x : () => string
>results1 : SubSub5
>x : () => string
>results1.y() : string
>results1.y : () => string
>results1 : SubSub5
>y : () => string
>results2.y() : string
>results2.y : () => string
>results2 : SubSub6
>y : () => string