mirror of
https://github.com/golang/go
synced 2024-11-02 05:32:33 +00:00
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:
parent
b0891060ae
commit
6d35302704
4 changed files with 2 additions and 103 deletions
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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
|
||||
}
|
|
@ -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)
|
||||
}
|
||||
`,
|
||||
},
|
||||
}
|
Loading…
Reference in a new issue