Skip to content

Commit eefb974

Browse files
author
Sergey Vilgelm
authored
ineffassign: use upstrea instead of golangci fork (#1780)
1 parent b77118f commit eefb974

File tree

6 files changed

+12
-55
lines changed

6 files changed

+12
-55
lines changed

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,12 @@ require (
2525
github.com/golangci/dupl v0.0.0-20180902072040-3e9179ac440a
2626
github.com/golangci/go-misc v0.0.0-20180628070357-927a3d87b613
2727
github.com/golangci/gofmt v0.0.0-20190930125516-244bba706f1a
28-
github.com/golangci/ineffassign v0.0.0-20190609212857-42439a7714cc
2928
github.com/golangci/lint-1 v0.0.0-20191013205115-297bf364a8e0
3029
github.com/golangci/maligned v0.0.0-20180506175553-b1d89398deca
3130
github.com/golangci/misspell v0.0.0-20180809174111-950f5d19e770
3231
github.com/golangci/revgrep v0.0.0-20210208091834-cd28932614b5
3332
github.com/golangci/unconvert v0.0.0-20180507085042-28b1c447d1f4
33+
github.com/gordonklaus/ineffassign v0.0.0-20210225214923-2e10b2664254
3434
github.com/jgautheron/goconst v0.0.0-20201117150253-ccae5bf973f3
3535
github.com/jingyugao/rowserrcheck v0.0.0-20210130005344-c6a0c12dd98d
3636
github.com/jirfag/go-printf-func-name v0.0.0-20191110105641-45db9963cdd3

go.sum

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pkg/golinters/ineffassign.go

Lines changed: 4 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -1,61 +1,17 @@
11
package golinters
22

33
import (
4-
"fmt"
5-
"sync"
6-
7-
"github.com/golangci/ineffassign"
4+
"github.com/gordonklaus/ineffassign/pkg/ineffassign"
85
"golang.org/x/tools/go/analysis"
96

107
"github.com/golangci/golangci-lint/pkg/golinters/goanalysis"
11-
"github.com/golangci/golangci-lint/pkg/lint/linter"
12-
"github.com/golangci/golangci-lint/pkg/result"
138
)
149

15-
const ineffassignName = "ineffassign"
16-
1710
func NewIneffassign() *goanalysis.Linter {
18-
var mu sync.Mutex
19-
var resIssues []goanalysis.Issue
20-
21-
analyzer := &analysis.Analyzer{
22-
Name: ineffassignName,
23-
Doc: goanalysis.TheOnlyanalyzerDoc,
24-
}
2511
return goanalysis.NewLinter(
26-
ineffassignName,
12+
"ineffassign",
2713
"Detects when assignments to existing variables are not used",
28-
[]*analysis.Analyzer{analyzer},
14+
[]*analysis.Analyzer{ineffassign.Analyzer},
2915
nil,
30-
).WithContextSetter(func(lintCtx *linter.Context) {
31-
analyzer.Run = func(pass *analysis.Pass) (interface{}, error) {
32-
var fileNames []string
33-
for _, f := range pass.Files {
34-
pos := pass.Fset.PositionFor(f.Pos(), false)
35-
fileNames = append(fileNames, pos.Filename)
36-
}
37-
38-
issues := ineffassign.Run(fileNames)
39-
if len(issues) == 0 {
40-
return nil, nil
41-
}
42-
43-
res := make([]goanalysis.Issue, 0, len(issues))
44-
for _, i := range issues {
45-
res = append(res, goanalysis.NewIssue(&result.Issue{
46-
Pos: i.Pos,
47-
Text: fmt.Sprintf("ineffectual assignment to %s", formatCode(i.IdentName, lintCtx.Cfg)),
48-
FromLinter: ineffassignName,
49-
}, pass))
50-
}
51-
52-
mu.Lock()
53-
resIssues = append(resIssues, res...)
54-
mu.Unlock()
55-
56-
return nil, nil
57-
}
58-
}).WithIssuesReporter(func(*linter.Context) []goanalysis.Issue {
59-
return resIssues
60-
}).WithLoadMode(goanalysis.LoadModeSyntax)
16+
).WithLoadMode(goanalysis.LoadModeTypesInfo)
6117
}

pkg/lint/lintersdb/manager.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -184,6 +184,7 @@ func (m Manager) GetAllSupportedLinterConfigs() []*linter.Config {
184184
WithPresets(linter.PresetStyle).
185185
WithURL("https://github.com/mdempsky/unconvert"),
186186
linter.NewConfig(golinters.NewIneffassign()).
187+
WithLoadForGoAnalysis().
187188
WithPresets(linter.PresetUnused).
188189
WithURL("https://github.com/gordonklaus/ineffassign"),
189190
linter.NewConfig(golinters.NewDupl()).

test/run_test.go

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -185,8 +185,6 @@ func TestLintFilesWithLineDirective(t *testing.T) {
185185
Run("-Egomodguard", "--disable-all", "--config=testdata/linedirective/gomodguard.yml", getTestDataDir("linedirective")).
186186
ExpectHasIssue("import of package `github.com/ryancurrah/gomodguard` is blocked because the module is not " +
187187
"in the allowed modules list. (gomodguard)")
188-
r.Run("-Eineffassign", "--disable-all", "--no-config", getTestDataDir("linedirective")).
189-
ExpectHasIssue("ineffectual assignment to `x` (ineffassign)")
190188
r.Run("-Elll", "--disable-all", "--config=testdata/linedirective/lll.yml", getTestDataDir("linedirective")).
191189
ExpectHasIssue("line is 57 characters (lll)")
192190
r.Run("-Emisspell", "--disable-all", "--no-config", getTestDataDir("linedirective")).

test/testdata/ineffassign.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
//args: -Eineffassign
22
package testdata
33

4+
import "math"
5+
46
func _() {
5-
x := 0
7+
x := math.MinInt8
68
for {
79
_ = x
8-
x = 0 // ERROR "ineffectual assignment to `x`"
10+
x = 0 // ERROR "ineffectual assignment to x"
911
x = 0
1012
}
1113
}

0 commit comments

Comments
 (0)