KT-16486 Strange IR for delegated members

Delegated implementations should refer to delegate field:
  $this: GET_FIELD <delegate_field> ...
    receiver: <this_for_containing_class>
This commit is contained in:
Dmitry Petrov
2017-02-27 14:58:12 +03:00
parent abbbdb5771
commit 0f1f354ba6
3 changed files with 46 additions and 26 deletions
@@ -22,6 +22,7 @@ FILE /delegatedImplementationWithExplicitOverride.kt
FUN DELEGATED_MEMBER public open override fun foo(): kotlin.Unit
BLOCK_BODY
CALL 'foo(): Unit' type=kotlin.Unit origin=null
$this: GET_VAR '`C$IFooBar$delegate`: FooBarImpl' type=FooBarImpl origin=null
$this: GET_FIELD '`C$IFooBar$delegate`: FooBarImpl' type=FooBarImpl origin=null
receiver: GET_VAR '<receiver: C>' type=C origin=null
FUN public open override fun bar(): kotlin.Unit
BLOCK_BODY