mirror of
https://github.com/golang/go
synced 2024-11-18 18:54:42 -07:00
de023d59a5
With #34111, we are forwarding the LSP from one gopls instance to another. This exposed an asymmetry in our LSP dispatching: for both ClientDispatcher and ServerDispatcher, we unmarshal to non-nil response structs. This means that when forwarding the LSP, we translate empty JSON responses (corresponding to nil values) into the non-nil zero value. This causes problems for some editors, as reported in #37570. Fix it by instead unmarshaling to a pointer. This is, of course, a somewhat dangerous change. I fixed the one NPE that occurred in tests, and have done some mild manual testing. I wouldn't be surprised if we discover more NPEs later on, but I still think this is the right change to make. Updates golang/go#34111 Fixes golang/go#37570 Change-Id: Ie69e92d2821c829cdfc4f4ab303679a725f1f859 Reviewed-on: https://go-review.googlesource.com/c/tools/+/222058 Reviewed-by: Peter Weinberger <pjw@google.com> Reviewed-by: Rebecca Stambler <rstambler@golang.org> Run-TryBot: Robert Findley <rfindley@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> |
||
---|---|---|
.. | ||
test | ||
capabilities_test.go | ||
check.go | ||
cmd_test.go | ||
cmd.go | ||
definition.go | ||
export_test.go | ||
folding_range.go | ||
format.go | ||
highlight.go | ||
implementation.go | ||
imports.go | ||
info.go | ||
links.go | ||
prepare_rename.go | ||
query.go | ||
references.go | ||
rename.go | ||
serve_test.go | ||
serve.go | ||
signature.go | ||
suggested_fix.go | ||
symbols.go |