From 2c653475e22df560cbd2081321fc7ff6137bb4ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Burzy=C5=84ski?= Date: Tue, 10 Jan 2023 07:00:40 +0100 Subject: [PATCH] Cover more literal expressions in `getQuickTypeOfExpression` --- src/compiler/checker.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 406084f80ce14..4cb0ece6c4768 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -437,6 +437,7 @@ import { isBlock, isBlockOrCatchScoped, isBlockScopedContainerTopLevel, + isBooleanLiteral, isCallChain, isCallExpression, isCallLikeExpression, @@ -582,6 +583,7 @@ import { isLet, isLineBreak, isLiteralComputedPropertyDeclarationName, + isLiteralExpression, isLiteralExpressionOfObject, isLiteralImportTypeNode, isLiteralTypeNode, @@ -36505,8 +36507,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { else if (isAssertionExpression(expr) && !isConstTypeReference(expr.type)) { return getTypeFromTypeNode((expr as TypeAssertion).type); } - else if (node.kind === SyntaxKind.NumericLiteral || node.kind === SyntaxKind.StringLiteral || - node.kind === SyntaxKind.TrueKeyword || node.kind === SyntaxKind.FalseKeyword) { + else if (isLiteralExpression(node) || isBooleanLiteral(node)) { return checkExpression(node); } return undefined;