backend: improve absent finally handling

This commit is contained in:
Svyatoslav Scherbina
2016-12-01 13:43:54 +07:00
committed by SvyatoslavScherbina
parent 96b30f574f
commit b55b67ebe6
@@ -941,7 +941,13 @@ internal class CodeGeneratorVisitor(val context: Context) : IrElementVisitorVoid
private fun genFinalizedBy(finalize: IrExpression?, type: KotlinType,
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()