@@ -2,6 +2,7 @@ package golinters
2
2
3
3
import (
4
4
"slices"
5
+ "sort"
5
6
6
7
"golang.org/x/tools/go/analysis"
7
8
"golang.org/x/tools/go/analysis/passes/appends"
@@ -52,6 +53,7 @@ import (
52
53
53
54
"github.com/golangci/golangci-lint/pkg/config"
54
55
"github.com/golangci/golangci-lint/pkg/golinters/goanalysis"
56
+ "github.com/golangci/golangci-lint/pkg/logutils"
55
57
)
56
58
57
59
var (
@@ -136,6 +138,11 @@ var (
136
138
}
137
139
)
138
140
141
+ var (
142
+ govetDebugf = logutils .Debug (logutils .DebugKeyGovet )
143
+ isGovetDebug = logutils .HaveDebugTag (logutils .DebugKeyGovet )
144
+ )
145
+
139
146
func NewGovet (settings * config.GovetSettings ) * goanalysis.Linter {
140
147
var conf map [string ]map [string ]any
141
148
if settings != nil {
@@ -152,6 +159,9 @@ func NewGovet(settings *config.GovetSettings) *goanalysis.Linter {
152
159
}
153
160
154
161
func analyzersFromConfig (settings * config.GovetSettings ) []* analysis.Analyzer {
162
+ debugAnalyzersListf (allAnalyzers , "All available analyzers" )
163
+ debugAnalyzersListf (defaultAnalyzers , "Default analyzers" )
164
+
155
165
if settings == nil {
156
166
return defaultAnalyzers
157
167
}
@@ -168,6 +178,8 @@ func analyzersFromConfig(settings *config.GovetSettings) []*analysis.Analyzer {
168
178
}
169
179
}
170
180
181
+ debugAnalyzersListf (enabledAnalyzers , "Enabled by config analyzers" )
182
+
171
183
return enabledAnalyzers
172
184
}
173
185
@@ -194,3 +206,18 @@ func isAnalyzerEnabled(name string, cfg *config.GovetSettings, defaultAnalyzers
194
206
return slices .ContainsFunc (defaultAnalyzers , func (a * analysis.Analyzer ) bool { return a .Name == name })
195
207
}
196
208
}
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