internal/lsp: handle nil pointer in go.mod links

Fixes golang/go#40433

Change-Id: I9e85f6d28886f8addf1d9142bc87f22eee1a4a36
Reviewed-on: https://go-review.googlesource.com/c/tools/+/244840
Run-TryBot: Rebecca Stambler <rstambler@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Heschi Kreinick <heschi@google.com>
diff --git a/internal/lsp/link.go b/internal/lsp/link.go
index 73c21d8..a56e673 100644
--- a/internal/lsp/link.go
+++ b/internal/lsp/link.go
@@ -56,6 +56,9 @@
 	}
 	var links []protocol.DocumentLink
 	for _, req := range file.Require {
+		if req.Syntax == nil {
+			continue
+		}
 		// See golang/go#36998: don't link to modules matching GOPRIVATE.
 		if snapshot.View().IsGoPrivatePath(req.Mod.Path) {
 			continue