1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
|
=== 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;
>null : 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;
>null : 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; }
>super : Base
>foo : (x: { a: number; }) => { a: number; }
>{ a: 1 } : { a: number; }
>a : number
>1 : 1
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; }
>super : Base
>foo : (x: { a: number; }) => { a: number; }
>{ a: 1, b: 2 } : { a: number; b: number; }
>a : number
>1 : 1
>b : number
>2 : 2
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 : this
>foo : (x: { a: number; b: number; }) => { a: number; b: number; }
>{ a: 1, b: 2 } : { a: number; b: number; }
>a : number
>1 : 1
>b : number
>2 : 2
}
}
|