backend: improve absent finally handling
This commit is contained in:
committed by
SvyatoslavScherbina
parent
96b30f574f
commit
b55b67ebe6
+7
-1
@@ -941,7 +941,13 @@ internal class CodeGeneratorVisitor(val context: Context) : IrElementVisitorVoid
|
|||||||
private fun genFinalizedBy(finalize: IrExpression?, type: KotlinType,
|
private fun genFinalizedBy(finalize: IrExpression?, type: KotlinType,
|
||||||
code: (ContinuationBlock) -> Unit): LLVMValueRef? {
|
code: (ContinuationBlock) -> Unit): LLVMValueRef? {
|
||||||
|
|
||||||
return genFinalizedBy({ evaluateExpression("", finalize) }, type, code)
|
val finalizeFun: (() -> Unit)? = if (finalize == null) {
|
||||||
|
null
|
||||||
|
} else {
|
||||||
|
{ evaluateExpression("", finalize) }
|
||||||
|
}
|
||||||
|
|
||||||
|
return genFinalizedBy(finalizeFun, type, code)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun KotlinType.isUnitOrNothing() = isUnit() || isNothing()
|
private fun KotlinType.isUnitOrNothing() = isUnit() || isNothing()
|
||||||
|
|||||||
Reference in New Issue
Block a user