analysis.go 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. // Copyright 2018 The mkcert 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. // +build analysis
  5. package main
  6. import (
  7. "golang.org/x/tools/go/analysis"
  8. "golang.org/x/tools/go/analysis/multichecker"
  9. "golang.org/x/tools/go/analysis/passes/asmdecl"
  10. "golang.org/x/tools/go/analysis/passes/assign"
  11. "golang.org/x/tools/go/analysis/passes/atomic"
  12. "golang.org/x/tools/go/analysis/passes/bools"
  13. "golang.org/x/tools/go/analysis/passes/buildtag"
  14. "golang.org/x/tools/go/analysis/passes/cgocall"
  15. "golang.org/x/tools/go/analysis/passes/composite"
  16. "golang.org/x/tools/go/analysis/passes/copylock"
  17. "golang.org/x/tools/go/analysis/passes/errorsas"
  18. "golang.org/x/tools/go/analysis/passes/httpresponse"
  19. "golang.org/x/tools/go/analysis/passes/loopclosure"
  20. "golang.org/x/tools/go/analysis/passes/lostcancel"
  21. "golang.org/x/tools/go/analysis/passes/nilfunc"
  22. "golang.org/x/tools/go/analysis/passes/printf"
  23. "golang.org/x/tools/go/analysis/passes/shift"
  24. "golang.org/x/tools/go/analysis/passes/stdmethods"
  25. "golang.org/x/tools/go/analysis/passes/structtag"
  26. "golang.org/x/tools/go/analysis/passes/tests"
  27. "golang.org/x/tools/go/analysis/passes/unmarshal"
  28. "golang.org/x/tools/go/analysis/passes/unreachable"
  29. "golang.org/x/tools/go/analysis/passes/unsafeptr"
  30. "golang.org/x/tools/go/analysis/passes/unusedresult"
  31. "honnef.co/go/tools/simple"
  32. "honnef.co/go/tools/staticcheck"
  33. "honnef.co/go/tools/stylecheck"
  34. )
  35. func main() {
  36. var analyzers []*analysis.Analyzer
  37. // Add all cmd/vet analyzers.
  38. analyzers = append(analyzers,
  39. asmdecl.Analyzer,
  40. assign.Analyzer,
  41. atomic.Analyzer,
  42. bools.Analyzer,
  43. buildtag.Analyzer,
  44. cgocall.Analyzer,
  45. composite.Analyzer,
  46. copylock.Analyzer,
  47. errorsas.Analyzer,
  48. httpresponse.Analyzer,
  49. loopclosure.Analyzer,
  50. lostcancel.Analyzer,
  51. nilfunc.Analyzer,
  52. printf.Analyzer,
  53. shift.Analyzer,
  54. stdmethods.Analyzer,
  55. structtag.Analyzer,
  56. tests.Analyzer,
  57. unmarshal.Analyzer,
  58. unreachable.Analyzer,
  59. unsafeptr.Analyzer,
  60. unusedresult.Analyzer)
  61. for _, v := range simple.Analyzers {
  62. analyzers = append(analyzers, v)
  63. }
  64. for _, v := range staticcheck.Analyzers {
  65. analyzers = append(analyzers, v)
  66. }
  67. for _, v := range stylecheck.Analyzers {
  68. analyzers = append(analyzers, v)
  69. }
  70. multichecker.Main(analyzers...)
  71. }