1
0
mirror of https://github.com/golang/go synced 2024-09-30 16:18:35 -06:00
The Go programming language
Go to file
Alan Donovan 74021b4175 cmd/gorename: a precise, type-aware renaming tool for Go identifiers.
See the usage message in main.go for orientation.

To the best of my knowledge, the tool implements all required
soundness checks, except:
- the dynamic behaviour of reflection is obviously undecidable.
- it rejects method renamings that change the "implements" relation.
  It should probably be more aggressive.
- actually it only checks the part of the "implements" relation
  needed for compilation.  Understanding the dynamic behaviour
  of interfaces is obviously undecidable.
- a couple of minor gaps are indicated by TODO comments.

Also:
- Emacs integration.
- tests of all safety checks and (some) successful rewrites.

LGTM=dominik.honnef, sameer
R=gri, sameer, dominik.honnef
CC=golang-codereviews
https://golang.org/cl/139150044
2014-09-23 10:23:04 -04:00
astutil go.tools/astutil: delete all matching imports in DeleteImport 2014-08-14 11:51:51 -07:00
blog go.tools/blog: strip prefix when serving static content 2013-11-08 13:28:32 +11:00
cmd cmd/gorename: a precise, type-aware renaming tool for Go identifiers. 2014-09-23 10:23:04 -04:00
container/intsets container/intsets: add benchmark of AppendTo method. 2014-06-19 14:35:37 -04:00
cover go.tools/cover: split parsing code out from cmd/cover 2013-12-03 20:55:21 -08:00
dashboard go.tools/dashboard/app: don't ignore field mismatch errors 2014-09-18 18:07:02 +10:00
go go.tools/go/buildutil: more utilities. 2014-09-23 10:20:48 -04:00
godoc godoc/analysis: log one error per error package. 2014-09-16 16:24:52 -04:00
imports go.tools/imports: src/pkg -> src 2014-09-08 14:20:12 -04:00
oracle go.tools/*: replace $GOROOT/src/pkg with $GOROOT/src where appropriate. 2014-09-08 13:24:38 -04:00
playground go.tools/playground: return a better message for code starting with a shebang on non local mode 2014-08-01 15:04:49 -07:00
present go.tools/present: add support for figure captions 2014-07-15 08:23:16 -07:00
refactor cmd/gorename: a precise, type-aware renaming tool for Go identifiers. 2014-09-23 10:23:04 -04:00
.hgignore dashboard: add Cloud Storage upload support to create.go 2014-09-03 21:41:16 -07:00
AUTHORS go.empty: prototype for new subrepository 2012-01-25 14:45:13 -05:00
codereview.cfg codereview: switch defaultcc to golang-codereviews 2013-12-20 10:54:33 -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

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.