Skip to content

Commit 7d46339

Browse files
committed
chore: migrate makezero
1 parent 30af54f commit 7d46339

File tree

1 file changed

+9
-28
lines changed

1 file changed

+9
-28
lines changed

pkg/golinters/makezero/makezero.go

Lines changed: 9 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -2,40 +2,26 @@ package makezero
22

33
import (
44
"fmt"
5-
"sync"
65

76
"github.com/ashanbrown/makezero/makezero"
87
"golang.org/x/tools/go/analysis"
98

109
"github.com/golangci/golangci-lint/pkg/config"
1110
"github.com/golangci/golangci-lint/pkg/goanalysis"
12-
"github.com/golangci/golangci-lint/pkg/lint/linter"
13-
"github.com/golangci/golangci-lint/pkg/result"
1411
)
1512

1613
const linterName = "makezero"
1714

1815
func New(settings *config.MakezeroSettings) *goanalysis.Linter {
19-
var mu sync.Mutex
20-
var resIssues []goanalysis.Issue
21-
2216
analyzer := &analysis.Analyzer{
2317
Name: linterName,
2418
Doc: goanalysis.TheOnlyanalyzerDoc,
2519
Run: func(pass *analysis.Pass) (any, error) {
26-
issues, err := runMakeZero(pass, settings)
20+
err := runMakeZero(pass, settings)
2721
if err != nil {
2822
return nil, err
2923
}
3024

31-
if len(issues) == 0 {
32-
return nil, nil
33-
}
34-
35-
mu.Lock()
36-
resIssues = append(resIssues, issues...)
37-
mu.Unlock()
38-
3925
return nil, nil
4026
},
4127
}
@@ -45,30 +31,25 @@ func New(settings *config.MakezeroSettings) *goanalysis.Linter {
4531
"Finds slice declarations with non-zero initial length",
4632
[]*analysis.Analyzer{analyzer},
4733
nil,
48-
).WithIssuesReporter(func(*linter.Context) []goanalysis.Issue {
49-
return resIssues
50-
}).WithLoadMode(goanalysis.LoadModeTypesInfo)
34+
).WithLoadMode(goanalysis.LoadModeTypesInfo)
5135
}
5236

53-
func runMakeZero(pass *analysis.Pass, settings *config.MakezeroSettings) ([]goanalysis.Issue, error) {
37+
func runMakeZero(pass *analysis.Pass, settings *config.MakezeroSettings) error {
5438
zero := makezero.NewLinter(settings.Always)
5539

56-
var issues []goanalysis.Issue
57-
5840
for _, file := range pass.Files {
5941
hints, err := zero.Run(pass.Fset, pass.TypesInfo, file)
6042
if err != nil {
61-
return nil, fmt.Errorf("makezero linter failed on file %q: %w", file.Name.String(), err)
43+
return fmt.Errorf("makezero linter failed on file %q: %w", file.Name.String(), err)
6244
}
6345

6446
for _, hint := range hints {
65-
issues = append(issues, goanalysis.NewIssue(&result.Issue{
66-
Pos: hint.Position(),
67-
Text: hint.Details(),
68-
FromLinter: linterName,
69-
}, pass))
47+
pass.Report(analysis.Diagnostic{
48+
Pos: hint.Pos(),
49+
Message: hint.Details(),
50+
})
7051
}
7152
}
7253

73-
return issues, nil
54+
return nil
7455
}

0 commit comments

Comments
 (0)