From 9d1a8b2d58f14fba992960b3b95e21fe14de10d0 Mon Sep 17 00:00:00 2001 From: Anton Bannykh Date: Fri, 18 Jun 2021 14:37:57 +0300 Subject: [PATCH] IR: fill type parameters in inline class static method delegation call --- .../backend/common/lower/InlineClassDeclarationLowering.kt | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/InlineClassDeclarationLowering.kt b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/InlineClassDeclarationLowering.kt index 45066302933..f5632b8194f 100644 --- a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/InlineClassDeclarationLowering.kt +++ b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/InlineClassDeclarationLowering.kt @@ -17,6 +17,7 @@ import org.jetbrains.kotlin.ir.declarations.* import org.jetbrains.kotlin.ir.expressions.* import org.jetbrains.kotlin.ir.transformStatement import org.jetbrains.kotlin.ir.types.extractTypeParameters +import org.jetbrains.kotlin.ir.types.impl.IrSimpleTypeImpl import org.jetbrains.kotlin.ir.util.* import org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid import org.jetbrains.kotlin.ir.visitors.transformChildrenVoid @@ -279,6 +280,11 @@ class InlineClassLowering(val context: CommonBackendContext) { for ((index, valueParameter) in parameters.withIndex()) { putValueArgument(index, irGet(valueParameter)) } + + val typeParameters = extractTypeParameters(function.parentAsClass) + function.typeParameters + for ((index, typeParameter) in typeParameters.withIndex()) { + putTypeArgument(index, IrSimpleTypeImpl(typeParameter.symbol, false, emptyList(), emptyList())) + } } ) }.statements