1
0
mirror of https://github.com/golang/go synced 2024-10-01 07:38:32 -06:00
go/internal/lsp
Rebecca Stambler fd6a59f26d internal/lsp/cache: fix race condition in type-checking
We had previously been returning the metadata map in a few of the
loading functions. We don't actually need the map; we only need the
actual metadata. The race was caused by the return of the f.meta field
in a few functions, unprotected by the f.mu lock. This was likely a
result of the f.mu lock being added after the fact.

Fixes golang/go#33978

Change-Id: Ice5778d9d6dea23304237baf321b55d4fee6599c
Reviewed-on: https://go-review.googlesource.com/c/tools/+/193717
Reviewed-by: Ian Cottrell <iancottrell@google.com>
Run-TryBot: Rebecca Stambler <rstambler@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
2019-09-05 20:58:25 +00:00
..
browser internal/lsp: add version and bug commands 2019-05-11 04:16:02 +00:00
cache internal/lsp/cache: fix race condition in type-checking 2019-09-05 20:58:25 +00:00
cmd all: skip more memory-intensive tests on linux-arm 2019-08-30 17:05:41 +00:00
debug internal/telemetry: add the ability to flush telemetry data 2019-08-21 16:29:56 +00:00
diff internal/lsp: add tests at the diff hook layer 2019-08-26 23:40:50 +00:00
fuzzy internal/lsp: add fuzzy completion matching 2019-08-14 16:13:50 +00:00
protocol x/tools/gopls: reimplement rpc logging at a lower level 2019-08-29 16:05:15 +00:00
snippet internal/lsp: introduce snippet builder object 2019-04-25 18:37:29 +00:00
source internal/lsp: turn on completion documentation by default 2019-09-05 03:53:08 +00:00
telemetry internal/telemetry: extract units to their own package 2019-08-15 21:28:32 +00:00
testdata internal/lsp: fix declarations in references 2019-09-05 03:51:44 +00:00
tests internal/lsp: fix declarations in references 2019-09-05 03:51:44 +00:00
code_action.go internal/lsp: initialize CodeActionProvider with supported actions 2019-08-28 21:14:09 +00:00
completion.go internal/lsp: turn on completion documentation by default 2019-09-05 03:53:08 +00:00
definition.go internal/lsp: use protocol.Ranges for source.Identifier 2019-08-29 05:14:58 +00:00
diagnostics.go internal/lsp: separate out getMapper function 2019-08-16 20:05:58 +00:00
folding_range.go internal/lsp: return only multiline ranges when lineFoldingOnly 2019-09-03 16:36:17 +00:00
format.go internal/lsp: use protocol.Range in completion items 2019-08-20 20:57:17 +00:00
general.go internal/lsp: turn on completion documentation by default 2019-09-05 03:53:08 +00:00
highlight.go internal/lsp: separate out getMapper function 2019-08-16 20:05:58 +00:00
hover.go internal/lsp: use protocol.Ranges for source.Identifier 2019-08-29 05:14:58 +00:00
link.go internal/lsp: separate out getMapper function 2019-08-16 20:05:58 +00:00
lsp_test.go internal/lsp: turn on completion documentation by default 2019-09-05 03:53:08 +00:00
references.go internal/lsp: fix declarations in references 2019-09-05 03:51:44 +00:00
rename.go internal/lsp: add prepare rename support 2019-08-29 20:19:46 +00:00
reset_golden.sh internal/lsp: fix definition tests to use golden files 2019-05-10 21:06:55 +00:00
server.go internal/lsp: return only multiline ranges when lineFoldingOnly 2019-09-03 16:36:17 +00:00
signature_help.go internal/lsp: use protocol.Ranges for source.Identifier 2019-08-29 05:14:58 +00:00
symbols.go internal/lsp: separate out getMapper function 2019-08-16 20:05:58 +00:00
text_synchronization.go internal/lsp: separate out getMapper function 2019-08-16 20:05:58 +00:00
util.go internal/lsp: separate out getMapper function 2019-08-16 20:05:58 +00:00
watched_files.go internal/lsp: start handling watched file change events 2019-08-26 19:00:32 +00:00
workspace.go internal/lsp: use x/xerrors to create new errors 2019-08-06 19:46:56 +00:00