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
@@ -22,7 +22,7 @@ class CloneableClassScope(
SimpleFunctionDescriptorImpl.create(containingClass, Annotations.EMPTY, CLONE_NAME, DECLARATION, SourceElement.NO_SOURCE).apply {
initialize(
null, containingClass.thisAsReceiverParameter, emptyList(), emptyList(), containingClass.builtIns.anyType,
Modality.OPEN, Visibilities.PROTECTED
Modality.OPEN, DescriptorVisibilities.PROTECTED
)
}
)
@@ -198,7 +198,7 @@ open class JvmBuiltInsSettings(
cloneFromCloneable: SimpleFunctionDescriptor
): SimpleFunctionDescriptor = cloneFromCloneable.newCopyBuilder().apply {
setOwner(arrayClassDescriptor)
setVisibility(Visibilities.PUBLIC)
setVisibility(DescriptorVisibilities.PUBLIC)
setReturnType(arrayClassDescriptor.defaultType)
setDispatchReceiverParameter(arrayClassDescriptor.thisAsReceiverParameter)
}.build()!!
@@ -22,12 +22,12 @@ import org.jetbrains.kotlin.descriptors.*;
import org.jetbrains.kotlin.resolve.DescriptorUtils;
import org.jetbrains.kotlin.resolve.scopes.receivers.ReceiverValue;
public class JavaVisibilities {
private JavaVisibilities() {
public class JavaDescriptorVisibilities {
private JavaDescriptorVisibilities() {
}
@NotNull
public static final Visibility PACKAGE_VISIBILITY = new Visibility("package", false) {
public static final DescriptorVisibility PACKAGE_VISIBILITY = new DescriptorVisibility("package", false) {
@Override
public boolean isVisible(@Nullable ReceiverValue receiver, @NotNull DeclarationDescriptorWithVisibility what, @NotNull DeclarationDescriptor from) {
return areInSamePackage(what, from);
@@ -39,9 +39,9 @@ public class JavaVisibilities {
}
@Override
protected Integer compareTo(@NotNull Visibility visibility) {
protected Integer compareTo(@NotNull DescriptorVisibility visibility) {
if (this == visibility) return 0;
if (Visibilities.isPrivate(visibility)) return 1;
if (DescriptorVisibilities.isPrivate(visibility)) return 1;
return -1;
}
@@ -59,8 +59,8 @@ public class JavaVisibilities {
@NotNull
@Override
public Visibility normalize() {
return Visibilities.PROTECTED;
public DescriptorVisibility normalize() {
return DescriptorVisibilities.PROTECTED;
}
@Nullable
@@ -71,7 +71,7 @@ public class JavaVisibilities {
};
@NotNull
public static final Visibility PROTECTED_STATIC_VISIBILITY = new Visibility("protected_static", true) {
public static final DescriptorVisibility PROTECTED_STATIC_VISIBILITY = new DescriptorVisibility("protected_static", true) {
@Override
public boolean isVisible(@Nullable ReceiverValue receiver, @NotNull DeclarationDescriptorWithVisibility what, @NotNull DeclarationDescriptor from) {
return isVisibleForProtectedAndPackage(receiver, what, from);
@@ -96,13 +96,13 @@ public class JavaVisibilities {
@NotNull
@Override
public Visibility normalize() {
return Visibilities.PROTECTED;
public DescriptorVisibility normalize() {
return DescriptorVisibilities.PROTECTED;
}
};
@NotNull
public static final Visibility PROTECTED_AND_PACKAGE = new Visibility("protected_and_package", true) {
public static final DescriptorVisibility PROTECTED_AND_PACKAGE = new DescriptorVisibility("protected_and_package", true) {
@Override
public boolean isVisible(@Nullable ReceiverValue receiver, @NotNull DeclarationDescriptorWithVisibility what, @NotNull DeclarationDescriptor from) {
return isVisibleForProtectedAndPackage(receiver, what, from);
@@ -114,10 +114,10 @@ public class JavaVisibilities {
}
@Override
protected Integer compareTo(@NotNull Visibility visibility) {
protected Integer compareTo(@NotNull DescriptorVisibility visibility) {
if (this == visibility) return 0;
if (visibility == Visibilities.INTERNAL) return null;
if (Visibilities.isPrivate(visibility)) return 1;
if (visibility == DescriptorVisibilities.INTERNAL) return null;
if (DescriptorVisibilities.isPrivate(visibility)) return 1;
return -1;
}
@@ -135,8 +135,8 @@ public class JavaVisibilities {
@NotNull
@Override
public Visibility normalize() {
return Visibilities.PROTECTED;
public DescriptorVisibility normalize() {
return DescriptorVisibilities.PROTECTED;
}
};
@@ -149,7 +149,7 @@ public class JavaVisibilities {
return true;
}
return Visibilities.PROTECTED.isVisible(receiver, what, from);
return DescriptorVisibilities.PROTECTED.isVisible(receiver, what, from);
}
private static boolean areInSamePackage(@NotNull DeclarationDescriptor first, @NotNull DeclarationDescriptor second) {
@@ -91,7 +91,7 @@ public class JavaMethodDescriptor extends SimpleFunctionDescriptorImpl implement
@NotNull List<ValueParameterDescriptor> unsubstitutedValueParameters,
@Nullable KotlinType unsubstitutedReturnType,
@Nullable Modality modality,
@NotNull Visibility visibility,
@NotNull DescriptorVisibility visibility,
@Nullable Map<? extends UserDataKey<?>, ?> userData
) {
SimpleFunctionDescriptorImpl descriptor = super.initialize(
@@ -41,7 +41,7 @@ public class JavaPropertyDescriptor extends PropertyDescriptorImpl implements Ja
@NotNull DeclarationDescriptor containingDeclaration,
@NotNull Annotations annotations,
@NotNull Modality modality,
@NotNull Visibility visibility,
@NotNull DescriptorVisibility visibility,
boolean isVar,
@NotNull Name name,
@NotNull SourceElement source,
@@ -62,7 +62,7 @@ public class JavaPropertyDescriptor extends PropertyDescriptorImpl implements Ja
@NotNull DeclarationDescriptor containingDeclaration,
@NotNull Annotations annotations,
@NotNull Modality modality,
@NotNull Visibility visibility,
@NotNull DescriptorVisibility visibility,
boolean isVar,
@NotNull Name name,
@NotNull SourceElement source,
@@ -78,7 +78,7 @@ public class JavaPropertyDescriptor extends PropertyDescriptorImpl implements Ja
protected PropertyDescriptorImpl createSubstitutedCopy(
@NotNull DeclarationDescriptor newOwner,
@NotNull Modality newModality,
@NotNull Visibility newVisibility,
@NotNull DescriptorVisibility newVisibility,
@Nullable PropertyDescriptor original,
@NotNull Kind kind,
@NotNull Name newName,
@@ -13,7 +13,7 @@ import org.jetbrains.kotlin.descriptors.annotations.Annotations
import org.jetbrains.kotlin.descriptors.impl.ClassDescriptorBase
import org.jetbrains.kotlin.incremental.components.NoLookupLocation
import org.jetbrains.kotlin.load.java.FakePureImplementationsProvider
import org.jetbrains.kotlin.load.java.JavaVisibilities
import org.jetbrains.kotlin.load.java.JavaDescriptorVisibilities
import org.jetbrains.kotlin.load.java.JvmAnnotationNames
import org.jetbrains.kotlin.load.java.components.JavaResolverCache
import org.jetbrains.kotlin.load.java.components.TypeUsage
@@ -90,7 +90,7 @@ class LazyJavaClassDescriptor(
// Kotlin considers this "private in package" just as "private" and thinks they are invisible for inheritors,
// so their functions are invisible fake which is not true.
override fun getVisibility() =
if (visibility == Visibilities.PRIVATE && jClass.outerClass == null) JavaVisibilities.PACKAGE_VISIBILITY else visibility
if (visibility == DescriptorVisibilities.PRIVATE && jClass.outerClass == null) JavaDescriptorVisibilities.PACKAGE_VISIBILITY else visibility
override fun isInner() = isInner
override fun isData() = false
@@ -637,10 +637,10 @@ class LazyJavaClassMemberScope(
return constructorDescriptor
}
private fun getConstructorVisibility(classDescriptor: ClassDescriptor): Visibility {
private fun getConstructorVisibility(classDescriptor: ClassDescriptor): DescriptorVisibility {
val visibility = classDescriptor.visibility
if (visibility == JavaVisibilities.PROTECTED_STATIC_VISIBILITY) {
return JavaVisibilities.PROTECTED_AND_PACKAGE
if (visibility == JavaDescriptorVisibilities.PROTECTED_STATIC_VISIBILITY) {
return JavaDescriptorVisibilities.PROTECTED_AND_PACKAGE
}
return visibility
}
@@ -16,7 +16,7 @@
package org.jetbrains.kotlin.load.java.structure
import org.jetbrains.kotlin.descriptors.Visibility
import org.jetbrains.kotlin.descriptors.DescriptorVisibility
import org.jetbrains.kotlin.name.ClassId
import org.jetbrains.kotlin.name.FqName
import org.jetbrains.kotlin.name.Name
@@ -38,7 +38,7 @@ interface JavaModifierListOwner : JavaElement {
val isAbstract: Boolean
val isStatic: Boolean
val isFinal: Boolean
val visibility: Visibility
val visibility: DescriptorVisibility
}
interface JavaTypeParameterListOwner : JavaElement {
@@ -16,7 +16,7 @@ import org.jetbrains.kotlin.types.typeUtil.representativeUpperBound
fun shouldHideConstructorDueToInlineClassTypeValueParameters(descriptor: CallableMemberDescriptor): Boolean {
val constructorDescriptor = descriptor as? ClassConstructorDescriptor ?: return false
if (Visibilities.isPrivate(constructorDescriptor.visibility)) return false
if (DescriptorVisibilities.isPrivate(constructorDescriptor.visibility)) return false
if (constructorDescriptor.constructedClass.isInline) return false
if (DescriptorUtils.isSealedClass(constructorDescriptor.constructedClass)) return false
@@ -16,9 +16,9 @@
package org.jetbrains.kotlin.descriptors.runtime.structure
import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.descriptors.Visibility
import org.jetbrains.kotlin.load.java.JavaVisibilities
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
import org.jetbrains.kotlin.descriptors.DescriptorVisibility
import org.jetbrains.kotlin.load.java.JavaDescriptorVisibilities
import org.jetbrains.kotlin.load.java.structure.JavaModifierListOwner
import java.lang.reflect.Modifier
@@ -34,15 +34,15 @@ interface ReflectJavaModifierListOwner : JavaModifierListOwner {
override val isFinal: Boolean
get() = Modifier.isFinal(modifiers)
override val visibility: Visibility
override val visibility: DescriptorVisibility
get() = modifiers.let { modifiers ->
when {
Modifier.isPublic(modifiers) -> Visibilities.PUBLIC
Modifier.isPrivate(modifiers) -> Visibilities.PRIVATE
Modifier.isPublic(modifiers) -> DescriptorVisibilities.PUBLIC
Modifier.isPrivate(modifiers) -> DescriptorVisibilities.PRIVATE
Modifier.isProtected(modifiers) ->
if (Modifier.isStatic(modifiers)) JavaVisibilities.PROTECTED_STATIC_VISIBILITY
else JavaVisibilities.PROTECTED_AND_PACKAGE
else -> JavaVisibilities.PACKAGE_VISIBILITY
if (Modifier.isStatic(modifiers)) JavaDescriptorVisibilities.PROTECTED_STATIC_VISIBILITY
else JavaDescriptorVisibilities.PROTECTED_AND_PACKAGE
else -> JavaDescriptorVisibilities.PACKAGE_VISIBILITY
}
}
}
@@ -75,7 +75,7 @@ class FunctionClassDescriptor(
override fun getKind() = ClassKind.INTERFACE
override fun getModality() = Modality.ABSTRACT
override fun getUnsubstitutedPrimaryConstructor() = null
override fun getVisibility() = Visibilities.PUBLIC
override fun getVisibility() = DescriptorVisibilities.PUBLIC
override fun isCompanionObject() = false
override fun isInner() = false
override fun isData() = false
@@ -121,7 +121,7 @@ class FunctionInvokeDescriptor private constructor(
.map { createValueParameter(result, it.index, it.value) },
typeParameters.last().defaultType,
Modality.ABSTRACT,
Visibilities.PUBLIC
DescriptorVisibilities.PUBLIC
)
result.setHasSynthesizedParameterNames(true)
return result
@@ -12,7 +12,7 @@ import org.jetbrains.kotlin.builtins.StandardNames.COROUTINES_PACKAGE_FQ_NAME_RE
import org.jetbrains.kotlin.descriptors.ClassKind
import org.jetbrains.kotlin.descriptors.Modality
import org.jetbrains.kotlin.descriptors.SourceElement
import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
import org.jetbrains.kotlin.descriptors.annotations.Annotations
import org.jetbrains.kotlin.descriptors.impl.EmptyPackageFragmentDescriptor
import org.jetbrains.kotlin.descriptors.impl.MutableClassDescriptor
@@ -31,7 +31,7 @@ private val FAKE_CONTINUATION_CLASS_DESCRIPTOR_EXPERIMENTAL =
CONTINUATION_INTERFACE_FQ_NAME_EXPERIMENTAL.shortName(), SourceElement.NO_SOURCE, LockBasedStorageManager.NO_LOCKS
).apply {
modality = Modality.ABSTRACT
visibility = Visibilities.PUBLIC
visibility = DescriptorVisibilities.PUBLIC
setTypeParameterDescriptors(
TypeParameterDescriptorImpl.createWithDefaultBound(
this, Annotations.EMPTY, false, Variance.IN_VARIANCE, Name.identifier("T"), 0, LockBasedStorageManager.NO_LOCKS
@@ -47,7 +47,7 @@ private val FAKE_CONTINUATION_CLASS_DESCRIPTOR_RELEASE =
CONTINUATION_INTERFACE_FQ_NAME_RELEASE.shortName(), SourceElement.NO_SOURCE, LockBasedStorageManager.NO_LOCKS
).apply {
modality = Modality.ABSTRACT
visibility = Visibilities.PUBLIC
visibility = DescriptorVisibilities.PUBLIC
setTypeParameterDescriptors(
TypeParameterDescriptorImpl.createWithDefaultBound(
this, Annotations.EMPTY, false, Variance.IN_VARIANCE, Name.identifier("T"), 0, LockBasedStorageManager.NO_LOCKS
@@ -55,7 +55,7 @@ public interface CallableMemberDescriptor extends CallableDescriptor, MemberDesc
Kind getKind();
@NotNull
CallableMemberDescriptor copy(DeclarationDescriptor newOwner, Modality modality, Visibility visibility, Kind kind, boolean copyOverrides);
CallableMemberDescriptor copy(DeclarationDescriptor newOwner, Modality modality, DescriptorVisibility visibility, Kind kind, boolean copyOverrides);
@NotNull
CopyBuilder<? extends CallableMemberDescriptor> newCopyBuilder();
@@ -68,7 +68,7 @@ public interface CallableMemberDescriptor extends CallableDescriptor, MemberDesc
CopyBuilder<D> setModality(@NotNull Modality modality);
@NotNull
CopyBuilder<D> setVisibility(@NotNull Visibility visibility);
CopyBuilder<D> setVisibility(@NotNull DescriptorVisibility visibility);
@NotNull
CopyBuilder<D> setKind(@NotNull Kind kind);
@@ -27,10 +27,10 @@ interface ClassConstructorDescriptor : ConstructorDescriptor {
override fun substitute(substitutor: TypeSubstitutor): ClassConstructorDescriptor?
override fun copy(
newOwner: DeclarationDescriptor,
modality: Modality,
visibility: Visibility,
kind: CallableMemberDescriptor.Kind,
copyOverrides: Boolean
newOwner: DeclarationDescriptor,
modality: Modality,
visibility: DescriptorVisibility,
kind: CallableMemberDescriptor.Kind,
copyOverrides: Boolean
): ClassConstructorDescriptor
}
}
@@ -62,7 +62,7 @@ public interface ClassDescriptor extends ClassifierDescriptorWithTypeParameters,
@Override
@NotNull
Visibility getVisibility();
DescriptorVisibility getVisibility();
boolean isCompanionObject();
@@ -60,7 +60,7 @@ public interface ConstructorDescriptor extends FunctionDescriptor {
ConstructorDescriptor copy(
DeclarationDescriptor newOwner,
Modality modality,
Visibility visibility,
DescriptorVisibility visibility,
Kind kind,
boolean copyOverrides
);
@@ -20,5 +20,5 @@ import org.jetbrains.annotations.NotNull;
public interface DeclarationDescriptorWithVisibility extends DeclarationDescriptor {
@NotNull
Visibility getVisibility();
DescriptorVisibility getVisibility();
}
@@ -31,9 +31,9 @@ import org.jetbrains.kotlin.utils.CollectionsKt;
import java.util.*;
public class Visibilities {
public class DescriptorVisibilities {
@NotNull
public static final Visibility PRIVATE = new Visibility("private", false) {
public static final DescriptorVisibility PRIVATE = new DescriptorVisibility("private", false) {
@Override
public boolean mustCheckInImports() {
return true;
@@ -102,7 +102,7 @@ public class Visibilities {
* }
*/
@NotNull
public static final Visibility PRIVATE_TO_THIS = new Visibility("private_to_this", false) {
public static final DescriptorVisibility PRIVATE_TO_THIS = new DescriptorVisibility("private_to_this", false) {
@Override
public boolean isVisible(@Nullable ReceiverValue thisObject, @NotNull DeclarationDescriptorWithVisibility what, @NotNull DeclarationDescriptor from) {
if (PRIVATE.isVisible(thisObject, what, from)) {
@@ -132,7 +132,7 @@ public class Visibilities {
};
@NotNull
public static final Visibility PROTECTED = new Visibility("protected", true) {
public static final DescriptorVisibility PROTECTED = new DescriptorVisibility("protected", true) {
@Override
public boolean mustCheckInImports() {
return false;
@@ -198,7 +198,7 @@ public class Visibilities {
};
@NotNull
public static final Visibility INTERNAL = new Visibility("internal", false) {
public static final DescriptorVisibility INTERNAL = new DescriptorVisibility("internal", false) {
@Override
public boolean mustCheckInImports() {
return true;
@@ -220,7 +220,7 @@ public class Visibilities {
};
@NotNull
public static final Visibility PUBLIC = new Visibility("public", true) {
public static final DescriptorVisibility PUBLIC = new DescriptorVisibility("public", true) {
@Override
public boolean mustCheckInImports() {
return false;
@@ -233,7 +233,7 @@ public class Visibilities {
};
@NotNull
public static final Visibility LOCAL = new Visibility("local", false) {
public static final DescriptorVisibility LOCAL = new DescriptorVisibility("local", false) {
@Override
public boolean mustCheckInImports() {
return true;
@@ -246,7 +246,7 @@ public class Visibilities {
};
@NotNull
public static final Visibility INHERITED = new Visibility("inherited", false) {
public static final DescriptorVisibility INHERITED = new DescriptorVisibility("inherited", false) {
@Override
public boolean mustCheckInImports() {
throw new IllegalStateException("This method shouldn't be invoked for INHERITED visibility");
@@ -260,7 +260,7 @@ public class Visibilities {
/* Visibility for fake override invisible members (they are created for better error reporting) */
@NotNull
public static final Visibility INVISIBLE_FAKE = new Visibility("invisible_fake", false) {
public static final DescriptorVisibility INVISIBLE_FAKE = new DescriptorVisibility("invisible_fake", false) {
@Override
public boolean mustCheckInImports() {
return true;
@@ -281,7 +281,7 @@ public class Visibilities {
// Currently used as default visibility of FunctionDescriptor
// It's needed to prevent NPE when requesting non-nullable visibility of descriptor before `initialize` has been called
@NotNull
public static final Visibility UNKNOWN = new Visibility("unknown", false) {
public static final DescriptorVisibility UNKNOWN = new DescriptorVisibility("unknown", false) {
@Override
public boolean mustCheckInImports() {
throw new IllegalStateException("This method shouldn't be invoked for UNKNOWN visibility");
@@ -295,10 +295,10 @@ public class Visibilities {
}
};
public static final Set<Visibility> INVISIBLE_FROM_OTHER_MODULES =
public static final Set<DescriptorVisibility> INVISIBLE_FROM_OTHER_MODULES =
Collections.unmodifiableSet(SetsKt.setOf(PRIVATE, PRIVATE_TO_THIS, INTERNAL, LOCAL));
private Visibilities() {
private DescriptorVisibilities() {
}
public static boolean isVisible(@Nullable ReceiverValue receiver, @NotNull DeclarationDescriptorWithVisibility what, @NotNull DeclarationDescriptor from) {
@@ -306,15 +306,15 @@ public class Visibilities {
}
/**
* @see Visibility.isVisible contract
* @see DescriptorVisibility.isVisible contract
*/
public static boolean isVisibleIgnoringReceiver(@NotNull DeclarationDescriptorWithVisibility what, @NotNull DeclarationDescriptor from) {
return findInvisibleMember(ALWAYS_SUITABLE_RECEIVER, what, from) == null;
}
/**
* @see Visibility.isVisible contract
* @see Visibilities.RECEIVER_DOES_NOT_EXIST
* @see DescriptorVisibility.isVisible contract
* @see DescriptorVisibilities.RECEIVER_DOES_NOT_EXIST
*/
public static boolean isVisibleWithAnyReceiver(@NotNull DeclarationDescriptorWithVisibility what, @NotNull DeclarationDescriptor from) {
return findInvisibleMember(IRRELEVANT_RECEIVER, what, from) == null;
@@ -353,10 +353,10 @@ public class Visibilities {
return null;
}
private static final Map<Visibility, Integer> ORDERED_VISIBILITIES;
private static final Map<DescriptorVisibility, Integer> ORDERED_VISIBILITIES;
static {
Map<Visibility, Integer> visibilities = CollectionsKt.newHashMapWithExpectedSize(4);
Map<DescriptorVisibility, Integer> visibilities = CollectionsKt.newHashMapWithExpectedSize(4);
visibilities.put(PRIVATE_TO_THIS, 0);
visibilities.put(PRIVATE, 0);
visibilities.put(INTERNAL, 1);
@@ -367,7 +367,7 @@ public class Visibilities {
/*package*/
@Nullable
static Integer compareLocal(@NotNull Visibility first, @NotNull Visibility second) {
static Integer compareLocal(@NotNull DescriptorVisibility first, @NotNull DescriptorVisibility second) {
if (first == second) return 0;
Integer firstIndex = ORDERED_VISIBILITIES.get(first);
Integer secondIndex = ORDERED_VISIBILITIES.get(second);
@@ -378,7 +378,7 @@ public class Visibilities {
}
@Nullable
public static Integer compare(@NotNull Visibility first, @NotNull Visibility second) {
public static Integer compare(@NotNull DescriptorVisibility first, @NotNull DescriptorVisibility second) {
Integer result = first.compareTo(second);
if (result != null) {
return result;
@@ -390,7 +390,7 @@ public class Visibilities {
return null;
}
public static final Visibility DEFAULT_VISIBILITY = PUBLIC;
public static final DescriptorVisibility DEFAULT_VISIBILITY = PUBLIC;
/**
* This value should be used for receiverValue parameter of Visibility.isVisible
@@ -462,7 +462,7 @@ public class Visibilities {
}
};
public static boolean isPrivate(@NotNull Visibility visibility) {
public static boolean isPrivate(@NotNull DescriptorVisibility visibility) {
return visibility == PRIVATE || visibility == PRIVATE_TO_THIS;
}
@@ -18,7 +18,7 @@ package org.jetbrains.kotlin.descriptors
import org.jetbrains.kotlin.resolve.scopes.receivers.ReceiverValue
abstract class Visibility protected constructor(
abstract class DescriptorVisibility protected constructor(
val name: String,
val isPublicAPI: Boolean
) {
@@ -52,8 +52,8 @@ abstract class Visibility protected constructor(
/**
* @return null if the answer is unknown
*/
protected open fun compareTo(visibility: Visibility): Int? {
return Visibilities.compareLocal(this, visibility)
protected open fun compareTo(visibility: DescriptorVisibility): Int? {
return DescriptorVisibilities.compareLocal(this, visibility)
}
// internal representation for descriptors
@@ -66,7 +66,7 @@ abstract class Visibility protected constructor(
final override fun toString() = internalDisplayName
open fun normalize(): Visibility = this
open fun normalize(): DescriptorVisibility = this
// Should be overloaded in Java visibilities
open fun customEffectiveVisibility(): EffectiveVisibility? = null
@@ -41,7 +41,7 @@ sealed class EffectiveVisibility(val name: String, val publicApi: Boolean = fals
override fun relation(other: EffectiveVisibility): Permissiveness =
if (this == other || Local == other) Permissiveness.SAME else Permissiveness.LESS
override fun toVisibility(): Visibility = Visibilities.PRIVATE
override fun toVisibility(): DescriptorVisibility = DescriptorVisibilities.PRIVATE
}
// Effectively same as Private
@@ -49,14 +49,14 @@ sealed class EffectiveVisibility(val name: String, val publicApi: Boolean = fals
override fun relation(other: EffectiveVisibility): Permissiveness =
if (this == other || Private == other) Permissiveness.SAME else Permissiveness.LESS
override fun toVisibility(): Visibility = Visibilities.LOCAL
override fun toVisibility(): DescriptorVisibility = DescriptorVisibilities.LOCAL
}
object Public : EffectiveVisibility("public", publicApi = true) {
override fun relation(other: EffectiveVisibility): Permissiveness =
if (this == other) Permissiveness.SAME else Permissiveness.MORE
override fun toVisibility(): Visibility = Visibilities.PUBLIC
override fun toVisibility(): DescriptorVisibility = DescriptorVisibilities.PUBLIC
}
abstract class InternalOrPackage protected constructor(internal: Boolean) : EffectiveVisibility(
@@ -78,11 +78,11 @@ sealed class EffectiveVisibility(val name: String, val publicApi: Boolean = fals
}
object Internal : InternalOrPackage(true) {
override fun toVisibility(): Visibility = Visibilities.INTERNAL
override fun toVisibility(): DescriptorVisibility = DescriptorVisibilities.INTERNAL
}
object PackagePrivate : InternalOrPackage(false) {
override fun toVisibility(): Visibility = Visibilities.PRIVATE
override fun toVisibility(): DescriptorVisibility = DescriptorVisibilities.PRIVATE
}
class Protected(
@@ -123,7 +123,7 @@ sealed class EffectiveVisibility(val name: String, val publicApi: Boolean = fals
is InternalOrPackage -> InternalProtected(containerTypeConstructor, typeContext)
}
override fun toVisibility(): Visibility = Visibilities.PROTECTED
override fun toVisibility(): DescriptorVisibility = DescriptorVisibilities.PROTECTED
}
// Lower bound for all protected visibilities
@@ -141,7 +141,7 @@ sealed class EffectiveVisibility(val name: String, val publicApi: Boolean = fals
is InternalOrPackage, is InternalProtected -> InternalProtectedBound
}
override fun toVisibility(): Visibility = Visibilities.PROTECTED
override fun toVisibility(): DescriptorVisibility = DescriptorVisibilities.PROTECTED
}
// Lower bound for internal and protected(C)
@@ -179,7 +179,7 @@ sealed class EffectiveVisibility(val name: String, val publicApi: Boolean = fals
ProtectedBound -> InternalProtectedBound
}
override fun toVisibility(): Visibility = Visibilities.PRIVATE
override fun toVisibility(): DescriptorVisibility = DescriptorVisibilities.PRIVATE
}
// Lower bound for internal and protected lower bound
@@ -190,7 +190,7 @@ sealed class EffectiveVisibility(val name: String, val publicApi: Boolean = fals
InternalProtectedBound -> Permissiveness.SAME
}
override fun toVisibility(): Visibility = Visibilities.PRIVATE
override fun toVisibility(): DescriptorVisibility = DescriptorVisibilities.PRIVATE
}
enum class Permissiveness {
@@ -202,7 +202,7 @@ sealed class EffectiveVisibility(val name: String, val publicApi: Boolean = fals
abstract fun relation(other: EffectiveVisibility): Permissiveness
abstract fun toVisibility(): Visibility
abstract fun toVisibility(): DescriptorVisibility
internal open fun lowerBound(other: EffectiveVisibility) = when (relation(other)) {
Permissiveness.SAME, Permissiveness.LESS -> this
@@ -9,25 +9,25 @@ import org.jetbrains.kotlin.resolve.descriptorUtil.isPublishedApi
import org.jetbrains.kotlin.types.KotlinType
import org.jetbrains.kotlin.types.checker.ClassicTypeCheckerContext
fun Visibility.effectiveVisibility(
fun DescriptorVisibility.effectiveVisibility(
descriptor: DeclarationDescriptor,
checkPublishedApi: Boolean = false
): EffectiveVisibility {
return customEffectiveVisibility() ?: normalize().forVisibility(descriptor, checkPublishedApi)
}
private fun Visibility.forVisibility(descriptor: DeclarationDescriptor, checkPublishedApi: Boolean = false): EffectiveVisibility =
private fun DescriptorVisibility.forVisibility(descriptor: DeclarationDescriptor, checkPublishedApi: Boolean = false): EffectiveVisibility =
when (this) {
Visibilities.PRIVATE, Visibilities.PRIVATE_TO_THIS, Visibilities.INVISIBLE_FAKE -> EffectiveVisibility.Private
Visibilities.PROTECTED -> EffectiveVisibility.Protected(
DescriptorVisibilities.PRIVATE, DescriptorVisibilities.PRIVATE_TO_THIS, DescriptorVisibilities.INVISIBLE_FAKE -> EffectiveVisibility.Private
DescriptorVisibilities.PROTECTED -> EffectiveVisibility.Protected(
(descriptor.containingDeclaration as? ClassDescriptor)?.defaultType?.constructor,
ClassicTypeCheckerContext(errorTypeEqualsToAnything = false)
)
Visibilities.INTERNAL -> if (!checkPublishedApi ||
DescriptorVisibilities.INTERNAL -> if (!checkPublishedApi ||
!descriptor.isPublishedApi()
) EffectiveVisibility.Internal else EffectiveVisibility.Public
Visibilities.PUBLIC -> EffectiveVisibility.Public
Visibilities.LOCAL -> EffectiveVisibility.Local
DescriptorVisibilities.PUBLIC -> EffectiveVisibility.Public
DescriptorVisibilities.LOCAL -> EffectiveVisibility.Local
// NB: visibility must be already normalized here, so e.g. no JavaVisibilities are possible at this point
else -> throw AssertionError("Visibility $name is not allowed in forVisibility")
}
@@ -81,7 +81,7 @@ private fun Set<DescriptorWithRelation>.leastPermissive(base: EffectiveVisibilit
fun KotlinType.leastPermissiveDescriptor(base: EffectiveVisibility) = dependentDescriptors().leastPermissive(base)
fun DeclarationDescriptorWithVisibility.effectiveVisibility(
visibility: Visibility = this.visibility, checkPublishedApi: Boolean = false
visibility: DescriptorVisibility = this.visibility, checkPublishedApi: Boolean = false
): EffectiveVisibility =
lowerBound(
visibility.effectiveVisibility(this, checkPublishedApi),
@@ -54,7 +54,7 @@ public interface FunctionDescriptor extends CallableMemberDescriptor {
@NotNull
@Override
FunctionDescriptor copy(DeclarationDescriptor newOwner, Modality modality, Visibility visibility, Kind kind, boolean copyOverrides);
FunctionDescriptor copy(DeclarationDescriptor newOwner, Modality modality, DescriptorVisibility visibility, Kind kind, boolean copyOverrides);
boolean isOperator();
@@ -83,7 +83,7 @@ public interface FunctionDescriptor extends CallableMemberDescriptor {
@NotNull
@Override
CopyBuilder<D> setVisibility(@NotNull Visibility visibility);
CopyBuilder<D> setVisibility(@NotNull DescriptorVisibility visibility);
@NotNull
@Override
@@ -24,7 +24,7 @@ public interface MemberDescriptor extends DeclarationDescriptorNonRoot, Declarat
@Override
@NotNull
Visibility getVisibility();
DescriptorVisibility getVisibility();
boolean isExpect();
@@ -19,7 +19,7 @@ package org.jetbrains.kotlin.descriptors
import org.jetbrains.kotlin.resolve.DescriptorUtils
val CallableMemberDescriptor.isOverridable: Boolean
get() = visibility != Visibilities.PRIVATE
get() = visibility != DescriptorVisibilities.PRIVATE
&& modality != Modality.FINAL
&& (containingDeclaration as? ClassDescriptor)?.isFinalClass != true
@@ -62,7 +62,7 @@ class NotFoundClasses(private val storageManager: StorageManager, private val mo
override fun getKind() = ClassKind.CLASS
override fun getModality() = Modality.FINAL
override fun getVisibility() = Visibilities.PUBLIC
override fun getVisibility() = DescriptorVisibilities.PUBLIC
override fun getTypeConstructor() = typeConstructor
override fun getDeclaredTypeParameters() = declaredTypeParameters
override fun isInner() = isInner
@@ -39,7 +39,7 @@ public interface PropertyAccessorDescriptor extends VariableAccessorDescriptor {
PropertyAccessorDescriptor copy(
DeclarationDescriptor newOwner,
Modality modality,
Visibility visibility,
DescriptorVisibility visibility,
Kind kind,
boolean copyOverrides
);
@@ -17,9 +17,6 @@
package org.jetbrains.kotlin.descriptors;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.kotlin.name.Name;
import java.util.List;
/**
* Simple functions are the ones with 'fun' keyword and function literals
@@ -27,7 +24,7 @@ import java.util.List;
public interface SimpleFunctionDescriptor extends FunctionDescriptor {
@NotNull
@Override
SimpleFunctionDescriptor copy(DeclarationDescriptor newOwner, Modality modality, Visibility visibility, Kind kind, boolean copyOverrides);
SimpleFunctionDescriptor copy(DeclarationDescriptor newOwner, Modality modality, DescriptorVisibility visibility, Kind kind, boolean copyOverrides);
@NotNull
@Override
@@ -120,8 +120,8 @@ public abstract class AbstractReceiverParameterDescriptor extends DeclarationDes
@NotNull
@Override
public Visibility getVisibility() {
return Visibilities.LOCAL;
public DescriptorVisibility getVisibility() {
return DescriptorVisibilities.LOCAL;
}
@NotNull
@@ -21,7 +21,6 @@ import org.jetbrains.kotlin.descriptors.*
import org.jetbrains.kotlin.descriptors.annotations.Annotations
import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.resolve.descriptorUtil.builtIns
import org.jetbrains.kotlin.resolve.descriptorUtil.classId
import org.jetbrains.kotlin.resolve.scopes.MemberScope
import org.jetbrains.kotlin.storage.StorageManager
import org.jetbrains.kotlin.types.*
@@ -33,7 +32,7 @@ abstract class AbstractTypeAliasDescriptor(
annotations: Annotations,
name: Name,
sourceElement: SourceElement,
private val visibilityImpl: Visibility
private val visibilityImpl: DescriptorVisibility
) : DeclarationDescriptorNonRootImpl(containingDeclaration, annotations, name, sourceElement),
TypeAliasDescriptor {
@@ -67,7 +67,7 @@ public class ClassConstructorDescriptorImpl extends FunctionDescriptorImpl imple
public ClassConstructorDescriptorImpl initialize(
@NotNull List<ValueParameterDescriptor> unsubstitutedValueParameters,
@NotNull Visibility visibility,
@NotNull DescriptorVisibility visibility,
@NotNull List<TypeParameterDescriptor> typeParameterDescriptors
) {
super.initialize(
@@ -80,7 +80,7 @@ public class ClassConstructorDescriptorImpl extends FunctionDescriptorImpl imple
public ClassConstructorDescriptorImpl initialize(
@NotNull List<ValueParameterDescriptor> unsubstitutedValueParameters,
@NotNull Visibility visibility
@NotNull DescriptorVisibility visibility
) {
initialize(unsubstitutedValueParameters, visibility, getContainingDeclaration().getDeclaredTypeParameters());
return this;
@@ -175,7 +175,7 @@ public class ClassConstructorDescriptorImpl extends FunctionDescriptorImpl imple
public ClassConstructorDescriptor copy(
DeclarationDescriptor newOwner,
Modality modality,
Visibility visibility,
DescriptorVisibility visibility,
Kind kind,
boolean copyOverrides
) {
@@ -11,7 +11,6 @@ import org.jetbrains.kotlin.descriptors.*;
import org.jetbrains.kotlin.descriptors.annotations.Annotations;
import org.jetbrains.kotlin.name.Name;
import org.jetbrains.kotlin.resolve.scopes.MemberScope;
import org.jetbrains.kotlin.storage.LockBasedStorageManager;
import org.jetbrains.kotlin.storage.StorageManager;
import org.jetbrains.kotlin.types.ClassTypeConstructorImpl;
import org.jetbrains.kotlin.types.KotlinType;
@@ -130,8 +129,8 @@ public class ClassDescriptorImpl extends ClassDescriptorBase {
@NotNull
@Override
public Visibility getVisibility() {
return Visibilities.PUBLIC;
public DescriptorVisibility getVisibility() {
return DescriptorVisibilities.PUBLIC;
}
@Override
@@ -119,8 +119,8 @@ public class EnumEntrySyntheticClassDescriptor extends ClassDescriptorBase {
@NotNull
@Override
public Visibility getVisibility() {
return Visibilities.PUBLIC;
public DescriptorVisibility getVisibility() {
return DescriptorVisibilities.PUBLIC;
}
@Override
@@ -26,7 +26,7 @@ public abstract class FunctionDescriptorImpl extends DeclarationDescriptorNonRoo
private ReceiverParameterDescriptor extensionReceiverParameter;
private ReceiverParameterDescriptor dispatchReceiverParameter;
private Modality modality;
private Visibility visibility = Visibilities.UNKNOWN;
private DescriptorVisibility visibility = DescriptorVisibilities.UNKNOWN;
private boolean isOperator = false;
private boolean isInfix = false;
private boolean isExternal = false;
@@ -72,7 +72,7 @@ public abstract class FunctionDescriptorImpl extends DeclarationDescriptorNonRoo
@NotNull List<ValueParameterDescriptor> unsubstitutedValueParameters,
@Nullable KotlinType unsubstitutedReturnType,
@Nullable Modality modality,
@NotNull Visibility visibility
@NotNull DescriptorVisibility visibility
) {
this.typeParameters = CollectionsKt.toList(typeParameters);
this.unsubstitutedValueParameters = CollectionsKt.toList(unsubstitutedValueParameters);
@@ -101,7 +101,7 @@ public abstract class FunctionDescriptorImpl extends DeclarationDescriptorNonRoo
return this;
}
public void setVisibility(@NotNull Visibility visibility) {
public void setVisibility(@NotNull DescriptorVisibility visibility) {
this.visibility = visibility;
}
@@ -204,7 +204,7 @@ public abstract class FunctionDescriptorImpl extends DeclarationDescriptorNonRoo
@NotNull
@Override
public Visibility getVisibility() {
public DescriptorVisibility getVisibility() {
return visibility;
}
@@ -356,7 +356,8 @@ public abstract class FunctionDescriptorImpl extends DeclarationDescriptorNonRoo
protected @NotNull TypeSubstitution substitution;
protected @NotNull DeclarationDescriptor newOwner;
protected @NotNull Modality newModality;
protected @NotNull Visibility newVisibility;
protected @NotNull
DescriptorVisibility newVisibility;
protected @Nullable FunctionDescriptor original = null;
protected @NotNull Kind kind;
protected @NotNull List<ValueParameterDescriptor> newValueParameterDescriptors;
@@ -380,7 +381,7 @@ public abstract class FunctionDescriptorImpl extends DeclarationDescriptorNonRoo
@NotNull TypeSubstitution substitution,
@NotNull DeclarationDescriptor newOwner,
@NotNull Modality newModality,
@NotNull Visibility newVisibility,
@NotNull DescriptorVisibility newVisibility,
@NotNull Kind kind,
@NotNull List<ValueParameterDescriptor> newValueParameterDescriptors,
@Nullable ReceiverParameterDescriptor newExtensionReceiverParameter,
@@ -414,7 +415,7 @@ public abstract class FunctionDescriptorImpl extends DeclarationDescriptorNonRoo
@Override
@NotNull
public CopyConfiguration setVisibility(@NotNull Visibility visibility) {
public CopyConfiguration setVisibility(@NotNull DescriptorVisibility visibility) {
this.newVisibility = visibility;
return this;
}
@@ -746,7 +747,7 @@ public abstract class FunctionDescriptorImpl extends DeclarationDescriptorNonRoo
public FunctionDescriptor copy(
DeclarationDescriptor newOwner,
Modality modality,
Visibility visibility,
DescriptorVisibility visibility,
Kind kind,
boolean copyOverrides
) {
@@ -224,7 +224,7 @@ public class LazySubstitutingClassDescriptor extends ModuleAwareClassDescriptor
@NotNull
@Override
public Visibility getVisibility() {
public DescriptorVisibility getVisibility() {
return original.getVisibility();
}
@@ -22,7 +22,7 @@ public class MutableClassDescriptor extends ClassDescriptorBase {
private final boolean isInner;
private Modality modality;
private Visibility visibility;
private DescriptorVisibility visibility;
private TypeConstructor typeConstructor;
private List<TypeParameterDescriptor> typeParameters;
private final Collection<KotlinType> supertypes = new ArrayList<KotlinType>();
@@ -74,13 +74,13 @@ public class MutableClassDescriptor extends ClassDescriptorBase {
return kind;
}
public void setVisibility(@NotNull Visibility visibility) {
public void setVisibility(@NotNull DescriptorVisibility visibility) {
this.visibility = visibility;
}
@NotNull
@Override
public Visibility getVisibility() {
public DescriptorVisibility getVisibility() {
return visibility;
}
@@ -35,13 +35,13 @@ public abstract class PropertyAccessorDescriptorImpl extends DeclarationDescript
private final PropertyDescriptor correspondingProperty;
private final boolean isInline;
private final Kind kind;
private Visibility visibility;
private DescriptorVisibility visibility;
@Nullable
private FunctionDescriptor initialSignatureDescriptor = null;
public PropertyAccessorDescriptorImpl(
@NotNull Modality modality,
@NotNull Visibility visibility,
@NotNull DescriptorVisibility visibility,
@NotNull PropertyDescriptor correspondingProperty,
@NotNull Annotations annotations,
@NotNull Name name,
@@ -146,11 +146,11 @@ public abstract class PropertyAccessorDescriptorImpl extends DeclarationDescript
@NotNull
@Override
public Visibility getVisibility() {
public DescriptorVisibility getVisibility() {
return visibility;
}
public void setVisibility(Visibility visibility) {
public void setVisibility(DescriptorVisibility visibility) {
this.visibility = visibility;
}
@@ -189,7 +189,7 @@ public abstract class PropertyAccessorDescriptorImpl extends DeclarationDescript
public PropertyAccessorDescriptor copy(
DeclarationDescriptor newOwner,
Modality modality,
Visibility visibility,
DescriptorVisibility visibility,
Kind kind,
boolean copyOverrides
) {
@@ -36,7 +36,7 @@ import static org.jetbrains.kotlin.resolve.descriptorUtil.DescriptorUtilsKt.getB
@SuppressWarnings("deprecation")
public class PropertyDescriptorImpl extends VariableDescriptorWithInitializerImpl implements PropertyDescriptor {
private final Modality modality;
private Visibility visibility;
private DescriptorVisibility visibility;
private Collection<? extends PropertyDescriptor> overriddenProperties = null;
private final PropertyDescriptor original;
private final Kind kind;
@@ -61,7 +61,7 @@ public class PropertyDescriptorImpl extends VariableDescriptorWithInitializerImp
@Nullable PropertyDescriptor original,
@NotNull Annotations annotations,
@NotNull Modality modality,
@NotNull Visibility visibility,
@NotNull DescriptorVisibility visibility,
boolean isVar,
@NotNull Name name,
@NotNull Kind kind,
@@ -91,7 +91,7 @@ public class PropertyDescriptorImpl extends VariableDescriptorWithInitializerImp
@NotNull DeclarationDescriptor containingDeclaration,
@NotNull Annotations annotations,
@NotNull Modality modality,
@NotNull Visibility visibility,
@NotNull DescriptorVisibility visibility,
boolean isVar,
@NotNull Name name,
@NotNull Kind kind,
@@ -145,7 +145,7 @@ public class PropertyDescriptorImpl extends VariableDescriptorWithInitializerImp
this.setterProjectedOut = setterProjectedOut;
}
public void setVisibility(@NotNull Visibility visibility) {
public void setVisibility(@NotNull DescriptorVisibility visibility) {
this.visibility = visibility;
}
@@ -186,7 +186,7 @@ public class PropertyDescriptorImpl extends VariableDescriptorWithInitializerImp
@NotNull
@Override
public Visibility getVisibility() {
public DescriptorVisibility getVisibility() {
return visibility;
}
@@ -255,7 +255,7 @@ public class PropertyDescriptorImpl extends VariableDescriptorWithInitializerImp
public class CopyConfiguration implements PropertyDescriptor.CopyBuilder<PropertyDescriptor> {
private DeclarationDescriptor owner = getContainingDeclaration();
private Modality modality = getModality();
private Visibility visibility = getVisibility();
private DescriptorVisibility visibility = getVisibility();
private PropertyDescriptor original = null;
private boolean preserveSourceElement = false;
private Kind kind = getKind();
@@ -303,7 +303,7 @@ public class PropertyDescriptorImpl extends VariableDescriptorWithInitializerImp
@NotNull
@Override
public CopyConfiguration setVisibility(@NotNull Visibility visibility) {
public CopyConfiguration setVisibility(@NotNull DescriptorVisibility visibility) {
this.visibility = visibility;
return this;
}
@@ -492,9 +492,9 @@ public class PropertyDescriptorImpl extends VariableDescriptorWithInitializerImp
return substitutedDescriptor;
}
private static Visibility normalizeVisibility(Visibility prev, Kind kind) {
if (kind == Kind.FAKE_OVERRIDE && Visibilities.isPrivate(prev.normalize())) {
return Visibilities.INVISIBLE_FAKE;
private static DescriptorVisibility normalizeVisibility(DescriptorVisibility prev, Kind kind) {
if (kind == Kind.FAKE_OVERRIDE && DescriptorVisibilities.isPrivate(prev.normalize())) {
return DescriptorVisibilities.INVISIBLE_FAKE;
}
return prev;
}
@@ -512,7 +512,7 @@ public class PropertyDescriptorImpl extends VariableDescriptorWithInitializerImp
protected PropertyDescriptorImpl createSubstitutedCopy(
@NotNull DeclarationDescriptor newOwner,
@NotNull Modality newModality,
@NotNull Visibility newVisibility,
@NotNull DescriptorVisibility newVisibility,
@Nullable PropertyDescriptor original,
@NotNull Kind kind,
@NotNull Name newName,
@@ -577,7 +577,7 @@ public class PropertyDescriptorImpl extends VariableDescriptorWithInitializerImp
@NotNull
@Override
public PropertyDescriptor copy(DeclarationDescriptor newOwner, Modality modality, Visibility visibility, Kind kind, boolean copyOverrides) {
public PropertyDescriptor copy(DeclarationDescriptor newOwner, Modality modality, DescriptorVisibility visibility, Kind kind, boolean copyOverrides) {
//noinspection ConstantConditions
return newCopyBuilder()
.setOwner(newOwner)
@@ -37,7 +37,7 @@ public class PropertyGetterDescriptorImpl extends PropertyAccessorDescriptorImpl
@NotNull PropertyDescriptor correspondingProperty,
@NotNull Annotations annotations,
@NotNull Modality modality,
@NotNull Visibility visibility,
@NotNull DescriptorVisibility visibility,
boolean isDefault,
boolean isExternal,
boolean isInline,
@@ -39,7 +39,7 @@ public class PropertySetterDescriptorImpl extends PropertyAccessorDescriptorImpl
@NotNull PropertyDescriptor correspondingProperty,
@NotNull Annotations annotations,
@NotNull Modality modality,
@NotNull Visibility visibility,
@NotNull DescriptorVisibility visibility,
boolean isDefault,
boolean isExternal,
boolean isInline,
@@ -59,7 +59,7 @@ public class SimpleFunctionDescriptorImpl extends FunctionDescriptorImpl impleme
@NotNull List<ValueParameterDescriptor> unsubstitutedValueParameters,
@Nullable KotlinType unsubstitutedReturnType,
@Nullable Modality modality,
@NotNull Visibility visibility
@NotNull DescriptorVisibility visibility
) {
return initialize(extensionReceiverParameter, dispatchReceiverParameter, typeParameters, unsubstitutedValueParameters,
unsubstitutedReturnType, modality, visibility, null);
@@ -73,7 +73,7 @@ public class SimpleFunctionDescriptorImpl extends FunctionDescriptorImpl impleme
@NotNull List<ValueParameterDescriptor> unsubstitutedValueParameters,
@Nullable KotlinType unsubstitutedReturnType,
@Nullable Modality modality,
@NotNull Visibility visibility,
@NotNull DescriptorVisibility visibility,
@Nullable Map<? extends UserDataKey<?>, ?> userData
) {
super.initialize(extensionReceiverParameter, dispatchReceiverParameter, typeParameters, unsubstitutedValueParameters,
@@ -117,7 +117,7 @@ public class SimpleFunctionDescriptorImpl extends FunctionDescriptorImpl impleme
public SimpleFunctionDescriptor copy(
DeclarationDescriptor newOwner,
Modality modality,
Visibility visibility,
DescriptorVisibility visibility,
Kind kind,
boolean copyOverrides
) {
@@ -39,11 +39,11 @@ interface TypeAliasConstructorDescriptor : ConstructorDescriptor, DescriptorDeri
val withDispatchReceiver: TypeAliasConstructorDescriptor?
override fun copy(
newOwner: DeclarationDescriptor,
modality: Modality,
visibility: Visibility,
kind: Kind,
copyOverrides: Boolean
newOwner: DeclarationDescriptor,
modality: Modality,
visibility: DescriptorVisibility,
kind: Kind,
copyOverrides: Boolean
): TypeAliasConstructorDescriptor
}
@@ -128,11 +128,11 @@ class TypeAliasConstructorDescriptorImpl private constructor(
}
override fun copy(
newOwner: DeclarationDescriptor,
modality: Modality,
visibility: Visibility,
kind: Kind,
copyOverrides: Boolean
newOwner: DeclarationDescriptor,
modality: Modality,
visibility: DescriptorVisibility,
kind: Kind,
copyOverrides: Boolean
): TypeAliasConstructorDescriptor =
newCopyBuilder()
.setOwner(newOwner)
@@ -120,7 +120,7 @@ open class ValueParameterDescriptorImpl(
)
}
override fun getVisibility() = Visibilities.LOCAL
override fun getVisibility() = DescriptorVisibilities.LOCAL
override fun getOverriddenDescriptors(): Collection<ValueParameterDescriptor> {
return containingDeclaration.overriddenDescriptors.map {
@@ -480,14 +480,14 @@ internal class DescriptorRendererImpl(
}
}
private fun renderVisibility(visibility: Visibility, builder: StringBuilder): Boolean {
private fun renderVisibility(visibility: DescriptorVisibility, builder: StringBuilder): Boolean {
@Suppress("NAME_SHADOWING")
var visibility = visibility
if (DescriptorRendererModifier.VISIBILITY !in modifiers) return false
if (normalizedVisibilities) {
visibility = visibility.normalize()
}
if (!renderDefaultVisibility && visibility == Visibilities.DEFAULT_VISIBILITY) return false
if (!renderDefaultVisibility && visibility == DescriptorVisibilities.DEFAULT_VISIBILITY) return false
builder.append(renderKeyword(visibility.internalDisplayName)).append(" ")
return true
}
@@ -506,7 +506,7 @@ internal class DescriptorRendererImpl(
if (this.overriddenDescriptors.isNotEmpty()) {
if (containingClassDescriptor.modality != Modality.FINAL) return Modality.OPEN
}
return if (containingClassDescriptor.kind == ClassKind.INTERFACE && this.visibility != Visibilities.PRIVATE) {
return if (containingClassDescriptor.kind == ClassKind.INTERFACE && this.visibility != DescriptorVisibilities.PRIVATE) {
if (this.modality == Modality.ABSTRACT) Modality.ABSTRACT else Modality.OPEN
} else
Modality.FINAL
@@ -78,7 +78,7 @@ public class DescriptorFactory {
boolean isDefault,
boolean isExternal,
boolean isInline,
@NotNull Visibility visibility,
@NotNull DescriptorVisibility visibility,
@NotNull SourceElement sourceElement
) {
PropertySetterDescriptorImpl setterDescriptor = new PropertySetterDescriptorImpl(
@@ -141,7 +141,7 @@ public class DescriptorFactory {
return values.initialize(null, null, Collections.<TypeParameterDescriptor>emptyList(),
Collections.<ValueParameterDescriptor>emptyList(),
getBuiltIns(enumClass).getArrayType(Variance.INVARIANT, enumClass.getDefaultType()),
Modality.FINAL, Visibilities.PUBLIC);
Modality.FINAL, DescriptorVisibilities.PUBLIC);
}
@NotNull
@@ -159,7 +159,7 @@ public class DescriptorFactory {
);
return valueOf.initialize(null, null, Collections.<TypeParameterDescriptor>emptyList(),
Collections.singletonList(parameterDescriptor), enumClass.getDefaultType(),
Modality.FINAL, Visibilities.PUBLIC);
Modality.FINAL, DescriptorVisibilities.PUBLIC);
}
public static boolean isEnumValuesMethod(@NotNull FunctionDescriptor descriptor) {
@@ -65,7 +65,7 @@ public class DescriptorUtils {
public static boolean isDescriptorWithLocalVisibility(DeclarationDescriptor current) {
return current instanceof DeclarationDescriptorWithVisibility &&
((DeclarationDescriptorWithVisibility) current).getVisibility() == Visibilities.LOCAL;
((DeclarationDescriptorWithVisibility) current).getVisibility() == DescriptorVisibilities.LOCAL;
}
@NotNull
@@ -380,16 +380,16 @@ public class DescriptorUtils {
}
@NotNull
public static Visibility getDefaultConstructorVisibility(@NotNull ClassDescriptor classDescriptor) {
public static DescriptorVisibility getDefaultConstructorVisibility(@NotNull ClassDescriptor classDescriptor) {
ClassKind classKind = classDescriptor.getKind();
if (classKind == ClassKind.ENUM_CLASS || classKind.isSingleton() || isSealedClass(classDescriptor)) {
return Visibilities.PRIVATE;
return DescriptorVisibilities.PRIVATE;
}
if (isAnonymousObject(classDescriptor)) {
return Visibilities.DEFAULT_VISIBILITY;
return DescriptorVisibilities.DEFAULT_VISIBILITY;
}
assert classKind == ClassKind.CLASS || classKind == ClassKind.INTERFACE || classKind == ClassKind.ANNOTATION_CLASS;
return Visibilities.PUBLIC;
return DescriptorVisibilities.PUBLIC;
}
// TODO: should be internal
@@ -135,7 +135,7 @@ val DeclarationDescriptorWithVisibility.isEffectivelyPrivateApi: Boolean
val DeclarationDescriptor.isInsidePrivateClass: Boolean
get() {
val parent = containingDeclaration as? ClassDescriptor
return parent != null && Visibilities.isPrivate(parent.visibility)
return parent != null && DescriptorVisibilities.isPrivate(parent.visibility)
}
@@ -489,8 +489,8 @@ public class OverridingUtil {
}
public static boolean isVisibleForOverride(@NotNull MemberDescriptor overriding, @NotNull MemberDescriptor fromSuper) {
return !Visibilities.isPrivate(fromSuper.getVisibility()) &&
Visibilities.isVisibleIgnoringReceiver(fromSuper, overriding);
return !DescriptorVisibilities.isPrivate(fromSuper.getVisibility()) &&
DescriptorVisibilities.isVisibleIgnoringReceiver(fromSuper, overriding);
}
private Collection<CallableMemberDescriptor> extractAndBindOverridesForMember(
@@ -601,7 +601,7 @@ public class OverridingUtil {
@NotNull DeclarationDescriptorWithVisibility a,
@NotNull DeclarationDescriptorWithVisibility b
) {
Integer result = Visibilities.compare(a.getVisibility(), b.getVisibility());
Integer result = DescriptorVisibilities.compare(a.getVisibility(), b.getVisibility());
return result == null || result >= 0;
}
@@ -691,7 +691,7 @@ public class OverridingUtil {
Collection<CallableMemberDescriptor> effectiveOverridden = allInvisible ? overridables : visibleOverridables;
Modality modality = determineModalityForFakeOverride(effectiveOverridden, current);
Visibility visibility = allInvisible ? Visibilities.INVISIBLE_FAKE : Visibilities.INHERITED;
DescriptorVisibility visibility = allInvisible ? DescriptorVisibilities.INVISIBLE_FAKE : DescriptorVisibilities.INHERITED;
// FIXME doesn't work as expected for flexible types: should create a refined signature.
// Current algorithm produces bad results in presence of annotated Java signatures such as:
@@ -788,8 +788,8 @@ public class OverridingUtil {
@Override
public Boolean invoke(CallableMemberDescriptor descriptor) {
//nested class could capture private member, so check for private visibility added
return !Visibilities.isPrivate(descriptor.getVisibility()) &&
Visibilities.isVisibleIgnoringReceiver(descriptor, current);
return !DescriptorVisibilities.isPrivate(descriptor.getVisibility()) &&
DescriptorVisibilities.isVisibleIgnoringReceiver(descriptor, current);
}
});
}
@@ -872,22 +872,22 @@ public class OverridingUtil {
@Nullable Function1<CallableMemberDescriptor, Unit> cannotInferVisibility
) {
for (CallableMemberDescriptor descriptor : memberDescriptor.getOverriddenDescriptors()) {
if (descriptor.getVisibility() == Visibilities.INHERITED) {
if (descriptor.getVisibility() == DescriptorVisibilities.INHERITED) {
resolveUnknownVisibilityForMember(descriptor, cannotInferVisibility);
}
}
if (memberDescriptor.getVisibility() != Visibilities.INHERITED) {
if (memberDescriptor.getVisibility() != DescriptorVisibilities.INHERITED) {
return;
}
Visibility maxVisibility = computeVisibilityToInherit(memberDescriptor);
Visibility visibilityToInherit;
DescriptorVisibility maxVisibility = computeVisibilityToInherit(memberDescriptor);
DescriptorVisibility visibilityToInherit;
if (maxVisibility == null) {
if (cannotInferVisibility != null) {
cannotInferVisibility.invoke(memberDescriptor);
}
visibilityToInherit = Visibilities.PUBLIC;
visibilityToInherit = DescriptorVisibilities.PUBLIC;
}
else {
visibilityToInherit = maxVisibility;
@@ -914,9 +914,9 @@ public class OverridingUtil {
}
@Nullable
private static Visibility computeVisibilityToInherit(@NotNull CallableMemberDescriptor memberDescriptor) {
private static DescriptorVisibility computeVisibilityToInherit(@NotNull CallableMemberDescriptor memberDescriptor) {
Collection<? extends CallableMemberDescriptor> overriddenDescriptors = memberDescriptor.getOverriddenDescriptors();
Visibility maxVisibility = findMaxVisibility(overriddenDescriptors);
DescriptorVisibility maxVisibility = findMaxVisibility(overriddenDescriptors);
if (maxVisibility == null) {
return null;
}
@@ -933,19 +933,19 @@ public class OverridingUtil {
}
@Nullable
public static Visibility findMaxVisibility(@NotNull Collection<? extends CallableMemberDescriptor> descriptors) {
public static DescriptorVisibility findMaxVisibility(@NotNull Collection<? extends CallableMemberDescriptor> descriptors) {
if (descriptors.isEmpty()) {
return Visibilities.DEFAULT_VISIBILITY;
return DescriptorVisibilities.DEFAULT_VISIBILITY;
}
Visibility maxVisibility = null;
DescriptorVisibility maxVisibility = null;
for (CallableMemberDescriptor descriptor : descriptors) {
Visibility visibility = descriptor.getVisibility();
assert visibility != Visibilities.INHERITED : "Visibility should have been computed for " + descriptor;
DescriptorVisibility visibility = descriptor.getVisibility();
assert visibility != DescriptorVisibilities.INHERITED : "Visibility should have been computed for " + descriptor;
if (maxVisibility == null) {
maxVisibility = visibility;
continue;
}
Integer compareResult = Visibilities.compare(visibility, maxVisibility);
Integer compareResult = DescriptorVisibilities.compare(visibility, maxVisibility);
if (compareResult == null) {
maxVisibility = null;
}
@@ -957,7 +957,7 @@ public class OverridingUtil {
return null;
}
for (CallableMemberDescriptor descriptor : descriptors) {
Integer compareResult = Visibilities.compare(maxVisibility, descriptor.getVisibility());
Integer compareResult = DescriptorVisibilities.compare(maxVisibility, descriptor.getVisibility());
if (compareResult == null || compareResult < 0) {
return null;
}
@@ -17,7 +17,7 @@
package org.jetbrains.kotlin.resolve
import org.jetbrains.kotlin.descriptors.CallableMemberDescriptor
import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
fun findMemberWithMaxVisibility(descriptors: Collection<CallableMemberDescriptor>): CallableMemberDescriptor {
assert(descriptors.isNotEmpty())
@@ -29,7 +29,7 @@ fun findMemberWithMaxVisibility(descriptors: Collection<CallableMemberDescriptor
continue
}
val result = Visibilities.compare(descriptor.visibility, candidate.visibility)
val result = DescriptorVisibilities.compare(descriptor.visibility, candidate.visibility)
if (result != null && result < 0) {
descriptor = candidate
}
@@ -349,7 +349,7 @@ public class ErrorUtils {
ClassConstructorDescriptorImpl
errorConstructor = ClassConstructorDescriptorImpl.create(this, Annotations.Companion.getEMPTY(), true, SourceElement.NO_SOURCE);
errorConstructor.initialize(Collections.<ValueParameterDescriptor>emptyList(),
Visibilities.INTERNAL);
DescriptorVisibilities.INTERNAL);
MemberScope memberScope = createErrorScope(getName().asString());
errorConstructor.setReturnType(
new ErrorType(
@@ -417,7 +417,7 @@ public class ErrorUtils {
ERROR_CLASS,
Annotations.Companion.getEMPTY(),
Modality.OPEN,
Visibilities.PUBLIC,
DescriptorVisibilities.PUBLIC,
true,
Name.special("<ERROR PROPERTY>"),
CallableMemberDescriptor.Kind.DECLARATION,
@@ -439,7 +439,7 @@ public class ErrorUtils {
Collections.<ValueParameterDescriptor>emptyList(), // TODO
createErrorType("<ERROR FUNCTION RETURN TYPE>"),
Modality.OPEN,
Visibilities.PUBLIC
DescriptorVisibilities.PUBLIC
);
return function;
}
@@ -44,7 +44,7 @@ public class ErrorSimpleFunctionDescriptorImpl extends SimpleFunctionDescriptorI
@NotNull
@Override
public SimpleFunctionDescriptor copy(DeclarationDescriptor newOwner, Modality modality, Visibility visibility, Kind kind, boolean copyOverrides) {
public SimpleFunctionDescriptor copy(DeclarationDescriptor newOwner, Modality modality, DescriptorVisibility visibility, Kind kind, boolean copyOverrides) {
return this;
}
@@ -66,7 +66,7 @@ public class ErrorSimpleFunctionDescriptorImpl extends SimpleFunctionDescriptorI
@NotNull
@Override
public CopyBuilder<SimpleFunctionDescriptor> setVisibility(@NotNull Visibility visibility) {
public CopyBuilder<SimpleFunctionDescriptor> setVisibility(@NotNull DescriptorVisibility visibility) {
return this;
}
@@ -172,15 +172,15 @@ class MemberDeserializer(private val c: DeserializationContext) {
}
private fun DeserializedSimpleFunctionDescriptor.initializeWithCoroutinesExperimentalityStatus(
extensionReceiverParameter: ReceiverParameterDescriptor?,
dispatchReceiverParameter: ReceiverParameterDescriptor?,
typeParameters: List<TypeParameterDescriptor>,
unsubstitutedValueParameters: List<ValueParameterDescriptor>,
unsubstitutedReturnType: KotlinType?,
modality: Modality?,
visibility: Visibility,
userDataMap: Map<out CallableDescriptor.UserDataKey<*>, *>,
isSuspend: Boolean
extensionReceiverParameter: ReceiverParameterDescriptor?,
dispatchReceiverParameter: ReceiverParameterDescriptor?,
typeParameters: List<TypeParameterDescriptor>,
unsubstitutedValueParameters: List<ValueParameterDescriptor>,
unsubstitutedReturnType: KotlinType?,
modality: Modality?,
visibility: DescriptorVisibility,
userDataMap: Map<out CallableDescriptor.UserDataKey<*>, *>,
isSuspend: Boolean
) {
initialize(
extensionReceiverParameter,
@@ -53,22 +53,22 @@ object ProtoEnumFlags {
}
fun visibility(visibility: ProtoBuf.Visibility?) = when (visibility) {
ProtoBuf.Visibility.INTERNAL -> Visibilities.INTERNAL
ProtoBuf.Visibility.PRIVATE -> Visibilities.PRIVATE
ProtoBuf.Visibility.PRIVATE_TO_THIS -> Visibilities.PRIVATE_TO_THIS
ProtoBuf.Visibility.PROTECTED -> Visibilities.PROTECTED
ProtoBuf.Visibility.PUBLIC -> Visibilities.PUBLIC
ProtoBuf.Visibility.LOCAL -> Visibilities.LOCAL
else -> Visibilities.PRIVATE
ProtoBuf.Visibility.INTERNAL -> DescriptorVisibilities.INTERNAL
ProtoBuf.Visibility.PRIVATE -> DescriptorVisibilities.PRIVATE
ProtoBuf.Visibility.PRIVATE_TO_THIS -> DescriptorVisibilities.PRIVATE_TO_THIS
ProtoBuf.Visibility.PROTECTED -> DescriptorVisibilities.PROTECTED
ProtoBuf.Visibility.PUBLIC -> DescriptorVisibilities.PUBLIC
ProtoBuf.Visibility.LOCAL -> DescriptorVisibilities.LOCAL
else -> DescriptorVisibilities.PRIVATE
}
fun visibility(visibility: Visibility): ProtoBuf.Visibility = when (visibility) {
Visibilities.INTERNAL -> ProtoBuf.Visibility.INTERNAL
Visibilities.PUBLIC -> ProtoBuf.Visibility.PUBLIC
Visibilities.PRIVATE -> ProtoBuf.Visibility.PRIVATE
Visibilities.PRIVATE_TO_THIS -> ProtoBuf.Visibility.PRIVATE_TO_THIS
Visibilities.PROTECTED -> ProtoBuf.Visibility.PROTECTED
Visibilities.LOCAL -> ProtoBuf.Visibility.LOCAL
fun visibility(visibility: DescriptorVisibility): ProtoBuf.Visibility = when (visibility) {
DescriptorVisibilities.INTERNAL -> ProtoBuf.Visibility.INTERNAL
DescriptorVisibilities.PUBLIC -> ProtoBuf.Visibility.PUBLIC
DescriptorVisibilities.PRIVATE -> ProtoBuf.Visibility.PRIVATE
DescriptorVisibilities.PRIVATE_TO_THIS -> ProtoBuf.Visibility.PRIVATE_TO_THIS
DescriptorVisibilities.PROTECTED -> ProtoBuf.Visibility.PROTECTED
DescriptorVisibilities.LOCAL -> ProtoBuf.Visibility.LOCAL
else -> throw IllegalArgumentException("Unknown visibility: $visibility")
}
@@ -12,7 +12,6 @@ import org.jetbrains.kotlin.metadata.ProtoBuf
import org.jetbrains.kotlin.metadata.deserialization.*
import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.protobuf.MessageLite
import org.jetbrains.kotlin.serialization.deserialization.IncompatibleVersionErrorData
import org.jetbrains.kotlin.storage.StorageManager
import org.jetbrains.kotlin.types.*
@@ -69,15 +68,15 @@ class DeserializedSimpleFunctionDescriptor(
private set
fun initialize(
extensionReceiverParameter: ReceiverParameterDescriptor?,
dispatchReceiverParameter: ReceiverParameterDescriptor?,
typeParameters: List<TypeParameterDescriptor>,
unsubstitutedValueParameters: List<ValueParameterDescriptor>,
unsubstitutedReturnType: KotlinType?,
modality: Modality?,
visibility: Visibility,
userDataMap: Map<out CallableDescriptor.UserDataKey<*>, *>,
isExperimentalCoroutineInReleaseEnvironment: DeserializedMemberDescriptor.CoroutinesCompatibilityMode
extensionReceiverParameter: ReceiverParameterDescriptor?,
dispatchReceiverParameter: ReceiverParameterDescriptor?,
typeParameters: List<TypeParameterDescriptor>,
unsubstitutedValueParameters: List<ValueParameterDescriptor>,
unsubstitutedReturnType: KotlinType?,
modality: Modality?,
visibility: DescriptorVisibility,
userDataMap: Map<out CallableDescriptor.UserDataKey<*>, *>,
isExperimentalCoroutineInReleaseEnvironment: DeserializedMemberDescriptor.CoroutinesCompatibilityMode
): SimpleFunctionDescriptorImpl {
return super.initialize(
extensionReceiverParameter,
@@ -112,24 +111,24 @@ class DeserializedSimpleFunctionDescriptor(
}
class DeserializedPropertyDescriptor(
containingDeclaration: DeclarationDescriptor,
original: PropertyDescriptor?,
annotations: Annotations,
modality: Modality,
visibility: Visibility,
isVar: Boolean,
name: Name,
kind: CallableMemberDescriptor.Kind,
isLateInit: Boolean,
isConst: Boolean,
isExternal: Boolean,
isDelegated: Boolean,
isExpect: Boolean,
override val proto: ProtoBuf.Property,
override val nameResolver: NameResolver,
override val typeTable: TypeTable,
override val versionRequirementTable: VersionRequirementTable,
override val containerSource: DeserializedContainerSource?
containingDeclaration: DeclarationDescriptor,
original: PropertyDescriptor?,
annotations: Annotations,
modality: Modality,
visibility: DescriptorVisibility,
isVar: Boolean,
name: Name,
kind: CallableMemberDescriptor.Kind,
isLateInit: Boolean,
isConst: Boolean,
isExternal: Boolean,
isDelegated: Boolean,
isExpect: Boolean,
override val proto: ProtoBuf.Property,
override val nameResolver: NameResolver,
override val typeTable: TypeTable,
override val versionRequirementTable: VersionRequirementTable,
override val containerSource: DeserializedContainerSource?
) : DeserializedCallableMemberDescriptor, PropertyDescriptorImpl(
containingDeclaration, original, annotations, modality, visibility, isVar, name, kind, SourceElement.NO_SOURCE,
isLateInit, isConst, isExpect, false, isExternal, isDelegated
@@ -149,13 +148,13 @@ class DeserializedPropertyDescriptor(
}
override fun createSubstitutedCopy(
newOwner: DeclarationDescriptor,
newModality: Modality,
newVisibility: Visibility,
original: PropertyDescriptor?,
kind: CallableMemberDescriptor.Kind,
newName: Name,
source: SourceElement
newOwner: DeclarationDescriptor,
newModality: Modality,
newVisibility: DescriptorVisibility,
original: PropertyDescriptor?,
kind: CallableMemberDescriptor.Kind,
newName: Name,
source: SourceElement
): PropertyDescriptorImpl {
return DeserializedPropertyDescriptor(
newOwner, original, annotations, newModality, newVisibility, isVar, newName, kind, isLateInit, isConst, isExternal,
@@ -211,16 +210,16 @@ class DeserializedClassConstructorDescriptor(
}
class DeserializedTypeAliasDescriptor(
override val storageManager: StorageManager,
containingDeclaration: DeclarationDescriptor,
annotations: Annotations,
name: Name,
visibility: Visibility,
override val proto: ProtoBuf.TypeAlias,
override val nameResolver: NameResolver,
override val typeTable: TypeTable,
override val versionRequirementTable: VersionRequirementTable,
override val containerSource: DeserializedContainerSource?
override val storageManager: StorageManager,
containingDeclaration: DeclarationDescriptor,
annotations: Annotations,
name: Name,
visibility: DescriptorVisibility,
override val proto: ProtoBuf.TypeAlias,
override val nameResolver: NameResolver,
override val typeTable: TypeTable,
override val versionRequirementTable: VersionRequirementTable,
override val containerSource: DeserializedContainerSource?
) : AbstractTypeAliasDescriptor(containingDeclaration, annotations, name, SourceElement.NO_SOURCE, visibility),
DeserializedMemberDescriptor {
override lateinit var constructors: Collection<TypeAliasConstructorDescriptor> private set
@@ -56,7 +56,7 @@ internal abstract class KDeclarationContainerImpl : ClassBasedDeclarationContain
}
return scope.getContributedDescriptors().mapNotNull { descriptor ->
if (descriptor is CallableMemberDescriptor &&
descriptor.visibility != Visibilities.INVISIBLE_FAKE &&
descriptor.visibility != DescriptorVisibilities.INVISIBLE_FAKE &&
belonginess.accept(descriptor)
) descriptor.accept(visitor, Unit) else null
}.toList()
@@ -101,7 +101,7 @@ internal abstract class KDeclarationContainerImpl : ClassBasedDeclarationContain
val mostVisibleProperties = properties
.groupBy { it.visibility }
.toSortedMap(Comparator { first, second ->
Visibilities.compare(first, second) ?: 0
DescriptorVisibilities.compare(first, second) ?: 0
}).values.last()
if (mostVisibleProperties.size == 1) {
return mostVisibleProperties.first()
@@ -229,7 +229,7 @@ private fun KPropertyImpl.Accessor<*, *>.computeCallerForAccessor(isGetter: Bool
when {
accessor == null -> {
if (property.descriptor.isUnderlyingPropertyOfInlineClass() &&
property.descriptor.visibility == Visibilities.INTERNAL
property.descriptor.visibility == DescriptorVisibilities.INTERNAL
) {
val unboxMethod = property.descriptor.containingDeclaration.toInlineClass()?.getUnboxMethod(property.descriptor)
?: throw KotlinReflectionInternalError("Underlying property of inline class $property should have a field")
@@ -115,13 +115,13 @@ internal sealed class JvmPropertySignature {
private fun getManglingSuffix(): String {
val containingDeclaration = descriptor.containingDeclaration
if (descriptor.visibility == Visibilities.INTERNAL && containingDeclaration is DeserializedClassDescriptor) {
if (descriptor.visibility == DescriptorVisibilities.INTERNAL && containingDeclaration is DeserializedClassDescriptor) {
val classProto = containingDeclaration.classProto
val moduleName = classProto.getExtensionOrNull(JvmProtoBuf.classModuleName)?.let(nameResolver::getString)
?: JvmProtoBufUtil.DEFAULT_MODULE_NAME
return "$" + NameUtils.sanitizeAsJavaIdentifier(moduleName)
}
if (descriptor.visibility == Visibilities.PRIVATE && containingDeclaration is PackageFragmentDescriptor) {
if (descriptor.visibility == DescriptorVisibilities.PRIVATE && containingDeclaration is PackageFragmentDescriptor) {
val packagePartSource = (descriptor as DeserializedPropertyDescriptor).containerSource
if (packagePartSource is JvmPackagePartSource && packagePartSource.facadeClassName != null) {
return "$" + packagePartSource.simpleName.asString()
@@ -101,12 +101,12 @@ private fun loadClass(classLoader: ClassLoader, packageName: String, className:
return classLoader.tryLoadClass(fqName)
}
internal fun Visibility.toKVisibility(): KVisibility? =
internal fun DescriptorVisibility.toKVisibility(): KVisibility? =
when (this) {
Visibilities.PUBLIC -> KVisibility.PUBLIC
Visibilities.PROTECTED -> KVisibility.PROTECTED
Visibilities.INTERNAL -> KVisibility.INTERNAL
Visibilities.PRIVATE, Visibilities.PRIVATE_TO_THIS -> KVisibility.PRIVATE
DescriptorVisibilities.PUBLIC -> KVisibility.PUBLIC
DescriptorVisibilities.PROTECTED -> KVisibility.PROTECTED
DescriptorVisibilities.INTERNAL -> KVisibility.INTERNAL
DescriptorVisibilities.PRIVATE, DescriptorVisibilities.PRIVATE_TO_THIS -> KVisibility.PRIVATE
else -> null
}