Rename Visibility to DescriptorVisibility

This commit is contained in:
Dmitriy Novozhilov
2020-09-01 16:06:06 +03:00
parent 2bcd8ee07f
commit d1fd1da56f
379 changed files with 2240 additions and 2250 deletions
@@ -23,23 +23,23 @@ import org.jetbrains.kotlin.types.TypeConstructor
import org.jetbrains.kotlin.types.checker.KotlinTypeRefiner
class CommonizedClassDescriptor(
targetComponents: TargetDeclarationsBuilderComponents,
containingDeclaration: DeclarationDescriptor,
override val annotations: Annotations,
name: Name,
private val kind: ClassKind,
private val modality: Modality,
private val visibility: Visibility,
private val isCompanion: Boolean,
private val isData: Boolean,
private val isInline: Boolean,
private val isInner: Boolean,
isExternal: Boolean,
private val isExpect: Boolean,
private val isActual: Boolean,
cirDeclaredTypeParameters: List<CirTypeParameter>,
companionObjectName: Name?,
cirSupertypes: Collection<CirType>
targetComponents: TargetDeclarationsBuilderComponents,
containingDeclaration: DeclarationDescriptor,
override val annotations: Annotations,
name: Name,
private val kind: ClassKind,
private val modality: Modality,
private val visibility: DescriptorVisibility,
private val isCompanion: Boolean,
private val isData: Boolean,
private val isInline: Boolean,
private val isInner: Boolean,
isExternal: Boolean,
private val isExpect: Boolean,
private val isActual: Boolean,
cirDeclaredTypeParameters: List<CirTypeParameter>,
companionObjectName: Name?,
cirSupertypes: Collection<CirType>
) : ClassDescriptorBase(targetComponents.storageManager, containingDeclaration, name, SourceElement.NO_SOURCE, isExternal) {
private lateinit var _unsubstitutedMemberScope: CommonizedMemberScope
private lateinit var constructors: Collection<ClassConstructorDescriptor>
@@ -17,12 +17,12 @@ import org.jetbrains.kotlin.types.Variance
import org.jetbrains.kotlin.types.asSimpleType
class CommonizedTypeAliasDescriptor(
override val storageManager: StorageManager,
containingDeclaration: DeclarationDescriptor,
annotations: Annotations,
name: Name,
visibility: Visibility,
private val isActual: Boolean
override val storageManager: StorageManager,
containingDeclaration: DeclarationDescriptor,
annotations: Annotations,
name: Name,
visibility: DescriptorVisibility,
private val isActual: Boolean
) : AbstractTypeAliasDescriptor(containingDeclaration, annotations, name, SourceElement.NO_SOURCE, visibility) {
private lateinit var underlyingTypeImpl: NotNullLazyValue<SimpleType>
@@ -36,7 +36,7 @@ interface CirHasFqName {
}
interface CirHasVisibility {
val visibility: Visibility
val visibility: DescriptorVisibility
}
interface CirHasModality {
@@ -8,7 +8,7 @@ package org.jetbrains.kotlin.descriptors.commonizer.cir
import org.jetbrains.kotlin.descriptors.CallableMemberDescriptor
import org.jetbrains.kotlin.descriptors.ClassKind
import org.jetbrains.kotlin.descriptors.Modality
import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
interface CirFunctionOrProperty :
CirDeclaration,
@@ -27,7 +27,7 @@ interface CirFunctionOrProperty :
modality != Modality.ABSTRACT && containingClassDetails?.kind == ClassKind.INTERFACE
fun isVirtual(): Boolean =
visibility != Visibilities.PRIVATE
visibility != DescriptorVisibilities.PRIVATE
&& modality != Modality.FINAL
&& !(containingClassDetails?.modality == Modality.FINAL && containingClassDetails?.kind != ClassKind.ENUM_CLASS)
}
@@ -7,7 +7,7 @@ package org.jetbrains.kotlin.descriptors.commonizer.cir.factory
import org.jetbrains.kotlin.descriptors.CallableMemberDescriptor
import org.jetbrains.kotlin.descriptors.ClassConstructorDescriptor
import org.jetbrains.kotlin.descriptors.Visibility
import org.jetbrains.kotlin.descriptors.DescriptorVisibility
import org.jetbrains.kotlin.descriptors.commonizer.cir.*
import org.jetbrains.kotlin.descriptors.commonizer.cir.impl.CirClassConstructorImpl
@@ -28,14 +28,14 @@ object CirClassConstructorFactory {
@Suppress("NOTHING_TO_INLINE")
inline fun create(
annotations: List<CirAnnotation>,
typeParameters: List<CirTypeParameter>,
visibility: Visibility,
containingClassDetails: CirContainingClassDetails,
valueParameters: List<CirValueParameter>,
hasStableParameterNames: Boolean,
isPrimary: Boolean,
kind: CallableMemberDescriptor.Kind
annotations: List<CirAnnotation>,
typeParameters: List<CirTypeParameter>,
visibility: DescriptorVisibility,
containingClassDetails: CirContainingClassDetails,
valueParameters: List<CirValueParameter>,
hasStableParameterNames: Boolean,
isPrimary: Boolean,
kind: CallableMemberDescriptor.Kind
): CirClassConstructor {
return CirClassConstructorImpl(
annotations = annotations,
@@ -8,7 +8,7 @@ package org.jetbrains.kotlin.descriptors.commonizer.cir.factory
import org.jetbrains.kotlin.descriptors.ClassDescriptor
import org.jetbrains.kotlin.descriptors.ClassKind
import org.jetbrains.kotlin.descriptors.Modality
import org.jetbrains.kotlin.descriptors.Visibility
import org.jetbrains.kotlin.descriptors.DescriptorVisibility
import org.jetbrains.kotlin.descriptors.commonizer.cir.CirAnnotation
import org.jetbrains.kotlin.descriptors.commonizer.cir.CirClass
import org.jetbrains.kotlin.descriptors.commonizer.cir.CirType
@@ -36,19 +36,19 @@ object CirClassFactory {
@Suppress("NOTHING_TO_INLINE")
inline fun create(
annotations: List<CirAnnotation>,
name: Name,
typeParameters: List<CirTypeParameter>,
visibility: Visibility,
modality: Modality,
kind: ClassKind,
companion: Name?,
isCompanion: Boolean,
isData: Boolean,
isInline: Boolean,
isInner: Boolean,
isExternal: Boolean,
supertypes: MutableCollection<CirType>
annotations: List<CirAnnotation>,
name: Name,
typeParameters: List<CirTypeParameter>,
visibility: DescriptorVisibility,
modality: Modality,
kind: ClassKind,
companion: Name?,
isCompanion: Boolean,
isData: Boolean,
isInline: Boolean,
isInner: Boolean,
isExternal: Boolean,
supertypes: MutableCollection<CirType>
): CirClass {
return CirClassImpl(
annotations = annotations,
@@ -29,18 +29,18 @@ object CirFunctionFactory {
@Suppress("NOTHING_TO_INLINE")
inline fun create(
annotations: List<CirAnnotation>,
name: Name,
typeParameters: List<CirTypeParameter>,
visibility: Visibility,
modality: Modality,
containingClassDetails: CirContainingClassDetails?,
valueParameters: List<CirValueParameter>,
hasStableParameterNames: Boolean,
extensionReceiver: CirExtensionReceiver?,
returnType: CirType,
kind: CallableMemberDescriptor.Kind,
modifiers: CirFunctionModifiers
annotations: List<CirAnnotation>,
name: Name,
typeParameters: List<CirTypeParameter>,
visibility: DescriptorVisibility,
modality: Modality,
containingClassDetails: CirContainingClassDetails?,
valueParameters: List<CirValueParameter>,
hasStableParameterNames: Boolean,
extensionReceiver: CirExtensionReceiver?,
returnType: CirType,
kind: CallableMemberDescriptor.Kind,
modifiers: CirFunctionModifiers
): CirFunction {
return CirFunctionImpl(
annotations = annotations,
@@ -8,7 +8,7 @@ package org.jetbrains.kotlin.descriptors.commonizer.cir.factory
import org.jetbrains.kotlin.descriptors.CallableMemberDescriptor
import org.jetbrains.kotlin.descriptors.Modality
import org.jetbrains.kotlin.descriptors.PropertyDescriptor
import org.jetbrains.kotlin.descriptors.Visibility
import org.jetbrains.kotlin.descriptors.DescriptorVisibility
import org.jetbrains.kotlin.descriptors.commonizer.cir.*
import org.jetbrains.kotlin.descriptors.commonizer.cir.impl.CirPropertyImpl
import org.jetbrains.kotlin.descriptors.commonizer.utils.checkConstantSupportedInCommonization
@@ -52,25 +52,25 @@ object CirPropertyFactory {
@Suppress("NOTHING_TO_INLINE")
inline fun create(
annotations: List<CirAnnotation>,
name: Name,
typeParameters: List<CirTypeParameter>,
visibility: Visibility,
modality: Modality,
containingClassDetails: CirContainingClassDetails?,
isExternal: Boolean,
extensionReceiver: CirExtensionReceiver?,
returnType: CirType,
kind: CallableMemberDescriptor.Kind,
isVar: Boolean,
isLateInit: Boolean,
isConst: Boolean,
isDelegate: Boolean,
getter: CirPropertyGetter?,
setter: CirPropertySetter?,
backingFieldAnnotations: List<CirAnnotation>?,
delegateFieldAnnotations: List<CirAnnotation>?,
compileTimeInitializer: ConstantValue<*>?
annotations: List<CirAnnotation>,
name: Name,
typeParameters: List<CirTypeParameter>,
visibility: DescriptorVisibility,
modality: Modality,
containingClassDetails: CirContainingClassDetails?,
isExternal: Boolean,
extensionReceiver: CirExtensionReceiver?,
returnType: CirType,
kind: CallableMemberDescriptor.Kind,
isVar: Boolean,
isLateInit: Boolean,
isConst: Boolean,
isDelegate: Boolean,
getter: CirPropertyGetter?,
setter: CirPropertySetter?,
backingFieldAnnotations: List<CirAnnotation>?,
delegateFieldAnnotations: List<CirAnnotation>?,
compileTimeInitializer: ConstantValue<*>?
): CirProperty {
return CirPropertyImpl(
annotations = annotations,
@@ -6,8 +6,8 @@
package org.jetbrains.kotlin.descriptors.commonizer.cir.factory
import org.jetbrains.kotlin.descriptors.PropertySetterDescriptor
import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.descriptors.Visibility
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
import org.jetbrains.kotlin.descriptors.DescriptorVisibility
import org.jetbrains.kotlin.descriptors.commonizer.cir.CirAnnotation
import org.jetbrains.kotlin.descriptors.commonizer.cir.CirPropertySetter
import org.jetbrains.kotlin.descriptors.commonizer.cir.impl.CirPropertySetterImpl
@@ -26,12 +26,12 @@ object CirPropertySetterFactory {
)
fun create(
annotations: List<CirAnnotation>,
parameterAnnotations: List<CirAnnotation>,
visibility: Visibility,
isDefault: Boolean,
isExternal: Boolean,
isInline: Boolean
annotations: List<CirAnnotation>,
parameterAnnotations: List<CirAnnotation>,
visibility: DescriptorVisibility,
isDefault: Boolean,
isExternal: Boolean,
isInline: Boolean
): CirPropertySetter {
return interner.intern(
CirPropertySetterImpl(
@@ -46,11 +46,11 @@ object CirPropertySetterFactory {
}
@Suppress("NOTHING_TO_INLINE")
inline fun createDefaultNoAnnotations(visibility: Visibility): CirPropertySetter = create(
inline fun createDefaultNoAnnotations(visibility: DescriptorVisibility): CirPropertySetter = create(
annotations = emptyList(),
parameterAnnotations = emptyList(),
visibility = visibility,
isDefault = visibility == Visibilities.PUBLIC,
isDefault = visibility == DescriptorVisibilities.PUBLIC,
isExternal = false,
isInline = false
)
@@ -6,7 +6,7 @@
package org.jetbrains.kotlin.descriptors.commonizer.cir.factory
import org.jetbrains.kotlin.descriptors.TypeAliasDescriptor
import org.jetbrains.kotlin.descriptors.Visibility
import org.jetbrains.kotlin.descriptors.DescriptorVisibility
import org.jetbrains.kotlin.descriptors.commonizer.cir.CirAnnotation
import org.jetbrains.kotlin.descriptors.commonizer.cir.CirSimpleType
import org.jetbrains.kotlin.descriptors.commonizer.cir.CirTypeAlias
@@ -27,12 +27,12 @@ object CirTypeAliasFactory {
@Suppress("NOTHING_TO_INLINE")
inline fun create(
annotations: List<CirAnnotation>,
name: Name,
typeParameters: List<CirTypeParameter>,
visibility: Visibility,
underlyingType: CirSimpleType,
expandedType: CirSimpleType
annotations: List<CirAnnotation>,
name: Name,
typeParameters: List<CirTypeParameter>,
visibility: DescriptorVisibility,
underlyingType: CirSimpleType,
expandedType: CirSimpleType
): CirTypeAlias {
return CirTypeAliasImpl(
annotations = annotations,
@@ -7,8 +7,8 @@ package org.jetbrains.kotlin.descriptors.commonizer.cir.factory
import org.jetbrains.kotlin.descriptors.ClassifierDescriptor
import org.jetbrains.kotlin.descriptors.ClassifierDescriptorWithTypeParameters
import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.descriptors.Visibility
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
import org.jetbrains.kotlin.descriptors.DescriptorVisibility
import org.jetbrains.kotlin.descriptors.commonizer.cir.*
import org.jetbrains.kotlin.descriptors.commonizer.cir.impl.CirSimpleTypeImpl
import org.jetbrains.kotlin.descriptors.commonizer.utils.Interner
@@ -32,7 +32,7 @@ object CirTypeFactory {
return create(
classifierId = CirClassifierIdFactory.create(classifierDescriptor),
visibility = (classifierDescriptor as? ClassifierDescriptorWithTypeParameters)?.visibility ?: Visibilities.UNKNOWN,
visibility = (classifierDescriptor as? ClassifierDescriptorWithTypeParameters)?.visibility ?: DescriptorVisibilities.UNKNOWN,
arguments = source.arguments.map { projection ->
CirTypeProjection(
projectionKind = projection.projectionKind,
@@ -45,10 +45,10 @@ object CirTypeFactory {
}
fun create(
classifierId: CirClassifierId,
visibility: Visibility,
arguments: List<CirTypeProjection>,
isMarkedNullable: Boolean
classifierId: CirClassifierId,
visibility: DescriptorVisibility,
arguments: List<CirTypeProjection>,
isMarkedNullable: Boolean
): CirSimpleType {
return interner.intern(
CirSimpleTypeImpl(
@@ -6,16 +6,16 @@
package org.jetbrains.kotlin.descriptors.commonizer.cir.impl
import org.jetbrains.kotlin.descriptors.CallableMemberDescriptor
import org.jetbrains.kotlin.descriptors.Visibility
import org.jetbrains.kotlin.descriptors.DescriptorVisibility
import org.jetbrains.kotlin.descriptors.commonizer.cir.*
data class CirClassConstructorImpl(
override val annotations: List<CirAnnotation>,
override val typeParameters: List<CirTypeParameter>,
override val visibility: Visibility,
override val containingClassDetails: CirContainingClassDetails,
override var valueParameters: List<CirValueParameter>,
override var hasStableParameterNames: Boolean,
override val isPrimary: Boolean,
override val kind: CallableMemberDescriptor.Kind
override val annotations: List<CirAnnotation>,
override val typeParameters: List<CirTypeParameter>,
override val visibility: DescriptorVisibility,
override val containingClassDetails: CirContainingClassDetails,
override var valueParameters: List<CirValueParameter>,
override var hasStableParameterNames: Boolean,
override val isPrimary: Boolean,
override val kind: CallableMemberDescriptor.Kind
) : CirClassConstructor
@@ -7,7 +7,7 @@ package org.jetbrains.kotlin.descriptors.commonizer.cir.impl
import org.jetbrains.kotlin.descriptors.ClassKind
import org.jetbrains.kotlin.descriptors.Modality
import org.jetbrains.kotlin.descriptors.Visibility
import org.jetbrains.kotlin.descriptors.DescriptorVisibility
import org.jetbrains.kotlin.descriptors.commonizer.cir.CirAnnotation
import org.jetbrains.kotlin.descriptors.commonizer.cir.CirClass
import org.jetbrains.kotlin.descriptors.commonizer.cir.CirType
@@ -15,17 +15,17 @@ import org.jetbrains.kotlin.descriptors.commonizer.cir.CirTypeParameter
import org.jetbrains.kotlin.name.Name
data class CirClassImpl(
override val annotations: List<CirAnnotation>,
override val name: Name,
override val typeParameters: List<CirTypeParameter>,
override val visibility: Visibility,
override val modality: Modality,
override val kind: ClassKind,
override var companion: Name?,
override val isCompanion: Boolean,
override val isData: Boolean,
override val isInline: Boolean,
override val isInner: Boolean,
override val isExternal: Boolean,
override val supertypes: MutableCollection<CirType>
override val annotations: List<CirAnnotation>,
override val name: Name,
override val typeParameters: List<CirTypeParameter>,
override val visibility: DescriptorVisibility,
override val modality: Modality,
override val kind: ClassKind,
override var companion: Name?,
override val isCompanion: Boolean,
override val isData: Boolean,
override val isInline: Boolean,
override val isInner: Boolean,
override val isExternal: Boolean,
override val supertypes: MutableCollection<CirType>
) : CirClass
@@ -7,21 +7,21 @@ package org.jetbrains.kotlin.descriptors.commonizer.cir.impl
import org.jetbrains.kotlin.descriptors.CallableMemberDescriptor
import org.jetbrains.kotlin.descriptors.Modality
import org.jetbrains.kotlin.descriptors.Visibility
import org.jetbrains.kotlin.descriptors.DescriptorVisibility
import org.jetbrains.kotlin.descriptors.commonizer.cir.*
import org.jetbrains.kotlin.name.Name
data class CirFunctionImpl(
override val annotations: List<CirAnnotation>,
override val name: Name,
override val typeParameters: List<CirTypeParameter>,
override val visibility: Visibility,
override val modality: Modality,
override val containingClassDetails: CirContainingClassDetails?,
override var valueParameters: List<CirValueParameter>,
override var hasStableParameterNames: Boolean,
override val extensionReceiver: CirExtensionReceiver?,
override val returnType: CirType,
override val kind: CallableMemberDescriptor.Kind,
override val modifiers: CirFunctionModifiers
override val annotations: List<CirAnnotation>,
override val name: Name,
override val typeParameters: List<CirTypeParameter>,
override val visibility: DescriptorVisibility,
override val modality: Modality,
override val containingClassDetails: CirContainingClassDetails?,
override var valueParameters: List<CirValueParameter>,
override var hasStableParameterNames: Boolean,
override val extensionReceiver: CirExtensionReceiver?,
override val returnType: CirType,
override val kind: CallableMemberDescriptor.Kind,
override val modifiers: CirFunctionModifiers
) : CirFunction
@@ -7,31 +7,31 @@ package org.jetbrains.kotlin.descriptors.commonizer.cir.impl
import org.jetbrains.kotlin.descriptors.CallableMemberDescriptor
import org.jetbrains.kotlin.descriptors.Modality
import org.jetbrains.kotlin.descriptors.Visibility
import org.jetbrains.kotlin.descriptors.DescriptorVisibility
import org.jetbrains.kotlin.descriptors.commonizer.cir.*
import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.resolve.constants.ConstantValue
data class CirPropertyImpl(
override val annotations: List<CirAnnotation>,
override val name: Name,
override val typeParameters: List<CirTypeParameter>,
override val visibility: Visibility,
override val modality: Modality,
override val containingClassDetails: CirContainingClassDetails?,
override val isExternal: Boolean,
override val extensionReceiver: CirExtensionReceiver?,
override val returnType: CirType,
override val kind: CallableMemberDescriptor.Kind,
override val isVar: Boolean,
override val isLateInit: Boolean,
override var isConst: Boolean,
override val isDelegate: Boolean,
override val getter: CirPropertyGetter?,
override val setter: CirPropertySetter?,
override val backingFieldAnnotations: List<CirAnnotation>?,
override val delegateFieldAnnotations: List<CirAnnotation>?,
override val compileTimeInitializer: ConstantValue<*>?
override val annotations: List<CirAnnotation>,
override val name: Name,
override val typeParameters: List<CirTypeParameter>,
override val visibility: DescriptorVisibility,
override val modality: Modality,
override val containingClassDetails: CirContainingClassDetails?,
override val isExternal: Boolean,
override val extensionReceiver: CirExtensionReceiver?,
override val returnType: CirType,
override val kind: CallableMemberDescriptor.Kind,
override val isVar: Boolean,
override val isLateInit: Boolean,
override var isConst: Boolean,
override val isDelegate: Boolean,
override val getter: CirPropertyGetter?,
override val setter: CirPropertySetter?,
override val backingFieldAnnotations: List<CirAnnotation>?,
override val delegateFieldAnnotations: List<CirAnnotation>?,
override val compileTimeInitializer: ConstantValue<*>?
) : CirProperty {
// const property in "common" fragment is already lifted up
override val isLiftedUp get() = isConst
@@ -5,15 +5,15 @@
package org.jetbrains.kotlin.descriptors.commonizer.cir.impl
import org.jetbrains.kotlin.descriptors.Visibility
import org.jetbrains.kotlin.descriptors.DescriptorVisibility
import org.jetbrains.kotlin.descriptors.commonizer.cir.CirAnnotation
import org.jetbrains.kotlin.descriptors.commonizer.cir.CirPropertySetter
data class CirPropertySetterImpl(
override val annotations: List<CirAnnotation>,
override val parameterAnnotations: List<CirAnnotation>,
override val visibility: Visibility,
override val isDefault: Boolean,
override val isExternal: Boolean,
override val isInline: Boolean
override val annotations: List<CirAnnotation>,
override val parameterAnnotations: List<CirAnnotation>,
override val visibility: DescriptorVisibility,
override val isDefault: Boolean,
override val isExternal: Boolean,
override val isInline: Boolean
) : CirPropertySetter
@@ -5,16 +5,16 @@
package org.jetbrains.kotlin.descriptors.commonizer.cir.impl
import org.jetbrains.kotlin.descriptors.Visibility
import org.jetbrains.kotlin.descriptors.DescriptorVisibility
import org.jetbrains.kotlin.descriptors.commonizer.cir.*
import org.jetbrains.kotlin.descriptors.commonizer.utils.appendHashCode
import org.jetbrains.kotlin.descriptors.commonizer.utils.hashCode
data class CirSimpleTypeImpl(
override val classifierId: CirClassifierId,
override val visibility: Visibility, // visibility of the classifier descriptor
override val arguments: List<CirTypeProjection>,
override val isMarkedNullable: Boolean
override val classifierId: CirClassifierId,
override val visibility: DescriptorVisibility, // visibility of the classifier descriptor
override val arguments: List<CirTypeProjection>,
override val isMarkedNullable: Boolean
) : CirSimpleType() {
// See also org.jetbrains.kotlin.types.KotlinType.cachedHashCode
private var cachedHashCode = 0
@@ -5,7 +5,7 @@
package org.jetbrains.kotlin.descriptors.commonizer.cir.impl
import org.jetbrains.kotlin.descriptors.Visibility
import org.jetbrains.kotlin.descriptors.DescriptorVisibility
import org.jetbrains.kotlin.descriptors.commonizer.cir.CirAnnotation
import org.jetbrains.kotlin.descriptors.commonizer.cir.CirSimpleType
import org.jetbrains.kotlin.descriptors.commonizer.cir.CirTypeAlias
@@ -13,12 +13,12 @@ import org.jetbrains.kotlin.descriptors.commonizer.cir.CirTypeParameter
import org.jetbrains.kotlin.name.Name
data class CirTypeAliasImpl(
override val annotations: List<CirAnnotation>,
override val name: Name,
override val typeParameters: List<CirTypeParameter>,
override val visibility: Visibility,
override val underlyingType: CirSimpleType,
override val expandedType: CirSimpleType // only for commonization algorithm; does not participate in building resulting declarations
override val annotations: List<CirAnnotation>,
override val name: Name,
override val typeParameters: List<CirTypeParameter>,
override val visibility: DescriptorVisibility,
override val underlyingType: CirSimpleType,
override val expandedType: CirSimpleType // only for commonization algorithm; does not participate in building resulting declarations
) : CirTypeAlias {
// any TA in "common" fragment is already lifted up
override val isLiftedUp get() = true
@@ -5,7 +5,7 @@
package org.jetbrains.kotlin.descriptors.commonizer.core
import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
import org.jetbrains.kotlin.descriptors.commonizer.cir.CirAnnotation
import org.jetbrains.kotlin.descriptors.commonizer.cir.CirClassifierId
import org.jetbrains.kotlin.descriptors.commonizer.cir.factory.CirAnnotationFactory
@@ -162,7 +162,7 @@ private class DeprecatedAnnotationCommonizer : Commonizer<CirAnnotation, CirAnno
private fun buildAnnotationType(classId: ClassId) = CirTypeFactory.create(
classifierId = CirClassifierIdFactory.createForClass(classId),
visibility = Visibilities.PUBLIC,
visibility = DescriptorVisibilities.PUBLIC,
arguments = emptyList(),
isMarkedNullable = false
)
@@ -5,12 +5,12 @@
package org.jetbrains.kotlin.descriptors.commonizer.core
import org.jetbrains.kotlin.descriptors.Visibility
import org.jetbrains.kotlin.descriptors.DescriptorVisibility
import org.jetbrains.kotlin.descriptors.commonizer.cir.CirHasVisibility
import org.jetbrains.kotlin.descriptors.commonizer.cir.CirPropertySetter
import org.jetbrains.kotlin.descriptors.commonizer.cir.factory.CirPropertySetterFactory
class PropertySetterCommonizer : AbstractNullableCommonizer<CirPropertySetter, CirPropertySetter, CirHasVisibility, Visibility>(
class PropertySetterCommonizer : AbstractNullableCommonizer<CirPropertySetter, CirPropertySetter, CirHasVisibility, DescriptorVisibility>(
wrappedCommonizerFactory = { VisibilityCommonizer.equalizing() },
extractor = { it },
builder = CirPropertySetterFactory::createDefaultNoAnnotations
@@ -5,40 +5,40 @@
package org.jetbrains.kotlin.descriptors.commonizer.core
import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.descriptors.Visibility
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
import org.jetbrains.kotlin.descriptors.DescriptorVisibility
import org.jetbrains.kotlin.descriptors.commonizer.cir.CirFunctionOrProperty
import org.jetbrains.kotlin.descriptors.commonizer.cir.CirHasVisibility
abstract class VisibilityCommonizer : Commonizer<CirHasVisibility, Visibility> {
abstract class VisibilityCommonizer : Commonizer<CirHasVisibility, DescriptorVisibility> {
companion object {
fun lowering(): VisibilityCommonizer = LoweringVisibilityCommonizer()
fun equalizing(): VisibilityCommonizer = EqualizingVisibilityCommonizer()
}
private var temp: Visibility? = null
private var temp: DescriptorVisibility? = null
override val result: Visibility
get() = checkState(temp, temp == Visibilities.UNKNOWN)
override val result: DescriptorVisibility
get() = checkState(temp, temp == DescriptorVisibilities.UNKNOWN)
override fun commonizeWith(next: CirHasVisibility): Boolean {
if (temp == Visibilities.UNKNOWN)
if (temp == DescriptorVisibilities.UNKNOWN)
return false
val nextVisibility = next.visibility
if (Visibilities.isPrivate(nextVisibility) || !canBeCommonized(next)) {
temp = Visibilities.UNKNOWN
if (DescriptorVisibilities.isPrivate(nextVisibility) || !canBeCommonized(next)) {
temp = DescriptorVisibilities.UNKNOWN
return false
}
temp = temp?.let { temp -> getNext(temp, nextVisibility) } ?: nextVisibility
return temp != Visibilities.UNKNOWN
return temp != DescriptorVisibilities.UNKNOWN
}
protected abstract fun canBeCommonized(next: CirHasVisibility): Boolean
protected abstract fun getNext(current: Visibility, next: Visibility): Visibility
protected abstract fun getNext(current: DescriptorVisibility, next: DescriptorVisibility): DescriptorVisibility
}
/**
@@ -56,26 +56,26 @@ private class LoweringVisibilityCommonizer : VisibilityCommonizer() {
return !atLeastOneVirtualCallableMet || !atLeastTwoVisibilitiesMet
}
override fun getNext(current: Visibility, next: Visibility): Visibility {
val comparisonResult: Int = Visibilities.compare(current, next)
?: return Visibilities.UNKNOWN // two visibilities that can't be compared against each one, ex: protected vs internal
override fun getNext(current: DescriptorVisibility, next: DescriptorVisibility): DescriptorVisibility {
val comparisonResult: Int = DescriptorVisibilities.compare(current, next)
?: return DescriptorVisibilities.UNKNOWN // two visibilities that can't be compared against each one, ex: protected vs internal
if (!atLeastTwoVisibilitiesMet)
atLeastTwoVisibilitiesMet = comparisonResult != 0
if (atLeastOneVirtualCallableMet && atLeastTwoVisibilitiesMet)
return Visibilities.UNKNOWN
return DescriptorVisibilities.UNKNOWN
return if (comparisonResult <= 0) current else next
}
}
/**
* Make sure that visibilities of all member descriptors are equal and are not private according to [Visibilities.isPrivate].
* Make sure that visibilities of all member descriptors are equal and are not private according to [DescriptorVisibilities.isPrivate].
*/
private class EqualizingVisibilityCommonizer : VisibilityCommonizer() {
override fun canBeCommonized(next: CirHasVisibility) = true
override fun getNext(current: Visibility, next: Visibility) =
if (Visibilities.compare(current, next) == 0) current else Visibilities.UNKNOWN
override fun getNext(current: DescriptorVisibility, next: DescriptorVisibility) =
if (DescriptorVisibilities.compare(current, next) == 0) current else DescriptorVisibilities.UNKNOWN
}
@@ -5,12 +5,12 @@
package org.jetbrains.kotlin.descriptors.commonizer.core
import org.jetbrains.kotlin.descriptors.Visibilities.*
import org.jetbrains.kotlin.descriptors.Visibility
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities.*
import org.jetbrains.kotlin.descriptors.DescriptorVisibility
import org.jetbrains.kotlin.descriptors.commonizer.cir.CirHasVisibility
import org.junit.Test
class EqualizingVisibilityCommonizerTest : AbstractCommonizerTest<CirHasVisibility, Visibility>() {
class EqualizingVisibilityCommonizerTest : AbstractCommonizerTest<CirHasVisibility, DescriptorVisibility>() {
@Test
fun publicOnly() = doTestSuccess(
@@ -63,6 +63,6 @@ class EqualizingVisibilityCommonizerTest : AbstractCommonizerTest<CirHasVisibili
override fun createCommonizer() = VisibilityCommonizer.equalizing()
}
private fun Visibility.toMock() = object : CirHasVisibility {
override val visibility: Visibility = this@toMock
private fun DescriptorVisibility.toMock() = object : CirHasVisibility {
override val visibility: DescriptorVisibility = this@toMock
}
@@ -7,8 +7,8 @@ package org.jetbrains.kotlin.descriptors.commonizer.core
import org.jetbrains.kotlin.descriptors.ClassKind
import org.jetbrains.kotlin.descriptors.Modality
import org.jetbrains.kotlin.descriptors.Visibilities.*
import org.jetbrains.kotlin.descriptors.Visibility
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities.*
import org.jetbrains.kotlin.descriptors.DescriptorVisibility
import org.jetbrains.kotlin.descriptors.commonizer.cir.CirFunctionOrProperty
import org.jetbrains.kotlin.descriptors.commonizer.cir.CirHasVisibility
import org.jetbrains.kotlin.descriptors.commonizer.cir.factory.CirContainingClassDetailsFactory
@@ -17,7 +17,7 @@ import org.junit.Test
abstract class LoweringVisibilityCommonizerTest(
private val areMembersVirtual: Boolean
) : AbstractCommonizerTest<CirHasVisibility, Visibility>() {
) : AbstractCommonizerTest<CirHasVisibility, DescriptorVisibility>() {
@Test
fun publicOnly() = doTestSuccess(
@@ -44,7 +44,7 @@ abstract class LoweringVisibilityCommonizerTest(
final override fun createCommonizer() = VisibilityCommonizer.lowering()
protected fun Visibility.toMock() = object : CirFunctionOrProperty {
protected fun DescriptorVisibility.toMock() = object : CirFunctionOrProperty {
override val annotations get() = unsupported()
override val name get() = unsupported()
override val typeParameters get() = unsupported()
@@ -5,8 +5,8 @@
package org.jetbrains.kotlin.descriptors.commonizer.core
import org.jetbrains.kotlin.descriptors.Visibilities.*
import org.jetbrains.kotlin.descriptors.Visibility
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities.*
import org.jetbrains.kotlin.descriptors.DescriptorVisibility
import org.jetbrains.kotlin.descriptors.commonizer.cir.CirPropertySetter
import org.jetbrains.kotlin.descriptors.commonizer.cir.factory.CirPropertySetterFactory
import org.junit.Test
@@ -87,13 +87,13 @@ class PropertySetterCommonizerTest : AbstractCommonizerTest<CirPropertySetter?,
PUBLIC, LOCAL
)
private fun doTestSuccess(expected: Visibility?, vararg variants: Visibility?) =
private fun doTestSuccess(expected: DescriptorVisibility?, vararg variants: DescriptorVisibility?) =
super.doTestSuccess(
expected = expected?.let { CirPropertySetterFactory.createDefaultNoAnnotations(expected) },
*variants.map { it?.let(CirPropertySetterFactory::createDefaultNoAnnotations) }.toTypedArray()
)
private fun doTestFailure(vararg variants: Visibility?) =
private fun doTestFailure(vararg variants: DescriptorVisibility?) =
super.doTestFailure(
*variants.map { it?.let(CirPropertySetterFactory::createDefaultNoAnnotations) }.toTypedArray(),
shouldFailOnFirstVariant = false
@@ -57,7 +57,7 @@ internal fun mockClassType(
name = classFqName.shortName(),
kind = ClassKind.CLASS,
modality = Modality.FINAL,
visibility = Visibilities.PUBLIC,
visibility = DescriptorVisibilities.PUBLIC,
isCompanion = false,
isData = false,
isInline = false,
@@ -91,7 +91,7 @@ internal fun mockTAType(
containingDeclaration = createPackageFragmentForClassifier(typeAliasFqName),
annotations = Annotations.EMPTY,
name = typeAliasFqName.shortName(),
visibility = Visibilities.PUBLIC,
visibility = DescriptorVisibilities.PUBLIC,
isActual = false
)