[IR] Move coroutine-related helpers to a more appropriate place
The `isBuiltInSuspendCoroutine` and `isBuiltInSuspendCoroutineUninterceptedOrReturn` helpers are not inherently related to function inlining.
This commit is contained in:
committed by
Space Team
parent
919abe483a
commit
acee8da283
@@ -18,7 +18,6 @@ import org.jetbrains.kotlin.backend.common.lower.LoweredStatementOrigins.INLINED
|
||||
import org.jetbrains.kotlin.backend.common.lower.LoweredStatementOrigins.INLINED_FUNCTION_REFERENCE
|
||||
import org.jetbrains.kotlin.backend.common.lower.at
|
||||
import org.jetbrains.kotlin.backend.common.lower.createIrBuilder
|
||||
import org.jetbrains.kotlin.builtins.StandardNames
|
||||
import org.jetbrains.kotlin.contracts.parsing.ContractsDslNames
|
||||
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
|
||||
import org.jetbrains.kotlin.ir.IrElement
|
||||
@@ -60,15 +59,6 @@ abstract class InlineFunctionResolver {
|
||||
}
|
||||
}
|
||||
|
||||
fun IrFunction.isBuiltInSuspendCoroutine(): Boolean =
|
||||
isTopLevelInPackage("suspendCoroutine", StandardNames.COROUTINES_PACKAGE_FQ_NAME)
|
||||
|
||||
fun IrFunction.isBuiltInSuspendCoroutineUninterceptedOrReturn(): Boolean =
|
||||
isTopLevelInPackage(
|
||||
"suspendCoroutineUninterceptedOrReturn",
|
||||
StandardNames.COROUTINES_INTRINSICS_PACKAGE_FQ_NAME
|
||||
)
|
||||
|
||||
open class InlineFunctionResolverReplacingCoroutineIntrinsics(open val context: CommonBackendContext) : InlineFunctionResolver() {
|
||||
override fun getFunctionDeclaration(symbol: IrFunctionSymbol): IrFunction? {
|
||||
val function = super.getFunctionDeclaration(symbol) ?: return null
|
||||
|
||||
Reference in New Issue
Block a user