///
////interface I {
//// x: number;
////}
////
////var anInterface: I;
////interface IG {
//// x: T;
////}
////var aGenericInterface: IG;
////
////class C implements IG {
//// x: T;
////}
////
////interface Foo {
//// ofFooT: Foo;
//// ofFooFooNum: Foo>; // should be error?
//// ofIG: IG;
//// ofIG5: { x: Foo; }; // same as ofIG3
//// ofC1: C;
////}
////
////var f: Foo;
////var f2: Foo;
////var f3: Foo;
////var f4: Foo<{ x: number }>;
////var f5: Foo>;
////
////// T is any
////var f_/*a1*/r4 = f.ofFooT;
////var f_/*a2*/r7 = f.ofFooFooNum;
////var f_/*a3*/r9 = f.ofIG;
////var f_/*a5*/r13 = f.ofIG5;
////var f_/*a7*/r17 = f.ofC1;
////
////// T is number
////var f2_/*b1*/r4 = f2.ofFooT;
////var f2_/*b2*/r7 = f2.ofFooFooNum;
////var f2_/*b3*/r9 = f2.ofIG;
////var f2_/*b5*/r13 = f2.ofIG5;
////var f2_/*b7*/r17 = f2.ofC1;
////
////// T is I}
////var f3_/*c1*/r4 = f3.ofFooT;
////var f3_/*c2*/r7 = f3.ofFooFooNum;
////var f3_/*c3*/r9 = f3.ofIG;
////var f3_/*c5*/r13 = f3.ofIG5;
////var f3_/*c7*/r17 = f3.ofC1;
////
////// T is {x: number}
////var f4_/*d1*/r4 = f4.ofFooT;
////var f4_/*d2*/r7 = f4.ofFooFooNum;
////var f4_/*d3*/r9 = f4.ofIG;
////var f4_/*d5*/r13 = f4.ofIG5;
////var f4_/*d7*/r17 = f4.ofC1;
////
////// T is Foo
////var f5_/*e1*/r4 = f5.ofFooT;
////var f5_/*e2*/r7 = f5.ofFooFooNum;
////var f5_/*e3*/r9 = f5.ofIG;
////var f5_/*e5*/r13 = f5.ofIG5;
////var f5_/*e7*/r17 = f5.ofC1;
verify.noErrors();
verify.quickInfos({
a1: "var f_r4: Foo",
a2: "var f_r7: Foo>",
a3: "var f_r9: IG",
a5: "var f_r13: {\n x: Foo;\n}",
a7: "var f_r17: C",
b1: "var f2_r4: Foo",
b2: "var f2_r7: Foo>",
b3: "var f2_r9: IG",
b5: "var f2_r13: {\n x: Foo;\n}",
b7: "var f2_r17: C",
c1: "var f3_r4: Foo",
c2: "var f3_r7: Foo>",
c3: "var f3_r9: IG",
c5: "var f3_r13: {\n x: Foo;\n}",
c7: "var f3_r17: C",
d1: "var f4_r4: Foo<{\n x: number;\n}>",
d2: "var f4_r7: Foo>",
d3: "var f4_r9: IG<{\n x: number;\n}>",
d5: "var f4_r13: {\n x: Foo<{\n x: number;\n }>;\n}",
d7: "var f4_r17: C<{\n x: number;\n}>",
e1: "var f5_r4: Foo>",
e2: "var f5_r7: Foo>",
e3: "var f5_r9: IG>",
e5: "var f5_r13: {\n x: Foo>;\n}",
e7: "var f5_r17: C>",
});