From dadd7cdafecf405a8f86007c8f2dad9e95d5ce4e Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 10 Jun 2025 00:26:47 +0000 Subject: [PATCH 1/2] Initial plan for issue From a00b1aa4556089356b015772db4c5657dc3f3d3c Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 10 Jun 2025 00:42:52 +0000 Subject: [PATCH 2/2] Use canHaveFlowNode in checkIfExpressionRefinesParameter Co-authored-by: andrewbranch <3277153+andrewbranch@users.noreply.github.com> --- internal/checker/checker.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/internal/checker/checker.go b/internal/checker/checker.go index 65a23fce6d..d83e67e7d2 100644 --- a/internal/checker/checker.go +++ b/internal/checker/checker.go @@ -19479,7 +19479,10 @@ func (c *Checker) checkIfExpressionRefinesAnyParameter(fn *ast.Node, expr *ast.N } func (c *Checker) checkIfExpressionRefinesParameter(fn *ast.Node, expr *ast.Node, param *ast.Node, initType *Type) *Type { - antecedent := getFlowNodeOfNode(expr) + var antecedent *ast.FlowNode + if canHaveFlowNode(expr) { + antecedent = expr.FlowNodeData().FlowNode + } if antecedent == nil && ast.IsReturnStatement(expr.Parent) { antecedent = getFlowNodeOfNode(expr.Parent) }