FIR2IR: add extension receiver parameters to functions

This commit is contained in:
Mikhail Glukhikh
2019-07-17 15:21:34 +03:00
parent be3fe9495c
commit 63b7fa70f9
63 changed files with 393 additions and 158 deletions
@@ -1,13 +1,16 @@
FILE fqName:<root> fileName:/lambdaInCAO.kt
FUN name:plusAssign visibility:public modality:FINAL <> (lambda:kotlin.Function0<kotlin.Unit>) returnType:kotlin.Unit
FUN name:plusAssign visibility:public modality:FINAL <> ($receiver:kotlin.Any, lambda:kotlin.Function0<kotlin.Unit>) returnType:kotlin.Unit
$receiver: VALUE_PARAMETER name:<this> type:kotlin.Any
VALUE_PARAMETER name:lambda index:0 type:kotlin.Function0<kotlin.Unit>
BLOCK_BODY
FUN name:get visibility:public modality:FINAL <> (index:kotlin.Function0<kotlin.Unit>) returnType:kotlin.Int
FUN name:get visibility:public modality:FINAL <> ($receiver:kotlin.Any, index:kotlin.Function0<kotlin.Unit>) returnType:kotlin.Int
$receiver: VALUE_PARAMETER name:<this> type:kotlin.Any
VALUE_PARAMETER name:index index:0 type:kotlin.Function0<kotlin.Unit>
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun get (index: kotlin.Function0<kotlin.Unit>): kotlin.Int declared in <root>'
CONST Int type=kotlin.Int value=42
FUN name:set visibility:public modality:FINAL <> (index:kotlin.Function0<kotlin.Unit>, value:kotlin.Int) returnType:kotlin.Unit
FUN name:set visibility:public modality:FINAL <> ($receiver:kotlin.Any, index:kotlin.Function0<kotlin.Unit>, value:kotlin.Int) returnType:kotlin.Unit
$receiver: VALUE_PARAMETER name:<this> type:kotlin.Any
VALUE_PARAMETER name:index index:0 type:kotlin.Function0<kotlin.Unit>
VALUE_PARAMETER name:value index:1 type:kotlin.Int
BLOCK_BODY
@@ -24,11 +27,13 @@ FILE fqName:<root> fileName:/lambdaInCAO.kt
BLOCK_BODY
VAR name:<unary> type:kotlin.Int [val]
CALL 'public final fun get (index: kotlin.Function0<kotlin.Unit>): kotlin.Int declared in <root>' type=kotlin.Int origin=null
$receiver: GET_VAR 'a: kotlin.Any declared in <root>.test3' type=kotlin.Any origin=null
index: FUN_EXPR type=kotlin.Function0<kotlin.Unit> origin=LAMBDA
FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> () returnType:kotlin.Unit
BLOCK_BODY
GET_OBJECT 'CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlin.Unit
CALL 'public final fun set (index: kotlin.Function0<kotlin.Unit>, value: kotlin.Int): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
$receiver: GET_VAR 'a: kotlin.Any declared in <root>.test3' type=kotlin.Any origin=null
index: FUN_EXPR type=kotlin.Function0<kotlin.Unit> origin=LAMBDA
FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> () returnType:kotlin.Unit
BLOCK_BODY