diff --git a/packages/wasm/ballerina-lang-go b/packages/wasm/ballerina-lang-go index 840d581..ae2382f 160000 --- a/packages/wasm/ballerina-lang-go +++ b/packages/wasm/ballerina-lang-go @@ -1 +1 @@ -Subproject commit 840d581f10723737c722930543bc2e2d4bd4aa7d +Subproject commit ae2382f404948cd99e7018ee8e0efbe5ededb97d diff --git a/packages/wasm/main_wasm.go b/packages/wasm/main_wasm.go index 1f021d2..2ab30c7 100644 --- a/packages/wasm/main_wasm.go +++ b/packages/wasm/main_wasm.go @@ -70,15 +70,18 @@ func run(this js.Value, args []js.Value) any { } backend := projects.NewBallerinaBackend(compilation) - bir := backend.BIR() + birPkgs := backend.BIRPackages() - if bir == nil { - return jsError(fmt.Errorf("BIR generation failed")) + if len(birPkgs) == 0 { + return jsError(fmt.Errorf("BIR generation failed: no BIR package produced")) } rt := runtime.NewRuntime() - if err := rt.Interpret(*bir); err != nil { - return jsError(err) + + for _, birPkg := range birPkgs { + if err := rt.Interpret(*birPkg); err != nil { + return jsError(err) + } } return nil