From e436e8e4aa7daedc1263db1a7249e059d98a310c Mon Sep 17 00:00:00 2001 From: Alan Donovan Date: Wed, 18 Jun 2014 18:02:15 -0400 Subject: [PATCH] go.tools/godoc/analysis: be defensive about files without position info (such as cgo generated files) Also: improve log message for frontend errors without position info. LGTM=gri R=gri CC=golang-codereviews https://golang.org/cl/109100043 --- godoc/analysis/analysis.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/godoc/analysis/analysis.go b/godoc/analysis/analysis.go index 936872cc..9fabe118 100644 --- a/godoc/analysis/analysis.go +++ b/godoc/analysis/analysis.go @@ -381,6 +381,9 @@ func Run(pta bool, result *Result) { for _, info := range iprog.AllPackages { nextfile: for _, f := range info.Files { + if f.Pos() == 0 { + continue // e.g. files generated by cgo + } abs := iprog.Fset.File(f.Pos()).Name() // Find the root to which this file belongs. for _, root := range roots { @@ -412,7 +415,8 @@ func Run(pta bool, result *Result) { errors[e.Pos] = append(errors[e.Pos], e.Msg) } default: - log.Printf("Error (%T) without position: %v\n", err, err) + log.Printf("Package %q has error (%T) without position: %v\n", + info.Pkg.Path(), err, err) } } }