JVM_IR: remove descriptor usage from IrTypeMapper
This commit is contained in:
+6
-10
@@ -8,6 +8,7 @@ package org.jetbrains.kotlin.backend.jvm.codegen
|
||||
import org.jetbrains.kotlin.backend.jvm.JvmBackendContext
|
||||
import org.jetbrains.kotlin.backend.jvm.JvmLoweredDeclarationOrigin
|
||||
import org.jetbrains.kotlin.builtins.functions.FunctionClassDescriptor
|
||||
import org.jetbrains.kotlin.builtins.functions.FunctionInvokeDescriptor
|
||||
import org.jetbrains.kotlin.codegen.AsmUtil
|
||||
import org.jetbrains.kotlin.codegen.JvmCodegenUtil
|
||||
import org.jetbrains.kotlin.codegen.signature.AsmTypeFactory
|
||||
@@ -237,16 +238,11 @@ class IrTypeMapper(private val context: JvmBackendContext) : KotlinTypeMapperBas
|
||||
val parameters = classifier.typeParameters.map(IrTypeParameter::symbol)
|
||||
val arguments = type.arguments
|
||||
|
||||
// TODO: get rid of descriptor here
|
||||
val classDescriptor = classifier.descriptor
|
||||
if (classDescriptor is FunctionClassDescriptor) {
|
||||
if (classDescriptor.hasBigArity ||
|
||||
classDescriptor.functionKind == FunctionClassDescriptor.Kind.KFunction ||
|
||||
classDescriptor.functionKind == FunctionClassDescriptor.Kind.KSuspendFunction
|
||||
) {
|
||||
writeGenericArguments(sw, listOf(arguments.last()), listOf(parameters.last()), mode)
|
||||
return
|
||||
}
|
||||
if ((classifier.symbol.isFunction() && arguments.size > FunctionInvokeDescriptor.BIG_ARITY)
|
||||
|| classifier.symbol.isKFunction() || classifier.symbol.isKSuspendFunction()
|
||||
) {
|
||||
writeGenericArguments(sw, listOf(arguments.last()), listOf(parameters.last()), mode)
|
||||
return
|
||||
}
|
||||
|
||||
writeGenericArguments(sw, arguments, parameters, mode)
|
||||
|
||||
Reference in New Issue
Block a user