tools/pointer/testdata
Alan Donovan e8afbfad8c go.tools/importer: API rethink.
The Importer type has been replaced with Config and Program.

Clients populate a Config, directly or more usually via
convenience functions.  They then call its Load() method to do
all of the typechecking and transitive-closure computation.

ssa.NewProgram and ssa.CreatePackages have been fused into
ssa.Create, which now cannot fail, since (*Config).Load()
reports all type errors.

Also:
- The addition of an ssa.GlobalDebug builder mode flag
  eliminates a loop-over-packages repeated in many clients.
- PackageInfo.Err flag unexported.  Clients never see bad infos now.
- cmd/ssadump: now only looks for func "main" in package "main".
- importsOf deleted, was dead code.

STILL TODO:
- ParseFile seems like API creep (though it's convenient)
  and CreateFromFiles is dangerous (w.r.t. FileSet identity).
  Need to think more...
- the need for clients to rely on elementwise correspondence
  of Config.CreatePkgs and Program.Created is a little sad.
- The command-line interface has not changed.
  That will happen in a follow-up.
  r recommends using a repeated flag: -package p -package q ...

R=gri
CC=axwalk, frederik.zipp, golang-codereviews
https://golang.org/cl/49530047
2014-01-15 21:37:55 -05:00
..
a_test.go go.tools/importer: API rethink. 2014-01-15 21:37:55 -05:00
another.go go.tools/pointer: replace Pointer, PointsToSet interfaces with their sole implementations. 2013-12-06 12:52:04 -05:00
arrayreflect.go go.tools/pointer: fix panic in reflection. 2013-10-28 10:58:46 -04:00
arrays.go go.tools/pointer: reflection, part 1: maps, and some core features. 2013-09-16 09:49:10 -04:00
channels.go go.tools/pointer: fix constraint generation bug in *ssa.Select. 2013-11-13 09:13:42 -05:00
chanreflect.go go.tools/pointer: implement (reflect.Value).Call. 2013-10-29 21:57:53 -04:00
chanreflect1.go go.tools/pointer: reflection, part 1: maps, and some core features. 2013-09-16 09:49:10 -04:00
context.go go.tools/pointer: inclusion-based pointer analysis for Go. 2013-08-22 12:27:55 -04:00
conv.go go.tools/ssa: eliminate (non-nil) slice constants. 2014-01-13 16:45:46 -05:00
finalizer.go go.tools/pointer: more reflection. 2013-10-17 09:26:44 -04:00
flow.go go.tools/pointer: reflection, part 1: maps, and some core features. 2013-09-16 09:49:10 -04:00
fmtexcerpt.go go.tools/pointer: reflection, part 1: maps, and some core features. 2013-09-16 09:49:10 -04:00
func.go go.tools/pointer: fix pointer tests (fix build partly) 2013-09-18 11:37:26 -07:00
funcreflect.go go.tools/pointer: implement (reflect.Value).Call. 2013-10-29 21:57:53 -04:00
hello.go go.tools/pointer: fix test of pts(os.Args) on Windows. 2013-10-31 10:24:00 -04:00
interfaces.go go.tools/pointer: fix pointer tests (fix build partly) 2013-09-18 11:37:26 -07:00
mapreflect.go go.tools/pointer: implement (reflect.Value).Call. 2013-10-29 21:57:53 -04:00
maps.go go.tools/pointer: fix pointer tests (fix build partly) 2013-09-18 11:37:26 -07:00
panic.go go.tools/pointer: reflection, part 1: maps, and some core features. 2013-09-16 09:49:10 -04:00
recur.go go.tools/pointer: inclusion-based pointer analysis for Go. 2013-08-22 12:27:55 -04:00
reflect.go go.tools/pointer: implement (reflect.Value).Call. 2013-10-29 21:57:53 -04:00
rtti.go go.tools/ssa: fix computation of set of types requiring method sets. 2013-10-23 17:07:52 -04:00
structreflect.go go.tools/pointer: fix panic in reflection. 2013-10-28 10:58:46 -04:00
structs.go go.tools/pointer: replace Pointer, PointsToSet interfaces with their sole implementations. 2013-12-06 12:52:04 -05:00