internal/lsp/source: handle possible nil pointer in rename check

Change-Id: I92cc4015361d40e8a10d05fa6857bee2b302cec4
Reviewed-on: https://go-review.googlesource.com/c/tools/+/284583
Trust: Rebecca Stambler <rstambler@golang.org>
Run-TryBot: Rebecca Stambler <rstambler@golang.org>
gopls-CI: kokoro <noreply+kokoro@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Heschi Kreinick <heschi@google.com>
diff --git a/internal/lsp/source/rename_check.go b/internal/lsp/source/rename_check.go
index 042331c..7986ea1 100644
--- a/internal/lsp/source/rename_check.go
+++ b/internal/lsp/source/rename_check.go
@@ -894,6 +894,9 @@
 }
 
 func objectKind(obj types.Object) string {
+	if obj == nil {
+		return "nil object"
+	}
 	switch obj := obj.(type) {
 	case *types.PkgName:
 		return "imported package name"
@@ -937,6 +940,9 @@
 }
 
 func isPackageLevel(obj types.Object) bool {
+	if obj == nil {
+		return false
+	}
 	return obj.Pkg().Scope().Lookup(obj.Name()) == obj
 }