af74fd047a
These changes allow us to accurately distinguish between statements and expressions in the IR. This also fixes the types of non-exhaustive conditional statements.
29 lines
1.9 KiB
Plaintext
Vendored
29 lines
1.9 KiB
Plaintext
Vendored
FILE fqName:<root> fileName:/tryCatch.kt
|
|
FUN name:test1 visibility:public modality:FINAL <> () returnType:kotlin.Unit
|
|
BLOCK_BODY
|
|
TRY type=kotlin.Unit
|
|
try: BLOCK type=kotlin.Unit origin=null
|
|
CALL 'public final fun println (): kotlin.Unit [inline] declared in kotlin.io' type=kotlin.Unit origin=null
|
|
CATCH parameter=val e: kotlin.Throwable [val] declared in <root>.test1
|
|
VAR CATCH_PARAMETER name:e type:kotlin.Throwable [val]
|
|
BLOCK type=kotlin.Unit origin=null
|
|
CALL 'public final fun println (): kotlin.Unit [inline] declared in kotlin.io' type=kotlin.Unit origin=null
|
|
finally: BLOCK type=kotlin.Unit origin=null
|
|
CALL 'public final fun println (): kotlin.Unit [inline] declared in kotlin.io' type=kotlin.Unit origin=null
|
|
FUN name:test2 visibility:public modality:FINAL <> () returnType:kotlin.Int
|
|
BLOCK_BODY
|
|
RETURN type=kotlin.Nothing from='public final fun test2 (): kotlin.Int declared in <root>'
|
|
TRY type=kotlin.Int
|
|
try: BLOCK type=kotlin.Int origin=null
|
|
CALL 'public final fun println (): kotlin.Unit [inline] declared in kotlin.io' type=kotlin.Unit origin=null
|
|
CONST Int type=kotlin.Int value=42
|
|
CATCH parameter=val e: kotlin.Throwable [val] declared in <root>.test2
|
|
VAR CATCH_PARAMETER name:e type:kotlin.Throwable [val]
|
|
BLOCK type=kotlin.Int origin=null
|
|
CALL 'public final fun println (): kotlin.Unit [inline] declared in kotlin.io' type=kotlin.Unit origin=null
|
|
CONST Int type=kotlin.Int value=24
|
|
finally: BLOCK type=kotlin.Unit origin=null
|
|
CALL 'public final fun println (): kotlin.Unit [inline] declared in kotlin.io' type=kotlin.Unit origin=null
|
|
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
|
CONST Int type=kotlin.Int value=555
|