go/internal
pjw 18fa840216 internal/lsp/semantic: prepare for generics
Semantic tokens will now return typeParameters if the client will accept
them. If the user is not using go1.18, then generic code will not type
check and gopls will not recogize type parameters. If gopls has not
been compiled with go1.18 only some uses of type parameters will be
recognized. In any case the code uses internal/typeparams
to see through IndexListExprs.

There is a global parameter semDebug which should be false in
checked-in code. I use it to see how semantic token decisions are
made; it is for debugging. But there are a lot of small code changes
to restrict logging to a few places.

There is also an unexercised stub to fix a bug where some functions
are misclassified as variables. This will be activated in a future CL,
as it will also change the golden test files.

Change-Id: I5107e67ae25e825b0cdc4c1a744877ce97ba609b
Reviewed-on: https://go-review.googlesource.com/c/tools/+/352570
Trust: Peter Weinberger <pjw@google.com>
Run-TryBot: Peter Weinberger <pjw@google.com>
gopls-CI: kokoro <noreply+kokoro@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Robert Findley <rfindley@google.com>
2021-10-11 15:23:58 +00:00
..
analysisinternal internal/lsp/fuzzy: fix return value on no match 2020-08-28 15:37:48 +00:00
apidiff all: add copyright notices to files that are missing them 2021-01-06 17:23:47 +00:00
event internal/lsp/debug: add a facility to track known bugs 2021-05-10 23:21:19 +00:00
fakenet internal/fakenet: add a fake network connection 2020-05-27 14:27:59 +00:00
fastwalk x/tools/internal/fastwalk: fixes "interrupted system call" error 2021-02-24 01:32:32 +00:00
gocommand internal/gocommand: run 'go list' on the unsafe package when fetching release tags 2021-05-29 00:21:43 +00:00
gopathwalk internal/imports: fix crash when adding stdlib imports 2020-08-13 17:47:04 +00:00
imports internal/imports: update stdlib index for 1.17 2021-08-24 14:51:57 +00:00
jsonrpc2 internal/jsonrpc2: remove unused invalidID constant 2021-02-04 15:49:51 +00:00
jsonrpc2_v2 internal/lsp/lsprpc: update binder tests to handle forwarding 2021-06-25 19:21:47 +00:00
lsp internal/lsp/semantic: prepare for generics 2021-10-11 15:23:58 +00:00
memoize internal/memoize: add a final argument to Bind for cleaning up 2020-10-30 19:59:21 +00:00
mod internal/mod: add workfile parser 2021-06-24 04:20:08 +00:00
packagesinternal internal/lsp/cache: disable network for mod tidy diagnostics 2021-02-05 19:41:14 +00:00
proxydir all: remove version-specific test files 2020-05-28 17:13:50 +00:00
span internal/span: fix a comment about windows drive letters 2021-08-03 19:59:22 +00:00
stack internal/stack: add the leak test 2020-05-27 14:25:42 +00:00
testenv go/internal/gcimporter: temporarily skip the contraints package on the 2021-09-24 19:46:05 +00:00
tool internal/lsp/cmd: print flags when running gopls help 2021-07-08 16:04:41 +00:00
typeparams internal/typeparams: use alias rather than indirection for IndexListExpr 2021-10-01 20:36:29 +00:00
typesinternal internal/typesinternal: document ReadGo116ErrorData 2021-09-21 03:32:29 +00:00
xcontext