From af169fac3f5357f4f501327d9bb67f10e735933a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Burzy=C5=84ski?= Date: Sat, 4 Oct 2025 18:26:44 +0200 Subject: [PATCH 1/2] Port "Fixed crash in `hasVisibleDeclarations` related to binding elements" --- internal/checker/emitresolver.go | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/internal/checker/emitresolver.go b/internal/checker/emitresolver.go index 40bd253bc2..9acd79945d 100644 --- a/internal/checker/emitresolver.go +++ b/internal/checker/emitresolver.go @@ -409,7 +409,14 @@ func (r *emitResolver) hasVisibleDeclarations(symbol *ast.Symbol, shouldComputeA continue } if symbol.Flags&ast.SymbolFlagsBlockScopedVariable != 0 { - variableStatement := ast.FindAncestor(declaration, ast.IsVariableStatement) + rootDeclaration := ast.WalkUpBindingElementsAndPatterns(declaration) + if ast.IsParameter(rootDeclaration) { + return nil + } + variableStatement := rootDeclaration.Parent.Parent; + if !ast.IsVariableStatement(variableStatement) { + return nil + } if ast.HasSyntacticModifier(variableStatement, ast.ModifierFlagsExport) { continue // no alias to add, already exported } From 861b52b7bd532371712e503b64da30a57d3fab5f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Burzy=C5=84ski?= Date: Sat, 4 Oct 2025 20:18:49 +0200 Subject: [PATCH 2/2] fmt --- internal/checker/emitresolver.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/checker/emitresolver.go b/internal/checker/emitresolver.go index 9acd79945d..1a28c3c21e 100644 --- a/internal/checker/emitresolver.go +++ b/internal/checker/emitresolver.go @@ -413,7 +413,7 @@ func (r *emitResolver) hasVisibleDeclarations(symbol *ast.Symbol, shouldComputeA if ast.IsParameter(rootDeclaration) { return nil } - variableStatement := rootDeclaration.Parent.Parent; + variableStatement := rootDeclaration.Parent.Parent if !ast.IsVariableStatement(variableStatement) { return nil }