Commit 22d3bf1d authored by Sam Whited's avatar Sam Whited Committed by Brad Fitzpatrick

cmd/fix: add golang.org/x/net/context fix

Fixes #17040

Change-Id: I3682cc0367b919084c280d7dc64746495c1d4aaa
Reviewed-on: https://go-review.googlesource.com/28872Reviewed-by: default avatarBrad Fitzpatrick <bradfitz@golang.org>
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
parent 4466298d
// 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")
}
// 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()
`,
},
}
...@@ -17,10 +17,11 @@ import ( ...@@ -17,10 +17,11 @@ import (
) )
type fix struct { type fix struct {
name string name string
date string // date that fix was introduced, in YYYY-MM-DD format date string // date that fix was introduced, in YYYY-MM-DD format
f func(*ast.File) bool f func(*ast.File) bool
desc string desc string
disabled bool // whether this fix should be disabled by default
} }
// main runs sort.Sort(byName(fixes)) before printing list of fixes. // main runs sort.Sort(byName(fixes)) before printing list of fixes.
......
...@@ -14,10 +14,10 @@ func init() { ...@@ -14,10 +14,10 @@ func init() {
} }
var gotypesFix = fix{ var gotypesFix = fix{
"gotypes", name: "gotypes",
"2015-07-16", date: "2015-07-16",
gotypes, f: gotypes,
`Change imports of golang.org/x/tools/go/{exact,types} to go/{constant,types}`, desc: `Change imports of golang.org/x/tools/go/{exact,types} to go/{constant,types}`,
} }
func gotypes(f *ast.File) bool { func gotypes(f *ast.File) bool {
......
...@@ -45,7 +45,11 @@ func usage() { ...@@ -45,7 +45,11 @@ func usage() {
fmt.Fprintf(os.Stderr, "\nAvailable rewrites are:\n") fmt.Fprintf(os.Stderr, "\nAvailable rewrites are:\n")
sort.Sort(byName(fixes)) sort.Sort(byName(fixes))
for _, f := range 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.TrimSpace(f.desc)
desc = strings.Replace(desc, "\n", "\n\t", -1) desc = strings.Replace(desc, "\n", "\n\t", -1)
fmt.Fprintf(os.Stderr, "\t%s\n", desc) fmt.Fprintf(os.Stderr, "\t%s\n", desc)
...@@ -139,6 +143,9 @@ func processFile(filename string, useStdin bool) error { ...@@ -139,6 +143,9 @@ func processFile(filename string, useStdin bool) error {
if allowed != nil && !allowed[fix.name] { if allowed != nil && !allowed[fix.name] {
continue continue
} }
if fix.disabled && !force[fix.name] {
continue
}
if fix.f(newFile) { if fix.f(newFile) {
fixed = true fixed = true
fmt.Fprintf(&fixlog, " %s", fix.name) fmt.Fprintf(&fixlog, " %s", fix.name)
......
...@@ -11,10 +11,10 @@ func init() { ...@@ -11,10 +11,10 @@ func init() {
} }
var netipv6zoneFix = fix{ var netipv6zoneFix = fix{
"netipv6zone", name: "netipv6zone",
"2012-11-26", date: "2012-11-26",
netipv6zone, f: netipv6zone,
`Adapt element key to IPAddr, UDPAddr or TCPAddr composite literals. desc: `Adapt element key to IPAddr, UDPAddr or TCPAddr composite literals.
https://codereview.appspot.com/6849045/ https://codereview.appspot.com/6849045/
`, `,
......
...@@ -11,10 +11,10 @@ func init() { ...@@ -11,10 +11,10 @@ func init() {
} }
var printerconfigFix = fix{ var printerconfigFix = fix{
"printerconfig", name: "printerconfig",
"2012-12-11", date: "2012-12-11",
printerconfig, f: printerconfig,
`Add element keys to Config composite literals.`, desc: `Add element keys to Config composite literals.`,
} }
func printerconfig(f *ast.File) bool { func printerconfig(f *ast.File) bool {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment