Bug fix in recursive lambda inlining

This commit is contained in:
Konstantin Anisimov
2017-03-23 19:00:52 +07:00
committed by KonstantinAnisimov
parent 414a481fe3
commit 8661baabad
@@ -415,8 +415,11 @@ internal class FunctionInlining(val context: Context): IrElementTransformerVoid(
//---------------------------------------------------------------------//
override fun visitCall(expression: IrCall): IrExpression {
if (!isLambdaCall(expression)) return super.visitCall(expression) // If call it is not lambda call - do nothing.
return inlineLambda(expression)
val newExpression = super.visitCall(expression)
if (newExpression !is IrCall) return newExpression
if (!isLambdaCall(newExpression)) return newExpression // If call it is not lambda call - do nothing.
return inlineLambda(newExpression)
}
}
}