From: Daniel Martí Date: Wed, 6 Sep 2017 19:59:00 +0000 (+0200) Subject: cmd/vet: remove two unused parameters and simplify X-Git-Tag: go1.10beta1~1201 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=38ad33088c3bee63e8d53e7aff4d6610d82ca84c;p=gostls13.git cmd/vet: remove two unused parameters and simplify The isStar and directory function parameters have been unused ever since they were introduced. Remove them. While at it, apply some other minor simplifications, such as simplifying a HasPrefix if and using an early continue to unindent many lines of code. Change-Id: I8d57353e9ec10cdb59c5388cf6152ce0ec17bdba Reviewed-on: https://go-review.googlesource.com/62030 Run-TryBot: Daniel Martí TryBot-Result: Gobot Gobot Reviewed-by: Rob Pike Reviewed-by: Marvin Stenger --- diff --git a/src/cmd/vet/buildtag.go b/src/cmd/vet/buildtag.go index 5fa08b62d7..80d8f81924 100644 --- a/src/cmd/vet/buildtag.go +++ b/src/cmd/vet/buildtag.go @@ -69,9 +69,7 @@ func checkBuildTag(name string, data []byte) { setExit(1) break Args } - if strings.HasPrefix(elem, "!") { - elem = elem[1:] - } + elem = strings.TrimPrefix(elem, "!") for _, c := range elem { if !unicode.IsLetter(c) && !unicode.IsDigit(c) && c != '_' && c != '.' { fmt.Fprintf(os.Stderr, "%s:%d: invalid non-alphanumeric build constraint: %s\n", name, i+1, arg) diff --git a/src/cmd/vet/main.go b/src/cmd/vet/main.go index 34c5297b89..ffe988b9fc 100644 --- a/src/cmd/vet/main.go +++ b/src/cmd/vet/main.go @@ -250,7 +250,7 @@ func main() { } os.Exit(exitCode) } - if doPackage(".", flag.Args(), nil) == nil { + if doPackage(flag.Args(), nil) == nil { warnf("no files checked") } os.Exit(exitCode) @@ -290,12 +290,12 @@ func doPackageDir(directory string) { names = append(names, pkg.TestGoFiles...) // These are also in the "foo" package. names = append(names, pkg.SFiles...) prefixDirectory(directory, names) - basePkg := doPackage(directory, names, nil) + basePkg := doPackage(names, nil) // Is there also a "foo_test" package? If so, do that one as well. if len(pkg.XTestGoFiles) > 0 { names = pkg.XTestGoFiles prefixDirectory(directory, names) - doPackage(directory, names, basePkg) + doPackage(names, basePkg) } } @@ -312,7 +312,7 @@ type Package struct { // doPackage analyzes the single package constructed from the named files. // It returns the parsed Package or nil if none of the files have been checked. -func doPackage(directory string, names []string, basePkg *Package) *Package { +func doPackage(names []string, basePkg *Package) *Package { var files []*File var astFiles []*ast.File fs := token.NewFileSet() diff --git a/src/cmd/vet/method.go b/src/cmd/vet/method.go index baefa554a4..b13ce2fcb5 100644 --- a/src/cmd/vet/method.go +++ b/src/cmd/vet/method.go @@ -138,7 +138,7 @@ func typeFlatten(l []*ast.Field) []ast.Expr { t = append(t, f.Type) continue } - for _ = range f.Names { + for range f.Names { t = append(t, f.Type) } } diff --git a/src/cmd/vet/print.go b/src/cmd/vet/print.go index 9998ddae07..dae307695b 100644 --- a/src/cmd/vet/print.go +++ b/src/cmd/vet/print.go @@ -237,23 +237,24 @@ func (f *File) checkPrintf(call *ast.CallExpr, name string) { maxArgNum := firstArg for i, w := 0, 0; i < len(format); i += w { w = 1 - if format[i] == '%' { - state := f.parsePrintfVerb(call, name, format[i:], firstArg, argNum) - if state == nil { - return - } - w = len(state.format) - if !f.okPrintfArg(call, state) { // One error per format is enough. - return - } - if len(state.argNums) > 0 { - // Continue with the next sequential argument. - argNum = state.argNums[len(state.argNums)-1] + 1 - } - for _, n := range state.argNums { - if n >= maxArgNum { - maxArgNum = n + 1 - } + if format[i] != '%' { + continue + } + state := f.parsePrintfVerb(call, name, format[i:], firstArg, argNum) + if state == nil { + return + } + w = len(state.format) + if !f.okPrintfArg(call, state) { // One error per format is enough. + return + } + if len(state.argNums) > 0 { + // Continue with the next sequential argument. + argNum = state.argNums[len(state.argNums)-1] + 1 + } + for _, n := range state.argNums { + if n >= maxArgNum { + maxArgNum = n + 1 } } } @@ -498,7 +499,7 @@ func (f *File) okPrintfArg(call *ast.CallExpr, state *formatState) (ok bool) { nargs := len(state.argNums) for i := 0; i < nargs-trueArgs; i++ { argNum := state.argNums[i] - if !f.argCanBeChecked(call, i, true, state) { + if !f.argCanBeChecked(call, i, state) { return } arg := call.Args[argNum] @@ -511,7 +512,7 @@ func (f *File) okPrintfArg(call *ast.CallExpr, state *formatState) (ok bool) { return true } argNum := state.argNums[len(state.argNums)-1] - if !f.argCanBeChecked(call, len(state.argNums)-1, false, state) { + if !f.argCanBeChecked(call, len(state.argNums)-1, state) { return false } arg := call.Args[argNum] @@ -577,7 +578,7 @@ func (f *File) isFunctionValue(e ast.Expr) bool { // argCanBeChecked reports whether the specified argument is statically present; // it may be beyond the list of arguments or in a terminal slice... argument, which // means we can't see it. -func (f *File) argCanBeChecked(call *ast.CallExpr, formatArg int, isStar bool, state *formatState) bool { +func (f *File) argCanBeChecked(call *ast.CallExpr, formatArg int, state *formatState) bool { argNum := state.argNums[formatArg] if argNum < 0 { // Shouldn't happen, so catch it with prejudice. diff --git a/src/cmd/vet/unused.go b/src/cmd/vet/unused.go index df2317a436..02fcd841cd 100644 --- a/src/cmd/vet/unused.go +++ b/src/cmd/vet/unused.go @@ -82,7 +82,7 @@ func checkUnusedResult(f *File, n ast.Node) { } } else if !ok { // package-qualified function (e.g. fmt.Errorf) - obj, _ := f.pkg.uses[selector.Sel] + obj := f.pkg.uses[selector.Sel] if obj, ok := obj.(*types.Func); ok { qname := obj.Pkg().Path() + "." + obj.Name() if unusedFuncs[qname] {