IR: fill type parameters in inline class static method delegation call
This commit is contained in:
committed by
TeamCityServer
parent
61a08be6b4
commit
9d1a8b2d58
+6
@@ -17,6 +17,7 @@ import org.jetbrains.kotlin.ir.declarations.*
|
|||||||
import org.jetbrains.kotlin.ir.expressions.*
|
import org.jetbrains.kotlin.ir.expressions.*
|
||||||
import org.jetbrains.kotlin.ir.transformStatement
|
import org.jetbrains.kotlin.ir.transformStatement
|
||||||
import org.jetbrains.kotlin.ir.types.extractTypeParameters
|
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.util.*
|
||||||
import org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid
|
import org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid
|
||||||
import org.jetbrains.kotlin.ir.visitors.transformChildrenVoid
|
import org.jetbrains.kotlin.ir.visitors.transformChildrenVoid
|
||||||
@@ -279,6 +280,11 @@ class InlineClassLowering(val context: CommonBackendContext) {
|
|||||||
for ((index, valueParameter) in parameters.withIndex()) {
|
for ((index, valueParameter) in parameters.withIndex()) {
|
||||||
putValueArgument(index, irGet(valueParameter))
|
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
|
}.statements
|
||||||
|
|||||||
Reference in New Issue
Block a user