From 8c7b23a8dd33ce62cdcbb045b9e751a397be2522 Mon Sep 17 00:00:00 2001 From: Jinseong Jeon Date: Sat, 26 Dec 2020 22:12:54 -0800 Subject: [PATCH] FIR Java/JVM: avoid plain "Array" comparison --- .../jetbrains/kotlin/fir/java/scopes/JavaOverrideChecker.kt | 2 +- .../org/jetbrains/kotlin/fir/scopes/jvm/DescriptorUtils.kt | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/scopes/JavaOverrideChecker.kt b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/scopes/JavaOverrideChecker.kt index 695154b9c85..d3dd4558737 100644 --- a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/scopes/JavaOverrideChecker.kt +++ b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/scopes/JavaOverrideChecker.kt @@ -39,7 +39,7 @@ class JavaOverrideChecker internal constructor( val candidateTypeClassId = candidateType.fullyExpandedType(session).lookupTag.classId.let { it.readOnlyToMutable() ?: it } val baseTypeClassId = baseType.fullyExpandedType(session).lookupTag.classId.let { it.readOnlyToMutable() ?: it } if (candidateTypeClassId != baseTypeClassId) return false - if (!candidateTypeClassId.shortClassName.isSpecial && candidateTypeClassId.shortClassName.identifier == "Array") { + if (candidateTypeClassId == StandardClassIds.Array) { assert(candidateType.typeArguments.size == 1) { "Array type with unexpected number of type arguments: $candidateType" } diff --git a/compiler/fir/jvm/src/org/jetbrains/kotlin/fir/scopes/jvm/DescriptorUtils.kt b/compiler/fir/jvm/src/org/jetbrains/kotlin/fir/scopes/jvm/DescriptorUtils.kt index f2f7b8fdc6c..3857ebc7a84 100644 --- a/compiler/fir/jvm/src/org/jetbrains/kotlin/fir/scopes/jvm/DescriptorUtils.kt +++ b/compiler/fir/jvm/src/org/jetbrains/kotlin/fir/scopes/jvm/DescriptorUtils.kt @@ -7,6 +7,7 @@ package org.jetbrains.kotlin.fir.scopes.jvm import org.jetbrains.kotlin.fir.declarations.FirFunction import org.jetbrains.kotlin.fir.declarations.FirSimpleFunction +import org.jetbrains.kotlin.fir.symbols.StandardClassIds import org.jetbrains.kotlin.fir.types.* import org.jetbrains.kotlin.fir.types.impl.FirImplicitAnyTypeRef import org.jetbrains.kotlin.fir.types.impl.FirImplicitNullableAnyTypeRef @@ -101,8 +102,7 @@ private fun StringBuilder.appendConeType(coneType: ConeKotlinType) { fun appendClassLikeType(type: ConeClassLikeType) { val classId = type.lookupTag.classId - if (classId.shortClassName.isSpecial) return - if (classId.shortClassName.identifier == "Array") { + if (classId == StandardClassIds.Array) { append("[") type.typeArguments.forEach { typeArg -> when (typeArg) {