From e294cd822f2e9e6fb7d338cd3403b0fdc47f83e3 Mon Sep 17 00:00:00 2001 From: Gabriel Augendre Date: Wed, 27 Mar 2024 19:57:23 +0100 Subject: [PATCH] fix: don't touch AST --- pkg/analyzer/analyzer.go | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/pkg/analyzer/analyzer.go b/pkg/analyzer/analyzer.go index e84bfe7..df58bb9 100644 --- a/pkg/analyzer/analyzer.go +++ b/pkg/analyzer/analyzer.go @@ -3,7 +3,6 @@ package analyzer import ( "bytes" "errors" - "fmt" "go/ast" "go/printer" "go/token" @@ -54,15 +53,20 @@ func run(pass *analysis.Pass) (interface{}, error) { break } - assignStmt.Tok = token.DEFINE - suggested := render(pass.Fset, assignStmt) + suggestedStmt := ast.AssignStmt{ + Lhs: assignStmt.Lhs, + TokPos: assignStmt.TokPos, + Tok: token.DEFINE, + Rhs: assignStmt.Rhs, + } + suggested := render(pass.Fset, &suggestedStmt) pass.Report(analysis.Diagnostic{ Pos: assignStmt.Pos(), Message: "context not shadowed in loop", SuggestedFixes: []analysis.SuggestedFix{ { - Message: fmt.Sprintf("replace `=` with `:=`"), + Message: "replace `=` with `:=`", TextEdits: []analysis.TextEdit{ { Pos: assignStmt.Pos(),