Move FunctionInvokeDescriptor.BIG_ARITY to :core:compiler.common
This commit is contained in:
+10
@@ -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
|
||||
}
|
||||
|
||||
+1
-1
@@ -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
|
||||
|
||||
|
||||
+1
-4
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user