65 lines
955 B
TypeScript
65 lines
955 B
TypeScript
// Case 1
|
|
class Base1 {
|
|
public foo() {
|
|
return "base";
|
|
}
|
|
}
|
|
|
|
class Sub1 extends Base1 {
|
|
public bar() {
|
|
return "base";
|
|
}
|
|
}
|
|
|
|
class SubSub1 extends Sub1 {
|
|
public bar() {
|
|
return super.super.foo;
|
|
}
|
|
}
|
|
|
|
// Case 2
|
|
class Base2 {
|
|
public foo() {
|
|
return "base";
|
|
}
|
|
}
|
|
|
|
class SubE2 extends Base2 {
|
|
public bar() {
|
|
return super.prototype.foo = null;
|
|
}
|
|
}
|
|
|
|
// Case 3
|
|
class Base3 {
|
|
public foo() {
|
|
return "base";
|
|
}
|
|
}
|
|
|
|
class SubE3 extends Base3 {
|
|
public bar() {
|
|
return super.bar();
|
|
}
|
|
}
|
|
|
|
// Case 4
|
|
module Base4 {
|
|
class Sub4 {
|
|
public x(){
|
|
return "hello";
|
|
}
|
|
}
|
|
|
|
export class SubSub4 extends Sub4{
|
|
public x(){
|
|
return super.x();
|
|
}
|
|
}
|
|
|
|
export class Sub4E {
|
|
public x() {
|
|
return super.x();
|
|
}
|
|
}
|
|
}
|