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
|
=== tests/cases/conformance/types/typeRelationships/bestCommonType/bestCommonTypeOfTuple2.ts ===
interface base { }
>base : base
interface base1 { i }
>base1 : base1
>i : any
class C implements base { c }
>C : C
>base : base
>c : any
class D implements base { d }
>D : D
>base : base
>d : any
class E implements base { e }
>E : E
>base : base
>e : any
class F extends C { f }
>F : F
>C : C
>f : any
class C1 implements base1 { i = "foo"; c }
>C1 : C1
>base1 : base1
>i : string
>"foo" : "foo"
>c : any
class D1 extends C1 { i = "bar"; d }
>D1 : D1
>C1 : C1
>i : string
>"bar" : "bar"
>d : any
var t1: [C, base];
>t1 : [C, base]
>C : C
>base : base
var t2: [C, D];
>t2 : [C, D]
>C : C
>D : D
var t3: [C1, D1];
>t3 : [C1, D1]
>C1 : C1
>D1 : D1
var t4: [base1, C1];
>t4 : [base1, C1]
>base1 : base1
>C1 : C1
var t5: [C1, F]
>t5 : [C1, F]
>C1 : C1
>F : F
var e11 = t1[4]; // base
>e11 : base | C
>t1[4] : base | C
>t1 : [C, base]
>4 : 4
var e21 = t2[4]; // {}
>e21 : C | D
>t2[4] : C | D
>t2 : [C, D]
>4 : 4
var e31 = t3[4]; // C1
>e31 : C1 | D1
>t3[4] : C1 | D1
>t3 : [C1, D1]
>4 : 4
var e41 = t4[2]; // base1
>e41 : base1 | C1
>t4[2] : base1 | C1
>t4 : [base1, C1]
>2 : 2
var e51 = t5[2]; // {}
>e51 : F | C1
>t5[2] : F | C1
>t5 : [C1, F]
>2 : 2
|