IR: mark parameters for captures of crossinline parameters

This commit is contained in:
pyos
2020-02-06 11:18:20 +01:00
committed by Ilmir Usmanov
parent 2bf50cc91a
commit 5acb3e14fb
3 changed files with 2 additions and 5 deletions
@@ -28,6 +28,7 @@ import org.jetbrains.kotlin.ir.descriptors.WrappedValueParameterDescriptor
import org.jetbrains.kotlin.ir.expressions.* import org.jetbrains.kotlin.ir.expressions.*
import org.jetbrains.kotlin.ir.expressions.impl.* import org.jetbrains.kotlin.ir.expressions.impl.*
import org.jetbrains.kotlin.ir.symbols.IrTypeParameterSymbol import org.jetbrains.kotlin.ir.symbols.IrTypeParameterSymbol
import org.jetbrains.kotlin.ir.symbols.IrValueParameterSymbol
import org.jetbrains.kotlin.ir.symbols.IrValueSymbol import org.jetbrains.kotlin.ir.symbols.IrValueSymbol
import org.jetbrains.kotlin.ir.symbols.impl.IrConstructorSymbolImpl import org.jetbrains.kotlin.ir.symbols.impl.IrConstructorSymbolImpl
import org.jetbrains.kotlin.ir.symbols.impl.IrFieldSymbolImpl import org.jetbrains.kotlin.ir.symbols.impl.IrFieldSymbolImpl
@@ -653,7 +654,7 @@ class LocalDeclarationsLowering(
i, i,
localFunctionContext.remapType(p.type), localFunctionContext.remapType(p.type),
null, null,
isCrossinline = false, isCrossinline = (capturedValue as? IrValueParameterSymbol)?.owner?.isCrossinline == true,
isNoinline = false isNoinline = false
).also { ).also {
parameterDescriptor.bind(it) parameterDescriptor.bind(it)
@@ -1,5 +1,3 @@
// IGNORE_BACKEND: JVM_IR
// IGNORE_BACKEND_MULTI_MODULE: JVM_IR
// COMMON_COROUTINES_TEST // COMMON_COROUTINES_TEST
// WITH_RUNTIME // WITH_RUNTIME
// WITH_COROUTINES // WITH_COROUTINES
@@ -1,5 +1,3 @@
// IGNORE_BACKEND: JVM_IR
// IGNORE_BACKEND_MULTI_MODULE: JVM_IR
// FILE: inlined.kt // FILE: inlined.kt
// COMMON_COROUTINES_TEST // COMMON_COROUTINES_TEST
// WITH_RUNTIME // WITH_RUNTIME