@@ -2,6 +2,7 @@ package golinters
22
33import (
44 "slices"
5+ "sort"
56
67 "golang.org/x/tools/go/analysis"
78 "golang.org/x/tools/go/analysis/passes/appends"
@@ -52,6 +53,7 @@ import (
5253
5354 "github.com/golangci/golangci-lint/pkg/config"
5455 "github.com/golangci/golangci-lint/pkg/golinters/goanalysis"
56+ "github.com/golangci/golangci-lint/pkg/logutils"
5557)
5658
5759var (
@@ -136,6 +138,11 @@ var (
136138 }
137139)
138140
141+ var (
142+ govetDebugf = logutils .Debug (logutils .DebugKeyGovet )
143+ isGovetDebug = logutils .HaveDebugTag (logutils .DebugKeyGovet )
144+ )
145+
139146func NewGovet (settings * config.GovetSettings ) * goanalysis.Linter {
140147 var conf map [string ]map [string ]any
141148 if settings != nil {
@@ -152,6 +159,9 @@ func NewGovet(settings *config.GovetSettings) *goanalysis.Linter {
152159}
153160
154161func analyzersFromConfig (settings * config.GovetSettings ) []* analysis.Analyzer {
162+ debugAnalyzersListf (allAnalyzers , "All available analyzers" )
163+ debugAnalyzersListf (defaultAnalyzers , "Default analyzers" )
164+
155165 if settings == nil {
156166 return defaultAnalyzers
157167 }
@@ -168,6 +178,8 @@ func analyzersFromConfig(settings *config.GovetSettings) []*analysis.Analyzer {
168178 }
169179 }
170180
181+ debugAnalyzersListf (enabledAnalyzers , "Enabled by config analyzers" )
182+
171183 return enabledAnalyzers
172184}
173185
@@ -194,3 +206,18 @@ func isAnalyzerEnabled(name string, cfg *config.GovetSettings, defaultAnalyzers
194206 return slices .ContainsFunc (defaultAnalyzers , func (a * analysis.Analyzer ) bool { return a .Name == name })
195207 }
196208}
209+
210+ func debugAnalyzersListf (analyzers []* analysis.Analyzer , message string ) {
211+ if ! isGovetDebug {
212+ return
213+ }
214+
215+ analyzerNames := make ([]string , 0 , len (analyzers ))
216+ for _ , a := range analyzers {
217+ analyzerNames = append (analyzerNames , a .Name )
218+ }
219+
220+ sort .Strings (analyzerNames )
221+
222+ govetDebugf ("%s (%d): %s" , message , len (analyzerNames ), analyzerNames )
223+ }
0 commit comments