commit | 18fa840216958359dc43466f3e70d96add38edbb | [log] [tgz] |
---|---|---|
author | pjw <pjw@google.com> | Mon Sep 27 16:14:25 2021 -0400 |
committer | Peter Weinberger <pjw@google.com> | Mon Oct 11 15:23:58 2021 +0000 |
tree | 6c967b878c0fce8825c057e8aa8fb911907ab4da | |
parent | 1af23bdac9a48b89e1324abcf52338213d25abc5 [diff] |
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>
This subrepository holds the source for various packages and tools that support the Go programming language.
Some of the tools, godoc
and vet
for example, are included in binary Go distributions.
Others, including the Go guru
and the test coverage tool, can be fetched with go get
.
Packages include a type-checker for Go and an implementation of the Static Single Assignment form (SSA) representation for Go programs.
The easiest way to install is to run go get -u golang.org/x/tools/...
. You can also manually git clone the repository to $GOPATH/src/golang.org/x/tools
.
This repository uses prettier to format JS and CSS files.
The version of prettier
used is 1.18.2.
It is encouraged that all JS and CSS code be run through this before submitting a change. However, it is not a strict requirement enforced by CI.
This repository uses Gerrit for code changes. To learn how to submit changes to this repository, see https://golang.org/doc/contribute.html.
The main issue tracker for the tools repository is located at https://github.com/golang/go/issues. Prefix your issue with “x/tools/(your subdir):” in the subject line, so it is easy to find.