From 2a4b2ef023036d830a26541dc308b251b182e391 Mon Sep 17 00:00:00 2001 From: xgopilot Date: Fri, 14 Nov 2025 22:03:36 +0000 Subject: [PATCH] build: remove error return from genMainModule The genMainModule function never returns an error, so simplified its signature to return only Package. Updated: - genMainModule signature: (Package, error) -> Package - Call site in build.go to not handle error - Both test cases to remove error checking Generated with [codeagent](https://github.com/qbox/codeagent) Co-authored-by: cpunion <8459+cpunion@users.noreply.github.com> --- internal/build/build.go | 5 +---- internal/build/main_module.go | 6 +++--- internal/build/main_module_test.go | 10 ++-------- 3 files changed, 6 insertions(+), 15 deletions(-) diff --git a/internal/build/build.go b/internal/build/build.go index 1d3ff2e8..73c7c9dd 100644 --- a/internal/build/build.go +++ b/internal/build/build.go @@ -782,10 +782,7 @@ func linkMainPkg(ctx *context, pkg *packages.Package, pkgs []*aPackage, outputPa } }) // Generate main module file (needed for global variables even in library modes) - entryPkg, err := genMainModule(ctx, llssa.PkgRuntime, pkg, needRuntime, needPyInit) - if err != nil { - return err - } + entryPkg := genMainModule(ctx, llssa.PkgRuntime, pkg, needRuntime, needPyInit) entryObjFile, err := exportObject(ctx, entryPkg.PkgPath, entryPkg.ExportFile, []byte(entryPkg.LPkg.String())) if err != nil { return err diff --git a/internal/build/main_module.go b/internal/build/main_module.go index 404179a6..760177ce 100644 --- a/internal/build/main_module.go +++ b/internal/build/main_module.go @@ -30,7 +30,7 @@ import ( llssa "github.com/goplus/llgo/ssa" ) -func genMainModule(ctx *context, rtPkgPath string, pkg *packages.Package, needRuntime, needPyInit bool) (Package, error) { +func genMainModule(ctx *context, rtPkgPath string, pkg *packages.Package, needRuntime, needPyInit bool) Package { prog := ctx.prog mainPkg := prog.NewPackage("", pkg.PkgPath+".main") @@ -55,7 +55,7 @@ func genMainModule(ctx *context, rtPkgPath string, pkg *packages.Package, needRu } if ctx.buildConf.BuildMode != BuildModeExe { - return mainAPkg, nil + return mainAPkg } runtimeStub := defineWeakNoArgStub(mainPkg, "runtime.init") @@ -80,7 +80,7 @@ func genMainModule(ctx *context, rtPkgPath string, pkg *packages.Package, needRu defineStart(mainPkg, entryFn, argvValueType) } - return mainAPkg, nil + return mainAPkg } func defineEntryFunction(ctx *context, pkg llssa.Package, argcVar, argvVar llssa.Global, argvType llssa.Type, runtimeStub, mainInit, mainMain llssa.Function, pyInit, rtInit llssa.Function) llssa.Function { diff --git a/internal/build/main_module_test.go b/internal/build/main_module_test.go index d7e6e242..96f87ac6 100644 --- a/internal/build/main_module_test.go +++ b/internal/build/main_module_test.go @@ -29,10 +29,7 @@ func TestGenMainModuleExecutable(t *testing.T) { }, } pkg := &packages.Package{PkgPath: "example.com/foo", ExportFile: "foo.a"} - mod, err := genMainModule(ctx, llssa.PkgRuntime, pkg, true, true) - if err != nil { - t.Fatalf("genMainModule() error = %v", err) - } + mod := genMainModule(ctx, llssa.PkgRuntime, pkg, true, true) if mod.ExportFile != "foo.a-main" { t.Fatalf("unexpected export file: %s", mod.ExportFile) } @@ -62,10 +59,7 @@ func TestGenMainModuleLibrary(t *testing.T) { }, } pkg := &packages.Package{PkgPath: "example.com/foo", ExportFile: "foo.a"} - mod, err := genMainModule(ctx, llssa.PkgRuntime, pkg, false, false) - if err != nil { - t.Fatalf("genMainModule() error = %v", err) - } + mod := genMainModule(ctx, llssa.PkgRuntime, pkg, false, false) ir := mod.LPkg.String() if strings.Contains(ir, "define i32 @main") { t.Fatalf("library mode should not emit main function:\n%s", ir)