dev: use analyzer fields for name, doc instead of hardcoded strings (#4214)

Co-authored-by: Fernandez Ludovic <ldez@users.noreply.github.com>
This commit is contained in:
Oleksandr Redko 2023-11-20 21:53:18 +02:00 committed by GitHub
parent 43849699e5
commit ce020c6be1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
18 changed files with 61 additions and 54 deletions

View File

@ -8,10 +8,12 @@ import (
) )
func NewAsciicheck() *goanalysis.Linter { func NewAsciicheck() *goanalysis.Linter {
a := asciicheck.NewAnalyzer()
return goanalysis.NewLinter( return goanalysis.NewLinter(
"asciicheck", a.Name,
"Simple linter to check that your code does not contain non-ASCII identifiers", a.Doc,
[]*analysis.Analyzer{asciicheck.NewAnalyzer()}, []*analysis.Analyzer{a},
nil, nil,
).WithLoadMode(goanalysis.LoadModeSyntax) ).WithLoadMode(goanalysis.LoadModeSyntax)
} }

View File

@ -51,7 +51,7 @@ func NewBiDiChkFuncName(cfg *config.BiDiChkSettings) *goanalysis.Linter {
} }
return goanalysis.NewLinter( return goanalysis.NewLinter(
"bidichk", a.Name,
"Checks for dangerous unicode character sequences", "Checks for dangerous unicode character sequences",
[]*analysis.Analyzer{a}, []*analysis.Analyzer{a},
cfgMap, cfgMap,

View File

@ -8,8 +8,6 @@ import (
"github.com/golangci/golangci-lint/pkg/golinters/goanalysis" "github.com/golangci/golangci-lint/pkg/golinters/goanalysis"
) )
const cyclopName = "cyclop"
func NewCyclop(settings *config.Cyclop) *goanalysis.Linter { func NewCyclop(settings *config.Cyclop) *goanalysis.Linter {
a := analyzer.NewAnalyzer() a := analyzer.NewAnalyzer()
@ -31,7 +29,7 @@ func NewCyclop(settings *config.Cyclop) *goanalysis.Linter {
} }
return goanalysis.NewLinter( return goanalysis.NewLinter(
cyclopName, a.Name,
"checks function and package cyclomatic complexity", "checks function and package cyclomatic complexity",
[]*analysis.Analyzer{a}, []*analysis.Analyzer{a},
cfg, cfg,

View File

@ -23,10 +23,8 @@ func NewErrChkJSONFuncName(cfg *config.ErrChkJSONSettings) *goanalysis.Linter {
} }
return goanalysis.NewLinter( return goanalysis.NewLinter(
"errchkjson", a.Name,
"Checks types passed to the json encoding functions. "+ a.Doc,
"Reports unsupported types and optionally reports occasions, "+
"where the check for the returned error can be omitted.",
[]*analysis.Analyzer{a}, []*analysis.Analyzer{a},
cfgMap, cfgMap,
).WithLoadMode(goanalysis.LoadModeTypesInfo) ).WithLoadMode(goanalysis.LoadModeTypesInfo)

View File

@ -8,10 +8,12 @@ import (
) )
func NewErrName() *goanalysis.Linter { func NewErrName() *goanalysis.Linter {
a := analyzer.New()
return goanalysis.NewLinter( return goanalysis.NewLinter(
"errname", a.Name,
"Checks that sentinel errors are prefixed with the `Err` and error types are suffixed with the `Error`.", a.Doc,
[]*analysis.Analyzer{analyzer.New()}, []*analysis.Analyzer{a},
nil, nil,
).WithLoadMode(goanalysis.LoadModeTypesInfo) ).WithLoadMode(goanalysis.LoadModeTypesInfo)
} }

View File

@ -8,10 +8,12 @@ import (
) )
func NewGoPrintfFuncName() *goanalysis.Linter { func NewGoPrintfFuncName() *goanalysis.Linter {
a := analyzer.Analyzer
return goanalysis.NewLinter( return goanalysis.NewLinter(
"goprintffuncname", a.Name,
"Checks that printf-like functions are named with `f` at the end", a.Doc,
[]*analysis.Analyzer{analyzer.Analyzer}, []*analysis.Analyzer{a},
nil, nil,
).WithLoadMode(goanalysis.LoadModeSyntax) ).WithLoadMode(goanalysis.LoadModeSyntax)
} }

View File

@ -25,7 +25,7 @@ func NewGrouper(settings *config.GrouperSettings) *goanalysis.Linter {
return goanalysis.NewLinter( return goanalysis.NewLinter(
"grouper", "grouper",
"An analyzer to analyze expression groups.", "Analyze expression groups.",
[]*analysis.Analyzer{grouper.New()}, []*analysis.Analyzer{grouper.New()},
linterCfg, linterCfg,
).WithLoadMode(goanalysis.LoadModeSyntax) ).WithLoadMode(goanalysis.LoadModeSyntax)

View File

@ -19,10 +19,12 @@ func NewIfshort(settings *config.IfshortSettings) *goanalysis.Linter {
} }
} }
a := analyzer.Analyzer
return goanalysis.NewLinter( return goanalysis.NewLinter(
"ifshort", a.Name,
"Checks that your code uses short syntax for if-statements whenever possible", a.Doc,
[]*analysis.Analyzer{analyzer.Analyzer}, []*analysis.Analyzer{a},
cfg, cfg,
).WithLoadMode(goanalysis.LoadModeSyntax) ).WithLoadMode(goanalysis.LoadModeSyntax)
} }

View File

@ -8,10 +8,12 @@ import (
) )
func NewIneffassign() *goanalysis.Linter { func NewIneffassign() *goanalysis.Linter {
a := ineffassign.Analyzer
return goanalysis.NewLinter( return goanalysis.NewLinter(
"ineffassign", a.Name,
"Detects when assignments to existing variables are not used", "Detects when assignments to existing variables are not used",
[]*analysis.Analyzer{ineffassign.Analyzer}, []*analysis.Analyzer{a},
nil, nil,
).WithLoadMode(goanalysis.LoadModeSyntax) ).WithLoadMode(goanalysis.LoadModeSyntax)
} }

View File

@ -8,20 +8,18 @@ import (
"github.com/golangci/golangci-lint/pkg/golinters/goanalysis" "github.com/golangci/golangci-lint/pkg/golinters/goanalysis"
) )
const nakedretName = "nakedret"
func NewNakedret(settings *config.NakedretSettings) *goanalysis.Linter { func NewNakedret(settings *config.NakedretSettings) *goanalysis.Linter {
var maxLines int var maxLines int
if settings != nil { if settings != nil {
maxLines = settings.MaxFuncLines maxLines = settings.MaxFuncLines
} }
analyzer := nakedret.NakedReturnAnalyzer(uint(maxLines)) a := nakedret.NakedReturnAnalyzer(uint(maxLines))
return goanalysis.NewLinter( return goanalysis.NewLinter(
nakedretName, a.Name,
"Finds naked returns in functions greater than a specified function length", a.Doc,
[]*analysis.Analyzer{analyzer}, []*analysis.Analyzer{a},
nil, nil,
).WithLoadMode(goanalysis.LoadModeSyntax) ).WithLoadMode(goanalysis.LoadModeSyntax)
} }

View File

@ -8,10 +8,12 @@ import (
) )
func NewNoctx() *goanalysis.Linter { func NewNoctx() *goanalysis.Linter {
a := noctx.Analyzer
return goanalysis.NewLinter( return goanalysis.NewLinter(
"noctx", a.Name,
"noctx finds sending http request without context.Context", "Detects test helpers which is not start with t.Helper() method",
[]*analysis.Analyzer{noctx.Analyzer}, []*analysis.Analyzer{a},
nil, nil,
).WithLoadMode(goanalysis.LoadModeTypesInfo) ).WithLoadMode(goanalysis.LoadModeTypesInfo)
} }

View File

@ -22,8 +22,8 @@ func NewParallelTest(settings *config.ParallelTestSettings) *goanalysis.Linter {
} }
return goanalysis.NewLinter( return goanalysis.NewLinter(
"paralleltest", a.Name,
"paralleltest detects missing usage of t.Parallel() method in your Go test", "Detects missing usage of t.Parallel() method in your Go test",
[]*analysis.Analyzer{a}, []*analysis.Analyzer{a},
cfg, cfg,
).WithLoadMode(goanalysis.LoadModeTypesInfo) ).WithLoadMode(goanalysis.LoadModeTypesInfo)

View File

@ -14,12 +14,12 @@ func NewRowsErrCheck(settings *config.RowsErrCheckSettings) *goanalysis.Linter {
pkgs = settings.Packages pkgs = settings.Packages
} }
analyzer := rowserr.NewAnalyzer(pkgs...) a := rowserr.NewAnalyzer(pkgs...)
return goanalysis.NewLinter( return goanalysis.NewLinter(
"rowserrcheck", a.Name,
"checks whether Err of rows is checked successfully", "checks whether Rows.Err of rows is checked successfully",
[]*analysis.Analyzer{analyzer}, []*analysis.Analyzer{a},
nil, nil,
).WithLoadMode(goanalysis.LoadModeTypesInfo) ).WithLoadMode(goanalysis.LoadModeTypesInfo)
} }

View File

@ -8,12 +8,12 @@ import (
) )
func NewSQLCloseCheck() *goanalysis.Linter { func NewSQLCloseCheck() *goanalysis.Linter {
a := analyzer.NewAnalyzer()
return goanalysis.NewLinter( return goanalysis.NewLinter(
"sqlclosecheck", a.Name,
"Checks that sql.Rows and sql.Stmt are closed.", a.Doc,
[]*analysis.Analyzer{ []*analysis.Analyzer{a},
analyzer.NewAnalyzer(),
},
nil, nil,
).WithLoadMode(goanalysis.LoadModeTypesInfo) ).WithLoadMode(goanalysis.LoadModeTypesInfo)
} }

View File

@ -54,8 +54,8 @@ func NewThelper(cfg *config.ThelperSettings) *goanalysis.Linter {
} }
return goanalysis.NewLinter( return goanalysis.NewLinter(
"thelper", a.Name,
"thelper detects Go test helpers without t.Helper() call and checks the consistency of test helpers", a.Doc,
[]*analysis.Analyzer{a}, []*analysis.Analyzer{a},
cfgMap, cfgMap,
).WithLoadMode(goanalysis.LoadModeTypesInfo) ).WithLoadMode(goanalysis.LoadModeTypesInfo)

View File

@ -8,10 +8,11 @@ import (
) )
func NewTparallel() *goanalysis.Linter { func NewTparallel() *goanalysis.Linter {
a := tparallel.Analyzer
return goanalysis.NewLinter( return goanalysis.NewLinter(
"tparallel", a.Name,
"tparallel detects inappropriate usage of t.Parallel() method in your Go test codes", a.Doc,
[]*analysis.Analyzer{tparallel.Analyzer}, []*analysis.Analyzer{a},
nil, nil,
).WithLoadMode(goanalysis.LoadModeTypesInfo) ).WithLoadMode(goanalysis.LoadModeTypesInfo)
} }

View File

@ -8,10 +8,12 @@ import (
) )
func NewWastedAssign() *goanalysis.Linter { func NewWastedAssign() *goanalysis.Linter {
a := wastedassign.Analyzer
return goanalysis.NewLinter( return goanalysis.NewLinter(
"wastedassign", a.Name,
"wastedassign finds wasted assignment statements.", "Finds wasted assignment statements",
[]*analysis.Analyzer{wastedassign.Analyzer}, []*analysis.Analyzer{a},
nil, nil,
).WithLoadMode(goanalysis.LoadModeTypesInfo) ).WithLoadMode(goanalysis.LoadModeTypesInfo)
} }

View File

@ -8,8 +8,6 @@ import (
"github.com/golangci/golangci-lint/pkg/golinters/goanalysis" "github.com/golangci/golangci-lint/pkg/golinters/goanalysis"
) )
const wrapcheckName = "wrapcheck"
func NewWrapcheck(settings *config.WrapcheckSettings) *goanalysis.Linter { func NewWrapcheck(settings *config.WrapcheckSettings) *goanalysis.Linter {
cfg := wrapcheck.NewDefaultConfig() cfg := wrapcheck.NewDefaultConfig()
if settings != nil { if settings != nil {
@ -30,7 +28,7 @@ func NewWrapcheck(settings *config.WrapcheckSettings) *goanalysis.Linter {
a := wrapcheck.NewAnalyzer(cfg) a := wrapcheck.NewAnalyzer(cfg)
return goanalysis.NewLinter( return goanalysis.NewLinter(
wrapcheckName, a.Name,
a.Doc, a.Doc,
[]*analysis.Analyzer{a}, []*analysis.Analyzer{a},
nil, nil,