From a271797c1a95494e5f7aa8075c01941ad25cad08 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Burzy=C5=84ski?= Date: Thu, 31 Oct 2024 21:14:27 +0100 Subject: [PATCH] Use `canHaveFlowNode` in `checkIfExpressionRefinesParameter` (#58816) --- src/compiler/checker.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 76f8d9ddf5978..ea5971b3f7b28 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -38627,7 +38627,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { } function checkIfExpressionRefinesParameter(func: FunctionLikeDeclaration, expr: Expression, param: ParameterDeclaration, initType: Type): Type | undefined { - const antecedent = (expr as Expression & { flowNode?: FlowNode; }).flowNode || + const antecedent = canHaveFlowNode(expr) && expr.flowNode || expr.parent.kind === SyntaxKind.ReturnStatement && (expr.parent as ReturnStatement).flowNode || createFlowNode(FlowFlags.Start, /*node*/ undefined, /*antecedent*/ undefined); const trueCondition = createFlowNode(FlowFlags.TrueCondition, expr, antecedent);