Skip to content

Commit 242138b

Browse files
committed
review
1 parent d38c849 commit 242138b

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

pkg/golinters/gocritic.go

+7-3
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import (
1111
"strings"
1212
"sync"
1313

14+
"github.com/go-critic/go-critic/checkers"
1415
gocriticlinter "github.com/go-critic/go-critic/framework/linter"
1516
"golang.org/x/tools/go/analysis"
1617

@@ -28,7 +29,7 @@ func NewGocritic(settings *config.GocriticSettings, cfg *config.Config) *goanaly
2829

2930
sizes := types.SizesFor("gc", runtime.GOARCH)
3031

31-
wrapper := goCriticWrapper{
32+
wrapper := &goCriticWrapper{
3233
settings: settings,
3334
cfg: cfg,
3435
sizes: sizes,
@@ -71,9 +72,12 @@ type goCriticWrapper struct {
7172
settings *config.GocriticSettings
7273
cfg *config.Config
7374
sizes types.Sizes
75+
once sync.Once
7476
}
7577

76-
func (w goCriticWrapper) run(pass *analysis.Pass) ([]goanalysis.Issue, error) {
78+
func (w *goCriticWrapper) run(pass *analysis.Pass) ([]goanalysis.Issue, error) {
79+
w.once.Do(checkers.InitEmbeddedRules)
80+
7781
linterCtx := gocriticlinter.NewContext(pass.Fset, w.sizes)
7882

7983
enabledCheckers, err := w.buildEnabledCheckers(linterCtx)
@@ -93,7 +97,7 @@ func (w goCriticWrapper) run(pass *analysis.Pass) ([]goanalysis.Issue, error) {
9397
return issues, nil
9498
}
9599

96-
func (w goCriticWrapper) buildEnabledCheckers(linterCtx *gocriticlinter.Context) ([]*gocriticlinter.Checker, error) {
100+
func (w *goCriticWrapper) buildEnabledCheckers(linterCtx *gocriticlinter.Context) ([]*gocriticlinter.Checker, error) {
97101
allParams := w.settings.GetLowercasedParams()
98102

99103
var enabledCheckers []*gocriticlinter.Checker

0 commit comments

Comments
 (0)