Commit Graph

5 Commits

Author SHA1 Message Date
David Symonds 24257c8cd2 tools: add import comments.
Change-Id: Idda6e64580432cb9a731e4ebf4005ee4ceb4202d
Reviewed-on: https://go-review.googlesource.com/1244
Reviewed-by: Andrew Gerrand <adg@golang.org>
2014-12-09 22:42:16 +00:00
Alan Donovan cc02c5be36 go/ssa: s/Capture/FreeVar/g
LGTM=gri
R=gri
CC=golang-codereviews
https://golang.org/cl/109820044
2014-06-11 14:04:45 -04:00
Alan Donovan 04427c85cf go/ssa: add Node interface: common parts of Value+Instruction, plus Operands/Referrers.
Also:
- extend Parent() to all Values and add to interface:
  (Builtin/Const/Global => nil; Function => Enclosing)
- hide Function.Enclosing since it's now redundant wrt Parent()
- make (*Function).String robust for synthetics without pkg object

LGTM=gri
R=gri
CC=golang-codereviews, khr
https://golang.org/cl/87580044
2014-06-11 13:14:06 -04:00
Alan Donovan 675033b4f3 go.tools/go/ssa: fix nondeterministic computation of necessary method sets.
Method Signatures (types.Signatures with a non-nil receiver) behave
like ordinary func Signatures in the hash function/equivalence relation
used by typemap.M, which leads to surprising incomplete traversal
over the type graph if an M is used to remember types already
visited.

This change avoids ever putting method Signatures in a typemap.

% go test -v code.google.com/p/go.tools/go/ssa
now repeatedly shows the exact same number of functions and
instructions.

(We should discuss how to avoid this problem more generally.)

Also:
- recur over the params/results of all the methods of
  each type when computing necessary method sets.
- there's no longer any need to treat declarations of unexported
  methods as a root for traversal.  Added test case.
- enable SourceImports flag in stdlib_test, which was dropped
  during a recent refactoring (d'oh).
- doc tweaks

LGTM=gri
R=gri
CC=golang-codereviews
https://golang.org/cl/65450043
2014-02-18 12:39:29 -08:00
Alan Donovan 3fc0fc1310 go.tools: rename packages.
Was:		Now:
ssa		go/ssa
importer	go/loader
pointer		go/pointer

Next CL: call -> go/callgraph (requires more care)

R=gri, crawshaw
CC=golang-codereviews
https://golang.org/cl/52960043
2014-01-16 09:33:58 -05:00