Go to file
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
astutil astutil: fix a comment corruption case 2013-12-16 14:43:29 -08:00
blog go.tools/blog: strip prefix when serving static content 2013-11-08 13:28:32 +11:00
call go.tools/pointer: use new callgraph API. 2013-09-25 17:17:42 -04:00
cmd go.tools/importer: API rethink. 2014-01-15 21:37:55 -05:00
cover go.tools/cover: split parsing code out from cmd/cover 2013-12-03 20:55:21 -08:00
dashboard dashboard/app: properly limit commit description length 2013-12-17 12:14:27 +04:00
go go.tools/go/types: init order depends on source order 2014-01-15 15:15:32 -08:00
godoc godoc: Update identifier indexing tests. 2014-01-06 14:53:03 -05:00
importer go.tools/importer: API rethink. 2014-01-15 21:37:55 -05:00
imports go.tools/imports: fix fileset mismatch bug 2013-12-18 09:09:37 -08:00
oracle go.tools/importer: API rethink. 2014-01-15 21:37:55 -05:00
playground go.tools/present: add support for non Go code execution 2013-10-14 14:14:08 -07:00
pointer go.tools/importer: API rethink. 2014-01-15 21:37:55 -05:00
present go.tools/present: links with the prefix "javascript:" should be executed in the same window. 2014-01-03 14:51:34 -08:00
ssa go.tools/importer: API rethink. 2014-01-15 21:37:55 -05:00
.hgignore .hgignore: add comment setting policy 2013-12-20 16:28:57 -08:00
AUTHORS go.empty: prototype for new subrepository 2012-01-25 14:45:13 -05:00
CONTRIBUTORS go.empty: prototype for new subrepository 2012-01-25 14:45:13 -05:00
LICENSE LICENSE: add 2012-03-17 15:20:58 +11:00
PATENTS go.empty: add PATENTS file to the subrepo. 2012-04-16 11:24:04 +10:00
README go.tools/README: minor correction. 2013-10-29 13:20:58 -04:00
codereview.cfg codereview: switch defaultcc to golang-codereviews 2013-12-20 10:54:33 -05:00

README

This subrepository holds the source for various packages and tools that support
the Go programming language.

Some of the tools, godoc and vet for example, are included in binary Go distributions.
Others, including the Go oracle and the test coverage tool, can be fetched with "go get".

Packages include a type-checker for Go and an implementation of the
Static Single Assignment form (SSA) representation for Go programs.

To submit changes to this repository, see http://golang.org/doc/contribute.html.