1
0
mirror of https://github.com/golang/go synced 2024-10-02 10:28:34 -06:00
go/ssa/interp
Alan Donovan 4d628a0312 go.tools/ssa: refactoring to make Builder stateless.
A Builder is now just a Program and a Context.

Details of this CL:
- Builder.imp field removed.
- Builder.globals split up into Package.values and Prog.Builtins.
- Builder.packages  moved to Prog.packages.
- Builder.PackageFor moved to Program.Package(types.Object)
- Program.Lookup() func replaces Builder.globals map.
- also: keep Package.info field around until end of BuildPackage.

Planned follow-ups to eliminate Builder from API:
- split NewBuilder up into NewProgram and Program.CreatePackages(...)
- move Builder.BuildAllPackages -> Program.BuildAll(Context)
- move Builder.BuildPackage -> Package.Build(Context)

R=gri, iant
CC=golang-dev
https://golang.org/cl/9966044
2013-06-03 14:15:19 -04:00
..
testdata go.tools/ssa: fix bug in makeBridgeMethod for promoted interfaces. 2013-05-31 16:36:03 -04:00
external_plan9.go go.tools: add go/types, ssa, and cmd/vet 2013-05-17 13:20:39 -07:00
external_unix.go go.tools: add go/types, ssa, and cmd/vet 2013-05-17 13:20:39 -07:00
external_windows.go go.tools: add go/types, ssa, and cmd/vet 2013-05-17 13:20:39 -07:00
external.go go.tools/ssa: Value.Pos() method + remaining source position plumbing. 2013-05-30 09:59:17 -04:00
interp_test.go go.tools/ssa: refactoring to make Builder stateless. 2013-06-03 14:15:19 -04:00
interp.go go.types/ssa: split the load/parse/typecheck logic off into a separate package. 2013-05-31 16:14:13 -04:00
map.go go.tools: add go/types, ssa, and cmd/vet 2013-05-17 13:20:39 -07:00
ops.go go.tools: bring up to date 2013-05-17 14:02:47 -07:00
reflect.go go.tools/go/types: replace ObjSet with improved Scope 2013-05-30 21:58:14 -07:00
value.go go.tools/ssa: Value.Pos() method + remaining source position plumbing. 2013-05-30 09:59:17 -04:00