Skip to content

Commit c588e97

Browse files
committed
Check all arguments, fixes #25
1 parent 98ad5e9 commit c588e97

File tree

2 files changed

+15
-4
lines changed

2 files changed

+15
-4
lines changed

checks/argument.go

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -86,10 +86,9 @@ func (a *ArgumentAnalyzer) checkCallExpr(expr *ast.CallExpr) {
8686
if i == 0 {
8787
a.pass.Reportf(x.Pos(), reportMsg, x.Value, ArgumentCheck)
8888
} else {
89-
// Otherwise check the previous element type
90-
switch expr.Args[i-1].(type) {
91-
case *ast.ChanType:
92-
// When it's not a simple buffered channel, report it
89+
// Otherwise check all args
90+
switch expr.Args[i].(type) {
91+
case *ast.BasicLit:
9392
if a.isMagicNumber(x) {
9493
a.pass.Reportf(x.Pos(), reportMsg, x.Value, ArgumentCheck)
9594
}

testdata/src/argument/argument.go

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,3 +80,15 @@ func example10() {
8080
wg.Done()
8181
}()
8282
}
83+
84+
func foobar(a, b int) {}
85+
86+
func example11() {
87+
foobar(0, 3) // want "Magic number: 3"
88+
}
89+
90+
func foobaz(numbers ...int) {}
91+
92+
func example12() {
93+
foobaz(0, 1, 3, 5, 6) // want "Magic number: 3" "Magic number: 5" "Magic number: 6"
94+
}

0 commit comments

Comments
 (0)