go/internal
Rob Findley 18795da840 internal/typeparams: a new helper library for working with generic code
Tools like gopls will want to add additional features to support working
with generic code, but need to continue to compile at older Go versions
that don't support type parameters.

This CL contains an initial draft of a helper library that may be used
to interrogate generic type information from go/ast and go/types without
having to guard the calling code with a build constraint.

I will use this library to implement some generics features for gopls.
Once we're confident in the API, it could potentially be exported as
x/tools/go/typeparams.

Change-Id: I0ad3050b57cf8d8e8dda7d350d18f5e50f4105ff
Reviewed-on: https://go-review.googlesource.com/c/tools/+/317451
Trust: Robert Findley <rfindley@google.com>
Trust: Robert Griesemer <gri@golang.org>
Run-TryBot: Robert Findley <rfindley@google.com>
gopls-CI: kokoro <noreply+kokoro@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Robert Griesemer <gri@golang.org>
2021-05-11 03:28:22 +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
fastwalk x/tools/internal/fastwalk: fixes "interrupted system call" error 2021-02-24 01:32:32 +00:00
gocommand internal/lsp: re-enable upgrades for individual dependencies 2021-02-01 17:10:16 +00:00
gopathwalk internal/imports: fix crash when adding stdlib imports 2020-08-13 17:47:04 +00:00
imports all: recognize new error from go command when no go.mod is found 2021-03-04 22:10:16 +00:00
jsonrpc2 internal/jsonrpc2: remove unused invalidID constant 2021-02-04 15:49:51 +00:00
jsonrpc2_v2 internal/jsonrpc2_v2: move the idle timeout handling out of the server 2021-03-30 14:25:40 +00:00
lsp internal/lsp/source/completion: avoid a panic in package completion 2021-05-10 23:22:37 +00:00
memoize internal/memoize: add a final argument to Bind for cleaning up 2020-10-30 19:59:21 +00:00
packagesinternal internal/lsp/cache: disable network for mod tidy diagnostics 2021-02-05 19:41:14 +00:00
proxydir
span internal/lsp/cache: parse filenames from go list errors correctly 2021-03-02 01:39:30 +00:00
stack
testenv all: go fmt ./... 2021-02-20 03:28:52 +00:00
tool
typeparams internal/typeparams: a new helper library for working with generic code 2021-05-11 03:28:22 +00:00
typesinternal internal/typesinternal: sync error codes with go1.16 2021-02-16 20:01:04 +00:00
xcontext