Bug fix in recursive lambda inlining
This commit is contained in:
committed by
KonstantinAnisimov
parent
414a481fe3
commit
8661baabad
+5
-2
@@ -415,8 +415,11 @@ internal class FunctionInlining(val context: Context): IrElementTransformerVoid(
|
|||||||
//---------------------------------------------------------------------//
|
//---------------------------------------------------------------------//
|
||||||
|
|
||||||
override fun visitCall(expression: IrCall): IrExpression {
|
override fun visitCall(expression: IrCall): IrExpression {
|
||||||
if (!isLambdaCall(expression)) return super.visitCall(expression) // If call it is not lambda call - do nothing.
|
val newExpression = super.visitCall(expression)
|
||||||
return inlineLambda(expression)
|
if (newExpression !is IrCall) return newExpression
|
||||||
|
|
||||||
|
if (!isLambdaCall(newExpression)) return newExpression // If call it is not lambda call - do nothing.
|
||||||
|
return inlineLambda(newExpression)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user