File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -227,11 +227,6 @@ func (g *generator) define(dir wit.Direction, v wit.Node) (defined bool) {
227227func (g * generator ) defineWorlds () error {
228228 g .opts .logger .Infof ("Generating Go for %d world(s)\n " , len (g .res .Worlds ))
229229 for _ , w := range g .res .Worlds {
230- // Define a Go package for every world, regardless of use
231- _ , err := g .newPackage (w , nil , "" )
232- if err != nil {
233- return err
234- }
235230 if w == g .world || g .world == nil {
236231 err := g .defineWorld (w )
237232 if err != nil {
@@ -2289,9 +2284,17 @@ func (g *generator) cgoFileFor(owner wit.TypeOwner) *gen.File {
22892284
22902285func (g * generator ) packageFor (owner wit.TypeOwner ) * gen.Package {
22912286 pkg := g .witPackages [owner ]
2287+ if pkg != nil {
2288+ return pkg
2289+ }
2290+ var err error
2291+ switch owner := (owner ).(type ) {
2292+ case * wit.World :
2293+ pkg , err = g .newPackage (owner , nil , "" )
2294+ }
22922295 if pkg == nil {
2293- panic (fmt .Sprintf ("BUG: nil package for wit.TypeOwner %s (%T: %p)" ,
2294- owner .WITPackage ().Name .String (), owner , owner ))
2296+ panic (fmt .Sprintf ("BUG: cannot create Go package for wit.TypeOwner %s (%T: %p): %v " ,
2297+ owner .WITPackage ().Name .String (), owner , owner , err ))
22952298 }
22962299 return pkg
22972300}
You can’t perform that action at this time.
0 commit comments