|  | // Copyright 2018 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. | 
|  |  | 
|  | //go:build ignore | 
|  | // +build ignore | 
|  |  | 
|  | // This file provides an example command for static checkers | 
|  | // conforming to the golang.org/x/tools/go/analysis API. | 
|  | // It serves as a model for the behavior of the cmd/vet tool in $GOROOT. | 
|  | // Being based on the unitchecker driver, it must be run by go vet: | 
|  | // | 
|  | //	$ go build -o unitchecker main.go | 
|  | //	$ go vet -vettool=unitchecker my/project/... | 
|  | // | 
|  | // 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/appends" | 
|  | "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/directive" | 
|  | "golang.org/x/tools/go/analysis/passes/errorsas" | 
|  | "golang.org/x/tools/go/analysis/passes/framepointer" | 
|  | "golang.org/x/tools/go/analysis/passes/httpresponse" | 
|  | "golang.org/x/tools/go/analysis/passes/ifaceassert" | 
|  | "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/sigchanyzer" | 
|  | "golang.org/x/tools/go/analysis/passes/stdmethods" | 
|  | "golang.org/x/tools/go/analysis/passes/stringintconv" | 
|  | "golang.org/x/tools/go/analysis/passes/structtag" | 
|  | "golang.org/x/tools/go/analysis/passes/testinggoroutine" | 
|  | "golang.org/x/tools/go/analysis/passes/tests" | 
|  | "golang.org/x/tools/go/analysis/passes/timeformat" | 
|  | "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" | 
|  | ) | 
|  |  | 
|  | func main() { | 
|  | unitchecker.Main( | 
|  | appends.Analyzer, | 
|  | asmdecl.Analyzer, | 
|  | assign.Analyzer, | 
|  | atomic.Analyzer, | 
|  | bools.Analyzer, | 
|  | buildtag.Analyzer, | 
|  | cgocall.Analyzer, | 
|  | composite.Analyzer, | 
|  | copylock.Analyzer, | 
|  | directive.Analyzer, | 
|  | errorsas.Analyzer, | 
|  | framepointer.Analyzer, | 
|  | httpresponse.Analyzer, | 
|  | ifaceassert.Analyzer, | 
|  | loopclosure.Analyzer, | 
|  | lostcancel.Analyzer, | 
|  | nilfunc.Analyzer, | 
|  | printf.Analyzer, | 
|  | shift.Analyzer, | 
|  | sigchanyzer.Analyzer, | 
|  | stdmethods.Analyzer, | 
|  | stringintconv.Analyzer, | 
|  | structtag.Analyzer, | 
|  | tests.Analyzer, | 
|  | testinggoroutine.Analyzer, | 
|  | timeformat.Analyzer, | 
|  | unmarshal.Analyzer, | 
|  | unreachable.Analyzer, | 
|  | unsafeptr.Analyzer, | 
|  | unusedresult.Analyzer, | 
|  | ) | 
|  | } |