Packages were not being created for all types.Packages, specifically, indirectly imported packages were missing. (*Program).CreatePackages now iterates over the type-checker's package map too. Also: removed all concurrency from importer. I think it was incorrect (and hard to fix). Also: change LoadInitialPackages so that all named packages are loaded from source. This happens regardless of whether GCImporter is used to satisfy imports. Details: - importer.Config.SourceImports flag determines whether to load all packages from *.go source. (Before, this was indicated by Config.Build != nil.) - importer.Config.Build field effectively defaults to &go/build.Default. A zero importer.Config is now usable. - importer.Importer.Config field is now exported. - LoadPackage renamed to ImportPackage since the resulting packages may come from GCImporter (and be incomplete). - doImport and ImportPackage fused. Fixes golang/go#7028 R=gri, axwalk CC=golang-codereviews https://golang.org/cl/48770043 |
||
|---|---|---|
| .. | ||
| testdata | ||
| TODO | ||
| analysis.go | ||
| api.go | ||
| callgraph.go | ||
| doc.go | ||
| example_test.go | ||
| gen.go | ||
| intrinsics.go | ||
| labels.go | ||
| pointer_test.go | ||
| print.go | ||
| reflect.go | ||
| solve.go | ||
| util.go | ||