Skip to content

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

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Nov 20, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 5 additions & 3 deletions pkg/golinters/asciicheck.go
Original file line number Diff line number Diff line change
Expand Up @@ -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)
}
2 changes: 1 addition & 1 deletion pkg/golinters/bidichk.go
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down
4 changes: 1 addition & 3 deletions pkg/golinters/cyclop.go
Original file line number Diff line number Diff line change
Expand Up @@ -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()

Expand All @@ -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,
Expand Down
6 changes: 2 additions & 4 deletions pkg/golinters/errchkjson.go
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
8 changes: 5 additions & 3 deletions pkg/golinters/errname.go
Original file line number Diff line number Diff line change
Expand Up @@ -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)
}
8 changes: 5 additions & 3 deletions pkg/golinters/goprintffuncname.go
Original file line number Diff line number Diff line change
Expand Up @@ -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)
}
2 changes: 1 addition & 1 deletion pkg/golinters/grouper.go
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
8 changes: 5 additions & 3 deletions pkg/golinters/ifshort.go
Original file line number Diff line number Diff line change
Expand Up @@ -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)
}
6 changes: 4 additions & 2 deletions pkg/golinters/ineffassign.go
Original file line number Diff line number Diff line change
Expand Up @@ -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)
}
10 changes: 4 additions & 6 deletions pkg/golinters/nakedret.go
Original file line number Diff line number Diff line change
Expand Up @@ -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)
}
8 changes: 5 additions & 3 deletions pkg/golinters/noctx.go
Original file line number Diff line number Diff line change
Expand Up @@ -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)
}
4 changes: 2 additions & 2 deletions pkg/golinters/paralleltest.go
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
8 changes: 4 additions & 4 deletions pkg/golinters/rowserrcheck.go
Original file line number Diff line number Diff line change
Expand Up @@ -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)
}
10 changes: 5 additions & 5 deletions pkg/golinters/sqlclosecheck.go
Original file line number Diff line number Diff line change
Expand Up @@ -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)
}
4 changes: 2 additions & 2 deletions pkg/golinters/thelper.go
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
7 changes: 4 additions & 3 deletions pkg/golinters/tparallel.go
Original file line number Diff line number Diff line change
Expand Up @@ -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)
}
8 changes: 5 additions & 3 deletions pkg/golinters/wastedassign.go
Original file line number Diff line number Diff line change
Expand Up @@ -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)
}
4 changes: 1 addition & 3 deletions pkg/golinters/wrapcheck.go
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand All @@ -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,
Expand Down