Introduce IrFunctionExpression IR element

Use it to represent proper function expressions (lambdas and anonymous
functions).
This commit is contained in:
Dmitry Petrov
2019-07-15 10:42:50 +03:00
parent 022275b781
commit ed2b4a8bec
40 changed files with 131 additions and 133 deletions
@@ -16,12 +16,11 @@ FILE fqName:<root> fileName:/badBreakContinue.kt
condition: CONST Boolean type=kotlin.Boolean value=true
body: BLOCK type=kotlin.Unit origin=null
VAR name:lambda type:kotlin.Function0<kotlin.Nothing> [val]
BLOCK type=kotlin.Function0<kotlin.Nothing> origin=LAMBDA
FUN_EXPR type=kotlin.Function0<kotlin.Nothing>
FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> () returnType:kotlin.Nothing
BLOCK_BODY
ERROR_EXPR 'Loop not found for break expression: break@L1' type=kotlin.Nothing
ERROR_EXPR 'Loop not found for continue expression: continue@L1' type=kotlin.Nothing
FUNCTION_REFERENCE 'local final fun <anonymous> (): kotlin.Nothing declared in <root>.test3' type=kotlin.Function0<kotlin.Nothing> origin=LAMBDA
FUN name:test4 visibility:public modality:FINAL <> () returnType:kotlin.Unit
BLOCK_BODY
WHILE label=null origin=WHILE_LOOP