Sshow signature information if possible (even though signature resolution fails) in given location

This commit is contained in:
Sheetal Nandi 2014-10-07 15:28:08 -07:00
parent 23bdc50593
commit 05d428a2ec
3 changed files with 13 additions and 8 deletions

View File

@ -2733,7 +2733,12 @@ module ts {
var useConstructSignatures = callExpression.kind === SyntaxKind.NewExpression || callExpression.func.kind === SyntaxKind.SuperKeyword;
var allSignatures = useConstructSignatures ? type.getConstructSignatures() : type.getCallSignatures();
if (contains(allSignatures, signature.target || signature)) {
if (!contains(allSignatures, signature.target || signature)) {
// Get the first signature if there
signature = allSignatures.length ? allSignatures[0] : undefined;
}
if (signature) {
if (useConstructSignatures && (symbolFlags & SymbolFlags.Class)) {
// Constructor
symbolKind = ScriptElementKind.constructorImplementationElement;

View File

@ -26,7 +26,7 @@ goTo.marker('Csig');
verify.quickInfoIs("(constructor) C<string>(val: string): C<string>");
goTo.marker('Dsig');
verify.quickInfoIs("(constructor) D<string>(val: string): D<string>");
verify.quickInfoIs("(constructor) D<T>(val: T): D<T>"); // Cannot resolve signature
goTo.marker(C);
edit.deleteAtCaret('constructor(val: T) { }'.length);
@ -37,10 +37,10 @@ goTo.marker('Bsig');
verify.quickInfoIs("(constructor) B<string>(val: string): B<string>");
goTo.marker('Csig');
verify.quickInfoIs("(constructor) C<{}>(): C<{}>");
verify.quickInfoIs("(constructor) C<T>(): C<T>"); // Cannot resolve signature
goTo.marker('Dsig');
verify.quickInfoIs("(constructor) D<string>(val: string): D<string>");
verify.quickInfoIs("(constructor) D<T>(val: T): D<T>"); // Cannot resolve signature
goTo.marker(D);
edit.deleteAtCaret("val: T".length);
@ -51,7 +51,7 @@ goTo.marker('Bsig');
verify.quickInfoIs("(constructor) B<string>(val: string): B<string>");
goTo.marker('Csig');
verify.quickInfoIs("(constructor) C<{}>(): C<{}>");
verify.quickInfoIs("(constructor) C<T>(): C<T>"); // Cannot resolve signature
goTo.marker('Dsig');
verify.quickInfoIs("(constructor) D<string>(): D<string>");

View File

@ -310,11 +310,11 @@ goTo.marker('18');
verify.completionListContains('i1', 'interface i1', '');
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('i2_i', '(var) i2_i: new i2(a: string) => any (+ 1 overload(s))', '');
verify.completionListContains('i3', 'interface i3', '');
verify.completionListContains('i3_i', '(var) i3_i: i3', '');
verify.completionListContains('i3_i', '(var) i3_i: new i3(a: string) => any (+ 1 overload(s))', 'new 1');
verify.completionListContains('i4', 'interface i4', '');
verify.completionListContains('i4_i', '(var) i4_i: i4', '');
verify.completionListContains('i4_i', '(var) i4_i: new i4(a: string) => any (+ 1 overload(s))', '');
goTo.marker('19');
verify.currentSignatureHelpDocCommentIs("");