cmd/fix: remove os.Wait gofix.

The os.Wait function has been removed entirely, so there's no point in fixing code that called it.

R=r
CC=golang-dev
https://golang.org/cl/5685078
This commit is contained in:
David Symonds 2012-02-22 15:46:31 +11:00
parent b0891060ae
commit 6d35302704
4 changed files with 2 additions and 103 deletions

View file

@ -1465,9 +1465,7 @@ the <code>Process</code> type persists.
<p>
<em>Updating</em>:
Gofix will rewrite calls to <code>os.Wait</code> with an explicit zero
argument, dropping the argument.
All other changes will be caught by the compiler and must be updated by hand.
All changes will be caught by the compiler and must be updated by hand.
</p>
<h4 id="os_fileinfo">The os.FileInfo type</h4>

View file

@ -1368,9 +1368,7 @@ the <code>Process</code> type persists.
<p>
<em>Updating</em>:
Gofix will rewrite calls to <code>os.Wait</code> with an explicit zero
argument, dropping the argument.
All other changes will be caught by the compiler and must be updated by hand.
All changes will be caught by the compiler and must be updated by hand.
</p>
<h4 id="os_fileinfo">The os.FileInfo type</h4>

View file

@ -1,56 +0,0 @@
// Copyright 2011 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(oswaitFix)
}
var oswaitFix = fix{
"oswait",
"2012-02-20",
oswait,
`Delete options from os.Wait. If the option is the literal 0, rewrite the call.
http://codereview.appspot.com/5688046
`,
}
func oswait(f *ast.File) bool {
if !imports(f, "os") {
return false
}
fixed := false
walk(f, func(n interface{}) {
call, ok := n.(*ast.CallExpr)
if !ok {
return
}
if !isPkgDot(call.Fun, "os", "Wait") {
return
}
args := call.Args
const warning = "call to Process.Wait must be fixed manually"
if len(args) != 1 {
// Shouldn't happen, but check.
warn(call.Pos(), warning)
return
}
if basicLit, ok := args[0].(*ast.BasicLit); !ok || basicLit.Value != "0" {
warn(call.Pos(), warning)
return
}
call.Args = nil
fixed = true
})
return fixed
}

View file

@ -1,41 +0,0 @@
// Copyright 2011 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(oswaitTests, oswait)
}
var oswaitTests = []testCase{
{
Name: "oswait.0",
In: `package main
import (
"os"
)
func f() {
os.Wait()
os.Wait(0)
os.Wait(1)
os.Wait(A | B)
}
`,
Out: `package main
import (
"os"
)
func f() {
os.Wait()
os.Wait()
os.Wait(1)
os.Wait(A | B)
}
`,
},
}