tools/go/ssa
Alan Donovan 20186168d5 go/ssa/ssautil: break ssa->loader dependency
Remove all dependencies from non-test code in go/ssa to go/loader,
except the deprecated Create function which will be eliminated in
favor of ssautil.CreateProgram in a mechnanical followup.

Add Examples of two main use cases of SSA construction:
loading a complete program from source; and
building a single package, loading its dependencies from import data.

Add tests to ssautil of the two load functions.
Suggestions welcome for better names.

Planned follow-ups:
- replace all references to ssa.Create with ssautil.CreateProgram and eliminate it.
- eliminate support in go/loader for the ImportBinary flag, and the
  PackageCreated hook which is no longer needed since clients can
  create the package themselves (see Example).

Step 1 to fixing issue 9955.

Change-Id: I4e64df67fcd5b7f0c0388047e06cea247fddfec5
Reviewed-on: https://go-review.googlesource.com/8669
Reviewed-by: Robert Griesemer <gri@golang.org>
2015-04-14 18:01:36 +00:00
..
interp go/ssa/interp: don't let target calls to runtime.GOMAXPROCS set host state 2015-04-07 22:31:19 +00:00
ssautil go/ssa/ssautil: break ssa->loader dependency 2015-04-14 18:01:36 +00:00
testdata go/ssa: fix incorrect SSA code for composite literals 2015-03-17 14:26:39 +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/ssautil: break ssa->loader dependency 2015-04-14 18:01:36 +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/ssautil: break ssa->loader dependency 2015-04-14 18:01:36 +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: fix incorrect SSA code for composite literals 2015-03-17 14:26:39 +00:00
example_test.go go/ssa/ssautil: break ssa->loader dependency 2015-04-14 18:01:36 +00: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: fix incorrect SSA code for composite literals 2015-03-17 14:26:39 +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/ssautil: break ssa->loader dependency 2015-04-14 18:01:36 +00:00
source_test.go astutil: move to go/ast/astutil 2015-01-13 15:47:47 +00:00
ssa.go go/ssa/ssautil: break ssa->loader dependency 2015-04-14 18:01:36 +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