aboutsummaryrefslogtreecommitdiffhomepage
path: root/loader
diff options
context:
space:
mode:
authorAyke van Laethem <[email protected]>2024-10-12 10:33:24 +0200
committerAyke <[email protected]>2024-10-18 17:43:17 +0200
commitdf724f5827e2b96d53a708d642ee52798506915c (patch)
tree186743b9f6e7b33b1840b2b848ba4e30268baff1 /loader
parent539cc5c47bb1bc46bcaf663d8f963670a7fbb111 (diff)
downloadtinygo-df724f5827e2b96d53a708d642ee52798506915c.tar.gz
tinygo-df724f5827e2b96d53a708d642ee52798506915c.zip
loader: don't panic when main package is not named 'main'
This can in fact happen in practice, so return an actual error message instead.
Diffstat (limited to 'loader')
-rw-r--r--loader/loader.go8
1 files changed, 6 insertions, 2 deletions
diff --git a/loader/loader.go b/loader/loader.go
index d10485707..6786ee533 100644
--- a/loader/loader.go
+++ b/loader/loader.go
@@ -418,8 +418,12 @@ func (p *Package) Check() error {
packageName := p.ImportPath
if p == p.program.MainPkg() {
if p.Name != "main" {
- // Sanity check. Should not ever trigger.
- panic("expected main package to have name 'main'")
+ return Errors{p, []error{
+ scanner.Error{
+ Pos: p.program.fset.Position(p.Files[0].Name.Pos()),
+ Msg: fmt.Sprintf("expected main package to have name \"main\", not %#v", p.Name),
+ },
+ }}
}
packageName = "main"
}