From 91f818ba5a8d116196f1aa5bb8558d52f57c36f5 Mon Sep 17 00:00:00 2001 From: Ivan Kylchik Date: Wed, 7 Feb 2024 19:10:18 +0100 Subject: [PATCH] [IR] Transformed `InlineFunctionResolver` into abstract class #KT-64807 --- .../org/jetbrains/kotlin/ir/inline/FunctionInlining.kt | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/compiler/ir/ir.inline/src/org/jetbrains/kotlin/ir/inline/FunctionInlining.kt b/compiler/ir/ir.inline/src/org/jetbrains/kotlin/ir/inline/FunctionInlining.kt index 20a37a46aec..27255fde392 100644 --- a/compiler/ir/ir.inline/src/org/jetbrains/kotlin/ir/inline/FunctionInlining.kt +++ b/compiler/ir/ir.inline/src/org/jetbrains/kotlin/ir/inline/FunctionInlining.kt @@ -38,14 +38,14 @@ import org.jetbrains.kotlin.ir.visitors.* import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.util.OperatorNameConventions -interface InlineFunctionResolver { - fun getFunctionDeclaration(symbol: IrFunctionSymbol): IrFunction = symbol.owner - fun shouldExcludeFunctionFromInlining(symbol: IrFunctionSymbol): Boolean { +abstract class InlineFunctionResolver { + open fun getFunctionDeclaration(symbol: IrFunctionSymbol): IrFunction = symbol.owner + open fun shouldExcludeFunctionFromInlining(symbol: IrFunctionSymbol): Boolean { return Symbols.isLateinitIsInitializedPropertyGetter(symbol) || Symbols.isTypeOfIntrinsic(symbol) } companion object { - val TRIVIAL = object : InlineFunctionResolver {} + val TRIVIAL = object : InlineFunctionResolver() {} } } @@ -55,7 +55,7 @@ fun IrFunction.isBuiltInSuspendCoroutineUninterceptedOrReturn(): Boolean = StandardNames.COROUTINES_INTRINSICS_PACKAGE_FQ_NAME ) -open class InlineFunctionResolverReplacingCoroutineIntrinsics(open val context: CommonBackendContext) : InlineFunctionResolver { +open class InlineFunctionResolverReplacingCoroutineIntrinsics(open val context: CommonBackendContext) : InlineFunctionResolver() { override fun getFunctionDeclaration(symbol: IrFunctionSymbol): IrFunction { val function = symbol.owner // TODO: Remove these hacks when coroutine intrinsics are fixed.