TypeScript/tests/baselines/reference/super2.types
2015-04-15 16:44:20 -07:00

123 lines
1.9 KiB
Plaintext

=== tests/cases/compiler/super2.ts ===
// Case 5
class Base5 {
>Base5 : Base5
public x() {
>x : () => string
return "BaseX";
>"BaseX" : string
}
public y() {
>y : () => string
return "BaseY";
>"BaseY" : string
}
}
class Sub5 extends Base5 {
>Sub5 : Sub5
>Base5 : Base5
public x() {
>x : () => string
return "SubX";
>"SubX" : string
}
}
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";
>"BaseX" : string
}
}
class Sub6 extends Base6 {
>Sub6 : Sub6
>Base6 : Base6
public y() {
>y : () => string
return "SubY";
>"SubY" : string
}
}
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