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 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187
|
=== tests/cases/conformance/types/union/unionTypeCallSignatures6.ts ===
type A = { a: string };
>A : Symbol(A, Decl(unionTypeCallSignatures6.ts, 0, 0))
>a : Symbol(a, Decl(unionTypeCallSignatures6.ts, 0, 10))
type B = { b: number };
>B : Symbol(B, Decl(unionTypeCallSignatures6.ts, 0, 23))
>b : Symbol(b, Decl(unionTypeCallSignatures6.ts, 1, 10))
type C = { c: string };
>C : Symbol(C, Decl(unionTypeCallSignatures6.ts, 1, 23))
>c : Symbol(c, Decl(unionTypeCallSignatures6.ts, 2, 10))
type D = { d: number };
>D : Symbol(D, Decl(unionTypeCallSignatures6.ts, 2, 23))
>d : Symbol(d, Decl(unionTypeCallSignatures6.ts, 3, 10))
type F0 = () => void;
>F0 : Symbol(F0, Decl(unionTypeCallSignatures6.ts, 3, 23))
// #31547
type F1 = (this: A) => void;
>F1 : Symbol(F1, Decl(unionTypeCallSignatures6.ts, 4, 21))
>this : Symbol(this, Decl(unionTypeCallSignatures6.ts, 7, 11))
>A : Symbol(A, Decl(unionTypeCallSignatures6.ts, 0, 0))
type F2 = (this: B) => void;
>F2 : Symbol(F2, Decl(unionTypeCallSignatures6.ts, 7, 28))
>this : Symbol(this, Decl(unionTypeCallSignatures6.ts, 8, 11))
>B : Symbol(B, Decl(unionTypeCallSignatures6.ts, 0, 23))
declare var f1: F1 | F2;
>f1 : Symbol(f1, Decl(unionTypeCallSignatures6.ts, 9, 11))
>F1 : Symbol(F1, Decl(unionTypeCallSignatures6.ts, 4, 21))
>F2 : Symbol(F2, Decl(unionTypeCallSignatures6.ts, 7, 28))
f1(); // error
>f1 : Symbol(f1, Decl(unionTypeCallSignatures6.ts, 9, 11))
declare var f2: F0 | F1;
>f2 : Symbol(f2, Decl(unionTypeCallSignatures6.ts, 11, 11))
>F0 : Symbol(F0, Decl(unionTypeCallSignatures6.ts, 3, 23))
>F1 : Symbol(F1, Decl(unionTypeCallSignatures6.ts, 4, 21))
f2(); // error
>f2 : Symbol(f2, Decl(unionTypeCallSignatures6.ts, 11, 11))
interface F3 {
>F3 : Symbol(F3, Decl(unionTypeCallSignatures6.ts, 12, 5))
(this: A): void;
>this : Symbol(this, Decl(unionTypeCallSignatures6.ts, 15, 3))
>A : Symbol(A, Decl(unionTypeCallSignatures6.ts, 0, 0))
(this: B): void;
>this : Symbol(this, Decl(unionTypeCallSignatures6.ts, 16, 3))
>B : Symbol(B, Decl(unionTypeCallSignatures6.ts, 0, 23))
}
interface F4 {
>F4 : Symbol(F4, Decl(unionTypeCallSignatures6.ts, 17, 1))
(this: C): void;
>this : Symbol(this, Decl(unionTypeCallSignatures6.ts, 19, 3))
>C : Symbol(C, Decl(unionTypeCallSignatures6.ts, 1, 23))
(this: D): void;
>this : Symbol(this, Decl(unionTypeCallSignatures6.ts, 20, 3))
>D : Symbol(D, Decl(unionTypeCallSignatures6.ts, 2, 23))
}
interface F5 {
>F5 : Symbol(F5, Decl(unionTypeCallSignatures6.ts, 21, 1))
(this: C): void;
>this : Symbol(this, Decl(unionTypeCallSignatures6.ts, 23, 3))
>C : Symbol(C, Decl(unionTypeCallSignatures6.ts, 1, 23))
(this: B): void;
>this : Symbol(this, Decl(unionTypeCallSignatures6.ts, 24, 3))
>B : Symbol(B, Decl(unionTypeCallSignatures6.ts, 0, 23))
}
declare var x1: A & C & {
>x1 : Symbol(x1, Decl(unionTypeCallSignatures6.ts, 27, 11))
>A : Symbol(A, Decl(unionTypeCallSignatures6.ts, 0, 0))
>C : Symbol(C, Decl(unionTypeCallSignatures6.ts, 1, 23))
f0: F0 | F3;
>f0 : Symbol(f0, Decl(unionTypeCallSignatures6.ts, 27, 25))
>F0 : Symbol(F0, Decl(unionTypeCallSignatures6.ts, 3, 23))
>F3 : Symbol(F3, Decl(unionTypeCallSignatures6.ts, 12, 5))
f1: F1 | F3;
>f1 : Symbol(f1, Decl(unionTypeCallSignatures6.ts, 28, 14))
>F1 : Symbol(F1, Decl(unionTypeCallSignatures6.ts, 4, 21))
>F3 : Symbol(F3, Decl(unionTypeCallSignatures6.ts, 12, 5))
f2: F1 | F4;
>f2 : Symbol(f2, Decl(unionTypeCallSignatures6.ts, 29, 14))
>F1 : Symbol(F1, Decl(unionTypeCallSignatures6.ts, 4, 21))
>F4 : Symbol(F4, Decl(unionTypeCallSignatures6.ts, 17, 1))
f3: F3 | F4;
>f3 : Symbol(f3, Decl(unionTypeCallSignatures6.ts, 30, 14))
>F3 : Symbol(F3, Decl(unionTypeCallSignatures6.ts, 12, 5))
>F4 : Symbol(F4, Decl(unionTypeCallSignatures6.ts, 17, 1))
f4: F3 | F5;
>f4 : Symbol(f4, Decl(unionTypeCallSignatures6.ts, 31, 14))
>F3 : Symbol(F3, Decl(unionTypeCallSignatures6.ts, 12, 5))
>F5 : Symbol(F5, Decl(unionTypeCallSignatures6.ts, 21, 1))
}
x1.f0();
>x1.f0 : Symbol(f0, Decl(unionTypeCallSignatures6.ts, 27, 25))
>x1 : Symbol(x1, Decl(unionTypeCallSignatures6.ts, 27, 11))
>f0 : Symbol(f0, Decl(unionTypeCallSignatures6.ts, 27, 25))
x1.f1();
>x1.f1 : Symbol(f1, Decl(unionTypeCallSignatures6.ts, 28, 14))
>x1 : Symbol(x1, Decl(unionTypeCallSignatures6.ts, 27, 11))
>f1 : Symbol(f1, Decl(unionTypeCallSignatures6.ts, 28, 14))
x1.f2();
>x1.f2 : Symbol(f2, Decl(unionTypeCallSignatures6.ts, 29, 14))
>x1 : Symbol(x1, Decl(unionTypeCallSignatures6.ts, 27, 11))
>f2 : Symbol(f2, Decl(unionTypeCallSignatures6.ts, 29, 14))
x1.f3(); // error
>x1.f3 : Symbol(f3, Decl(unionTypeCallSignatures6.ts, 30, 14))
>x1 : Symbol(x1, Decl(unionTypeCallSignatures6.ts, 27, 11))
>f3 : Symbol(f3, Decl(unionTypeCallSignatures6.ts, 30, 14))
x1.f4(); // error
>x1.f4 : Symbol(f4, Decl(unionTypeCallSignatures6.ts, 31, 14))
>x1 : Symbol(x1, Decl(unionTypeCallSignatures6.ts, 27, 11))
>f4 : Symbol(f4, Decl(unionTypeCallSignatures6.ts, 31, 14))
declare var x2: A & B & {
>x2 : Symbol(x2, Decl(unionTypeCallSignatures6.ts, 40, 11))
>A : Symbol(A, Decl(unionTypeCallSignatures6.ts, 0, 0))
>B : Symbol(B, Decl(unionTypeCallSignatures6.ts, 0, 23))
f4: F3 | F5;
>f4 : Symbol(f4, Decl(unionTypeCallSignatures6.ts, 40, 25))
>F3 : Symbol(F3, Decl(unionTypeCallSignatures6.ts, 12, 5))
>F5 : Symbol(F5, Decl(unionTypeCallSignatures6.ts, 21, 1))
}
x2.f4();
>x2.f4 : Symbol(f4, Decl(unionTypeCallSignatures6.ts, 40, 25))
>x2 : Symbol(x2, Decl(unionTypeCallSignatures6.ts, 40, 11))
>f4 : Symbol(f4, Decl(unionTypeCallSignatures6.ts, 40, 25))
type F6 = (this: A & B) => void;
>F6 : Symbol(F6, Decl(unionTypeCallSignatures6.ts, 43, 8))
>this : Symbol(this, Decl(unionTypeCallSignatures6.ts, 45, 11))
>A : Symbol(A, Decl(unionTypeCallSignatures6.ts, 0, 0))
>B : Symbol(B, Decl(unionTypeCallSignatures6.ts, 0, 23))
declare var f3: F1 | F6;
>f3 : Symbol(f3, Decl(unionTypeCallSignatures6.ts, 46, 11))
>F1 : Symbol(F1, Decl(unionTypeCallSignatures6.ts, 4, 21))
>F6 : Symbol(F6, Decl(unionTypeCallSignatures6.ts, 43, 8))
f3(); // error
>f3 : Symbol(f3, Decl(unionTypeCallSignatures6.ts, 46, 11))
interface F7 {
>F7 : Symbol(F7, Decl(unionTypeCallSignatures6.ts, 47, 5))
(this: A & B & C): void;
>this : Symbol(this, Decl(unionTypeCallSignatures6.ts, 50, 3))
>A : Symbol(A, Decl(unionTypeCallSignatures6.ts, 0, 0))
>B : Symbol(B, Decl(unionTypeCallSignatures6.ts, 0, 23))
>C : Symbol(C, Decl(unionTypeCallSignatures6.ts, 1, 23))
(this: A & B): void;
>this : Symbol(this, Decl(unionTypeCallSignatures6.ts, 51, 3))
>A : Symbol(A, Decl(unionTypeCallSignatures6.ts, 0, 0))
>B : Symbol(B, Decl(unionTypeCallSignatures6.ts, 0, 23))
}
declare var f4: F6 | F7;
>f4 : Symbol(f4, Decl(unionTypeCallSignatures6.ts, 53, 11))
>F6 : Symbol(F6, Decl(unionTypeCallSignatures6.ts, 43, 8))
>F7 : Symbol(F7, Decl(unionTypeCallSignatures6.ts, 47, 5))
f4(); // error
>f4 : Symbol(f4, Decl(unionTypeCallSignatures6.ts, 53, 11))
|