tools/go/ssa
Alan Donovan 9957739054 go/ssa: treat declared init functions less specially
Before this change, declared init functions were not package members;
this choice dates from when go/types did not create Func objects for them.

Now, they have an Object.  They appear in Members, keyed by "init#%d"
(sequence number) for uniqueness.  They can be enumerated.  They can
be looked up from a *types.Func via (*Program).FuncValue.

Caveat: fn.Object.Name() no longer equals fn.Name() in all cases.

NB: incompatible API change!  (Your build will not break though.)

Change-Id: I2de873079fd57329e6c2f55a282940f6699a77a1
Reviewed-on: https://go-review.googlesource.com/6950
Reviewed-by: Robert Griesemer <gri@golang.org>
Reviewed-by: Peter Collingbourne <pcc@google.com>
2015-03-05 20:09:21 +00:00
..
interp go/loader: rename SourceImports flag to ImportFromBinary and invert sense 2015-02-23 23:01:10 +00:00
ssautil go/ssa: simplify TypesWithMethodSets 2015-01-22 14:03:32 +00:00
testdata go/ssa: simplify make([]T, len, k) to new([k]T)[:len] for constant k 2014-12-29 21:06:17 +00:00
blockopt.go go.tools/go/ssa: don't attempt fusion on single-pred blocks with φ-nodes 2014-04-24 09:08:21 -04:00
builder.go go/ssa: treat declared init functions less specially 2015-03-05 20:09:21 +00:00
builder_test.go go/loader: rename SourceImports flag to ImportFromBinary and invert sense 2015-02-23 23:01:10 +00:00
const.go go.tools: use golang.org/x/... import paths 2014-11-10 08:50:40 +11:00
create.go go/ssa: treat declared init functions less specially 2015-03-05 20:09:21 +00:00
doc.go tools: add import comments. 2014-12-09 22:42:16 +00:00
dom.go go.tools/go/ssa: use bytes.Buffer instead of io.Writer. 2014-01-28 17:48:10 -05:00
emit.go go/ssa: simplify TypesWithMethodSets 2015-01-22 14:03:32 +00:00
example_test.go go.tools: use golang.org/x/... import paths 2014-11-10 08:50:40 +11:00
func.go Extend duplicate check to exported wrappers 2015-01-23 18:36:53 +00:00
lift.go go.tools: use golang.org/x/... import paths 2014-11-10 08:50:40 +11:00
lvalue.go go/ssa: add position info to all Load/Store instructions 2014-12-29 23:03:32 +00:00
methods.go go/ssa: simplify TypesWithMethodSets 2015-01-22 14:03:32 +00:00
mode.go go/ssa: standardize parsing of BuilderMode flags. 2015-02-18 18:34:24 +00:00
print.go go.tools: use golang.org/x/... import paths 2014-11-10 08:50:40 +11:00
sanity.go go/ssa: treat declared init functions less specially 2015-03-05 20:09:21 +00:00
source.go go/ssa: treat declared init functions less specially 2015-03-05 20:09:21 +00:00
source_test.go astutil: move to go/ast/astutil 2015-01-13 15:47:47 +00:00
ssa.go go/ssa: treat declared init functions less specially 2015-03-05 20:09:21 +00:00
stdlib_test.go go/loader: rename SourceImports flag to ImportFromBinary and invert sense 2015-02-23 23:01:10 +00:00
testmain.go go/ssa: add list-of-tests constant to generated testmain package 2015-01-22 22:45:41 +00:00
testmain_test.go go.tools: use golang.org/x/... import paths 2014-11-10 08:50:40 +11:00
util.go go/types: expose IsInterface predicate, eliminating 6 copies 2015-01-21 18:49:27 +00:00
wrappers.go go/ssa: canonicalize receiver types to avoid creating duplicate thunk functions 2014-12-29 17:50:45 +00:00