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

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>
This commit is contained in:
Sam Whited 2016-09-09 09:49:47 -05:00 committed by Brad Fitzpatrick
parent 4466298df4
commit 22d3bf1da4
7 changed files with 92 additions and 17 deletions

25
src/cmd/fix/context.go Normal file
View File

@ -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")
}

View File

@ -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()
`,
},
}

View 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.

View 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 {

View 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)

View 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/
`,

View 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 {