go/analysis/passes/printf: add support for %w
Change-Id: I91bd2a1f3f65f95258fa5a5b91aca51ff0885bad
Reviewed-on: https://go-review.googlesource.com/c/162058
Run-TryBot: Marcel van Lohuizen <mpvl@golang.org>
Reviewed-by: Damien Neil <dneil@google.com>
diff --git a/go/analysis/passes/printf/printf.go b/go/analysis/passes/printf/printf.go
index c0265aa..8f657b1 100644
--- a/go/analysis/passes/printf/printf.go
+++ b/go/analysis/passes/printf/printf.go
@@ -731,6 +731,7 @@
{'T', "-", anyType},
{'U', "-#", argRune | argInt},
{'v', allFlags, anyType},
+ {'w', noFlag, anyType},
{'x', sharpNumFlag, argRune | argInt | argString | argPointer},
{'X', sharpNumFlag, argRune | argInt | argString | argPointer},
}
diff --git a/go/analysis/passes/printf/testdata/src/a/a.go b/go/analysis/passes/printf/testdata/src/a/a.go
index 417ca91..4aeecd5 100644
--- a/go/analysis/passes/printf/testdata/src/a/a.go
+++ b/go/analysis/passes/printf/testdata/src/a/a.go
@@ -63,6 +63,7 @@
var imap map[int]int
var fslice []float64
var c complex64
+ var err error
// Some good format/argtypes
fmt.Printf("")
fmt.Printf("%b %b %b", 3, i, x)
@@ -96,6 +97,7 @@
fmt.Printf("%T", notstringerv)
fmt.Printf("%q", stringerarrayv)
fmt.Printf("%v", stringerarrayv)
+ fmt.Printf("%w", err)
fmt.Printf("%s", stringerarrayv)
fmt.Printf("%v", notstringerarrayv)
fmt.Printf("%T", notstringerarrayv)