@@ -143,6 +143,7 @@ namespace ts {
143
143
144
144
const anySignature = createSignature(undefined, undefined, undefined, emptyArray, anyType, /*typePredicate*/ undefined, 0, /*hasRestParameter*/ false, /*hasLiteralTypes*/ false);
145
145
const unknownSignature = createSignature(undefined, undefined, undefined, emptyArray, unknownType, /*typePredicate*/ undefined, 0, /*hasRestParameter*/ false, /*hasLiteralTypes*/ false);
146
+ const resolvingSignature = createSignature(undefined, undefined, undefined, emptyArray, anyType, /*typePredicate*/ undefined, 0, /*hasRestParameter*/ false, /*hasLiteralTypes*/ false);
146
147
147
148
const enumNumberIndexInfo = createIndexInfo(stringType, /*isReadonly*/ true);
148
149
@@ -12205,10 +12206,10 @@ namespace ts {
12205
12206
// or that a different candidatesOutArray was passed in. Therefore, we need to redo the work
12206
12207
// to correctly fill the candidatesOutArray.
12207
12208
const cached = links.resolvedSignature;
12208
- if (cached && cached !== anySignature && !candidatesOutArray) {
12209
+ if (cached && cached !== resolvingSignature && !candidatesOutArray) {
12209
12210
return cached;
12210
12211
}
12211
- links.resolvedSignature = anySignature ;
12212
+ links.resolvedSignature = resolvingSignature ;
12212
12213
const result = resolveSignature(node, candidatesOutArray);
12213
12214
// If signature resolution originated in control flow type analysis (for example to compute the
12214
12215
// assigned type in a flow assignment) we don't cache the result as it may be based on temporary
@@ -12220,7 +12221,7 @@ namespace ts {
12220
12221
function getResolvedOrAnySignature(node: CallLikeExpression) {
12221
12222
// If we're already in the process of resolving the given signature, don't resolve again as
12222
12223
// that could cause infinite recursion. Instead, return anySignature.
12223
- return getNodeLinks(node).resolvedSignature === anySignature ? anySignature : getResolvedSignature(node);
12224
+ return getNodeLinks(node).resolvedSignature === resolvingSignature ? resolvingSignature : getResolvedSignature(node);
12224
12225
}
12225
12226
12226
12227
function getInferredClassType(symbol: Symbol) {
0 commit comments