Skip to content

Commit 28d7095

Browse files
build(deps): bump github.com/go-critic/go-critic from 0.6.4 to 0.6.5 (#3150)
Co-authored-by: Fernandez Ludovic <[email protected]>
1 parent 7e769da commit 28d7095

File tree

4 files changed

+58
-59
lines changed

4 files changed

+58
-59
lines changed

go.mod

+6-6
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ require (
2828
github.com/fatih/color v1.13.0
2929
github.com/firefart/nonamedreturns v1.0.4
3030
github.com/fzipp/gocyclo v0.6.0
31-
github.com/go-critic/go-critic v0.6.4
31+
github.com/go-critic/go-critic v0.6.5
3232
github.com/go-xmlfmt/xmlfmt v0.0.0-20191208150333-d5b6f63a941b
3333
github.com/gofrs/flock v0.8.1
3434
github.com/golangci/check v0.0.0-20180506172741-cfe4005ccda2
@@ -124,8 +124,8 @@ require (
124124
github.com/fsnotify/fsnotify v1.5.4 // indirect
125125
github.com/go-ole/go-ole v1.2.6 // indirect
126126
github.com/go-toolsmith/astcast v1.0.0 // indirect
127-
github.com/go-toolsmith/astcopy v1.0.1 // indirect
128-
github.com/go-toolsmith/astequal v1.0.2 // indirect
127+
github.com/go-toolsmith/astcopy v1.0.2 // indirect
128+
github.com/go-toolsmith/astequal v1.0.3 // indirect
129129
github.com/go-toolsmith/astfmt v1.0.0 // indirect
130130
github.com/go-toolsmith/astp v1.0.0 // indirect
131131
github.com/go-toolsmith/strparse v1.0.0 // indirect
@@ -156,8 +156,8 @@ require (
156156
github.com/prometheus/client_model v0.2.0 // indirect
157157
github.com/prometheus/common v0.32.1 // indirect
158158
github.com/prometheus/procfs v0.7.3 // indirect
159-
github.com/quasilyte/go-ruleguard v0.3.17 // indirect
160-
github.com/quasilyte/gogrep v0.0.0-20220120141003-628d8b3623b5 // indirect
159+
github.com/quasilyte/go-ruleguard v0.3.18 // indirect
160+
github.com/quasilyte/gogrep v0.0.0-20220828223005-86e4605de09f // indirect
161161
github.com/quasilyte/regex/syntax v0.0.0-20200407221936-30656e2c4a95 // indirect
162162
github.com/quasilyte/stdinfo v0.0.0-20220114132959-f7386bf02567 // indirect
163163
github.com/sivchari/nosnakecase v1.7.0
@@ -174,7 +174,7 @@ require (
174174
go.uber.org/multierr v1.6.0 // indirect
175175
go.uber.org/zap v1.17.0 // indirect
176176
golang.org/x/exp v0.0.0-20220722155223-a9213eeb770e // indirect
177-
golang.org/x/exp/typeparams v0.0.0-20220613132600-b0d781184e0d // indirect
177+
golang.org/x/exp/typeparams v0.0.0-20220827204233-334a2380cb91 // indirect
178178
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4 // indirect
179179
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4 // indirect
180180
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab // indirect

go.sum

+13-14
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pkg/golinters/gocritic.go

+37-37
Original file line numberDiff line numberDiff line change
@@ -25,21 +25,18 @@ import (
2525

2626
const goCriticName = "gocritic"
2727

28-
const goCriticDebugKey = "gocritic"
29-
3028
var (
31-
goCriticDebugf = logutils.Debug(goCriticDebugKey)
32-
isGoCriticDebug = logutils.HaveDebugTag(goCriticDebugKey)
29+
goCriticDebugf = logutils.Debug(goCriticName)
30+
isGoCriticDebug = logutils.HaveDebugTag(goCriticName)
3331
)
3432

3533
func NewGoCritic(settings *config.GoCriticSettings, cfg *config.Config) *goanalysis.Linter {
3634
var mu sync.Mutex
3735
var resIssues []goanalysis.Issue
3836

3937
wrapper := &goCriticWrapper{
40-
settings: settings,
41-
cfg: cfg,
42-
sizes: types.SizesFor("gc", runtime.GOARCH),
38+
cfg: cfg,
39+
sizes: types.SizesFor("gc", runtime.GOARCH),
4340
}
4441

4542
analyzer := &analysis.Analyzer{
@@ -72,41 +69,41 @@ Dynamic rules are written declaratively with AST patterns, filters, report messa
7269
nil,
7370
).
7471
WithContextSetter(func(context *linter.Context) {
75-
wrapper.init()
72+
wrapper.init(settings, context.Log)
7673
}).
7774
WithIssuesReporter(func(*linter.Context) []goanalysis.Issue {
7875
return resIssues
7976
}).WithLoadMode(goanalysis.LoadModeTypesInfo)
8077
}
8178

8279
type goCriticWrapper struct {
83-
settings *config.GoCriticSettings
8480
settingsWrapper *goCriticSettingsWrapper
8581
cfg *config.Config
8682
sizes types.Sizes
8783
once sync.Once
8884
}
8985

90-
func (w *goCriticWrapper) init() {
91-
if w.settings != nil {
92-
// the 'defer' is here to catch the panic from checkers.InitEmbeddedRules()
93-
defer func() {
94-
if err := recover(); err != nil {
95-
linterLogger.Fatalf("%s: %v: setting an explicit GOROOT can fix this problem.", goCriticName, err)
96-
return
97-
}
98-
}()
99-
w.once.Do(checkers.InitEmbeddedRules)
100-
101-
settingsWrapper := newGoCriticSettingsWrapper(w.settings)
86+
func (w *goCriticWrapper) init(settings *config.GoCriticSettings, logger logutils.Log) {
87+
if settings == nil {
88+
return
89+
}
10290

103-
settingsWrapper.inferEnabledChecks(linterLogger)
104-
if err := settingsWrapper.validate(linterLogger); err != nil {
105-
linterLogger.Fatalf("%s: invalid settings: %s", goCriticName, err)
91+
w.once.Do(func() {
92+
err := checkers.InitEmbeddedRules()
93+
if err != nil {
94+
logger.Fatalf("%s: %v: setting an explicit GOROOT can fix this problem.", goCriticName, err)
10695
}
96+
})
97+
98+
settingsWrapper := newGoCriticSettingsWrapper(settings, logger)
99+
100+
settingsWrapper.inferEnabledChecks()
107101

108-
w.settingsWrapper = settingsWrapper
102+
if err := settingsWrapper.validate(); err != nil {
103+
logger.Fatalf("%s: invalid settings: %s", goCriticName, err)
109104
}
105+
106+
w.settingsWrapper = settingsWrapper
110107
}
111108

112109
func (w *goCriticWrapper) run(pass *analysis.Pass) ([]goanalysis.Issue, error) {
@@ -268,13 +265,15 @@ func (w *goCriticWrapper) normalizeCheckerParamsValue(p interface{}) interface{}
268265
type goCriticSettingsWrapper struct {
269266
*config.GoCriticSettings
270267

268+
logger logutils.Log
269+
271270
allCheckers []*gocriticlinter.CheckerInfo
272271
allCheckerMap map[string]*gocriticlinter.CheckerInfo
273272

274273
inferredEnabledChecks map[string]bool
275274
}
276275

277-
func newGoCriticSettingsWrapper(settings *config.GoCriticSettings) *goCriticSettingsWrapper {
276+
func newGoCriticSettingsWrapper(settings *config.GoCriticSettings, logger logutils.Log) *goCriticSettingsWrapper {
278277
allCheckers := gocriticlinter.GetCheckersInfo()
279278

280279
allCheckerMap := make(map[string]*gocriticlinter.CheckerInfo)
@@ -284,6 +283,7 @@ func newGoCriticSettingsWrapper(settings *config.GoCriticSettings) *goCriticSett
284283

285284
return &goCriticSettingsWrapper{
286285
GoCriticSettings: settings,
286+
logger: logger,
287287
allCheckers: allCheckers,
288288
allCheckerMap: allCheckerMap,
289289
inferredEnabledChecks: map[string]bool{},
@@ -343,7 +343,7 @@ func (s *goCriticSettingsWrapper) disabledCheckersDebugf() {
343343
}
344344
}
345345

346-
func (s *goCriticSettingsWrapper) inferEnabledChecks(log logutils.Log) {
346+
func (s *goCriticSettingsWrapper) inferEnabledChecks() {
347347
s.checkerTagsDebugf()
348348

349349
enabledByDefaultChecks := s.getDefaultEnabledCheckersNames()
@@ -371,7 +371,7 @@ func (s *goCriticSettingsWrapper) inferEnabledChecks(log logutils.Log) {
371371

372372
// DisabledTags
373373
if len(s.DisabledTags) != 0 {
374-
enabledChecks = s.filterByDisableTags(enabledChecks, s.DisabledTags, log)
374+
enabledChecks = s.filterByDisableTags(enabledChecks, s.DisabledTags)
375375
}
376376

377377
// EnabledChecks
@@ -381,7 +381,7 @@ func (s *goCriticSettingsWrapper) inferEnabledChecks(log logutils.Log) {
381381
alreadyEnabledChecksSet := stringsSliceToSet(enabledChecks)
382382
for _, enabledCheck := range s.EnabledChecks {
383383
if alreadyEnabledChecksSet[enabledCheck] {
384-
log.Warnf("No need to enable check %q: it's already enabled", enabledCheck)
384+
s.logger.Warnf("%s: no need to enable check %q: it's already enabled", goCriticName, enabledCheck)
385385
continue
386386
}
387387
enabledChecks = append(enabledChecks, enabledCheck)
@@ -395,8 +395,8 @@ func (s *goCriticSettingsWrapper) inferEnabledChecks(log logutils.Log) {
395395
enabledChecksSet := stringsSliceToSet(enabledChecks)
396396
for _, disabledCheck := range s.DisabledChecks {
397397
if !enabledChecksSet[disabledCheck] {
398-
log.Warnf("Gocritic check %q was explicitly disabled via config. However, as this check "+
399-
"is disabled by default, there is no need to explicitly disable it via config.", disabledCheck)
398+
s.logger.Warnf("%s: check %q was explicitly disabled via config. However, as this check "+
399+
"is disabled by default, there is no need to explicitly disable it via config.", goCriticName, disabledCheck)
400400
continue
401401
}
402402
delete(enabledChecksSet, disabledCheck)
@@ -418,7 +418,7 @@ func (s *goCriticSettingsWrapper) inferEnabledChecks(log logutils.Log) {
418418
s.disabledCheckersDebugf()
419419
}
420420

421-
func (s *goCriticSettingsWrapper) validate(log logutils.Log) error {
421+
func (s *goCriticSettingsWrapper) validate() error {
422422
if len(s.EnabledTags) == 0 {
423423
if len(s.EnabledChecks) != 0 && len(s.DisabledChecks) != 0 {
424424
return errors.New("both enabled and disabled check aren't allowed for gocritic")
@@ -454,7 +454,7 @@ func (s *goCriticSettingsWrapper) validate(log logutils.Log) error {
454454
return errors.Wrap(err, "validate disabled checks")
455455
}
456456

457-
if err := s.validateCheckerNames(log); err != nil {
457+
if err := s.validateCheckerNames(); err != nil {
458458
return errors.Wrap(err, "validation failed")
459459
}
460460

@@ -502,7 +502,7 @@ func (s *goCriticSettingsWrapper) getDefaultDisabledCheckersNames() []string {
502502
return disabled
503503
}
504504

505-
func (s *goCriticSettingsWrapper) validateCheckerNames(log logutils.Log) error {
505+
func (s *goCriticSettingsWrapper) validateCheckerNames() error {
506506
allowedNames := s.getAllCheckerNames()
507507

508508
for _, name := range s.EnabledChecks {
@@ -526,7 +526,7 @@ func (s *goCriticSettingsWrapper) validateCheckerNames(log logutils.Log) error {
526526
}
527527

528528
if !s.isCheckEnabled(checkName) {
529-
log.Warnf("%s: settings were provided for not enabled check %q", goCriticName, checkName)
529+
s.logger.Warnf("%s: settings were provided for not enabled check %q", goCriticName, checkName)
530530
}
531531
}
532532

@@ -543,13 +543,13 @@ func (s *goCriticSettingsWrapper) getLowerCasedParams() map[string]config.GoCrit
543543
return ret
544544
}
545545

546-
func (s *goCriticSettingsWrapper) filterByDisableTags(enabledChecks, disableTags []string, log logutils.Log) []string {
546+
func (s *goCriticSettingsWrapper) filterByDisableTags(enabledChecks, disableTags []string) []string {
547547
enabledChecksSet := stringsSliceToSet(enabledChecks)
548548

549549
for _, enabledCheck := range enabledChecks {
550550
checkInfo, checkInfoExists := s.allCheckerMap[enabledCheck]
551551
if !checkInfoExists {
552-
log.Warnf("%s: check %q was not exists via filtering disabled tags", goCriticName, enabledCheck)
552+
s.logger.Warnf("%s: check %q was not exists via filtering disabled tags", goCriticName, enabledCheck)
553553
continue
554554
}
555555

pkg/golinters/gocritic_test.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,9 @@ func Test_filterByDisableTags(t *testing.T) {
2525
disabledTags := []string{"experimental", "opinionated"}
2626
enabledChecks := []string{"appendAssign", "sortSlice", "caseOrder", "dupImport"}
2727

28-
settingsWrapper := newGoCriticSettingsWrapper(nil)
28+
settingsWrapper := newGoCriticSettingsWrapper(nil, &tLog{})
2929

30-
filterEnabledChecks := settingsWrapper.filterByDisableTags(enabledChecks, disabledTags, &tLog{})
30+
filterEnabledChecks := settingsWrapper.filterByDisableTags(enabledChecks, disabledTags)
3131

3232
sort.Strings(filterEnabledChecks)
3333

0 commit comments

Comments
 (0)