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 {
a := asciicheck.NewAnalyzer()
return goanalysis.NewLinter(
"asciicheck",
"Simple linter to check that your code does not contain non-ASCII identifiers",
[]*analysis.Analyzer{asciicheck.NewAnalyzer()},
a.Name,
a.Doc,
[]*analysis.Analyzer{a},
nil,
).WithLoadMode(goanalysis.LoadModeSyntax)
}

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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