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 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133
|
=== tests/cases/conformance/classes/classDeclarations/mergedInheritedClassInterface.ts ===
interface BaseInterface {
>BaseInterface : BaseInterface
required: number;
>required : number
optional?: number;
>optional : number
}
class BaseClass {
>BaseClass : BaseClass
baseMethod() { }
>baseMethod : () => void
baseNumber: number;
>baseNumber : number
}
interface Child extends BaseInterface {
>Child : Child
>BaseInterface : BaseInterface
additional: number;
>additional : number
}
class Child extends BaseClass {
>Child : Child
>BaseClass : BaseClass
classNumber: number;
>classNumber : number
method() { }
>method : () => void
}
interface ChildNoBaseClass extends BaseInterface {
>ChildNoBaseClass : ChildNoBaseClass
>BaseInterface : BaseInterface
additional2: string;
>additional2 : string
}
class ChildNoBaseClass {
>ChildNoBaseClass : ChildNoBaseClass
classString: string;
>classString : string
method2() { }
>method2 : () => void
}
class Grandchild extends ChildNoBaseClass {
>Grandchild : Grandchild
>ChildNoBaseClass : ChildNoBaseClass
}
// checks if properties actually were merged
var child : Child;
>child : Child
>Child : Child
child.required;
>child.required : number
>child : Child
>required : number
child.optional;
>child.optional : number
>child : Child
>optional : number
child.additional;
>child.additional : number
>child : Child
>additional : number
child.baseNumber;
>child.baseNumber : number
>child : Child
>baseNumber : number
child.classNumber;
>child.classNumber : number
>child : Child
>classNumber : number
child.baseMethod();
>child.baseMethod() : void
>child.baseMethod : () => void
>child : Child
>baseMethod : () => void
child.method();
>child.method() : void
>child.method : () => void
>child : Child
>method : () => void
var grandchild: Grandchild;
>grandchild : Grandchild
>Grandchild : Grandchild
grandchild.required;
>grandchild.required : number
>grandchild : Grandchild
>required : number
grandchild.optional;
>grandchild.optional : number
>grandchild : Grandchild
>optional : number
grandchild.additional2;
>grandchild.additional2 : string
>grandchild : Grandchild
>additional2 : string
grandchild.classString;
>grandchild.classString : string
>grandchild : Grandchild
>classString : string
grandchild.method2();
>grandchild.method2() : void
>grandchild.method2 : () => void
>grandchild : Grandchild
>method2 : () => void
|