diff --git a/compiler/compiler.go b/compiler/compiler.go index ee2d5e9b..48cfe0f8 100644 --- a/compiler/compiler.go +++ b/compiler/compiler.go @@ -141,11 +141,14 @@ func NewCompiler(pkgName string, config Config) (*Compiler, error) { return c, nil } +// Return the LLVM module. Only valid after a successful compile. func (c *Compiler) Module() llvm.Module { return c.mod } -func (c *Compiler) Parse(mainPath string) error { +// Compile the given package path or .go file path. Return an error when this +// fails (in any stage). +func (c *Compiler) Compile(mainPath string) error { tripleSplit := strings.Split(c.Triple, "-") config := loader.Config{ diff --git a/main.go b/main.go index 2965bb08..f0c31da4 100644 --- a/main.go +++ b/main.go @@ -32,13 +32,13 @@ func Compile(pkgName, outpath string, spec *TargetSpec, printIR, dumpSSA bool, p // Compile Go code to IR. parseErr := func() error { if printIR { - // Run this even if c.Parse() panics. + // Run this even if c.Compile() panics. defer func() { fmt.Println("Generated LLVM IR:") fmt.Println(c.IR()) }() } - return c.Parse(pkgName) + return c.Compile(pkgName) }() if parseErr != nil { return parseErr @@ -203,7 +203,7 @@ func Run(pkgName string) error { if err != nil { return errors.New("compiler: " + err.Error()) } - err = c.Parse(pkgName) + err = c.Compile(pkgName) if err != nil { return errors.New("compiler: " + err.Error()) }