Equality comparison for bound callable references takes into account bound receiver.

Fixed KT-14939: use expected receiver type when generating receiver code in get/set methods for bound property references.
Otherwise we have VerifyError for bound receiver 'null' of type 'Nothing?', which is mapped to 'java.lang.Void'.

TODO: proper equality comparison for property accessors ('x::prop.getter', 'x::prop.setter').
This commit is contained in:
Dmitry Petrov
2016-11-23 14:03:23 +03:00
parent ce6cf6475c
commit 3dd0c9d1c7
28 changed files with 525 additions and 20 deletions
@@ -0,0 +1,9 @@
// TODO: investigate should it be ran for JS or not
// IGNORE_BACKEND: JS
// See https://youtrack.jetbrains.com/issue/KT-14939
val String?.ok: String
get() = "OK"
fun box() = (null::ok).get()