tools/pointer
Alan Donovan 3d82e7e94a go.tools/ssa: fix crash in SSA builder when using GCImporter to satisfy imports (ssadump -build=G).
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
2014-01-09 14:11:54 -05:00
..
testdata go.tools/pointer: replace Pointer, PointsToSet interfaces with their sole implementations. 2013-12-06 12:52:04 -05:00
TODO go.tools/pointer: make os.Args point to something. 2013-10-01 09:46:33 -04:00
analysis.go go.tools/pointer: replace Config.Print (callback) with a Result.PrintCalls (map). 2013-12-10 09:15:39 -05:00
api.go go.tools/pointer: replace Config.Print (callback) with a Result.PrintCalls (map). 2013-12-10 09:15:39 -05:00
callgraph.go go.tools/pointer: more reflection. 2013-10-17 09:26:44 -04:00
doc.go go.tools/pointer: implement (reflect.Value).Call. 2013-10-29 21:57:53 -04:00
example_test.go go.tools/ssa: fix crash in SSA builder when using GCImporter to satisfy imports (ssadump -build=G). 2014-01-09 14:11:54 -05:00
gen.go go.tools/go/types: use types.ChanDir instead of ast.ChanDir 2013-12-17 15:45:01 -08:00
intrinsics.go go.tools/pointer: implement (reflect.Value).Call. 2013-10-29 21:57:53 -04:00
labels.go go.tools/oracle: improvements to command set and performance. 2013-12-13 10:04:55 -05:00
pointer_test.go go.tools/ssa: fix crash in SSA builder when using GCImporter to satisfy imports (ssadump -build=G). 2014-01-09 14:11:54 -05:00
print.go go.tools/pointer: use assignable not identical type predicate in reflect.{Send,SetMapIndex,etc} 2013-10-14 13:53:41 -04:00
reflect.go go.tools/go/types: use types.ChanDir instead of ast.ChanDir 2013-12-17 15:45:01 -08:00
solve.go go.tools/pointer: implement (reflect.Value).Call. 2013-10-29 21:57:53 -04:00
util.go go.tools/go/types: move gcimporter to its own package 2013-11-14 14:11:43 -08:00