Go to file
Daniel Morsing ae18226edd oracle: handle implicit selections in callees
The types only optimization for callees looked at the type of the
receiver to figure out if it was a dynamic call. If the selection
involves any implicit selections, we cannot be sure that this type
is the one that will actually receive the call.

Fix by working backwards from function signature to find the true
receiver

Change-Id: If79e3de7af33480e37bcf1081abe44bb04914da4
Reviewed-on: https://go-review.googlesource.com/18563
Reviewed-by: Alan Donovan <adonovan@google.com>
2016-01-13 18:20:05 +00:00
benchmark/parse benchmark/parse: fix cosmetic defect in error str. 2015-02-02 17:07:43 +00:00
blog tools: add import comments. 2014-12-09 22:42:16 +00:00
cmd x/tools/present: add video element for slides 2016-01-13 03:34:37 +00:00
container/intsets container/intsets: use fast popcount with gccgo 2015-11-11 02:17:02 +00:00
cover cover: accept inaccurate block endings 2015-01-07 02:00:16 +00:00
go go/loader: reduce contention for findPackage mutex 2016-01-13 18:09:25 +00:00
godoc godoc: hide vendored packages from /pkg/ as we do with internal packages 2016-01-13 08:57:48 +00:00
imports imports: Remove ancient Go 1.1 compatibility indirections. 2015-12-14 00:47:31 +00:00
oracle oracle: handle implicit selections in callees 2016-01-13 18:20:05 +00:00
playground playground/socket: only buffer messages of one kind, add tests 2015-10-30 06:08:43 +00:00
present x/tools/present: add video element for slides 2016-01-13 03:34:37 +00:00
refactor refactor/rename: fix crash with "." as -from package 2016-01-08 19:32:44 +00:00
.gitattributes tools: copying .gitattributes to all subrepositories (fixes windows build) 2014-12-23 06:32:51 +00:00
.gitignore dashboard: rearrange tree, in prep for packagification 2015-01-15 02:58:11 +00:00
AUTHORS go.empty: prototype for new subrepository 2012-01-25 14:45:13 -05:00
CONTRIBUTING.md doc: add CONTRIBUTING.md 2015-02-18 23:43:38 +00:00
CONTRIBUTORS go.empty: prototype for new subrepository 2012-01-25 14:45:13 -05:00
LICENSE LICENSE: add 2012-03-17 15:20:58 +11:00
PATENTS go.empty: add PATENTS file to the subrepo. 2012-04-16 11:24:04 +10:00
README go.tools/README: minor correction. 2013-10-29 13:20:58 -04:00
codereview.cfg tools: add codereview.cfg 2015-03-18 17:04:00 +00:00

README

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 oracle 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.

To submit changes to this repository, see http://golang.org/doc/contribute.html.