1
0
mirror of https://github.com/golang/go synced 2024-11-18 19:44:46 -07:00
go/oracle
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
..
serial oracle: several major improvements 2015-03-30 19:21:37 +00:00
testdata/src oracle: handle implicit selections in callees 2016-01-13 18:20:05 +00:00
callees14.go oracle: handle implicit selections in callees 2016-01-13 18:20:05 +00:00
callees.go oracle: handle implicit selections in callees 2016-01-13 18:20:05 +00:00
callers.go go/ssa: rename some API features (incompatible change) 2015-08-31 22:20:12 +00:00
callstack.go go/ssa: rename some API features (incompatible change) 2015-08-31 22:20:12 +00:00
definition14.go x/tools/...: fork and tag !1.5 all files that use go/types et al 2016-01-06 20:40:09 +00:00
definition.go tools: switch to standard go/types at tip 2016-01-06 22:15:26 +00:00
describe14.go tools: switch to standard go/types at tip 2016-01-06 22:15:26 +00:00
describe15.go tools: switch to standard go/types at tip 2016-01-06 22:15:26 +00:00
describe.go tools: switch to standard go/types at tip 2016-01-06 22:15:26 +00:00
freevars14.go x/tools/...: fork and tag !1.5 all files that use go/types et al 2016-01-06 20:40:09 +00:00
freevars.go tools: switch to standard go/types at tip 2016-01-06 22:15:26 +00:00
implements14.go x/tools/...: fork and tag !1.5 all files that use go/types et al 2016-01-06 20:40:09 +00:00
implements.go tools: switch to standard go/types at tip 2016-01-06 22:15:26 +00:00
oracle14.go x/tools/...: fork and tag !1.5 all files that use go/types et al 2016-01-06 20:40:09 +00:00
oracle_test.go x/tools: disable tests not supported on Android 2015-08-06 00:36:03 +00:00
oracle.go tools: switch to standard go/types at tip 2016-01-06 22:15:26 +00:00
peers14.go x/tools/...: fork and tag !1.5 all files that use go/types et al 2016-01-06 20:40:09 +00:00
peers.go tools: switch to standard go/types at tip 2016-01-06 22:15:26 +00:00
pointsto14.go x/tools/...: fork and tag !1.5 all files that use go/types et al 2016-01-06 20:40:09 +00:00
pointsto.go tools: switch to standard go/types at tip 2016-01-06 22:15:26 +00:00
pos.go oracle: several major improvements 2015-03-30 19:21:37 +00:00
referrers14.go x/tools/...: fork and tag !1.5 all files that use go/types et al 2016-01-06 20:40:09 +00:00
referrers.go tools: switch to standard go/types at tip 2016-01-06 22:15:26 +00:00
TODO oracle: several major improvements 2015-03-30 19:21:37 +00:00
what.go cmd/oracle: improve error messages 2015-05-13 15:02:11 +00:00
whicherrs14.go x/tools/...: fork and tag !1.5 all files that use go/types et al 2016-01-06 20:40:09 +00:00
whicherrs.go tools: switch to standard go/types at tip 2016-01-06 22:15:26 +00:00