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
|
=== tests/cases/compiler/staticMemberOfClassAndPublicMemberOfAnotherClassAssignment.ts ===
interface A {
prop();
>prop : () => any
}
class B {
>B : B
public prop() { }
>prop : () => void
}
class C {
>C : C
public static prop() { }
>prop : () => void
}
var a: A = new B();
>a : A
>new B() : B
>B : typeof B
a = new C(); // error prop is missing
>a = new C() : C
>a : A
>new C() : C
>C : typeof C
a = B; // error prop is missing
>a = B : typeof B
>a : A
>B : typeof B
a = C;
>a = C : typeof C
>a : A
>C : typeof C
var b: B = new C(); // error prop is missing
>b : B
>new C() : C
>C : typeof C
b = B; // error prop is missing
>b = B : typeof B
>b : B
>B : typeof B
b = C;
>b = C : typeof C
>b : B
>C : typeof C
b = a;
>b = a : A
>b : B
>a : A
var c: C = new B();
>c : C
>new B() : B
>B : typeof B
c = B;
>c = B : typeof B
>c : C
>B : typeof B
c = C;
>c = C : typeof C
>c : C
>C : typeof C
c = a;
>c = a : A
>c : C
>a : A
|