internal/lsp: check for nil snapshot in didModifyFiles

Updates golang/vscode-go#879

Change-Id: I27c54cbfcf312d9c570b910401a4c504fd5cce7d
Reviewed-on: https://go-review.googlesource.com/c/tools/+/267124
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: Robert Findley <rfindley@google.com>
diff --git a/internal/lsp/text_synchronization.go b/internal/lsp/text_synchronization.go
index 805393c..205331d 100644
--- a/internal/lsp/text_synchronization.go
+++ b/internal/lsp/text_synchronization.go
@@ -229,11 +229,15 @@
 		viewURIs[view] = append(viewURIs[view], uri)
 	}
 	for view, uris := range viewURIs {
+		snapshot := snapshots[view]
+		if snapshot == nil {
+			panic(fmt.Sprintf("no snapshot assigned for files %v", uris))
+		}
 		diagnosticWG.Add(1)
 		go func(snapshot source.Snapshot, uris []span.URI) {
 			defer diagnosticWG.Done()
 			s.diagnoseSnapshot(snapshot, uris)
-		}(snapshots[view], uris)
+		}(snapshot, uris)
 	}
 
 	go func() {