X7ROOT File Manager
Current Path:
/opt/golang/1.22.0/src/cmd/fix
opt
/
golang
/
1.22.0
/
src
/
cmd
/
fix
/
📁
..
📄
buildtag.go
(1.18 KB)
📄
buildtag_test.go
(514 B)
📄
cftype.go
(3.47 KB)
📄
cftype_test.go
(3.16 KB)
📄
context.go
(510 B)
📄
context_test.go
(648 B)
📄
doc.go
(1.39 KB)
📄
egltype.go
(1.14 KB)
📄
egltype_test.go
(2.77 KB)
📄
fix.go
(14.56 KB)
📄
gotypes.go
(1.69 KB)
📄
gotypes_test.go
(1.26 KB)
📄
import_test.go
(4.98 KB)
📄
jnitype.go
(1.24 KB)
📄
jnitype_test.go
(2.57 KB)
📄
main.go
(5.82 KB)
📄
main_test.go
(3.8 KB)
📄
netipv6zone.go
(1.31 KB)
📄
netipv6zone_test.go
(837 B)
📄
printerconfig.go
(1.11 KB)
📄
printerconfig_test.go
(748 B)
📄
typecheck.go
(20.08 KB)
Editing: gotypes.go
// Copyright 2015 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. package main import ( "go/ast" "strconv" ) func init() { register(gotypesFix) } 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 }
Upload File
Create Folder