From 251f5c9032e82394be60e07b02036c60b110dd9d Mon Sep 17 00:00:00 2001 From: Vasily Levchenko Date: Fri, 26 Jul 2019 12:31:40 +0300 Subject: [PATCH] [kotlin compiler][update][TO DELETE] workaround over inliner's disability to process FUN_EXPR --- .../kotlin/backend/konan/lower/FunctionInlining.kt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/FunctionInlining.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/FunctionInlining.kt index bab43101a4c..ca460b70d11 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/FunctionInlining.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/FunctionInlining.kt @@ -14,6 +14,7 @@ import org.jetbrains.kotlin.backend.konan.Context import org.jetbrains.kotlin.backend.konan.descriptors.resolveFakeOverride import org.jetbrains.kotlin.backend.konan.ir.* import org.jetbrains.kotlin.config.languageVersionSettings +import org.jetbrains.kotlin.backend.common.lower.ProvisionalFunctionExpressionLowering import org.jetbrains.kotlin.descriptors.ValueDescriptor import org.jetbrains.kotlin.ir.IrElement import org.jetbrains.kotlin.ir.IrStatement @@ -52,7 +53,10 @@ internal class FunctionInlining(val context: Context) : IrElementTransformerVoid if (callee.isTypeOfIntrinsic()) return expression - val actualCallee = getFunctionDeclaration(callee.symbol) + /** + * HACK: it's temporary workaround over inliner's disability to work with IrFunctionExpression, should be removed. + */ + val actualCallee = getFunctionDeclaration(callee.symbol).transform(ProvisionalFunctionExpressionLowering(), null) as IrFunction val parent = allScopes.map { it.irElement }.filterIsInstance().lastOrNull()