@@ -17,13 +17,12 @@ import (
17
17
)
18
18
19
19
func saveIssuesToCache (allPkgs []* packages.Package , pkgsFromCache map [* packages.Package ]bool ,
20
- issues []result.Issue , lintCtx * linter.Context , analyzers []* analysis.Analyzer ,
20
+ issues []* result.Issue , lintCtx * linter.Context , analyzers []* analysis.Analyzer ,
21
21
) {
22
22
startedAt := time .Now ()
23
- perPkgIssues := map [* packages.Package ][]result.Issue {}
24
- for ind := range issues {
25
- i := & issues [ind ]
26
- perPkgIssues [i .Pkg ] = append (perPkgIssues [i .Pkg ], * i )
23
+ perPkgIssues := map [* packages.Package ][]* result.Issue {}
24
+ for _ , issue := range issues {
25
+ perPkgIssues [issue .Pkg ] = append (perPkgIssues [issue .Pkg ], issue )
27
26
}
28
27
29
28
var savedIssuesCount int64 = 0
@@ -34,23 +33,22 @@ func saveIssuesToCache(allPkgs []*packages.Package, pkgsFromCache map[*packages.
34
33
wg .Add (workerCount )
35
34
36
35
pkgCh := make (chan * packages.Package , len (allPkgs ))
37
- for i := 0 ; i < workerCount ; i ++ {
36
+ for range workerCount {
38
37
go func () {
39
38
defer wg .Done ()
40
39
for pkg := range pkgCh {
41
40
pkgIssues := perPkgIssues [pkg ]
42
41
encodedIssues := make ([]EncodingIssue , 0 , len (pkgIssues ))
43
- for ind := range pkgIssues {
44
- i := & pkgIssues [ind ]
42
+ for _ , issue := range pkgIssues {
45
43
encodedIssues = append (encodedIssues , EncodingIssue {
46
- FromLinter : i .FromLinter ,
47
- Text : i .Text ,
48
- Severity : i .Severity ,
49
- Pos : i .Pos ,
50
- LineRange : i .LineRange ,
51
- SuggestedFixes : i .SuggestedFixes ,
52
- ExpectNoLint : i .ExpectNoLint ,
53
- ExpectedNoLintLinter : i .ExpectedNoLintLinter ,
44
+ FromLinter : issue .FromLinter ,
45
+ Text : issue .Text ,
46
+ Severity : issue .Severity ,
47
+ Pos : issue .Pos ,
48
+ LineRange : issue .LineRange ,
49
+ SuggestedFixes : issue .SuggestedFixes ,
50
+ ExpectNoLint : issue .ExpectNoLint ,
51
+ ExpectedNoLintLinter : issue .ExpectedNoLintLinter ,
54
52
})
55
53
}
56
54
@@ -81,12 +79,12 @@ func saveIssuesToCache(allPkgs []*packages.Package, pkgsFromCache map[*packages.
81
79
82
80
func loadIssuesFromCache (pkgs []* packages.Package , lintCtx * linter.Context ,
83
81
analyzers []* analysis.Analyzer ,
84
- ) (issuesFromCache []result.Issue , pkgsFromCache map [* packages.Package ]bool ) {
82
+ ) (issuesFromCache []* result.Issue , pkgsFromCache map [* packages.Package ]bool ) {
85
83
startedAt := time .Now ()
86
84
87
85
lintResKey := getIssuesCacheKey (analyzers )
88
86
type cacheRes struct {
89
- issues []result.Issue
87
+ issues []* result.Issue
90
88
loadErr error
91
89
}
92
90
pkgToCacheRes := make (map [* packages.Package ]* cacheRes , len (pkgs ))
@@ -103,7 +101,7 @@ func loadIssuesFromCache(pkgs []*packages.Package, lintCtx *linter.Context,
103
101
go func () {
104
102
defer wg .Done ()
105
103
for pkg := range pkgCh {
106
- var pkgIssues []EncodingIssue
104
+ var pkgIssues []* EncodingIssue
107
105
err := lintCtx .PkgCache .Get (pkg , cache .HashModeNeedAllDeps , lintResKey , & pkgIssues )
108
106
cacheRes := pkgToCacheRes [pkg ]
109
107
cacheRes .loadErr = err
@@ -114,10 +112,9 @@ func loadIssuesFromCache(pkgs []*packages.Package, lintCtx *linter.Context,
114
112
continue
115
113
}
116
114
117
- issues := make ([]result.Issue , 0 , len (pkgIssues ))
118
- for i := range pkgIssues {
119
- issue := & pkgIssues [i ]
120
- issues = append (issues , result.Issue {
115
+ issues := make ([]* result.Issue , 0 , len (pkgIssues ))
116
+ for _ , issue := range pkgIssues {
117
+ issues = append (issues , & result.Issue {
121
118
FromLinter : issue .FromLinter ,
122
119
Text : issue .Text ,
123
120
Severity : issue .Severity ,
0 commit comments