TypeScript/tests/baselines/reference/super2.types
2015-04-13 14:29:37 -07:00

122 lines
3.5 KiB
Text

=== tests/cases/compiler/super2.ts ===
// Case 5
class Base5 {
>Base5 : Base5, Symbol(Base5, Decl(super2.ts, 0, 0))
public x() {
>x : () => string, Symbol(x, Decl(super2.ts, 1, 13))
return "BaseX";
>"BaseX" : string
}
public y() {
>y : () => string, Symbol(y, Decl(super2.ts, 4, 5))
return "BaseY";
>"BaseY" : string
}
}
class Sub5 extends Base5 {
>Sub5 : Sub5, Symbol(Sub5, Decl(super2.ts, 9, 1))
>Base5 : Base5, Symbol(Base5, Decl(super2.ts, 0, 0))
public x() {
>x : () => string, Symbol(x, Decl(super2.ts, 11, 26))
return "SubX";
>"SubX" : string
}
}
class SubSub5 extends Sub5 {
>SubSub5 : SubSub5, Symbol(SubSub5, Decl(super2.ts, 15, 1))
>Sub5 : Sub5, Symbol(Sub5, Decl(super2.ts, 9, 1))
public x() {
>x : () => string, Symbol(x, Decl(super2.ts, 17, 28))
return super.x();
>super.x() : string
>super.x : () => string, Symbol(Sub5.x, Decl(super2.ts, 11, 26))
>super : Sub5, Symbol(Sub5, Decl(super2.ts, 9, 1))
>x : () => string, Symbol(Sub5.x, Decl(super2.ts, 11, 26))
}
public y() {
>y : () => string, Symbol(y, Decl(super2.ts, 20, 5))
return super.y();
>super.y() : string
>super.y : () => string, Symbol(Base5.y, Decl(super2.ts, 4, 5))
>super : Sub5, Symbol(Sub5, Decl(super2.ts, 9, 1))
>y : () => string, Symbol(Base5.y, Decl(super2.ts, 4, 5))
}
}
// Case 6
class Base6 {
>Base6 : Base6, Symbol(Base6, Decl(super2.ts, 24, 1))
public x() {
>x : () => string, Symbol(x, Decl(super2.ts, 27, 13))
return "BaseX";
>"BaseX" : string
}
}
class Sub6 extends Base6 {
>Sub6 : Sub6, Symbol(Sub6, Decl(super2.ts, 31, 1))
>Base6 : Base6, Symbol(Base6, Decl(super2.ts, 24, 1))
public y() {
>y : () => string, Symbol(y, Decl(super2.ts, 33, 26))
return "SubY";
>"SubY" : string
}
}
class SubSub6 extends Sub6 {
>SubSub6 : SubSub6, Symbol(SubSub6, Decl(super2.ts, 37, 1))
>Sub6 : Sub6, Symbol(Sub6, Decl(super2.ts, 31, 1))
public y() {
>y : () => string, Symbol(y, Decl(super2.ts, 39, 28))
return super.y();
>super.y() : string
>super.y : () => string, Symbol(Sub6.y, Decl(super2.ts, 33, 26))
>super : Sub6, Symbol(Sub6, Decl(super2.ts, 31, 1))
>y : () => string, Symbol(Sub6.y, Decl(super2.ts, 33, 26))
}
}
var results1 = new SubSub5();
>results1 : SubSub5, Symbol(results1, Decl(super2.ts, 46, 3))
>new SubSub5() : SubSub5
>SubSub5 : typeof SubSub5, Symbol(SubSub5, Decl(super2.ts, 15, 1))
var results2 = new SubSub6();
>results2 : SubSub6, Symbol(results2, Decl(super2.ts, 47, 3))
>new SubSub6() : SubSub6
>SubSub6 : typeof SubSub6, Symbol(SubSub6, Decl(super2.ts, 37, 1))
results1.x() + results1.y() + results2.y();
>results1.x() + results1.y() + results2.y() : string
>results1.x() + results1.y() : string
>results1.x() : string
>results1.x : () => string, Symbol(SubSub5.x, Decl(super2.ts, 17, 28))
>results1 : SubSub5, Symbol(results1, Decl(super2.ts, 46, 3))
>x : () => string, Symbol(SubSub5.x, Decl(super2.ts, 17, 28))
>results1.y() : string
>results1.y : () => string, Symbol(SubSub5.y, Decl(super2.ts, 20, 5))
>results1 : SubSub5, Symbol(results1, Decl(super2.ts, 46, 3))
>y : () => string, Symbol(SubSub5.y, Decl(super2.ts, 20, 5))
>results2.y() : string
>results2.y : () => string, Symbol(SubSub6.y, Decl(super2.ts, 39, 28))
>results2 : SubSub6, Symbol(results2, Decl(super2.ts, 47, 3))
>y : () => string, Symbol(SubSub6.y, Decl(super2.ts, 39, 28))