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 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105
|
=== tests/cases/conformance/classes/classDeclarations/classHeritageSpecification/classExtendingClass.ts ===
class C {
>C : C
foo: string;
>foo : string
thing() { }
>thing : () => void
static other() { }
>other : () => void
}
class D extends C {
>D : D
>C : C
bar: string;
>bar : string
}
var d: D;
>d : D
var r = d.foo;
>r : string
>d.foo : string
>d : D
>foo : string
var r2 = d.bar;
>r2 : string
>d.bar : string
>d : D
>bar : string
var r3 = d.thing();
>r3 : void
>d.thing() : void
>d.thing : () => void
>d : D
>thing : () => void
var r4 = D.other();
>r4 : void
>D.other() : void
>D.other : () => void
>D : typeof D
>other : () => void
class C2<T> {
>C2 : C2<T>
foo: T;
>foo : T
thing(x: T) { }
>thing : (x: T) => void
>x : T
static other<T>(x: T) { }
>other : <T>(x: T) => void
>x : T
}
class D2<T> extends C2<T> {
>D2 : D2<T>
>C2 : C2<T>
bar: string;
>bar : string
}
var d2: D2<string>;
>d2 : D2<string>
var r5 = d2.foo;
>r5 : string
>d2.foo : string
>d2 : D2<string>
>foo : string
var r6 = d2.bar;
>r6 : string
>d2.bar : string
>d2 : D2<string>
>bar : string
var r7 = d2.thing('');
>r7 : void
>d2.thing('') : void
>d2.thing : (x: string) => void
>d2 : D2<string>
>thing : (x: string) => void
>'' : ""
var r8 = D2.other(1);
>r8 : void
>D2.other(1) : void
>D2.other : <T>(x: T) => void
>D2 : typeof D2
>other : <T>(x: T) => void
>1 : 1
|