From 8d2ccb7bcd5211a91887bef27b5cd7194e58e9b9 Mon Sep 17 00:00:00 2001 From: Igor Chevdar Date: Mon, 19 Aug 2019 18:47:52 +0300 Subject: [PATCH] [IR] Taught inliner to work with inline suspend lambdas --- .../kotlin/backend/common/lower/inline/FunctionInlining.kt | 2 +- .../codegen/box/coroutines/inlineSuspendLambdaNonLocalReturn.kt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/inline/FunctionInlining.kt b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/inline/FunctionInlining.kt index 6c4b3efc5a8..3fc1b9309f6 100644 --- a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/inline/FunctionInlining.kt +++ b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/inline/FunctionInlining.kt @@ -275,7 +275,7 @@ class FunctionInlining(val context: CommonBackendContext) : IrElementTransformer //-------------------------------------------------------------------------// private fun IrValueParameter.isInlineParameter() = - !isNoinline && !type.isNullable() && type.isFunctionOrKFunction() + !isNoinline && !type.isNullable() && (type.isFunction() || type.isSuspendFunction()) private inner class ParameterToArgument( val parameter: IrValueParameter, diff --git a/compiler/testData/codegen/box/coroutines/inlineSuspendLambdaNonLocalReturn.kt b/compiler/testData/codegen/box/coroutines/inlineSuspendLambdaNonLocalReturn.kt index bc22bbc0706..ce73162181a 100644 --- a/compiler/testData/codegen/box/coroutines/inlineSuspendLambdaNonLocalReturn.kt +++ b/compiler/testData/codegen/box/coroutines/inlineSuspendLambdaNonLocalReturn.kt @@ -1,4 +1,4 @@ -// IGNORE_BACKEND: JVM_IR, JS_IR +// IGNORE_BACKEND: JVM_IR // WITH_RUNTIME // WITH_COROUTINES // COMMON_COROUTINES_TEST