75 lines
2.5 KiB
Go
75 lines
2.5 KiB
Go
// The vet-lite command is a driver for static checkers conforming to
|
|
// the golang.org/x/tools/go/analysis API. It must be run by go vet:
|
|
//
|
|
// $ go vet -vettool=$(which vet-lite)
|
|
//
|
|
// For a checker also capable of running standalone, use multichecker.
|
|
package main
|
|
|
|
import (
|
|
"golang.org/x/tools/go/analysis/unitchecker"
|
|
|
|
"golang.org/x/tools/go/analysis/passes/asmdecl"
|
|
"golang.org/x/tools/go/analysis/passes/assign"
|
|
"golang.org/x/tools/go/analysis/passes/atomic"
|
|
"golang.org/x/tools/go/analysis/passes/bools"
|
|
"golang.org/x/tools/go/analysis/passes/buildtag"
|
|
"golang.org/x/tools/go/analysis/passes/cgocall"
|
|
"golang.org/x/tools/go/analysis/passes/composite"
|
|
"golang.org/x/tools/go/analysis/passes/copylock"
|
|
"golang.org/x/tools/go/analysis/passes/httpresponse"
|
|
"golang.org/x/tools/go/analysis/passes/loopclosure"
|
|
"golang.org/x/tools/go/analysis/passes/lostcancel"
|
|
"golang.org/x/tools/go/analysis/passes/nilfunc"
|
|
"golang.org/x/tools/go/analysis/passes/printf"
|
|
"golang.org/x/tools/go/analysis/passes/shift"
|
|
"golang.org/x/tools/go/analysis/passes/stdmethods"
|
|
"golang.org/x/tools/go/analysis/passes/structtag"
|
|
"golang.org/x/tools/go/analysis/passes/tests"
|
|
"golang.org/x/tools/go/analysis/passes/unmarshal"
|
|
"golang.org/x/tools/go/analysis/passes/unreachable"
|
|
"golang.org/x/tools/go/analysis/passes/unsafeptr"
|
|
"golang.org/x/tools/go/analysis/passes/unusedresult"
|
|
)
|
|
|
|
// Legacy vet had the concept of "experimental" checkers. There
|
|
// was exactly one, shadow, and it had to be explicitly enabled
|
|
// by the -shadow flag, which would of course disable all the
|
|
// other tristate flags, requiring the -all flag to reenable them.
|
|
// (By itself, -all did not enable all checkers.)
|
|
// The -all flag is no longer needed, so it is a no-op.
|
|
//
|
|
// The shadow analyzer has been removed from the suite,
|
|
// but can be run using these additional commands:
|
|
// $ go install golang.org/x/tools/go/analysis/passes/shadow/cmd/shadow
|
|
// $ go vet -vettool=$(which shadow)
|
|
// Alternatively, one could build a multichecker containing all
|
|
// the desired checks (vet's suite + shadow) and run it in a
|
|
// single "go vet" command.
|
|
|
|
func main() {
|
|
unitchecker.Main(
|
|
asmdecl.Analyzer,
|
|
assign.Analyzer,
|
|
atomic.Analyzer,
|
|
bools.Analyzer,
|
|
buildtag.Analyzer,
|
|
cgocall.Analyzer,
|
|
composite.Analyzer,
|
|
copylock.Analyzer,
|
|
httpresponse.Analyzer,
|
|
loopclosure.Analyzer,
|
|
lostcancel.Analyzer,
|
|
nilfunc.Analyzer,
|
|
printf.Analyzer,
|
|
shift.Analyzer,
|
|
stdmethods.Analyzer,
|
|
structtag.Analyzer,
|
|
tests.Analyzer,
|
|
unmarshal.Analyzer,
|
|
unreachable.Analyzer,
|
|
unsafeptr.Analyzer,
|
|
unusedresult.Analyzer,
|
|
)
|
|
}
|