From 7ccefebf1c5032519bdc2b2afa9c4ad996a77cd0 Mon Sep 17 00:00:00 2001 From: Dmitry Petrov Date: Mon, 28 Jun 2021 17:09:41 +0300 Subject: [PATCH] PSI2IR flatten more levels of indirection to avoid SOE in big exprs --- .../kotlin/psi2ir/generators/OperatorExpressionGenerator.kt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/OperatorExpressionGenerator.kt b/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/OperatorExpressionGenerator.kt index 9da6c50a61c..e630f22844b 100644 --- a/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/OperatorExpressionGenerator.kt +++ b/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/OperatorExpressionGenerator.kt @@ -524,7 +524,11 @@ class OperatorExpressionGenerator(statementGenerator: StatementGenerator) : Stat if (isDynamicBinaryOperator(expression)) generateDynamicBinaryExpression(expression) else - generateCall(getResolvedCall(expression)!!, expression, origin) + CallGenerator(statementGenerator) + .generateCall( + expression.startOffsetSkippingComments, expression.endOffset, + statementGenerator.pregenerateCall(getResolvedCall(expression)!!), origin + ) private fun generatePrefixOperatorAsCall(expression: KtPrefixExpression, origin: IrStatementOrigin): IrExpression { val resolvedCall = getResolvedCall(expression)!!