@@ -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