Move FunctionInvokeDescriptor.BIG_ARITY to :core:compiler.common
This commit is contained in:
+3
-3
@@ -7,7 +7,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.FunctionInvokeDescriptor
|
||||
import org.jetbrains.kotlin.builtins.functions.BuiltInFunctionArity
|
||||
import org.jetbrains.kotlin.codegen.AsmUtil
|
||||
import org.jetbrains.kotlin.codegen.JvmCodegenUtil
|
||||
import org.jetbrains.kotlin.codegen.signature.AsmTypeFactory
|
||||
@@ -240,7 +240,7 @@ class IrTypeMapper(private val context: JvmBackendContext) : KotlinTypeMapperBas
|
||||
val parameters = classifier.typeParameters.map(IrTypeParameter::symbol)
|
||||
val arguments = type.arguments
|
||||
|
||||
if ((classifier.symbol.isFunction() && arguments.size > FunctionInvokeDescriptor.BIG_ARITY)
|
||||
if ((classifier.symbol.isFunction() && arguments.size > BuiltInFunctionArity.BIG_ARITY)
|
||||
|| classifier.symbol.isKFunction() || classifier.symbol.isKSuspendFunction()
|
||||
) {
|
||||
writeGenericArguments(sw, listOf(arguments.last()), listOf(parameters.last()), mode)
|
||||
@@ -263,4 +263,4 @@ class IrTypeMapper(private val context: JvmBackendContext) : KotlinTypeMapperBas
|
||||
|
||||
private fun boxTypeIfNeeded(possiblyPrimitiveType: Type, needBoxedType: Boolean): Type =
|
||||
if (needBoxedType) AsmUtil.boxType(possiblyPrimitiveType) else possiblyPrimitiveType
|
||||
}
|
||||
}
|
||||
|
||||
+3
-3
@@ -16,7 +16,7 @@ import org.jetbrains.kotlin.backend.jvm.JvmBackendContext
|
||||
import org.jetbrains.kotlin.backend.jvm.ir.createJvmIrBuilder
|
||||
import org.jetbrains.kotlin.backend.jvm.ir.irArray
|
||||
import org.jetbrains.kotlin.builtins.StandardNames
|
||||
import org.jetbrains.kotlin.builtins.functions.FunctionInvokeDescriptor
|
||||
import org.jetbrains.kotlin.builtins.functions.BuiltInFunctionArity
|
||||
import org.jetbrains.kotlin.descriptors.Modality
|
||||
import org.jetbrains.kotlin.descriptors.Visibilities
|
||||
import org.jetbrains.kotlin.ir.IrStatement
|
||||
@@ -47,7 +47,7 @@ private class FunctionNVarargBridgeLowering(val context: JvmBackendContext) :
|
||||
|
||||
// Change calls to big arity invoke functions to vararg calls.
|
||||
override fun visitFunctionAccess(expression: IrFunctionAccessExpression): IrExpression {
|
||||
if (expression.valueArgumentsCount < FunctionInvokeDescriptor.BIG_ARITY ||
|
||||
if (expression.valueArgumentsCount < BuiltInFunctionArity.BIG_ARITY ||
|
||||
!(expression.symbol.owner.parentAsClass.defaultType.isFunctionOrKFunction() ||
|
||||
expression.symbol.owner.parentAsClass.defaultType.isSuspendFunctionOrKFunction()) ||
|
||||
expression.symbol.owner.name.asString() != "invoke"
|
||||
@@ -69,7 +69,7 @@ private class FunctionNVarargBridgeLowering(val context: JvmBackendContext) :
|
||||
|
||||
override fun visitClassNew(declaration: IrClass): IrStatement {
|
||||
val bigArityFunctionSuperTypes = declaration.superTypes.filterIsInstance<IrSimpleType>().filter {
|
||||
it.isFunctionType && it.arguments.size > FunctionInvokeDescriptor.BIG_ARITY
|
||||
it.isFunctionType && it.arguments.size > BuiltInFunctionArity.BIG_ARITY
|
||||
}
|
||||
|
||||
if (bigArityFunctionSuperTypes.isEmpty())
|
||||
|
||||
Reference in New Issue
Block a user