2014-08-15 23:33:16 +02:00
|
|
|
=== tests/cases/conformance/classes/propertyMemberDeclarations/memberFunctionDeclarations/derivedTypeAccessesHiddenBaseCallViaSuperPropertyAccess.ts ===
|
|
|
|
class Base {
|
|
|
|
>Base : Base
|
|
|
|
|
|
|
|
foo(x: { a: number }): { a: number } {
|
|
|
|
>foo : (x: { a: number; }) => { a: number; }
|
|
|
|
>x : { a: number; }
|
|
|
|
>a : number
|
|
|
|
>a : number
|
|
|
|
|
|
|
|
return null;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
class Derived extends Base {
|
|
|
|
>Derived : Derived
|
|
|
|
>Base : Base
|
|
|
|
|
|
|
|
foo(x: { a: number; b: number }): { a: number; b: number } {
|
|
|
|
>foo : (x: { a: number; b: number; }) => { a: number; b: number; }
|
|
|
|
>x : { a: number; b: number; }
|
|
|
|
>a : number
|
|
|
|
>b : number
|
|
|
|
>a : number
|
|
|
|
>b : number
|
|
|
|
|
|
|
|
return null;
|
|
|
|
}
|
|
|
|
|
|
|
|
bar() {
|
|
|
|
>bar : () => void
|
|
|
|
|
|
|
|
var r = super.foo({ a: 1 }); // { a: number }
|
|
|
|
>r : { a: number; }
|
|
|
|
>super.foo({ a: 1 }) : { a: number; }
|
|
|
|
>super.foo : (x: { a: number; }) => { a: number; }
|
2014-08-28 21:31:37 +02:00
|
|
|
>super : Base
|
2014-08-15 23:33:16 +02:00
|
|
|
>foo : (x: { a: number; }) => { a: number; }
|
|
|
|
>{ a: 1 } : { a: number; }
|
|
|
|
>a : number
|
|
|
|
|
|
|
|
var r2 = super.foo({ a: 1, b: 2 }); // { a: number }
|
|
|
|
>r2 : { a: number; }
|
|
|
|
>super.foo({ a: 1, b: 2 }) : { a: number; }
|
|
|
|
>super.foo : (x: { a: number; }) => { a: number; }
|
2014-08-28 21:31:37 +02:00
|
|
|
>super : Base
|
2014-08-15 23:33:16 +02:00
|
|
|
>foo : (x: { a: number; }) => { a: number; }
|
|
|
|
>{ a: 1, b: 2 } : { a: number; b: number; }
|
|
|
|
>a : number
|
|
|
|
>b : number
|
|
|
|
|
|
|
|
var r3 = this.foo({ a: 1, b: 2 }); // { a: number; b: number; }
|
|
|
|
>r3 : { a: number; b: number; }
|
|
|
|
>this.foo({ a: 1, b: 2 }) : { a: number; b: number; }
|
|
|
|
>this.foo : (x: { a: number; b: number; }) => { a: number; b: number; }
|
|
|
|
>this : Derived
|
|
|
|
>foo : (x: { a: number; b: number; }) => { a: number; b: number; }
|
|
|
|
>{ a: 1, b: 2 } : { a: number; b: number; }
|
|
|
|
>a : number
|
|
|
|
>b : number
|
|
|
|
}
|
|
|
|
}
|