tools/go/analysis
Alan Donovan ea84011da2 go/analysis/passes/printf: fix some pointer false positives
fmt's godoc reads:

	For compound objects, the elements are printed using these
	rules, recursively, laid out like this:

		struct:             {field0 field1 ...}
		array, slice:       [elem0 elem1 ...]
		maps:               map[key1:value1 key2:value2 ...]
		pointer to above:   &{}, &[], &map[]

That is, a pointer to a struct, array, slice, or map, can be correctly
printed by fmt if the type pointed to can be printed without issues.

vet was only following this rule for pointers to structs, omitting
arrays, slices, and maps. Fix that, and add tests for all the
combinations.

This change was originally made to cmd/vet in
https://go-review.googlesource.com/c/147758

Updates #27672.

Change-Id: I7e25ecaeed619ae8b6ada79bccacba6b67171733
Reviewed-on: https://go-review.googlesource.com/c/149318
Reviewed-by: Michael Matloob <matloob@golang.org>
2018-11-13 18:24:24 +00:00
..
analysistest go/analysis/cmd/analyze: install all analyzers 2018-10-19 17:03:54 +00:00
cmd go/analysis/cmd/vet-lite: remove deprecation warnings 2018-11-13 15:29:50 +00:00
internal go/analysis/cmd/vet-lite: remove deprecation warnings 2018-11-13 15:29:50 +00:00
multichecker go/analysis/cmd/vet-lite: make CLI closer to cmd/vet 2018-11-09 19:31:51 +00:00
passes go/analysis/passes/printf: fix some pointer false positives 2018-11-13 18:24:24 +00:00
singlechecker go/analysis/internal/analysisflags: common flag handling 2018-10-19 17:43:12 +00:00
analysis.go go/analysis: write package documentation 2018-10-08 17:31:26 +00:00
doc.go go/analysis/cmd/vet: new name for cmd/analyze 2018-10-19 18:46:07 +00:00
validate.go go/analysis: validate: report duplicates among analyzers (roots) 2018-10-11 19:55:00 +00:00