da514acc47
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 <rstambler@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Rebecca Stambler <rstambler@golang.org> |
||
---|---|---|
benchmark/parse | ||
blog | ||
cmd | ||
container/intsets | ||
cover | ||
go | ||
godoc | ||
gopls | ||
imports | ||
internal | ||
playground | ||
present | ||
refactor | ||
.gitattributes | ||
.gitignore | ||
AUTHORS | ||
codereview.cfg | ||
CONTRIBUTING.md | ||
CONTRIBUTORS | ||
go.mod | ||
go.sum | ||
LICENSE | ||
PATENTS | ||
README.md |
Go Tools
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.
Download/Install
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
.
Report Issues / Send Patches
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.