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  }