From 21f40f58737f8311dcc1b59022637fa8b570bc6d Mon Sep 17 00:00:00 2001 From: gogacoder Date: Sun, 5 Jan 2025 22:50:45 +0700 Subject: [PATCH] fix: syntax hallucinations --- internal/writer.go | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/internal/writer.go b/internal/writer.go index a5ba6c3..42fdcc6 100644 --- a/internal/writer.go +++ b/internal/writer.go @@ -217,6 +217,7 @@ func MethodCodeToDeclaration(methodCode string) (ast.FuncDecl, error) { methodDecl = *funcDecl return false }) + return methodDecl, nil } @@ -282,6 +283,21 @@ func ImplementMethod(file *ast.File, methodDecl *ast.FuncDecl, reimplement bool) file.Decls = append(decls, methodDecl) } + // Reload AST: fix issues with syntax 'hallucinations' + // Write AST + var buf bytes.Buffer + if err := printer.Fprint(&buf, token.NewFileSet(), file); err != nil { + return err + } + + // Load AST + formattedFile, err := parser.ParseFile(token.NewFileSet(), "", buf.String(), parser.ParseComments) + if err != nil { + return err + } + + *file = *formattedFile + return nil }