@@ -143,6 +143,7 @@ namespace ts {
143143
144144 const anySignature = createSignature(undefined, undefined, undefined, emptyArray, anyType, /*typePredicate*/ undefined, 0, /*hasRestParameter*/ false, /*hasLiteralTypes*/ false);
145145 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);
146147
147148 const enumNumberIndexInfo = createIndexInfo(stringType, /*isReadonly*/ true);
148149
@@ -12229,10 +12230,10 @@ namespace ts {
1222912230 // or that a different candidatesOutArray was passed in. Therefore, we need to redo the work
1223012231 // to correctly fill the candidatesOutArray.
1223112232 const cached = links.resolvedSignature;
12232- if (cached && cached !== anySignature && !candidatesOutArray) {
12233+ if (cached && cached !== resolvingSignature && !candidatesOutArray) {
1223312234 return cached;
1223412235 }
12235- links.resolvedSignature = anySignature ;
12236+ links.resolvedSignature = resolvingSignature ;
1223612237 const result = resolveSignature(node, candidatesOutArray);
1223712238 // If signature resolution originated in control flow type analysis (for example to compute the
1223812239 // assigned type in a flow assignment) we don't cache the result as it may be based on temporary
@@ -12244,7 +12245,7 @@ namespace ts {
1224412245 function getResolvedOrAnySignature(node: CallLikeExpression) {
1224512246 // If we're already in the process of resolving the given signature, don't resolve again as
1224612247 // that could cause infinite recursion. Instead, return anySignature.
12247- return getNodeLinks(node).resolvedSignature === anySignature ? anySignature : getResolvedSignature(node);
12248+ return getNodeLinks(node).resolvedSignature === resolvingSignature ? resolvingSignature : getResolvedSignature(node);
1224812249 }
1224912250
1225012251 function getInferredClassType(symbol: Symbol) {
0 commit comments