internal/analysisinternal: prevent fillstruct panic on nil package

The previous implementation missed a nil check which caused a panic
when the package of a type was nil.

Fixes: golang/go#39899
Change-Id: I2dfb50d6b79f52df367e093e5d857cd70b7cef27
Reviewed-on: https://go-review.googlesource.com/c/tools/+/240537
Run-TryBot: Josh Baum <joshbaum@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Rebecca Stambler <rstambler@golang.org>
(cherry picked from commit aa3d50130bb944fccccf35d400a44e6e4153d1c7)
Reviewed-on: https://go-review.googlesource.com/c/tools/+/240538
Run-TryBot: Rebecca Stambler <rstambler@golang.org>
Reviewed-by: Josh Baum <joshbaum@google.com>
diff --git a/internal/analysisinternal/analysis.go b/internal/analysisinternal/analysis.go
index 14b96a7..c7f5cd5 100644
--- a/internal/analysisinternal/analysis.go
+++ b/internal/analysisinternal/analysis.go
@@ -80,6 +80,9 @@
 			return ast.NewIdent(t.Name())
 		}
 	case *types.Named:
+		if t.Obj().Pkg() == nil {
+			return nil
+		}
 		if t.Obj().Pkg() == pkg {
 			return ast.NewIdent(t.Obj().Name())
 		}