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
|
/// <reference path='fourslash.ts'/>
////interface I {
//// x: number;
////}
////
////var anInterface: I;
////interface IG<T> {
//// x: T;
////}
////var aGenericInterface: IG<number>;
////
////class C<T> implements IG<T> {
//// x: T;
////}
////
////interface Foo<T> {
//// prim1: number;
//// prim2: string;
//// ofT: T;
//// ofFooNum: Foo<number>;
//// ofInterface: I;
//// ofIG4: { x: number };
//// ofIG6: { x: T };
//// ofC2: C<number>;
//// ofC4: C<{ x: T }>
////}
////
////var f: Foo<any>;
////var f2: Foo<number>;
////var f3: Foo<I>;
////var f4: Foo<{ x: number }>;
////var f5: Foo<Foo<number>>;
////
////// T is any
////var f_/*a1*/r1 = f.prim1;
////var f_/*a2*/r2 = f.prim2;
////var f_/*a3*/r3 = f.ofT;
////var f_/*a4*/r5 = f.ofFooNum;
////var f_/*a5*/r8 = f.ofInterface;
////var f_/*a6*/r12 = f.ofIG4;
////var f_/*a7*/r14 = f.ofIG6;
////var f_/*a8*/r18 = f.ofC2;
////var f_/*a9*/r20 = f.ofC4;
////
////// T is number
////var f2_/*b1*/r1 = f2.prim1;
////var f2_/*b2*/r2 = f2.prim2;
////var f2_/*b3*/r3 = f2.ofT;
////var f2_/*b4*/r5 = f2.ofFooNum;
////var f2_/*b5*/r8 = f2.ofInterface;
////var f2_/*b6*/r12 = f2.ofIG4;
////var f2_/*b7*/r14 = f2.ofIG6;
////var f2_/*b8*/r18 = f2.ofC2;
////var f2_/*b9*/r20 = f2.ofC4;
////
////// T is I
////var f3_/*c1*/r1 = f3.prim1;
////var f3_/*c2*/r2 = f3.prim2;
////var f3_/*c3*/r3 = f3.ofT;
////var f3_/*c4*/r5 = f3.ofFooNum;
////var f3_/*c5*/r8 = f3.ofInterface;
////var f3_/*c6*/r12 = f3.ofIG4;
////var f3_/*c7*/r14 = f3.ofIG6;
////var f3_/*c8*/r18 = f3.ofC2;
////var f3_/*c9*/r20 = f3.ofC4;
////
////// T is {x: number}
////var f4_/*d1*/r1 = f4.prim1;
////var f4_/*d2*/r2 = f4.prim2;
////var f4_/*d3*/r3 = f4.ofT;
////var f4_/*d4*/r5 = f4.ofFooNum;
////var f4_/*d5*/r8 = f4.ofInterface;
////var f4_/*d6*/r12 = f4.ofIG4;
////var f4_/*d7*/r14 = f4.ofIG6;
////var f4_/*d8*/r18 = f4.ofC2;
////var f4_/*d9*/r20 = f4.ofC4;
////
////// T is Foo<number>
////var f5_/*e1*/r1 = f5.prim1;
////var f5_/*e2*/r2 = f5.prim2;
////var f5_/*e3*/r3 = f5.ofT;
////var f5_/*e4*/r5 = f5.ofFooNum;
////var f5_/*e5*/r8 = f5.ofInterface;
////var f5_/*e6*/r12 = f5.ofIG4;
////var f5_/*e7*/r14 = f5.ofIG6;
////var f5_/*e8*/r18 = f5.ofC2;
////var f5_/*e9*/r20 = f5.ofC4;
verify.noErrors();
verify.quickInfos({
"a1": "var f_r1: number",
"a2": "var f_r2: string",
"a3": "var f_r3: any",
"a4": "var f_r5: Foo<number>",
"a5": "var f_r8: I",
"a6": "var f_r12: {\n x: number;\n}",
"a7": "var f_r14: {\n x: any;\n}",
"a8": "var f_r18: C<number>",
"a9": "var f_r20: C<{\n x: any;\n}>",
"b1": "var f2_r1: number",
"b2": "var f2_r2: string",
"b3": "var f2_r3: number",
"b4": "var f2_r5: Foo<number>",
"b5": "var f2_r8: I",
"b6": "var f2_r12: {\n x: number;\n}",
"b7": "var f2_r14: {\n x: number;\n}",
"b8": "var f2_r18: C<number>",
"b9": "var f2_r20: C<{\n x: number;\n}>",
"c1": "var f3_r1: number",
"c2": "var f3_r2: string",
"c3": "var f3_r3: I",
"c4": "var f3_r5: Foo<number>",
"c5": "var f3_r8: I",
"c6": "var f3_r12: {\n x: number;\n}",
"c7": "var f3_r14: {\n x: I;\n}",
"c8": "var f3_r18: C<number>",
"c9": "var f3_r20: C<{\n x: I;\n}>",
"d1": "var f4_r1: number",
"d2": "var f4_r2: string",
"d3": "var f4_r3: {\n x: number;\n}",
"d4": "var f4_r5: Foo<number>",
"d5": "var f4_r8: I",
"d6": "var f4_r12: {\n x: number;\n}",
"d7": "var f4_r14: {\n x: {\n x: number;\n };\n}",
"d8": "var f4_r18: C<number>",
"d9": "var f4_r20: C<{\n x: {\n x: number;\n };\n}>",
"e1": "var f5_r1: number",
"e2": "var f5_r2: string",
"e3": "var f5_r3: Foo<number>",
"e4": "var f5_r5: Foo<number>",
"e5": "var f5_r8: I",
"e6": "var f5_r12: {\n x: number;\n}",
"e7": "var f5_r14: {\n x: Foo<number>;\n}",
"e8": "var f5_r18: C<number>",
"e9": "var f5_r20: C<{\n x: Foo<number>;\n}>"
});
|