Move FunctionInvokeDescriptor.BIG_ARITY to :core:compiler.common

This commit is contained in:
Dmitriy Novozhilov
2020-08-31 15:23:34 +03:00
parent bf4bf30b4a
commit 4d5f28d5c0
8 changed files with 26 additions and 18 deletions
@@ -0,0 +1,10 @@
/*
* Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
package org.jetbrains.kotlin.builtins.functions
object BuiltInFunctionArity {
const val BIG_ARITY = 23
}
@@ -10,8 +10,8 @@ import org.jetbrains.kotlin.builtins.KotlinBuiltIns
import org.jetbrains.kotlin.builtins.StandardNames
import org.jetbrains.kotlin.builtins.StandardNames.FqNames
import org.jetbrains.kotlin.builtins.PlatformToKotlinClassMap
import org.jetbrains.kotlin.builtins.functions.BuiltInFunctionArity
import org.jetbrains.kotlin.builtins.functions.FunctionClassKind
import org.jetbrains.kotlin.builtins.functions.FunctionInvokeDescriptor
import org.jetbrains.kotlin.descriptors.ClassDescriptor
import org.jetbrains.kotlin.name.*
import org.jetbrains.kotlin.resolve.DescriptorUtils
@@ -98,11 +98,11 @@ object JavaToKotlinClassMap : PlatformToKotlinClassMap {
)
}
for (i in 0 until FunctionInvokeDescriptor.BIG_ARITY) {
for (i in 0 until BuiltInFunctionArity.BIG_ARITY) {
add(ClassId.topLevel(FqName("kotlin.jvm.functions.Function$i")), StandardNames.getFunctionClassId(i))
addKotlinToJava(FqName(NUMBERED_K_FUNCTION_PREFIX + i), K_FUNCTION_CLASS_ID)
}
for (i in 0 until FunctionInvokeDescriptor.BIG_ARITY - 1) {
for (i in 0 until BuiltInFunctionArity.BIG_ARITY - 1) {
val kSuspendFunction = FunctionClassKind.KSuspendFunction
val kSuspendFun = kSuspendFunction.packageFqName.toString() + "." + kSuspendFunction.classNamePrefix
addKotlinToJava(FqName(kSuspendFun + i), K_FUNCTION_CLASS_ID)
@@ -166,7 +166,7 @@ object JavaToKotlinClassMap : PlatformToKotlinClassMap {
val arityString = kotlinFqName.asString().substringAfter(prefix, "")
if (arityString.isNotEmpty() && !arityString.startsWith('0')) {
val arity = arityString.toIntOrNull()
return arity != null && arity >= FunctionInvokeDescriptor.BIG_ARITY
return arity != null && arity >= BuiltInFunctionArity.BIG_ARITY
}
return false
}
@@ -60,7 +60,7 @@ class FunctionClassDescriptor(
@get:JvmName("hasBigArity")
val hasBigArity: Boolean
get() = arity >= FunctionInvokeDescriptor.BIG_ARITY
get() = arity >= BuiltInFunctionArity.BIG_ARITY
override fun getContainingDeclaration() = containingDeclaration
@@ -56,7 +56,7 @@ class FunctionInvokeDescriptor private constructor(
*/
@get:JvmName("hasBigArity")
val hasBigArity: Boolean
get() = valueParameters.size >= BIG_ARITY
get() = valueParameters.size >= BuiltInFunctionArity.BIG_ARITY
override fun doSubstitute(configuration: CopyConfiguration): FunctionDescriptor? {
val substituted = super.doSubstitute(configuration) as FunctionInvokeDescriptor? ?: return null
@@ -108,9 +108,6 @@ class FunctionInvokeDescriptor private constructor(
}
companion object Factory {
/** @see hasBigArity */
const val BIG_ARITY = 23
fun create(functionClass: FunctionClassDescriptor, isSuspend: Boolean): FunctionInvokeDescriptor {
val typeParameters = functionClass.declaredTypeParameters