FIR2IR converter: handle receivers and parents more correctly

This commit is contained in:
Mikhail Glukhikh
2019-05-14 15:58:50 +03:00
parent 90009f002c
commit 26974788e9
59 changed files with 400 additions and 174 deletions
@@ -79,6 +79,7 @@ FILE fqName:<root> fileName:/forWithImplicitReceivers.kt
CALL 'public final fun <get-value> (): kotlin.Int declared in <root>.IntCell' type=kotlin.Int origin=null
SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.Int visibility:public ' type=kotlin.Int origin=null
value: CALL 'public final fun dec (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
$this: GET_VAR 'val <unary>: kotlin.Int [val] declared in <root>.IReceiver.next' type=kotlin.Int origin=null
GET_VAR 'val <unary>: kotlin.Int [val] declared in <root>.IReceiver.next' type=kotlin.Int origin=null
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean
overridden:
@@ -99,11 +100,14 @@ FILE fqName:<root> fileName:/forWithImplicitReceivers.kt
ERROR_CALL 'Unresolved reference: R|/FiveTimes|' type=<root>.FiveTimes
VAR name:<iterator> type:<root>.IntCell [val]
CALL 'public open fun iterator (): <root>.IntCell declared in <root>.IReceiver' type=<root>.IntCell origin=null
$this: GET_VAR 'val <range>: <root>.FiveTimes [val] declared in <root>.test' type=<root>.FiveTimes origin=null
WHILE label=null origin=FOR_LOOP_INNER_WHILE
condition: CALL 'public open fun hasNext (): kotlin.Boolean declared in <root>.IReceiver' type=kotlin.Boolean origin=null
$this: GET_VAR 'val <iterator>: <root>.IntCell [val] declared in <root>.test' type=<root>.IntCell origin=null
body: BLOCK type=kotlin.Unit origin=null
VAR name:i type:kotlin.Int [val]
CALL 'public open fun next (): kotlin.Int declared in <root>.IReceiver' type=kotlin.Int origin=null
$this: GET_VAR 'val <iterator>: <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