/// ////class Con/*1*/tainer { //// x: T; ////} ////interface IList { //// getItem(i: number): /*3*/T; ////} ////class List2> implements IList { //// private __it/*6*/em: /*5*/T[]; //// public get/*7*/Item(i: number) { //// return this.__item[i]; //// } //// public /*8*/method>(s: S, p: /*10*/T[]) { //// return s; //// } ////} ////function foo4(test: T): T; ////function foo4(test: S): S; ////function foo4(test: any): any; ////function foo4(test: any): any { return null; } ////var x: List2>; ////var y = x./*14*/getItem(10); ////var x2: IList>; ////var x3: IList; ////var y2 = x./*15*/method(x2, [x3, x3]); goTo.marker("1"); verify.quickInfoIs("class Container", undefined); goTo.marker("2"); verify.quickInfoIs("(type parameter) T in IList", undefined); goTo.marker("3"); verify.quickInfoIs("(type parameter) T in IList", undefined); goTo.marker("4"); verify.quickInfoIs("(type parameter) T in List2>", undefined); goTo.marker("5"); verify.quickInfoIs("(type parameter) T in List2>", undefined); goTo.marker("6"); verify.quickInfoIs("(property) List2>.__item: T[]", undefined); goTo.marker("7"); verify.quickInfoIs("(method) List2>.getItem(i: number): T", undefined); goTo.marker("8"); verify.quickInfoIs("(method) List2>.method>(s: S, p: T[]): S", undefined); goTo.marker("9"); verify.quickInfoIs("(type parameter) S in List2>.method>(s: S, p: T[]): S", undefined); goTo.marker("10"); verify.quickInfoIs("(type parameter) T in List2>", undefined); goTo.marker("11"); verify.quickInfoIs("(type parameter) T in foo4(test: T): T", undefined); goTo.marker("12"); verify.quickInfoIs("(type parameter) S in foo4(test: S): S", undefined); goTo.marker("13"); verify.quickInfoIs("(type parameter) T in foo4(test: any): any", undefined); goTo.marker("14"); verify.quickInfoIs("(method) List2>.getItem(i: number): IList", undefined); goTo.marker("15"); verify.quickInfoIs("(method) List2>.method>>(s: IList>, p: IList[]): IList>", undefined);