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>
This commit is contained in:
Alan Donovan 2017-06-13 12:13:33 -04:00
parent 011098bb92
commit 5d733ef37e

View File

@ -299,7 +299,7 @@ type analysis struct {
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 @@ func Run(pta bool, result *Result) {
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)
}
}
}
}