godoc: fix crash in -analysis
Fixes golang/go#20641
Change-Id: I499b4b8da2899c4b606ce3eedd30caab57607a85
Reviewed-on: https://go-review.googlesource.com/45570
Reviewed-by: Robert Griesemer <gri@golang.org>
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
diff --git a/godoc/analysis/analysis.go b/godoc/analysis/analysis.go
index c185e5e..b79286c 100644
--- a/godoc/analysis/analysis.go
+++ b/godoc/analysis/analysis.go
@@ -299,7 +299,7 @@
result *Result
prog *ssa.Program
ops []chanOp // all channel ops in program
- allNamed []*types.Named // all named types in the program
+ allNamed []*types.Named // all "defined" (formerly "named") types in the program
ptaConfig pointer.Config
path2url map[string]string // maps openable path to godoc file URL (/src/fmt/print.go)
pcgs map[*ssa.Package]*packageCallGraph
@@ -475,7 +475,9 @@
for _, info := range iprog.AllPackages {
for _, obj := range info.Defs {
if obj, ok := obj.(*types.TypeName); ok {
- a.allNamed = append(a.allNamed, obj.Type().(*types.Named))
+ if named, ok := obj.Type().(*types.Named); ok {
+ a.allNamed = append(a.allNamed, named)
+ }
}
}
}