|author||Muir Manders <firstname.lastname@example.org>||Mon Jun 17 18:11:13 2019 +0000|
|committer||Rebecca Stambler <email@example.com>||Mon Jun 17 19:08:20 2019 +0000|
internal/lsp: suggest completions that satisfy interfaces When checking if a completion candidate matches the expected type at the cursor position, we now use types.AssignableTo instead of types.Identical. This properly handles cases like using a concrete type to satisfy an interface type. Calling AssignableTo triggered some crashes related to the fake "resolved" types we create. Their underlying type was nil, which is not allowed. We now set their underlying type to the invalid type. I've also rearranged things so expected type information lives in a dedicated typeInference struct. For now there is no new information added, but in subsequent commits there will be more metadata about the expected type. Change-Id: I14e537c548960c30e444cf512a4413d75bb3ee45 GitHub-Last-Rev: 7e64ebe32938562648938d7a480195d954b018f2 GitHub-Pull-Request: golang/tools#116 Reviewed-on: https://go-review.googlesource.com/c/tools/+/182358 Run-TryBot: Rebecca Stambler <firstname.lastname@example.org> TryBot-Result: Gobot Gobot <email@example.com> Reviewed-by: Rebecca Stambler <firstname.lastname@example.org>
This subrepository holds the source for various packages and tools that support the Go programming language.
Some of the tools,
vet for example, are included in binary Go distributions.
Others, including the Go
guru and the test coverage tool, can be fetched with
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
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.