Better symbol information for lambda variable types at the call site

This commit is contained in:
Sheetal Nandi
2014-10-06 14:24:58 -07:00
parent be051f02b5
commit 643d169465
8 changed files with 82 additions and 87 deletions

View File

@@ -126,6 +126,7 @@ verify.quickInfoIs('(local var) localVar: string', '');
goTo.marker('30');
verify.quickInfoIs('(parameter) b: string', '');
goTo.marker('31');
verify.quickInfoIs('(local function) lambdaVar(b: string): string', '');
debugger;
verify.quickInfoIs('(local var) lambdaVar: (b: string) => string', '');
goTo.marker('32');
verify.quickInfoIs('(parameter) a: number', '');

View File

@@ -261,13 +261,13 @@ verify.quickInfoIs("(method) i1.f1(): void", "");
goTo.marker('5q');
verify.quickInfoIs("(method) i1.nc_f1(): void", "");
goTo.marker('l2q');
verify.quickInfoIs("(method) i1.i1_l1(): void", "");
verify.quickInfoIs("(property) i1.i1_l1: () => void", "");
goTo.marker('l3q');
verify.quickInfoIs("(method) i1.i1_nc_l1(): void", "");
verify.quickInfoIs("(property) i1.i1_nc_l1: () => void", "");
goTo.marker('l4q');
verify.quickInfoIs("(method) i1.l1(): void", "");
verify.quickInfoIs("(property) i1.l1: () => void", "");
goTo.marker('l5q');
verify.quickInfoIs("(method) i1.nc_l1(): void", "");
verify.quickInfoIs("(property) i1.nc_l1: () => void", "");
goTo.marker('6');
verify.memberListContains("i1_p1", "(property) c1.i1_p1: number", "");
@@ -310,13 +310,13 @@ verify.quickInfoIs("(method) c1.f1(): void", "c1_f1");
goTo.marker('10q');
verify.quickInfoIs("(method) c1.nc_f1(): void", "c1_nc_f1");
goTo.marker('l7q');
verify.quickInfoIs("(method) c1.i1_l1(): void", "");
verify.quickInfoIs("(property) c1.i1_l1: () => void", "");
goTo.marker('l8q');
verify.quickInfoIs("(method) c1.i1_nc_l1(): void", "");
verify.quickInfoIs("(property) c1.i1_nc_l1: () => void", "");
goTo.marker('l9q');
verify.quickInfoIs("(method) c1.l1(): void", "");
verify.quickInfoIs("(property) c1.l1: () => void", "");
goTo.marker('l10q');
verify.quickInfoIs("(method) c1.nc_l1(): void", "");
verify.quickInfoIs("(property) c1.nc_l1: () => void", "");
goTo.marker('11');
verify.memberListContains("i1_p1", "(property) i1.i1_p1: number", "i1_p1");
@@ -356,13 +356,13 @@ verify.quickInfoIs("(method) i1.f1(): void", "");
goTo.marker('15q');
verify.quickInfoIs("(method) i1.nc_f1(): void", "");
goTo.marker('l12q');
verify.quickInfoIs("(method) i1.i1_l1(): void", "");
verify.quickInfoIs("(property) i1.i1_l1: () => void", "");
goTo.marker('l13q');
verify.quickInfoIs("(method) i1.i1_nc_l1(): void", "");
verify.quickInfoIs("(property) i1.i1_nc_l1: () => void", "");
goTo.marker('l14q');
verify.quickInfoIs("(method) i1.l1(): void", "");
verify.quickInfoIs("(property) i1.l1: () => void", "");
goTo.marker('l15q');
verify.quickInfoIs("(method) i1.nc_l1(): void", "");
verify.quickInfoIs("(property) i1.nc_l1: () => void", "");
goTo.marker('16');
verify.completionListContains("i1", "interface i1", "i1 is interface with properties");
@@ -545,13 +545,13 @@ verify.quickInfoIs("(method) i2.f1(): void", "i2 f1");
goTo.marker('40q');
verify.quickInfoIs("(method) i2.nc_f1(): void", "");
goTo.marker('l37q');
verify.quickInfoIs("(method) i2.i2_l1(): void", "");
verify.quickInfoIs("(property) i2.i2_l1: () => void", "");
goTo.marker('l38q');
verify.quickInfoIs("(method) i2.i2_nc_l1(): void", "");
verify.quickInfoIs("(property) i2.i2_nc_l1: () => void", "");
goTo.marker('l39q');
verify.quickInfoIs("(method) i2.l1(): void", "");
verify.quickInfoIs("(property) i2.l1: () => void", "");
goTo.marker('l40q');
verify.quickInfoIs("(method) i2.nc_l1(): void", "");
verify.quickInfoIs("(property) i2.nc_l1: () => void", "");
goTo.marker('41');
verify.memberListContains("i2_p1", "(property) i2.i2_p1: number", "i2_p1");
@@ -592,13 +592,13 @@ verify.quickInfoIs("(method) i3.f1(): void", "i3 f1");
goTo.marker('45q');
verify.quickInfoIs("(method) i3.nc_f1(): void", "");
goTo.marker('l42q');
verify.quickInfoIs("(method) i2.i2_l1(): void", "");
verify.quickInfoIs("(property) i2.i2_l1: () => void", "");
goTo.marker('l43q');
verify.quickInfoIs("(method) i2.i2_nc_l1(): void", "");
verify.quickInfoIs("(property) i2.i2_nc_l1: () => void", "");
goTo.marker('l44q');
verify.quickInfoIs("(method) i3.l1(): void", "");
verify.quickInfoIs("(property) i3.l1: () => void", "");
goTo.marker('l45q');
verify.quickInfoIs("(method) i3.nc_l1(): void", "");
verify.quickInfoIs("(property) i3.nc_l1: () => void", "");
goTo.marker('46');
verify.memberListContains("i2_p1", "(property) i2.i2_p1: number", "i2_p1");
@@ -639,13 +639,13 @@ verify.quickInfoIs("(method) i2.f1(): void", "i2 f1");
goTo.marker('50q');
verify.quickInfoIs("(method) i2.nc_f1(): void", "");
goTo.marker('l47q');
verify.quickInfoIs("(method) i2.i2_l1(): void", "");
verify.quickInfoIs("(property) i2.i2_l1: () => void", "");
goTo.marker('l48q');
verify.quickInfoIs("(method) i2.i2_nc_l1(): void", "");
verify.quickInfoIs("(property) i2.i2_nc_l1: () => void", "");
goTo.marker('l49q');
verify.quickInfoIs("(method) i2.l1(): void", "");
verify.quickInfoIs("(property) i2.l1: () => void", "");
goTo.marker('l50q');
verify.quickInfoIs("(method) i2.nc_l1(): void", "");
verify.quickInfoIs("(property) i2.nc_l1: () => void", "");
goTo.marker('51');
verify.completionListContains("i2", "interface i2", "");

View File

@@ -111,7 +111,7 @@ goTo.marker('12');
verify.currentSignatureHelpDocCommentIs("");
verify.currentParameterHelpArgumentDocCommentIs("param help");
goTo.marker('12q');
verify.quickInfoIs("(method) i2.foo(b: number): string", "");
verify.quickInfoIs("(property) i2.foo: (b: number) => string", "");
goTo.marker('13');
verify.quickInfoIs("(var) i2_i_i2_si: number", "");
@@ -130,7 +130,7 @@ goTo.marker('16');
verify.currentSignatureHelpDocCommentIs("new method");
verify.currentParameterHelpArgumentDocCommentIs("param");
goTo.marker('16q');
verify.quickInfoIs("(constructor) i2(i: i1): any", "new method");
verify.quickInfoIs("(var) i2_i: new i2(i: i1) => any", "new method");
goTo.marker('17');
verify.quickInfoIs("(var) i2_i_nc_x: number", "");
@@ -151,7 +151,7 @@ goTo.marker('22');
verify.currentSignatureHelpDocCommentIs("");
verify.currentParameterHelpArgumentDocCommentIs("");
goTo.marker('22q');
verify.quickInfoIs("(method) i2.nc_foo(b: number): string", "");
verify.quickInfoIs("(property) i2.nc_foo: (b: number) => string", "");
goTo.marker('23');
verify.quickInfoIs("(var) i2_i_r: number", "");
@@ -160,7 +160,7 @@ goTo.marker('24');
verify.currentSignatureHelpDocCommentIs("this is call signature");
verify.currentParameterHelpArgumentDocCommentIs("paramhelp a");
goTo.marker('24q');
verify.quickInfoIs("(function) i2(a: number, b: number): number", "this is call signature");
verify.quickInfoIs("(var) i2_i: i2(a: number, b: number) => number", "this is call signature");
goTo.marker('25');
verify.currentSignatureHelpDocCommentIs("this is call signature");
@@ -244,7 +244,7 @@ goTo.marker('43');
verify.currentSignatureHelpDocCommentIs("");
verify.currentParameterHelpArgumentDocCommentIs("comment i3 l b");
goTo.marker('43q');
verify.quickInfoIs("(method) i3.l(b: number): string", "");
verify.quickInfoIs("(property) i3.l: (b: number) => string", "");
goTo.marker('44');
verify.currentSignatureHelpDocCommentIs("");
@@ -256,4 +256,4 @@ goTo.marker('45');
verify.currentSignatureHelpDocCommentIs("");
verify.currentParameterHelpArgumentDocCommentIs("");
goTo.marker('45q');
verify.quickInfoIs("(method) i3.nc_l(b: number): string", "");
verify.quickInfoIs("(property) i3.nc_l: (b: number) => string", "");

View File

@@ -308,7 +308,7 @@ verify.completionListContains('f4', '(function) f4(a: number): number (+ 1 overl
goTo.marker('18');
verify.completionListContains('i1', 'interface i1', '');
verify.completionListContains('i1_i', '(constructor) i1(b: number): any (+ 1 overload(s))', '');
verify.completionListContains('i1_i', '(var) i1_i: new i1(b: number) => any (+ 1 overload(s))', '');
verify.completionListContains('i2', 'interface i2', '');
verify.completionListContains('i2_i', '(var) i2_i: i2', '');
verify.completionListContains('i3', 'interface i3', '');
@@ -320,25 +320,25 @@ goTo.marker('19');
verify.currentSignatureHelpDocCommentIs("");
verify.currentParameterHelpArgumentDocCommentIs("");
goTo.marker('19q');
verify.quickInfoIs("(constructor) i1(b: number): any (+ 1 overload(s))", "");
verify.quickInfoIs("(var) i1_i: new i1(b: number) => any (+ 1 overload(s))", "");
goTo.marker('20');
verify.currentSignatureHelpDocCommentIs("new 1");
verify.currentParameterHelpArgumentDocCommentIs("");
goTo.marker('20q');
verify.quickInfoIs("(constructor) i1(a: string): any (+ 1 overload(s))", "new 1");
verify.quickInfoIs("(var) i1_i: new i1(a: string) => any (+ 1 overload(s))", "new 1");
goTo.marker('21');
verify.currentSignatureHelpDocCommentIs("this signature 1");
verify.currentParameterHelpArgumentDocCommentIs("param a");
goTo.marker('21q');
verify.quickInfoIs("(function) i1(a: number): number (+ 1 overload(s))", "this signature 1");
verify.quickInfoIs("(var) i1_i: i1(a: number) => number (+ 1 overload(s))", "this signature 1");
goTo.marker('22');
verify.currentSignatureHelpDocCommentIs("this is signature 2");
verify.currentParameterHelpArgumentDocCommentIs("");
goTo.marker('22q');
verify.quickInfoIs("(function) i1(b: string): number (+ 1 overload(s))", "this is signature 2");
verify.quickInfoIs("(var) i1_i: i1(b: string) => number (+ 1 overload(s))", "this is signature 2");
goTo.marker('23');
verify.memberListContains('foo', '(method) i1.foo(a: number): number (+ 1 overload(s))', 'foo 1');
@@ -398,73 +398,73 @@ goTo.marker('32');
verify.currentSignatureHelpDocCommentIs("new 2");
verify.currentParameterHelpArgumentDocCommentIs("");
goTo.marker('32q');
verify.quickInfoIs("(constructor) i2(b: number): any (+ 1 overload(s))", "new 2");
verify.quickInfoIs("(var) i2_i: new i2(b: number) => any (+ 1 overload(s))", "new 2");
goTo.marker('33');
verify.currentSignatureHelpDocCommentIs("");
verify.currentParameterHelpArgumentDocCommentIs("");
goTo.marker('33q');
verify.quickInfoIs("(constructor) i2(a: string): any (+ 1 overload(s))", "");
verify.quickInfoIs("(var) i2_i: new i2(a: string) => any (+ 1 overload(s))", "");
goTo.marker('34');
verify.currentSignatureHelpDocCommentIs("");
verify.currentParameterHelpArgumentDocCommentIs("");
goTo.marker('34q');
verify.quickInfoIs("(function) i2(a: number): number (+ 1 overload(s))", "");
verify.quickInfoIs("(var) i2_i: i2(a: number) => number (+ 1 overload(s))", "");
goTo.marker('35');
verify.currentSignatureHelpDocCommentIs("this is signature 2");
verify.currentParameterHelpArgumentDocCommentIs("");
goTo.marker('35q');
verify.quickInfoIs("(function) i2(b: string): number (+ 1 overload(s))", "this is signature 2");
verify.quickInfoIs("(var) i2_i: i2(b: string) => number (+ 1 overload(s))", "this is signature 2");
goTo.marker('36');
verify.currentSignatureHelpDocCommentIs("new 2");
verify.currentParameterHelpArgumentDocCommentIs("");
goTo.marker('36q');
verify.quickInfoIs("(constructor) i3(b: number): any (+ 1 overload(s))", "new 2");
verify.quickInfoIs("(var) i3_i: new i3(b: number) => any (+ 1 overload(s))", "new 2");
goTo.marker('37');
verify.currentSignatureHelpDocCommentIs("new 1");
verify.currentParameterHelpArgumentDocCommentIs("");
goTo.marker('37q');
verify.quickInfoIs("(constructor) i3(a: string): any (+ 1 overload(s))", "new 1");
verify.quickInfoIs("(var) i3_i: new i3(a: string) => any (+ 1 overload(s))", "new 1");
goTo.marker('38');
verify.currentSignatureHelpDocCommentIs("this is signature 1");
verify.currentParameterHelpArgumentDocCommentIs("");
goTo.marker('38q');
verify.quickInfoIs("(function) i3(a: number): number (+ 1 overload(s))", "this is signature 1");
verify.quickInfoIs("(var) i3_i: i3(a: number) => number (+ 1 overload(s))", "this is signature 1");
goTo.marker('39');
verify.currentSignatureHelpDocCommentIs("");
verify.currentParameterHelpArgumentDocCommentIs("");
goTo.marker('39q');
verify.quickInfoIs("(function) i3(b: string): number (+ 1 overload(s))", "");
verify.quickInfoIs("(var) i3_i: i3(b: string) => number (+ 1 overload(s))", "");
goTo.marker('40');
verify.currentSignatureHelpDocCommentIs("");
verify.currentParameterHelpArgumentDocCommentIs("");
goTo.marker('40q');
verify.quickInfoIs("(constructor) i4(b: number): any (+ 1 overload(s))", "");
verify.quickInfoIs("(var) i4_i: new i4(b: number) => any (+ 1 overload(s))", "");
goTo.marker('41');
verify.currentSignatureHelpDocCommentIs("");
verify.currentParameterHelpArgumentDocCommentIs("");
goTo.marker('41q');
verify.quickInfoIs("(constructor) i4(a: string): any (+ 1 overload(s))", "");
verify.quickInfoIs("(var) i4_i: new i4(a: string) => any (+ 1 overload(s))", "");
goTo.marker('42');
verify.currentSignatureHelpDocCommentIs("");
verify.currentParameterHelpArgumentDocCommentIs("");
goTo.marker('42q');
verify.quickInfoIs("(function) i4(a: number): number (+ 1 overload(s))", "");
verify.quickInfoIs("(var) i4_i: i4(a: number) => number (+ 1 overload(s))", "");
goTo.marker('43');
verify.currentSignatureHelpDocCommentIs("");
verify.currentParameterHelpArgumentDocCommentIs("");
goTo.marker('43q');
verify.quickInfoIs("(function) i4(b: string): number (+ 1 overload(s))", "");
verify.quickInfoIs("(var) i4_i: i4(b: string) => number (+ 1 overload(s))", "");
goTo.marker('44');
verify.memberListContains('prop1', '(method) c.prop1(a: number): number (+ 1 overload(s))', '');

View File

@@ -63,7 +63,7 @@ verify.quickInfoIs("(function) foo(): void", "foos comment");
goTo.marker('6');
verify.currentSignatureHelpDocCommentIs("");
goTo.marker('6q');
verify.quickInfoIs("(function) fooVar(): void", "");
verify.quickInfoIs("(var) fooVar: () => void", "");
goTo.marker('7');
verify.completionListContains("foo", "(function) foo(): void", "foos comment");
@@ -77,7 +77,7 @@ verify.quickInfoIs("(function) foo(): void", "foos comment");
goTo.marker('9');
verify.currentSignatureHelpDocCommentIs("");
goTo.marker('9q');
verify.quickInfoIs("(function) fooVar(): void", "");
verify.quickInfoIs("(var) fooVar: () => void", "");
goTo.marker('9aq');
verify.quickInfoIs("(var) fooVar: () => void", "fooVar comment");

View File

@@ -30,7 +30,7 @@ verify.quickInfoIs("(method) C.x1(a: number, callback: (x: 'hi') => number): any
goTo.marker('5');
verify.quickInfoIs('(parameter) callback: (x: string) => number');
goTo.marker('6');
verify.quickInfoIs('(local function) callback(x: string): number');
verify.quickInfoIs('(parameter) callback: (x: string) => number');
goTo.marker('7');
verify.quickInfoIs("(method) C.x1(a: number, callback: (x: 'hi') => number): any");
goTo.marker('8');

View File

@@ -6,12 +6,7 @@
//// /*3*/f(3);
////}
// Declaration is shown as type information
goTo.marker("1");
verify.quickInfoIs("(var) f: (x: number) => number", "");
// But the call sites show the signatures selected
[2, 3].forEach((val) => {
[1, 2, 3].forEach((val) => {
goTo.marker("" + val);
verify.quickInfoIs("(function) f(x: number): number", "");
verify.quickInfoIs("(var) f: (x: number) => number", "");
} );