FIR2IR: declare receivers for all accessors of extension properties
Before this commit, extension receivers were declared only for properties with container source, which is strange & inconsistent. Now we declare accessor extension receiver iff corresponding property has extension receiver.
This commit is contained in:
@@ -109,12 +109,15 @@ FILE fqName:<root> fileName:/forWithImplicitReceivers.kt
|
||||
VAR FOR_LOOP_ITERATOR name:tmp_1 type:<root>.IntCell [val]
|
||||
CALL 'public open fun iterator (): <root>.IntCell [operator] declared in <root>.IReceiver' type=<root>.IntCell origin=null
|
||||
$this: GET_VAR '<this>: <root>.IReceiver declared in <root>.test' type=<root>.IReceiver origin=null
|
||||
$receiver: GET_OBJECT 'CLASS OBJECT name:FiveTimes modality:FINAL visibility:public superTypes:[kotlin.Any]' type=<root>.FiveTimes
|
||||
WHILE label=null origin=FOR_LOOP_INNER_WHILE
|
||||
condition: CALL 'public open fun hasNext (): kotlin.Boolean [operator] declared in <root>.IReceiver' type=kotlin.Boolean origin=null
|
||||
$this: GET_VAR '<this>: <root>.IReceiver declared in <root>.test' type=<root>.IReceiver origin=null
|
||||
$receiver: GET_VAR 'val tmp_1: <root>.IntCell [val] declared in <root>.test' type=<root>.IntCell origin=null
|
||||
body: BLOCK type=kotlin.Unit origin=FOR_LOOP_INNER_WHILE
|
||||
VAR name:i type:kotlin.Int [val]
|
||||
CALL 'public open fun next (): kotlin.Int [operator] declared in <root>.IReceiver' type=kotlin.Int origin=null
|
||||
$this: GET_VAR '<this>: <root>.IReceiver declared in <root>.test' type=<root>.IReceiver origin=null
|
||||
$receiver: GET_VAR 'val tmp_1: <root>.IntCell [val] declared in <root>.test' type=<root>.IntCell origin=null
|
||||
CALL 'public final fun println (message: kotlin.Int): kotlin.Unit [inline] declared in kotlin.io' type=kotlin.Unit origin=null
|
||||
message: GET_VAR 'val i: kotlin.Int [val] declared in <root>.test' type=kotlin.Int origin=null
|
||||
|
||||
Reference in New Issue
Block a user