golang.org/x/tools@v0.21.0/go/analysis/unitchecker/main.go (about) 1 // Copyright 2018 The Go Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in the LICENSE file. 4 5 //go:build ignore 6 // +build ignore 7 8 // This file provides an example command for static checkers 9 // conforming to the golang.org/x/tools/go/analysis API. 10 // It serves as a model for the behavior of the cmd/vet tool in $GOROOT. 11 // Being based on the unitchecker driver, it must be run by go vet: 12 // 13 // $ go build -o unitchecker main.go 14 // $ go vet -vettool=unitchecker my/project/... 15 // 16 // For a checker also capable of running standalone, use multichecker. 17 package main 18 19 import ( 20 "golang.org/x/tools/go/analysis/unitchecker" 21 22 "golang.org/x/tools/go/analysis/passes/appends" 23 "golang.org/x/tools/go/analysis/passes/asmdecl" 24 "golang.org/x/tools/go/analysis/passes/assign" 25 "golang.org/x/tools/go/analysis/passes/atomic" 26 "golang.org/x/tools/go/analysis/passes/bools" 27 "golang.org/x/tools/go/analysis/passes/buildtag" 28 "golang.org/x/tools/go/analysis/passes/cgocall" 29 "golang.org/x/tools/go/analysis/passes/composite" 30 "golang.org/x/tools/go/analysis/passes/copylock" 31 "golang.org/x/tools/go/analysis/passes/directive" 32 "golang.org/x/tools/go/analysis/passes/errorsas" 33 "golang.org/x/tools/go/analysis/passes/framepointer" 34 "golang.org/x/tools/go/analysis/passes/httpresponse" 35 "golang.org/x/tools/go/analysis/passes/ifaceassert" 36 "golang.org/x/tools/go/analysis/passes/loopclosure" 37 "golang.org/x/tools/go/analysis/passes/lostcancel" 38 "golang.org/x/tools/go/analysis/passes/nilfunc" 39 "golang.org/x/tools/go/analysis/passes/printf" 40 "golang.org/x/tools/go/analysis/passes/shift" 41 "golang.org/x/tools/go/analysis/passes/sigchanyzer" 42 "golang.org/x/tools/go/analysis/passes/stdmethods" 43 "golang.org/x/tools/go/analysis/passes/stringintconv" 44 "golang.org/x/tools/go/analysis/passes/structtag" 45 "golang.org/x/tools/go/analysis/passes/testinggoroutine" 46 "golang.org/x/tools/go/analysis/passes/tests" 47 "golang.org/x/tools/go/analysis/passes/timeformat" 48 "golang.org/x/tools/go/analysis/passes/unmarshal" 49 "golang.org/x/tools/go/analysis/passes/unreachable" 50 "golang.org/x/tools/go/analysis/passes/unsafeptr" 51 "golang.org/x/tools/go/analysis/passes/unusedresult" 52 ) 53 54 func main() { 55 unitchecker.Main( 56 appends.Analyzer, 57 asmdecl.Analyzer, 58 assign.Analyzer, 59 atomic.Analyzer, 60 bools.Analyzer, 61 buildtag.Analyzer, 62 cgocall.Analyzer, 63 composite.Analyzer, 64 copylock.Analyzer, 65 directive.Analyzer, 66 errorsas.Analyzer, 67 framepointer.Analyzer, 68 httpresponse.Analyzer, 69 ifaceassert.Analyzer, 70 loopclosure.Analyzer, 71 lostcancel.Analyzer, 72 nilfunc.Analyzer, 73 printf.Analyzer, 74 shift.Analyzer, 75 sigchanyzer.Analyzer, 76 stdmethods.Analyzer, 77 stringintconv.Analyzer, 78 structtag.Analyzer, 79 tests.Analyzer, 80 testinggoroutine.Analyzer, 81 timeformat.Analyzer, 82 unmarshal.Analyzer, 83 unreachable.Analyzer, 84 unsafeptr.Analyzer, 85 unusedresult.Analyzer, 86 ) 87 }