From ba997905d907ce2c0e35d0d99aab688feba2f788 Mon Sep 17 00:00:00 2001 From: "sebastian.sellmair" Date: Thu, 16 Sep 2021 14:34:18 +0200 Subject: [PATCH] [Commonizer] Remove CirClassType.visibility ^KT-48288 --- .../kotlin/commonizer/cir/CirConversions.kt | 2 -- .../kotlin/commonizer/cir/CirStandardTypes.kt | 2 -- .../kotlin/commonizer/cir/CirType.kt | 24 +++---------------- .../jetbrains/kotlin/commonizer/cir/utils.kt | 2 -- .../commonizer/core/AnnotationsCommonizer.kt | 4 +--- .../core/ClassOrTypeAliasTypeCommonizer.kt | 4 ---- .../commonizer/core/TypeAliasCommonizer.kt | 2 -- .../commonizer/metadata/CirDeserializers.kt | 4 ---- .../metadata/CirTypeAliasExpander.kt | 1 - .../deserializer/CirTreeClassDeserializer.kt | 1 - .../kotlin/commonizer/utils/mocks.kt | 1 - 11 files changed, 4 insertions(+), 43 deletions(-) diff --git a/native/commonizer/src/org/jetbrains/kotlin/commonizer/cir/CirConversions.kt b/native/commonizer/src/org/jetbrains/kotlin/commonizer/cir/CirConversions.kt index 6f65628702c..5ea6a5955a4 100644 --- a/native/commonizer/src/org/jetbrains/kotlin/commonizer/cir/CirConversions.kt +++ b/native/commonizer/src/org/jetbrains/kotlin/commonizer/cir/CirConversions.kt @@ -7,7 +7,6 @@ package org.jetbrains.kotlin.commonizer.cir import org.jetbrains.kotlin.commonizer.mergedtree.CirProvided import org.jetbrains.kotlin.commonizer.mergedtree.CirProvidedClassifiers -import org.jetbrains.kotlin.descriptors.Visibilities internal fun CirProvided.ClassOrTypeAliasType.toCirClassOrTypeAliasTypeOrNull(classifiers: CirProvidedClassifiers): CirClassOrTypeAliasType? { return when (this) { @@ -32,7 +31,6 @@ internal fun CirProvided.ClassType.toCirClassTypeOrNull(classifiers: CirProvided outerType = outerType?.let { it.toCirClassTypeOrNull(classifiers) ?: return null }, isMarkedNullable = isMarkedNullable, arguments = arguments.map { it.toCirTypeProjection(classifiers) ?: return null }, - visibility = Visibilities.Public, ) } diff --git a/native/commonizer/src/org/jetbrains/kotlin/commonizer/cir/CirStandardTypes.kt b/native/commonizer/src/org/jetbrains/kotlin/commonizer/cir/CirStandardTypes.kt index 566dfc8adfd..4e0b12f86d2 100644 --- a/native/commonizer/src/org/jetbrains/kotlin/commonizer/cir/CirStandardTypes.kt +++ b/native/commonizer/src/org/jetbrains/kotlin/commonizer/cir/CirStandardTypes.kt @@ -6,13 +6,11 @@ package org.jetbrains.kotlin.commonizer.cir import org.jetbrains.kotlin.commonizer.utils.ANY_CLASS_ID -import org.jetbrains.kotlin.descriptors.Visibilities object CirStandardTypes { val ANY: CirClassType = CirClassType.createInterned( classId = ANY_CLASS_ID, outerType = null, - visibility = Visibilities.Public, arguments = emptyList(), isMarkedNullable = false ) diff --git a/native/commonizer/src/org/jetbrains/kotlin/commonizer/cir/CirType.kt b/native/commonizer/src/org/jetbrains/kotlin/commonizer/cir/CirType.kt index 22ee412b768..5c67bb8944f 100644 --- a/native/commonizer/src/org/jetbrains/kotlin/commonizer/cir/CirType.kt +++ b/native/commonizer/src/org/jetbrains/kotlin/commonizer/cir/CirType.kt @@ -9,7 +9,6 @@ import kotlinx.metadata.KmType import org.jetbrains.kotlin.commonizer.utils.Interner import org.jetbrains.kotlin.commonizer.utils.appendHashCode import org.jetbrains.kotlin.commonizer.utils.hashCode -import org.jetbrains.kotlin.descriptors.Visibility import org.jetbrains.kotlin.types.Variance @@ -87,7 +86,7 @@ sealed class CirClassOrTypeAliasType : CirSimpleType() { abstract fun withArguments(arguments: List): CirClassOrTypeAliasType } -abstract class CirClassType : CirClassOrTypeAliasType(), CirHasVisibility { +abstract class CirClassType : CirClassOrTypeAliasType() { abstract val outerType: CirClassType? override fun appendDescriptionTo(builder: StringBuilder, shortNameOnly: Boolean) { @@ -104,7 +103,6 @@ abstract class CirClassType : CirClassOrTypeAliasType(), CirHasVisibility { return createInterned( classId = classifierId, outerType = outerType, - visibility = visibility, arguments = arguments, isMarkedNullable = isMarkedNullable ) @@ -114,14 +112,12 @@ abstract class CirClassType : CirClassOrTypeAliasType(), CirHasVisibility { fun createInterned( classId: CirEntityId, outerType: CirClassType?, - visibility: Visibility, arguments: List, isMarkedNullable: Boolean ): CirClassType = interner.intern( CirClassTypeInternedImpl( classifierId = classId, outerType = outerType, - visibility = visibility, arguments = arguments, isMarkedNullable = isMarkedNullable ) @@ -130,14 +126,12 @@ abstract class CirClassType : CirClassOrTypeAliasType(), CirHasVisibility { fun CirClassType.copyInterned( classifierId: CirEntityId = this.classifierId, outerType: CirClassType? = this.outerType, - visibility: Visibility = this.visibility, arguments: List = this.arguments, isMarkedNullable: Boolean = this.isMarkedNullable ): CirClassType { return createInterned( classId = classifierId, outerType = outerType, - visibility = visibility, arguments = arguments, isMarkedNullable = isMarkedNullable ) @@ -227,33 +221,21 @@ private data class CirTypeParameterTypeInternedImpl( private class CirClassTypeInternedImpl( override val classifierId: CirEntityId, override val outerType: CirClassType?, - override val visibility: Visibility, // visibility of the class descriptor override val arguments: List, override val isMarkedNullable: Boolean, ) : CirClassType() { - // See also org.jetbrains.kotlin.types.KotlinType.cachedHashCode - private var cachedHashCode = 0 - private fun computeHashCode() = hashCode(classifierId) + private val hashCode = hashCode(classifierId) .appendHashCode(outerType) - .appendHashCode(visibility) .appendHashCode(arguments) .appendHashCode(isMarkedNullable) - override fun hashCode(): Int { - var currentHashCode = cachedHashCode - if (currentHashCode != 0) return currentHashCode - - currentHashCode = computeHashCode() - cachedHashCode = currentHashCode - return currentHashCode - } + override fun hashCode(): Int = hashCode override fun equals(other: Any?): Boolean = when { other === this -> true other is CirClassType -> classifierId == other.classifierId && isMarkedNullable == other.isMarkedNullable - && visibility == other.visibility && arguments == other.arguments && outerType == other.outerType else -> false diff --git a/native/commonizer/src/org/jetbrains/kotlin/commonizer/cir/utils.kt b/native/commonizer/src/org/jetbrains/kotlin/commonizer/cir/utils.kt index 91d5b413a1d..41c625af6c8 100644 --- a/native/commonizer/src/org/jetbrains/kotlin/commonizer/cir/utils.kt +++ b/native/commonizer/src/org/jetbrains/kotlin/commonizer/cir/utils.kt @@ -15,7 +15,6 @@ fun T.makeNullable(): T { is CirClassType -> CirClassType.createInterned( classId = classifierId, outerType = outerType, - visibility = visibility, arguments = arguments, isMarkedNullable = true ) @@ -68,7 +67,6 @@ fun CirClassOrTypeAliasType.unabbreviate(): CirClassType = when (this) { CirClassType.createInterned( classId = classifierId, outerType = unabbreviatedOuterType, - visibility = visibility, arguments = unabbreviatedArguments, isMarkedNullable = isMarkedNullable ) diff --git a/native/commonizer/src/org/jetbrains/kotlin/commonizer/core/AnnotationsCommonizer.kt b/native/commonizer/src/org/jetbrains/kotlin/commonizer/core/AnnotationsCommonizer.kt index 2d10e676665..20ffad0383e 100644 --- a/native/commonizer/src/org/jetbrains/kotlin/commonizer/core/AnnotationsCommonizer.kt +++ b/native/commonizer/src/org/jetbrains/kotlin/commonizer/core/AnnotationsCommonizer.kt @@ -9,7 +9,6 @@ import org.jetbrains.kotlin.commonizer.cir.* import org.jetbrains.kotlin.commonizer.cir.CirConstantValue.* import org.jetbrains.kotlin.commonizer.core.AnnotationsCommonizer.Companion.FALLBACK_MESSAGE import org.jetbrains.kotlin.commonizer.utils.* -import org.jetbrains.kotlin.descriptors.Visibilities import kotlin.DeprecationLevel.WARNING /** @@ -74,7 +73,7 @@ object ObjCInteropCallableAnnotationCommonizer : AssociativeCommonizer CirRegularTypeProjection( projectionKind = typeParameter.variance, @@ -274,7 +273,6 @@ object CirDeserializers { name: CirName, annotations: List, enumClassId: CirEntityId, - enumClass: KmClass, typeResolver: CirTypeResolver ): CirClass = CirClass.create( annotations = annotations.compactMap { annotation(it, typeResolver) }, @@ -284,7 +282,6 @@ object CirDeserializers { CirClassType.createInterned( classId = enumClassId, outerType = null, - visibility = visibility(enumClass.flags), arguments = emptyList(), isMarkedNullable = false ) @@ -357,7 +354,6 @@ object CirDeserializers { CirClassType.createInterned( classId = (clazz as? CirProvided.ExportedForwardDeclarationClass)?.syntheticClassId ?: classId, outerType = outerType, - visibility = clazz.visibility, arguments = arguments(source.arguments, typeResolver), isMarkedNullable = isMarkedNullable ) diff --git a/native/commonizer/src/org/jetbrains/kotlin/commonizer/metadata/CirTypeAliasExpander.kt b/native/commonizer/src/org/jetbrains/kotlin/commonizer/metadata/CirTypeAliasExpander.kt index 4d377d1323e..d8b2742061a 100644 --- a/native/commonizer/src/org/jetbrains/kotlin/commonizer/metadata/CirTypeAliasExpander.kt +++ b/native/commonizer/src/org/jetbrains/kotlin/commonizer/metadata/CirTypeAliasExpander.kt @@ -144,7 +144,6 @@ object CirTypeAliasExpander { return CirClassType.createInterned( classId = type.classifierId, outerType = type.outerType?.let { expandClassType(expansion, it) }, - visibility = clazz.visibility, arguments = expandedArguments, isMarkedNullable = type.isMarkedNullable ) diff --git a/native/commonizer/src/org/jetbrains/kotlin/commonizer/tree/deserializer/CirTreeClassDeserializer.kt b/native/commonizer/src/org/jetbrains/kotlin/commonizer/tree/deserializer/CirTreeClassDeserializer.kt index b167a1e921e..7f471be203f 100644 --- a/native/commonizer/src/org/jetbrains/kotlin/commonizer/tree/deserializer/CirTreeClassDeserializer.kt +++ b/native/commonizer/src/org/jetbrains/kotlin/commonizer/tree/deserializer/CirTreeClassDeserializer.kt @@ -40,7 +40,6 @@ internal class CirTreeClassDeserializer( name = className, annotations = classEntry.annotations, enumClassId = classEntry.enumClassId, - enumClass = classEntry.enumClass, typeResolver = classTypeResolver ) } diff --git a/native/commonizer/tests/org/jetbrains/kotlin/commonizer/utils/mocks.kt b/native/commonizer/tests/org/jetbrains/kotlin/commonizer/utils/mocks.kt index 5adb4101b22..3c8fdfb81b5 100644 --- a/native/commonizer/tests/org/jetbrains/kotlin/commonizer/utils/mocks.kt +++ b/native/commonizer/tests/org/jetbrains/kotlin/commonizer/utils/mocks.kt @@ -41,7 +41,6 @@ internal fun mockClassType( ): CirClassType = CirClassType.createInterned( classId = createValidClassifierId(classId), outerType = null, - visibility = Visibilities.Public, arguments = emptyList(), isMarkedNullable = nullable )