Skip to content

Commit d433042

Browse files
Titian Cernicova-DragomirTitian Cernicova-Dragomir
authored andcommitted
Fixed isVariadic handling when signature parameters are expanded for itemInfoForParameters
1 parent 88babf2 commit d433042

File tree

3 files changed

+3
-2
lines changed

3 files changed

+3
-2
lines changed

src/compiler/checker.ts

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

src/compiler/types.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3093,7 +3093,6 @@ namespace ts {
30933093
/* @internal */
30943094
getPromisedTypeOfPromise(promise: Type, errorNode?: Node): Type | undefined;
30953095
getReturnTypeOfSignature(signature: Signature): Type;
3096-
/* @internal */ getExpandedParameters(sig: Signature): ReadonlyArray<Symbol>;
30973096
/**
30983097
* Gets the type of a parameter at a given position in a signature.
30993098
* Returns `any` if the index is not valid.
@@ -3172,6 +3171,7 @@ namespace ts {
31723171
getResolvedSignature(node: CallLikeExpression, candidatesOutArray?: Signature[], argumentCount?: number): Signature | undefined;
31733172
/* @internal */ getResolvedSignatureForSignatureHelp(node: CallLikeExpression, candidatesOutArray?: Signature[], argumentCount?: number): Signature | undefined;
31743173
/* @internal */ getExpandedParameters(sig: Signature): ReadonlyArray<Symbol>;
3174+
/* @internal */ hasEffectiveRestParameter(sig: Signature): boolean;
31753175
getSignatureFromDeclaration(declaration: SignatureDeclaration): Signature | undefined;
31763176
isImplementationOfOverload(node: SignatureDeclaration): boolean | undefined;
31773177
isUndefinedSymbol(symbol: Symbol): boolean;

src/services/signatureHelp.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -566,7 +566,7 @@ namespace ts.SignatureHelp {
566566
}
567567

568568
function itemInfoForParameters(candidateSignature: Signature, checker: TypeChecker, enclosingDeclaration: Node, sourceFile: SourceFile): SignatureHelpItemInfo {
569-
let isVariadic = candidateSignature.hasRestParameter;
569+
const isVariadic = checker.hasEffectiveRestParameter(candidateSignature);
570570
const printer = createPrinter({ removeComments: true });
571571
const typeParameterParts = mapToDisplayParts(writer => {
572572
if (candidateSignature.typeParameters && candidateSignature.typeParameters.length) {

0 commit comments

Comments
 (0)