@@ -22240,7 +22240,7 @@ namespace ts {
22240
22240
!numCallSignatures && !numConstructSignatures && !(apparentFuncType.flags & (TypeFlags.Union | TypeFlags.Never)) && isTypeAssignableTo(funcType, globalFunctionType);
22241
22241
}
22242
22242
22243
- function resolveNewExpression(node: NewExpression, candidatesOutArray: Signature[] | undefined, checkMode: CheckMode): Signature {
22243
+ function resolveNewExpression(node: NewExpression, candidatesOutArray: Signature[] | undefined, checkMode: CheckMode, contextFlags?: ContextFlags ): Signature {
22244
22244
if (node.arguments && languageVersion < ScriptTarget.ES5) {
22245
22245
const spreadIndex = getSpreadArgumentIndex(node.arguments);
22246
22246
if (spreadIndex >= 0) {
@@ -22293,7 +22293,7 @@ namespace ts {
22293
22293
return resolveErrorCall(node);
22294
22294
}
22295
22295
22296
- return resolveCall(node, constructSignatures, candidatesOutArray, checkMode);
22296
+ return resolveCall(node, constructSignatures, candidatesOutArray, checkMode, /*fallbackError*/ undefined, contextFlags );
22297
22297
}
22298
22298
22299
22299
// If expressionType's apparent type is an object type with no construct signatures but
@@ -22302,7 +22302,7 @@ namespace ts {
22302
22302
// operation is Any. It is an error to have a Void this type.
22303
22303
const callSignatures = getSignaturesOfType(expressionType, SignatureKind.Call);
22304
22304
if (callSignatures.length) {
22305
- const signature = resolveCall(node, callSignatures, candidatesOutArray, checkMode);
22305
+ const signature = resolveCall(node, callSignatures, candidatesOutArray, checkMode, /*fallbackError*/ undefined, contextFlags );
22306
22306
if (!noImplicitAny) {
22307
22307
if (signature.declaration && !isJSConstructor(signature.declaration) && getReturnTypeOfSignature(signature) !== voidType) {
22308
22308
error(node, Diagnostics.Only_a_void_function_can_be_called_with_the_new_keyword);
@@ -22653,7 +22653,7 @@ namespace ts {
22653
22653
case SyntaxKind.CallExpression:
22654
22654
return resolveCallExpression(node, candidatesOutArray, checkMode, contextFlags);
22655
22655
case SyntaxKind.NewExpression:
22656
- return resolveNewExpression(node, candidatesOutArray, checkMode);
22656
+ return resolveNewExpression(node, candidatesOutArray, checkMode, contextFlags );
22657
22657
case SyntaxKind.TaggedTemplateExpression:
22658
22658
return resolveTaggedTemplateExpression(node, candidatesOutArray, checkMode);
22659
22659
case SyntaxKind.Decorator:
0 commit comments