diff options
Diffstat (limited to 'src/cmd/fix/gotypes.go')
| -rw-r--r-- | src/cmd/fix/gotypes.go | 63 |
1 files changed, 2 insertions, 61 deletions
diff --git a/src/cmd/fix/gotypes.go b/src/cmd/fix/gotypes.go index 6085816ada..987dab5d02 100644 --- a/src/cmd/fix/gotypes.go +++ b/src/cmd/fix/gotypes.go @@ -4,11 +4,6 @@ package main -import ( - "go/ast" - "strconv" -) - func init() { register(gotypesFix) } @@ -16,60 +11,6 @@ func init() { var gotypesFix = fix{ name: "gotypes", date: "2015-07-16", - f: gotypes, - desc: `Change imports of golang.org/x/tools/go/{exact,types} to go/{constant,types}`, -} - -func gotypes(f *ast.File) bool { - fixed := fixGoTypes(f) - if fixGoExact(f) { - fixed = true - } - return fixed -} - -func fixGoTypes(f *ast.File) bool { - return rewriteImport(f, "golang.org/x/tools/go/types", "go/types") -} - -func fixGoExact(f *ast.File) bool { - // This one is harder because the import name changes. - // First find the import spec. - var importSpec *ast.ImportSpec - walk(f, func(n any) { - if importSpec != nil { - return - } - spec, ok := n.(*ast.ImportSpec) - if !ok { - return - } - path, err := strconv.Unquote(spec.Path.Value) - if err != nil { - return - } - if path == "golang.org/x/tools/go/exact" { - importSpec = spec - } - - }) - if importSpec == nil { - return false - } - - // We are about to rename exact.* to constant.*, but constant is a common - // name. See if it will conflict. This is a hack but it is effective. - exists := renameTop(f, "constant", "constant") - suffix := "" - if exists { - suffix = "_" - } - // Now we need to rename all the uses of the import. RewriteImport - // affects renameTop, but not vice versa, so do them in this order. - renameTop(f, "exact", "constant"+suffix) - rewriteImport(f, "golang.org/x/tools/go/exact", "go/constant") - // renameTop will also rewrite the imported package name. Fix that; - // we know it should be missing. - importSpec.Name = nil - return true + f: noop, + desc: `Change imports of golang.org/x/tools/go/{exact,types} to go/{constant,types} (removed)`, } |
