diff --git a/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/BodyGenerator.kt b/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/BodyGenerator.kt index b6c7a741f08..9a4e58b7203 100644 --- a/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/BodyGenerator.kt +++ b/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/BodyGenerator.kt @@ -105,7 +105,12 @@ class BodyGenerator(val scopeOwner: DeclarationDescriptor, override val context: } } - private fun IrExpression.wrapWithReturn() = generateReturnExpression(startOffset, endOffset, this) + private fun IrExpression.wrapWithReturn() = + if (this is IrReturn || this is IrErrorExpression || this is IrThrow) + this + else { + generateReturnExpression(startOffset, endOffset, this) } + private fun generateReturnExpression(startOffset: Int, endOffset: Int, returnValue: IrExpression): IrReturnImpl { val returnTarget = (scopeOwner as? CallableDescriptor) ?: