]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/fix: add golang.org/x/net/context fix
authorSam Whited <sam@samwhited.com>
Fri, 9 Sep 2016 14:49:47 +0000 (09:49 -0500)
committerBrad Fitzpatrick <bradfitz@golang.org>
Thu, 15 Sep 2016 19:24:04 +0000 (19:24 +0000)
Fixes #17040

Change-Id: I3682cc0367b919084c280d7dc64746495c1d4aaa
Reviewed-on: https://go-review.googlesource.com/28872
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>

src/cmd/fix/context.go [new file with mode: 0644]
src/cmd/fix/context_test.go [new file with mode: 0644]
src/cmd/fix/fix.go
src/cmd/fix/gotypes.go
src/cmd/fix/main.go
src/cmd/fix/netipv6zone.go
src/cmd/fix/printerconfig.go

diff --git a/src/cmd/fix/context.go b/src/cmd/fix/context.go
new file mode 100644 (file)
index 0000000..926a06c
--- /dev/null
@@ -0,0 +1,25 @@
+// Copyright 2016 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"
+)
+
+func init() {
+       register(contextFix)
+}
+
+var contextFix = fix{
+       name:     "context",
+       date:     "2016-09-09",
+       f:        ctxfix,
+       desc:     `Change imports of golang.org/x/net/context to context`,
+       disabled: true,
+}
+
+func ctxfix(f *ast.File) bool {
+       return rewriteImport(f, "golang.org/x/net/context", "context")
+}
diff --git a/src/cmd/fix/context_test.go b/src/cmd/fix/context_test.go
new file mode 100644 (file)
index 0000000..935d0d7
--- /dev/null
@@ -0,0 +1,42 @@
+// Copyright 2016 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
+
+func init() {
+       addTestCases(contextTests, ctxfix)
+}
+
+var contextTests = []testCase{
+       {
+               Name: "context.0",
+               In: `package main
+
+import "golang.org/x/net/context"
+
+var _ = "golang.org/x/net/context"
+`,
+               Out: `package main
+
+import "context"
+
+var _ = "golang.org/x/net/context"
+`,
+       },
+       {
+               Name: "context.1",
+               In: `package main
+
+import ctx "golang.org/x/net/context"
+
+var _ = ctx.Background()
+`,
+               Out: `package main
+
+import ctx "context"
+
+var _ = ctx.Background()
+`,
+       },
+}
index ab16a217de824b96f69ad8ca8dd2a1c2c8f69ef3..03c828a5816499590a295bd3ef98cb7b72555708 100644 (file)
@@ -17,10 +17,11 @@ import (
 )
 
 type fix struct {
-       name string
-       date string // date that fix was introduced, in YYYY-MM-DD format
-       f    func(*ast.File) bool
-       desc string
+       name     string
+       date     string // date that fix was introduced, in YYYY-MM-DD format
+       f        func(*ast.File) bool
+       desc     string
+       disabled bool // whether this fix should be disabled by default
 }
 
 // main runs sort.Sort(byName(fixes)) before printing list of fixes.
index bb29a0c49a6399d41f981b1a767ee648e14a95fe..8a4019cc8caa88f72b0aedbc7f9a472713e83e1c 100644 (file)
@@ -14,10 +14,10 @@ func init() {
 }
 
 var gotypesFix = fix{
-       "gotypes",
-       "2015-07-16",
-       gotypes,
-       `Change imports of golang.org/x/tools/go/{exact,types} to go/{constant,types}`,
+       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 {
index 8b62346595fc21bb1cd8b882ad9e34cf6d2622e8..3b4130b3bf48385bcfc78d2bc12682b35735038d 100644 (file)
@@ -45,7 +45,11 @@ func usage() {
        fmt.Fprintf(os.Stderr, "\nAvailable rewrites are:\n")
        sort.Sort(byName(fixes))
        for _, f := range fixes {
-               fmt.Fprintf(os.Stderr, "\n%s\n", f.name)
+               if f.disabled {
+                       fmt.Fprintf(os.Stderr, "\n%s (disabled)\n", f.name)
+               } else {
+                       fmt.Fprintf(os.Stderr, "\n%s\n", f.name)
+               }
                desc := strings.TrimSpace(f.desc)
                desc = strings.Replace(desc, "\n", "\n\t", -1)
                fmt.Fprintf(os.Stderr, "\t%s\n", desc)
@@ -139,6 +143,9 @@ func processFile(filename string, useStdin bool) error {
                if allowed != nil && !allowed[fix.name] {
                        continue
                }
+               if fix.disabled && !force[fix.name] {
+                       continue
+               }
                if fix.f(newFile) {
                        fixed = true
                        fmt.Fprintf(&fixlog, " %s", fix.name)
index 49cd307fa1b5d211093d9161c43121c6e839b88b..3e502bda07cb964ab77a7aaccf13b656a9b93a6b 100644 (file)
@@ -11,10 +11,10 @@ func init() {
 }
 
 var netipv6zoneFix = fix{
-       "netipv6zone",
-       "2012-11-26",
-       netipv6zone,
-       `Adapt element key to IPAddr, UDPAddr or TCPAddr composite literals.
+       name: "netipv6zone",
+       date: "2012-11-26",
+       f:    netipv6zone,
+       desc: `Adapt element key to IPAddr, UDPAddr or TCPAddr composite literals.
 
 https://codereview.appspot.com/6849045/
 `,
index 286c5f250f410ad3a4db0c5e90dbb2050b9cbb79..6d9399687281134b22fd791ea54bfc4cc2588d40 100644 (file)
@@ -11,10 +11,10 @@ func init() {
 }
 
 var printerconfigFix = fix{
-       "printerconfig",
-       "2012-12-11",
-       printerconfig,
-       `Add element keys to Config composite literals.`,
+       name: "printerconfig",
+       date: "2012-12-11",
+       f:    printerconfig,
+       desc: `Add element keys to Config composite literals.`,
 }
 
 func printerconfig(f *ast.File) bool {