mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-02-09 02:30:15 -06:00
Sshow signature information if possible (even though signature resolution fails) in given location
This commit is contained in:
parent
23bdc50593
commit
05d428a2ec
@ -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;
|
||||
|
||||
@ -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>");
|
||||
@ -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("");
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user