Skip to content

Commit 79813b8

Browse files
committed
Show expanded parameter lists in signature help
1 parent 97fbc87 commit 79813b8

File tree

3 files changed

+4
-2
lines changed

3 files changed

+4
-2
lines changed

src/compiler/checker.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -231,6 +231,7 @@ namespace ts {
231231
getResolvedSignatureWorker(node, candidatesOutArray, agumentCount, CheckMode.Normal),
232232
getResolvedSignatureForSignatureHelp: (node, candidatesOutArray, agumentCount) =>
233233
getResolvedSignatureWorker(node, candidatesOutArray, agumentCount, CheckMode.IsForSignatureHelp),
234+
getExpandedParameters,
234235
getConstantValue: nodeIn => {
235236
const node = getParseTreeNode(nodeIn, canHaveConstantValue);
236237
return node ? getConstantValue(node) : undefined;

src/compiler/types.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3170,6 +3170,7 @@ namespace ts {
31703170
*/
31713171
getResolvedSignature(node: CallLikeExpression, candidatesOutArray?: Signature[], argumentCount?: number): Signature | undefined;
31723172
/* @internal */ getResolvedSignatureForSignatureHelp(node: CallLikeExpression, candidatesOutArray?: Signature[], argumentCount?: number): Signature | undefined;
3173+
/* @internal */ getExpandedParameters(sig: Signature): ReadonlyArray<Symbol>;
31733174
getSignatureFromDeclaration(declaration: SignatureDeclaration): Signature | undefined;
31743175
isImplementationOfOverload(node: SignatureDeclaration): boolean | undefined;
31753176
isUndefinedSymbol(symbol: Symbol): boolean;

src/services/signatureHelp.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -559,7 +559,7 @@ namespace ts.SignatureHelp {
559559
const parameters = (typeParameters || emptyArray).map(t => createSignatureHelpParameterForTypeParameter(t, checker, enclosingDeclaration, sourceFile, printer));
560560
const parameterParts = mapToDisplayParts(writer => {
561561
const thisParameter = candidateSignature.thisParameter ? [checker.symbolToParameterDeclaration(candidateSignature.thisParameter, enclosingDeclaration, signatureHelpNodeBuilderFlags)!] : [];
562-
const params = createNodeArray([...thisParameter, ...candidateSignature.parameters.map(param => checker.symbolToParameterDeclaration(param, enclosingDeclaration, signatureHelpNodeBuilderFlags)!)]);
562+
const params = createNodeArray([...thisParameter, ...checker.getExpandedParameters(candidateSignature).map(param => checker.symbolToParameterDeclaration(param, enclosingDeclaration, signatureHelpNodeBuilderFlags)!)]);
563563
printer.writeList(ListFormat.CallExpressionArguments, params, sourceFile, writer);
564564
});
565565
return { isVariadic: false, parameters, prefix: [punctuationPart(SyntaxKind.LessThanToken)], suffix: [punctuationPart(SyntaxKind.GreaterThanToken), ...parameterParts] };
@@ -574,7 +574,7 @@ namespace ts.SignatureHelp {
574574
printer.writeList(ListFormat.TypeParameters, args, sourceFile, writer);
575575
}
576576
});
577-
const parameters = candidateSignature.parameters.map(p => createSignatureHelpParameterForParameter(p, checker, enclosingDeclaration, sourceFile, printer));
577+
const parameters = checker.getExpandedParameters(candidateSignature).map(p => createSignatureHelpParameterForParameter(p, checker, enclosingDeclaration, sourceFile, printer));
578578
return { isVariadic, parameters, prefix: [...typeParameterParts, punctuationPart(SyntaxKind.OpenParenToken)], suffix: [punctuationPart(SyntaxKind.CloseParenToken)] };
579579
}
580580

0 commit comments

Comments
 (0)