From 7ad286ab5ee1285b742ef3480568dd04153bb8b9 Mon Sep 17 00:00:00 2001 From: Rebecca Stambler Date: Tue, 3 Nov 2020 11:45:23 -0500 Subject: [PATCH] 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 Run-TryBot: Rebecca Stambler gopls-CI: kokoro TryBot-Result: Go Bot Reviewed-by: Robert Findley --- internal/lsp/text_synchronization.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/internal/lsp/text_synchronization.go b/internal/lsp/text_synchronization.go index 805393c57e..205331dfac 100644 --- a/internal/lsp/text_synchronization.go +++ b/internal/lsp/text_synchronization.go @@ -229,11 +229,15 @@ func (s *Server) didModifyFiles(ctx context.Context, modifications []source.File 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() {