1
0
mirror of https://github.com/golang/go synced 2024-11-05 11:36:10 -07:00
go/refactor/rename
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
..
check.go cmd/gorename: a precise, type-aware renaming tool for Go identifiers. 2014-09-23 10:23:04 -04:00
rename_test.go cmd/gorename: a precise, type-aware renaming tool for Go identifiers. 2014-09-23 10:23:04 -04:00
rename.el cmd/gorename: a precise, type-aware renaming tool for Go identifiers. 2014-09-23 10:23:04 -04:00
rename.go cmd/gorename: a precise, type-aware renaming tool for Go identifiers. 2014-09-23 10:23:04 -04:00
spec.go cmd/gorename: a precise, type-aware renaming tool for Go identifiers. 2014-09-23 10:23:04 -04:00
util.go cmd/gorename: a precise, type-aware renaming tool for Go identifiers. 2014-09-23 10:23:04 -04:00