Move util functions from KotlinBuiltIns to :core:descriptors.common module
This commit is contained in:
+3
-3
@@ -5,7 +5,7 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.fir.resolve.providers.impl
|
package org.jetbrains.kotlin.fir.resolve.providers.impl
|
||||||
|
|
||||||
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
import org.jetbrains.kotlin.builtins.KotlinBuiltInsNames
|
||||||
import org.jetbrains.kotlin.fir.FirSession
|
import org.jetbrains.kotlin.fir.FirSession
|
||||||
import org.jetbrains.kotlin.fir.diagnostics.ConeIntermediateDiagnostic
|
import org.jetbrains.kotlin.fir.diagnostics.ConeIntermediateDiagnostic
|
||||||
import org.jetbrains.kotlin.fir.diagnostics.ConeSimpleDiagnostic
|
import org.jetbrains.kotlin.fir.diagnostics.ConeSimpleDiagnostic
|
||||||
@@ -148,9 +148,9 @@ class FirTypeResolverImpl(private val session: FirSession) : FirTypeResolver {
|
|||||||
typeRef.valueParameters.map { it.returnTypeRef.coneType } +
|
typeRef.valueParameters.map { it.returnTypeRef.coneType } +
|
||||||
listOf(typeRef.returnTypeRef.coneType)
|
listOf(typeRef.returnTypeRef.coneType)
|
||||||
val classId = if (typeRef.isSuspend) {
|
val classId = if (typeRef.isSuspend) {
|
||||||
KotlinBuiltIns.getSuspendFunctionClassId(typeRef.parametersCount)
|
KotlinBuiltInsNames.getSuspendFunctionClassId(typeRef.parametersCount)
|
||||||
} else {
|
} else {
|
||||||
KotlinBuiltIns.getFunctionClassId(typeRef.parametersCount)
|
KotlinBuiltInsNames.getFunctionClassId(typeRef.parametersCount)
|
||||||
}
|
}
|
||||||
val attributes = typeRef.annotations.computeTypeAttributes()
|
val attributes = typeRef.annotations.computeTypeAttributes()
|
||||||
return ConeClassLikeTypeImpl(
|
return ConeClassLikeTypeImpl(
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.ir.interpreter
|
package org.jetbrains.kotlin.ir.interpreter
|
||||||
|
|
||||||
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
import org.jetbrains.kotlin.builtins.KotlinBuiltInsNames
|
||||||
import org.jetbrains.kotlin.descriptors.ClassKind
|
import org.jetbrains.kotlin.descriptors.ClassKind
|
||||||
import org.jetbrains.kotlin.ir.interpreter.builtins.evaluateIntrinsicAnnotation
|
import org.jetbrains.kotlin.ir.interpreter.builtins.evaluateIntrinsicAnnotation
|
||||||
import org.jetbrains.kotlin.ir.interpreter.stack.Variable
|
import org.jetbrains.kotlin.ir.interpreter.stack.Variable
|
||||||
@@ -207,7 +207,7 @@ internal fun IrFunction.getCapitalizedFileName() = this.file.name.replace(".kt",
|
|||||||
internal fun IrType.isUnsigned() = this.isUByte() || this.isUShort() || this.isUInt() || this.isULong()
|
internal fun IrType.isUnsigned() = this.isUByte() || this.isUShort() || this.isUInt() || this.isULong()
|
||||||
|
|
||||||
internal fun IrType.isPrimitiveArray(): Boolean {
|
internal fun IrType.isPrimitiveArray(): Boolean {
|
||||||
return this.getClass()?.fqNameWhenAvailable?.toUnsafe()?.let { KotlinBuiltIns.isPrimitiveArray(it) } ?: false
|
return this.getClass()?.fqNameWhenAvailable?.toUnsafe()?.let { KotlinBuiltInsNames.isPrimitiveArray(it) } ?: false
|
||||||
}
|
}
|
||||||
|
|
||||||
internal fun IrType.isFunction() = this.getClass()?.fqNameWhenAvailable?.asString()?.startsWith("kotlin.Function") ?: false
|
internal fun IrType.isFunction() = this.getClass()?.fqNameWhenAvailable?.asString()?.startsWith("kotlin.Function") ?: false
|
||||||
@@ -229,4 +229,4 @@ fun IrClass.internalName(): String {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
return internalName.toString()
|
return internalName.toString()
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,6 +5,8 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.builtins
|
package org.jetbrains.kotlin.builtins
|
||||||
|
|
||||||
|
import org.jetbrains.kotlin.builtins.KotlinBuiltInsNames.FqNames.reflect
|
||||||
|
import org.jetbrains.kotlin.builtins.functions.FunctionClassKind
|
||||||
import org.jetbrains.kotlin.name.ClassId
|
import org.jetbrains.kotlin.name.ClassId
|
||||||
import org.jetbrains.kotlin.name.FqName
|
import org.jetbrains.kotlin.name.FqName
|
||||||
import org.jetbrains.kotlin.name.FqNameUnsafe
|
import org.jetbrains.kotlin.name.FqNameUnsafe
|
||||||
@@ -205,4 +207,39 @@ object KotlinBuiltInsNames {
|
|||||||
return ANNOTATION_PACKAGE_FQ_NAME.child(Name.identifier(simpleName))
|
return ANNOTATION_PACKAGE_FQ_NAME.child(Name.identifier(simpleName))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@JvmStatic
|
||||||
|
fun getFunctionName(parameterCount: Int): String {
|
||||||
|
return "Function$parameterCount"
|
||||||
|
}
|
||||||
|
|
||||||
|
@JvmStatic
|
||||||
|
fun getKFunctionFqName(parameterCount: Int): FqNameUnsafe {
|
||||||
|
return reflect(FunctionClassKind.KFunction.classNamePrefix + parameterCount)
|
||||||
|
}
|
||||||
|
|
||||||
|
@JvmStatic
|
||||||
|
fun getFunctionClassId(parameterCount: Int): ClassId {
|
||||||
|
return ClassId(BUILT_INS_PACKAGE_FQ_NAME, Name.identifier(getFunctionName(parameterCount)))
|
||||||
|
}
|
||||||
|
|
||||||
|
@JvmStatic
|
||||||
|
fun getSuspendFunctionName(parameterCount: Int): String {
|
||||||
|
return FunctionClassKind.SuspendFunction.classNamePrefix + parameterCount
|
||||||
|
}
|
||||||
|
|
||||||
|
@JvmStatic
|
||||||
|
fun getSuspendFunctionClassId(parameterCount: Int): ClassId {
|
||||||
|
return ClassId(COROUTINES_PACKAGE_FQ_NAME_RELEASE, Name.identifier(getSuspendFunctionName(parameterCount)))
|
||||||
|
}
|
||||||
|
|
||||||
|
@JvmStatic
|
||||||
|
fun isPrimitiveArray(arrayFqName: FqNameUnsafe): Boolean {
|
||||||
|
return FqNames.arrayClassFqNameToPrimitiveType.get(arrayFqName) != null
|
||||||
|
}
|
||||||
|
|
||||||
|
@JvmStatic
|
||||||
|
fun getPrimitiveFqName(primitiveType: PrimitiveType): FqName {
|
||||||
|
return BUILT_INS_PACKAGE_FQ_NAME.child(primitiveType.typeName)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ package org.jetbrains.kotlin.builtins.jvm
|
|||||||
|
|
||||||
import org.jetbrains.kotlin.builtins.CompanionObjectMapping
|
import org.jetbrains.kotlin.builtins.CompanionObjectMapping
|
||||||
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
||||||
|
import org.jetbrains.kotlin.builtins.KotlinBuiltInsNames
|
||||||
import org.jetbrains.kotlin.builtins.KotlinBuiltInsNames.FqNames
|
import org.jetbrains.kotlin.builtins.KotlinBuiltInsNames.FqNames
|
||||||
import org.jetbrains.kotlin.builtins.PlatformToKotlinClassMap
|
import org.jetbrains.kotlin.builtins.PlatformToKotlinClassMap
|
||||||
import org.jetbrains.kotlin.builtins.functions.FunctionClassKind
|
import org.jetbrains.kotlin.builtins.functions.FunctionClassKind
|
||||||
@@ -86,7 +87,7 @@ object JavaToKotlinClassMap : PlatformToKotlinClassMap {
|
|||||||
for (jvmType in JvmPrimitiveType.values()) {
|
for (jvmType in JvmPrimitiveType.values()) {
|
||||||
add(
|
add(
|
||||||
ClassId.topLevel(jvmType.wrapperFqName),
|
ClassId.topLevel(jvmType.wrapperFqName),
|
||||||
ClassId.topLevel(KotlinBuiltIns.getPrimitiveFqName(jvmType.primitiveType))
|
ClassId.topLevel(KotlinBuiltInsNames.getPrimitiveFqName(jvmType.primitiveType))
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -98,7 +99,7 @@ object JavaToKotlinClassMap : PlatformToKotlinClassMap {
|
|||||||
}
|
}
|
||||||
|
|
||||||
for (i in 0 until FunctionInvokeDescriptor.BIG_ARITY) {
|
for (i in 0 until FunctionInvokeDescriptor.BIG_ARITY) {
|
||||||
add(ClassId.topLevel(FqName("kotlin.jvm.functions.Function$i")), KotlinBuiltIns.getFunctionClassId(i))
|
add(ClassId.topLevel(FqName("kotlin.jvm.functions.Function$i")), KotlinBuiltInsNames.getFunctionClassId(i))
|
||||||
addKotlinToJava(FqName(NUMBERED_K_FUNCTION_PREFIX + i), K_FUNCTION_CLASS_ID)
|
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 FunctionInvokeDescriptor.BIG_ARITY - 1) {
|
||||||
@@ -132,7 +133,7 @@ object JavaToKotlinClassMap : PlatformToKotlinClassMap {
|
|||||||
|
|
||||||
fun mapJavaToKotlin(fqName: FqName, builtIns: KotlinBuiltIns, functionTypeArity: Int? = null): ClassDescriptor? {
|
fun mapJavaToKotlin(fqName: FqName, builtIns: KotlinBuiltIns, functionTypeArity: Int? = null): ClassDescriptor? {
|
||||||
val kotlinClassId =
|
val kotlinClassId =
|
||||||
if (functionTypeArity != null && fqName == FUNCTION_N_FQ_NAME) KotlinBuiltIns.getFunctionClassId(functionTypeArity)
|
if (functionTypeArity != null && fqName == FUNCTION_N_FQ_NAME) KotlinBuiltInsNames.getFunctionClassId(functionTypeArity)
|
||||||
else mapJavaToKotlin(fqName)
|
else mapJavaToKotlin(fqName)
|
||||||
return if (kotlinClassId != null) builtIns.getBuiltInClassByFqName(kotlinClassId.asSingleFqName()) else null
|
return if (kotlinClassId != null) builtIns.getBuiltInClassByFqName(kotlinClassId.asSingleFqName()) else null
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -339,7 +339,7 @@ open class JvmBuiltInsSettings(
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun isArrayOrPrimitiveArray(fqName: FqNameUnsafe): Boolean {
|
private fun isArrayOrPrimitiveArray(fqName: FqNameUnsafe): Boolean {
|
||||||
return fqName == KotlinBuiltInsNames.FqNames.array || KotlinBuiltIns.isPrimitiveArray(fqName)
|
return fqName == KotlinBuiltInsNames.FqNames.array || KotlinBuiltInsNames.isPrimitiveArray(fqName)
|
||||||
}
|
}
|
||||||
|
|
||||||
val DROP_LIST_METHOD_SIGNATURES: Set<String> =
|
val DROP_LIST_METHOD_SIGNATURES: Set<String> =
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ import java.util.*
|
|||||||
|
|
||||||
object CompanionObjectMapping {
|
object CompanionObjectMapping {
|
||||||
private val classIds =
|
private val classIds =
|
||||||
(PrimitiveType.NUMBER_TYPES.map(KotlinBuiltIns::getPrimitiveFqName) +
|
(PrimitiveType.NUMBER_TYPES.map(KotlinBuiltInsNames::getPrimitiveFqName) +
|
||||||
KotlinBuiltInsNames.FqNames.string.toSafe() +
|
KotlinBuiltInsNames.FqNames.string.toSafe() +
|
||||||
KotlinBuiltInsNames.FqNames._boolean.toSafe() +
|
KotlinBuiltInsNames.FqNames._boolean.toSafe() +
|
||||||
KotlinBuiltInsNames.FqNames._enum.toSafe()).mapTo(linkedSetOf<ClassId>(), ClassId::topLevel)
|
KotlinBuiltInsNames.FqNames._enum.toSafe()).mapTo(linkedSetOf<ClassId>(), ClassId::topLevel)
|
||||||
|
|||||||
@@ -288,36 +288,11 @@ public abstract class KotlinBuiltIns {
|
|||||||
return getBuiltInClassByName("Unit");
|
return getBuiltInClassByName("Unit");
|
||||||
}
|
}
|
||||||
|
|
||||||
@NotNull
|
|
||||||
public static String getFunctionName(int parameterCount) {
|
|
||||||
return "Function" + parameterCount;
|
|
||||||
}
|
|
||||||
|
|
||||||
@NotNull
|
|
||||||
private static FqNameUnsafe getKFunctionFqName(int parameterCount) {
|
|
||||||
return FqNames.reflect(FunctionClassKind.KFunction.getClassNamePrefix() + parameterCount);
|
|
||||||
}
|
|
||||||
|
|
||||||
@NotNull
|
|
||||||
public static ClassId getFunctionClassId(int parameterCount) {
|
|
||||||
return new ClassId(BUILT_INS_PACKAGE_FQ_NAME, Name.identifier(getFunctionName(parameterCount)));
|
|
||||||
}
|
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
public ClassDescriptor getFunction(int parameterCount) {
|
public ClassDescriptor getFunction(int parameterCount) {
|
||||||
return getBuiltInClassByName(getFunctionName(parameterCount));
|
return getBuiltInClassByName(getFunctionName(parameterCount));
|
||||||
}
|
}
|
||||||
|
|
||||||
@NotNull
|
|
||||||
public static String getSuspendFunctionName(int parameterCount) {
|
|
||||||
return FunctionClassKind.SuspendFunction.getClassNamePrefix() + parameterCount;
|
|
||||||
}
|
|
||||||
|
|
||||||
@NotNull
|
|
||||||
public static ClassId getSuspendFunctionClassId(int parameterCount) {
|
|
||||||
return new ClassId(COROUTINES_PACKAGE_FQ_NAME_RELEASE, Name.identifier(getSuspendFunctionName(parameterCount)));
|
|
||||||
}
|
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
public ClassDescriptor getSuspendFunction(int parameterCount) {
|
public ClassDescriptor getSuspendFunction(int parameterCount) {
|
||||||
return getBuiltInClassByFqName(COROUTINES_PACKAGE_FQ_NAME_RELEASE.child(Name.identifier(getSuspendFunctionName(parameterCount))));
|
return getBuiltInClassByFqName(COROUTINES_PACKAGE_FQ_NAME_RELEASE.child(Name.identifier(getSuspendFunctionName(parameterCount))));
|
||||||
@@ -663,10 +638,6 @@ public abstract class KotlinBuiltIns {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean isPrimitiveArray(@NotNull FqNameUnsafe arrayFqName) {
|
|
||||||
return FqNames.arrayClassFqNameToPrimitiveType.get(arrayFqName) != null;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
public static PrimitiveType getPrimitiveType(@NotNull DeclarationDescriptor descriptor) {
|
public static PrimitiveType getPrimitiveType(@NotNull DeclarationDescriptor descriptor) {
|
||||||
return FqNames.primitiveTypeShortNames.contains(descriptor.getName())
|
return FqNames.primitiveTypeShortNames.contains(descriptor.getName())
|
||||||
@@ -985,8 +956,4 @@ public abstract class KotlinBuiltIns {
|
|||||||
public static boolean isNotNullOrNullableFunctionSupertype(@NotNull KotlinType type) {
|
public static boolean isNotNullOrNullableFunctionSupertype(@NotNull KotlinType type) {
|
||||||
return isConstructedFromGivenClass(type, FqNames.functionSupertype);
|
return isConstructedFromGivenClass(type, FqNames.functionSupertype);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static FqName getPrimitiveFqName(@NotNull PrimitiveType primitiveType) {
|
|
||||||
return BUILT_INS_PACKAGE_FQ_NAME.child(primitiveType.getTypeName());
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-1
@@ -24,6 +24,7 @@ import com.intellij.util.containers.ContainerUtil;
|
|||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
import org.jetbrains.kotlin.builtins.KotlinBuiltIns;
|
import org.jetbrains.kotlin.builtins.KotlinBuiltIns;
|
||||||
|
import org.jetbrains.kotlin.builtins.KotlinBuiltInsNames;
|
||||||
import org.jetbrains.kotlin.descriptors.CallableDescriptor;
|
import org.jetbrains.kotlin.descriptors.CallableDescriptor;
|
||||||
import org.jetbrains.kotlin.descriptors.ReceiverParameterDescriptor;
|
import org.jetbrains.kotlin.descriptors.ReceiverParameterDescriptor;
|
||||||
import org.jetbrains.kotlin.descriptors.TypeParameterDescriptor;
|
import org.jetbrains.kotlin.descriptors.TypeParameterDescriptor;
|
||||||
@@ -74,7 +75,7 @@ public class MemberMatching {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String visitFunctionType(@NotNull KtFunctionType type, Void data) {
|
public String visitFunctionType(@NotNull KtFunctionType type, Void data) {
|
||||||
return KotlinBuiltIns.getFunctionName(type.getParameters().size() + (type.getReceiverTypeReference() != null ? 1 : 0));
|
return KotlinBuiltInsNames.getFunctionName(type.getParameters().size() + (type.getReceiverTypeReference() != null ? 1 : 0));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -232,7 +232,7 @@ private fun PropertyDescriptor.formatReadFromParcel(parcelName: String): String?
|
|||||||
fun KotlinType.formatJavaClassloader() = "${this.constructor.declarationDescriptor?.fqNameSafe}::class.java.classLoader"
|
fun KotlinType.formatJavaClassloader() = "${this.constructor.declarationDescriptor?.fqNameSafe}::class.java.classLoader"
|
||||||
|
|
||||||
// There is no read/write short array methods
|
// There is no read/write short array methods
|
||||||
if (KotlinBuiltIns.isPrimitiveArray(type) && KotlinBuiltIns.getPrimitiveArrayElementType(type) != PrimitiveType.SHORT) {
|
if (KotlinBuiltInsNames.isPrimitiveArray(type) && KotlinBuiltIns.getPrimitiveArrayElementType(type) != PrimitiveType.SHORT) {
|
||||||
return "$parcelName.create${type.getName()}()"
|
return "$parcelName.create${type.getName()}()"
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -271,7 +271,7 @@ private fun PropertyDescriptor.formatWriteToParcel(parcelName: String, flagsName
|
|||||||
val type = returnType ?: return null
|
val type = returnType ?: return null
|
||||||
|
|
||||||
// There is no read/write short array methods
|
// There is no read/write short array methods
|
||||||
if (KotlinBuiltIns.isPrimitiveArray(type) && KotlinBuiltIns.getPrimitiveArrayElementType(type) != PrimitiveType.SHORT) {
|
if (KotlinBuiltInsNames.isPrimitiveArray(type) && KotlinBuiltIns.getPrimitiveArrayElementType(type) != PrimitiveType.SHORT) {
|
||||||
return "$parcelName.write${type.getName()}($name)"
|
return "$parcelName.write${type.getName()}($name)"
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -450,4 +450,4 @@ private fun KotlinType.isSparseBooleanArray(): Boolean = fqNameEquals("android.u
|
|||||||
|
|
||||||
private fun KotlinType.isBundle(): Boolean = fqNameEquals("android.os.Bundle")
|
private fun KotlinType.isBundle(): Boolean = fqNameEquals("android.os.Bundle")
|
||||||
|
|
||||||
private fun <T : KtDeclaration> T.addNewLineBeforeDeclaration() = parent.addBefore(KtPsiFactory(this).createNewLine(), this)
|
private fun <T : KtDeclaration> T.addNewLineBeforeDeclaration() = parent.addBefore(KtPsiFactory(this).createNewLine(), this)
|
||||||
|
|||||||
+3
-2
@@ -7,6 +7,7 @@ package org.jetbrains.kotlin.idea.fir
|
|||||||
|
|
||||||
import org.jetbrains.annotations.TestOnly
|
import org.jetbrains.annotations.TestOnly
|
||||||
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
||||||
|
import org.jetbrains.kotlin.builtins.KotlinBuiltInsNames
|
||||||
import org.jetbrains.kotlin.fir.FirSession
|
import org.jetbrains.kotlin.fir.FirSession
|
||||||
import org.jetbrains.kotlin.fir.builder.RawFirBuilder
|
import org.jetbrains.kotlin.fir.builder.RawFirBuilder
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirClass
|
import org.jetbrains.kotlin.fir.declarations.FirClass
|
||||||
@@ -69,9 +70,9 @@ object KtDeclarationAndFirDeclarationEqualityChecker {
|
|||||||
}
|
}
|
||||||
is FirFunctionTypeRef -> {
|
is FirFunctionTypeRef -> {
|
||||||
val classId = if (isSuspend) {
|
val classId = if (isSuspend) {
|
||||||
KotlinBuiltIns.getSuspendFunctionClassId(parametersCount)
|
KotlinBuiltInsNames.getSuspendFunctionClassId(parametersCount)
|
||||||
} else {
|
} else {
|
||||||
KotlinBuiltIns.getFunctionClassId(parametersCount)
|
KotlinBuiltInsNames.getFunctionClassId(parametersCount)
|
||||||
}
|
}
|
||||||
buildString {
|
buildString {
|
||||||
append(classId.asSingleFqName().toString())
|
append(classId.asSingleFqName().toString())
|
||||||
|
|||||||
+7
-5
@@ -5,9 +5,11 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.idea.frontend.api.fir.components
|
package org.jetbrains.kotlin.idea.frontend.api.fir.components
|
||||||
|
|
||||||
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
import org.jetbrains.kotlin.builtins.KotlinBuiltInsNames
|
||||||
import org.jetbrains.kotlin.fir.declarations.isSuspend
|
import org.jetbrains.kotlin.fir.declarations.isSuspend
|
||||||
import org.jetbrains.kotlin.fir.expressions.*
|
import org.jetbrains.kotlin.fir.expressions.FirFunctionCall
|
||||||
|
import org.jetbrains.kotlin.fir.expressions.FirQualifiedAccessExpression
|
||||||
|
import org.jetbrains.kotlin.fir.expressions.FirSafeCallExpression
|
||||||
import org.jetbrains.kotlin.fir.references.FirResolvedNamedReference
|
import org.jetbrains.kotlin.fir.references.FirResolvedNamedReference
|
||||||
import org.jetbrains.kotlin.fir.symbols.CallableId
|
import org.jetbrains.kotlin.fir.symbols.CallableId
|
||||||
import org.jetbrains.kotlin.fir.symbols.impl.FirConstructorSymbol
|
import org.jetbrains.kotlin.fir.symbols.impl.FirConstructorSymbol
|
||||||
@@ -86,9 +88,9 @@ internal class KtFirCallResolver(
|
|||||||
companion object {
|
companion object {
|
||||||
private val kotlinFunctionInvokeCallableIds = (0..23).flatMapTo(hashSetOf()) { arity ->
|
private val kotlinFunctionInvokeCallableIds = (0..23).flatMapTo(hashSetOf()) { arity ->
|
||||||
listOf(
|
listOf(
|
||||||
CallableId(KotlinBuiltIns.getFunctionClassId(arity), Name.identifier("invoke")),
|
CallableId(KotlinBuiltInsNames.getFunctionClassId(arity), Name.identifier("invoke")),
|
||||||
CallableId(KotlinBuiltIns.getSuspendFunctionClassId(arity), Name.identifier("invoke"))
|
CallableId(KotlinBuiltInsNames.getSuspendFunctionClassId(arity), Name.identifier("invoke"))
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -453,7 +453,7 @@ public final class TranslationUtils {
|
|||||||
FqNameUnsafe containingClassName = DescriptorUtilsKt.getFqNameUnsafe(containingClass);
|
FqNameUnsafe containingClassName = DescriptorUtilsKt.getFqNameUnsafe(containingClass);
|
||||||
if (!CLASSES_WITH_NON_BOXED_CHARS.contains(containingClassName) &&
|
if (!CLASSES_WITH_NON_BOXED_CHARS.contains(containingClassName) &&
|
||||||
!KotlinBuiltIns.isPrimitiveType(containingClass.getDefaultType()) &&
|
!KotlinBuiltIns.isPrimitiveType(containingClass.getDefaultType()) &&
|
||||||
!KotlinBuiltIns.isPrimitiveArray(containingClassName)
|
!KotlinBuiltInsNames.isPrimitiveArray(containingClassName)
|
||||||
) {
|
) {
|
||||||
return getAnyTypeFromSameModule(descriptor);
|
return getAnyTypeFromSameModule(descriptor);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user