Skip to content

Commit

Permalink
cmd/fix: add golang.org/x/net/context fix
Browse files Browse the repository at this point in the history
Fixes #17040

Change-Id: I3682cc0367b919084c280d7dc64746495c1d4aaa
Reviewed-on: https://go-review.googlesource.com/28872
Reviewed-by: Brad Fitzpatrick <[email protected]>
Run-TryBot: Brad Fitzpatrick <[email protected]>
TryBot-Result: Gobot Gobot <[email protected]>
  • Loading branch information
SamWhited authored and bradfitz committed Sep 15, 2016
1 parent 4466298 commit 22d3bf1
Show file tree
Hide file tree
Showing 7 changed files with 92 additions and 17 deletions.
25 changes: 25 additions & 0 deletions src/cmd/fix/context.go
Original file line number Diff line number Diff line change
@@ -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")
}
42 changes: 42 additions & 0 deletions src/cmd/fix/context_test.go
Original file line number Diff line number Diff line change
@@ -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()
`,
},
}
9 changes: 5 additions & 4 deletions src/cmd/fix/fix.go
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
8 changes: 4 additions & 4 deletions src/cmd/fix/gotypes.go
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down
9 changes: 8 additions & 1 deletion src/cmd/fix/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down Expand Up @@ -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)
Expand Down
8 changes: 4 additions & 4 deletions src/cmd/fix/netipv6zone.go
Original file line number Diff line number Diff line change
Expand Up @@ -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/
`,
Expand Down
8 changes: 4 additions & 4 deletions src/cmd/fix/printerconfig.go
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down

0 comments on commit 22d3bf1

Please sign in to comment.