1
0
mirror of https://github.com/golang/go synced 2024-11-18 17:04:41 -07:00
go/internal
Rob Findley b4fe758a9b internal/lsp/source: don't allow mutating DefaultOptions
DefaultOptions was a value type, but held map values. This CL changes it
to a function that returns an Options value that has new instances of
all reference types. It would be better if this function returned a
pointer, but that change ended up being too large. I will need to
refactor handling of options later anyway, in order to support sessions
with differing options for golang.org/issues/34111.

This fixes a race in internal/lsp/tests: internal/hooks/analysis.go
mutates the Analyzers map.

See for example the trybots result at:
https://storage.googleapis.com/go-build-log/0d34f5f0/linux-amd64-race_4ecdf9c8.log

Change-Id: I41be450b590a3f3104ac9a1cb9cb312ea3ff7ff4
Reviewed-on: https://go-review.googlesource.com/c/tools/+/217077
Run-TryBot: Robert Findley <rfindley@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Rebecca Stambler <rstambler@golang.org>
Reviewed-by: Heschi Kreinick <heschi@google.com>
2020-01-31 15:48:08 +00:00
..
apidiff all: fix more typos 2019-09-11 15:13:14 +00:00
fastwalk all: fix some staticcheck errors 2020-01-29 04:53:41 +00:00
gopathwalk all: fix some staticcheck errors 2020-01-29 04:53:41 +00:00
imports all: fix some staticcheck errors 2020-01-29 04:53:41 +00:00
jsonrpc2 all: fix some staticcheck errors 2020-01-29 04:53:41 +00:00
lsp internal/lsp/source: don't allow mutating DefaultOptions 2020-01-31 15:48:08 +00:00
memoize internal/memoize: fix race on read of handle.function 2019-12-05 18:38:34 +00:00
module imports: stop using go/packages for modules 2019-01-22 20:29:12 +00:00
packagesinternal go/packages: internally expose ForTests in go/packages 2020-01-16 22:11:50 +00:00
semver go/packages: add name= query 2018-10-16 20:20:09 +00:00
span internal/span: always uppercase the drive letter for Windows 2020-01-30 22:30:17 +00:00
telemetry all: fix some staticcheck errors 2020-01-29 04:53:41 +00:00
testenv internal/testenv: reject the resolved 'go' command if it does not match runtime.GOROOT 2019-11-11 19:22:22 +00:00
tool internal/lsp, internal/tool: clean up command line of gopls 2019-12-16 17:36:52 +00:00
xcontext internal/lsp: stop making background contexts everywhere 2019-07-11 16:38:52 +00:00