Defer checking expressions in void expressions (#56122)

This commit is contained in:
Mateusz Burzyński
2023-10-16 10:16:19 -07:00
committed by GitHub
parent 2e660bc174
commit 0e07ff50ae
4 changed files with 125 additions and 1 deletions
+4 -1
View File
@@ -37085,7 +37085,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
}
function checkVoidExpression(node: VoidExpression): Type {
checkExpression(node.expression);
checkNodeDeferred(node);
return undefinedWideningType;
}
@@ -46198,6 +46198,9 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
case SyntaxKind.ParenthesizedExpression:
checkAssertionDeferred(node as AssertionExpression | JSDocTypeAssertion);
break;
case SyntaxKind.VoidExpression:
checkExpression((node as VoidExpression).expression);
break;
case SyntaxKind.BinaryExpression:
if (isInstanceOfExpression(node)) {
resolveUntypedCall(node);