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,7 +23,7 @@ import com.intellij.psi.PsiTypeParameter
import com.intellij.psi.search.SearchScope
import org.jetbrains.kotlin.asJava.KtLightClassMarker
import org.jetbrains.kotlin.asJava.isSyntheticValuesOrValueOfMethod
import org.jetbrains.kotlin.descriptors.Visibility
import org.jetbrains.kotlin.descriptors.DescriptorVisibility
import org.jetbrains.kotlin.load.java.structure.*
import org.jetbrains.kotlin.name.FqName
import org.jetbrains.kotlin.name.Name
@@ -111,7 +111,7 @@ class JavaClassImpl(psiClass: PsiClass) : JavaClassifierImpl<PsiClass>(psiClass)
override val isFinal: Boolean
get() = JavaElementUtil.isFinal(this)
override val visibility: Visibility
override val visibility: DescriptorVisibility
get() = JavaElementUtil.getVisibility(this)
override val lightClassOriginKind: LightClassOriginKind?
@@ -20,9 +20,9 @@ import com.intellij.codeInsight.ExternalAnnotationsManager;
import com.intellij.psi.*;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
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.JavaAnnotation;
import org.jetbrains.kotlin.name.FqName;
@@ -50,18 +50,18 @@ import static org.jetbrains.kotlin.load.java.structure.impl.JavaElementCollectio
}
@NotNull
public static Visibility getVisibility(@NotNull JavaModifierListOwnerImpl owner) {
public static DescriptorVisibility getVisibility(@NotNull JavaModifierListOwnerImpl owner) {
PsiModifierListOwner psiOwner = owner.getPsi();
if (psiOwner.hasModifierProperty(PsiModifier.PUBLIC)) {
return Visibilities.PUBLIC;
return DescriptorVisibilities.PUBLIC;
}
if (psiOwner.hasModifierProperty(PsiModifier.PRIVATE)) {
return Visibilities.PRIVATE;
return DescriptorVisibilities.PRIVATE;
}
if (psiOwner.hasModifierProperty(PsiModifier.PROTECTED)) {
return owner.isStatic() ? JavaVisibilities.PROTECTED_STATIC_VISIBILITY : JavaVisibilities.PROTECTED_AND_PACKAGE;
return owner.isStatic() ? JavaDescriptorVisibilities.PROTECTED_STATIC_VISIBILITY : JavaDescriptorVisibilities.PROTECTED_AND_PACKAGE;
}
return JavaVisibilities.PACKAGE_VISIBILITY;
return JavaDescriptorVisibilities.PACKAGE_VISIBILITY;
}
@NotNull
@@ -22,7 +22,7 @@ import com.intellij.psi.PsiDocCommentOwner;
import com.intellij.psi.PsiMember;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.kotlin.descriptors.Visibility;
import org.jetbrains.kotlin.descriptors.DescriptorVisibility;
import org.jetbrains.kotlin.load.java.structure.JavaAnnotation;
import org.jetbrains.kotlin.load.java.structure.JavaClass;
import org.jetbrains.kotlin.load.java.structure.JavaMember;
@@ -76,7 +76,7 @@ public abstract class JavaMemberImpl<Psi extends PsiMember> extends JavaElementI
@NotNull
@Override
public Visibility getVisibility() {
public DescriptorVisibility getVisibility() {
return JavaElementUtil.getVisibility(this);
}
@@ -21,8 +21,8 @@ import com.intellij.psi.PsiParameter;
import com.intellij.psi.impl.compiled.ClsParameterImpl;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
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.load.java.structure.JavaAnnotation;
import org.jetbrains.kotlin.load.java.structure.JavaType;
import org.jetbrains.kotlin.load.java.structure.JavaValueParameter;
@@ -60,8 +60,8 @@ public class JavaValueParameterImpl extends JavaElementImpl<PsiParameter>
@NotNull
@Override
public Visibility getVisibility() {
return Visibilities.LOCAL;
public DescriptorVisibility getVisibility() {
return DescriptorVisibilities.LOCAL;
}
@NotNull
@@ -16,9 +16,9 @@
package org.jetbrains.kotlin.load.java.structure.impl.classFiles
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 org.jetbrains.kotlin.load.java.structure.MapBasedJavaAnnotationOwner
import org.jetbrains.org.objectweb.asm.Opcodes
@@ -33,13 +33,13 @@ internal interface BinaryJavaModifierListOwner : JavaModifierListOwner, MapBased
override val isAbstract get() = isSet(Opcodes.ACC_ABSTRACT)
override val isStatic get() = isSet(Opcodes.ACC_STATIC)
override val isFinal get() = isSet(Opcodes.ACC_FINAL)
override val visibility: Visibility
override val visibility: DescriptorVisibility
get() = when {
isSet(Opcodes.ACC_PRIVATE) -> Visibilities.PRIVATE
isSet(Opcodes.ACC_PRIVATE) -> DescriptorVisibilities.PRIVATE
isSet(Opcodes.ACC_PROTECTED) ->
if (isStatic) JavaVisibilities.PROTECTED_STATIC_VISIBILITY else JavaVisibilities.PROTECTED_AND_PACKAGE
isSet(Opcodes.ACC_PUBLIC) -> Visibilities.PUBLIC
else -> JavaVisibilities.PACKAGE_VISIBILITY
if (isStatic) JavaDescriptorVisibilities.PROTECTED_STATIC_VISIBILITY else JavaDescriptorVisibilities.PROTECTED_AND_PACKAGE
isSet(Opcodes.ACC_PUBLIC) -> DescriptorVisibilities.PUBLIC
else -> JavaDescriptorVisibilities.PACKAGE_VISIBILITY
}
override val isDeprecatedInJavaDoc get() = isSet(Opcodes.ACC_DEPRECATED)
@@ -18,7 +18,7 @@ package org.jetbrains.kotlin.resolve.jvm.checkers
import org.jetbrains.kotlin.descriptors.ClassDescriptor
import org.jetbrains.kotlin.descriptors.DeclarationDescriptor
import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
import org.jetbrains.kotlin.diagnostics.Errors
import org.jetbrains.kotlin.load.java.descriptors.JavaClassDescriptor
import org.jetbrains.kotlin.psi.KtExpression
@@ -70,7 +70,7 @@ class JavaTypeAccessibilityChecker : AdditionalTypeChecker {
val declarationDescriptor = type.constructor.declarationDescriptor
if (declarationDescriptor is JavaClassDescriptor) {
if (!Visibilities.isVisibleIgnoringReceiver(declarationDescriptor, scopeOwner)) {
if (!DescriptorVisibilities.isVisibleIgnoringReceiver(declarationDescriptor, scopeOwner)) {
inaccessibleClasses.add(declarationDescriptor)
}
}
@@ -81,4 +81,4 @@ class JavaTypeAccessibilityChecker : AdditionalTypeChecker {
}
}
}
}
@@ -8,7 +8,7 @@ package org.jetbrains.kotlin.resolve.jvm.checkers
import org.jetbrains.kotlin.descriptors.DeclarationDescriptor
import org.jetbrains.kotlin.descriptors.MemberDescriptor
import org.jetbrains.kotlin.descriptors.VariableDescriptor
import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
import org.jetbrains.kotlin.descriptors.annotations.AnnotationUseSiteTarget.*
import org.jetbrains.kotlin.descriptors.annotations.KotlinRetention
import org.jetbrains.kotlin.diagnostics.reportDiagnosticOnce
@@ -34,7 +34,7 @@ class JvmAnnotationsTargetNonExistentAccessorChecker : DeclarationChecker {
if (descriptor !is MemberDescriptor) return
if (declaration !is KtParameter && declaration !is KtProperty) return
if (!Visibilities.isPrivate(descriptor.visibility) && !isSpecialStaticProperty(descriptor)) return
if (!DescriptorVisibilities.isPrivate(descriptor.visibility) && !isSpecialStaticProperty(descriptor)) return
val hasGetterWithBody = declaration is KtProperty && declaration.getter?.hasBody() == true
val hasSetterWithBody = declaration is KtProperty && declaration.setter?.hasBody() == true
@@ -63,7 +63,7 @@ class JvmFieldApplicabilityChecker : DeclarationChecker {
declaration.hasDelegate() -> DELEGATE
!descriptor.hasBackingField(context.trace.bindingContext) -> return
descriptor.isOverridable -> NOT_FINAL
Visibilities.isPrivate(descriptor.visibility) -> PRIVATE
DescriptorVisibilities.isPrivate(descriptor.visibility) -> PRIVATE
declaration.hasCustomAccessor() -> CUSTOM_ACCESSOR
descriptor.overriddenDescriptors.isNotEmpty() -> OVERRIDES
descriptor.isLateInit -> LATEINIT
@@ -92,7 +92,7 @@ class JvmFieldApplicabilityChecker : DeclarationChecker {
)) {
if (next !is PropertyDescriptor) continue
if (next.visibility != Visibilities.PUBLIC || next.isVar || next.modality != Modality.FINAL) return false
if (next.visibility != DescriptorVisibilities.PUBLIC || next.isVar || next.modality != Modality.FINAL) return false
if (!DescriptorsJvmAbiUtil.hasJvmFieldAnnotation(next)) return false
}
@@ -18,7 +18,7 @@ package org.jetbrains.kotlin.resolve.jvm.checkers
import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.descriptors.ClassDescriptor
import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
import org.jetbrains.kotlin.resolve.DescriptorUtils
import org.jetbrains.kotlin.resolve.annotations.hasJvmStaticAnnotation
import org.jetbrains.kotlin.resolve.calls.checkers.CallChecker
@@ -32,7 +32,7 @@ class ProtectedInSuperClassCompanionCallChecker : CallChecker {
val targetDescriptor = resolvedCall.resultingDescriptor.original
// Protected non-JVM static
if (targetDescriptor.visibility != Visibilities.PROTECTED) return
if (targetDescriptor.visibility != DescriptorVisibilities.PROTECTED) return
if (targetDescriptor.hasJvmStaticAnnotation()) return
val containerDescriptor = targetDescriptor.containingDeclaration
// Declared in companion object
@@ -17,7 +17,7 @@
package org.jetbrains.kotlin.resolve.jvm.checkers
import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
import org.jetbrains.kotlin.diagnostics.Errors
import org.jetbrains.kotlin.resolve.calls.checkers.CallChecker
import org.jetbrains.kotlin.resolve.calls.checkers.CallCheckerContext
@@ -43,7 +43,7 @@ object ProtectedSyntheticExtensionCallChecker : CallChecker {
val from = context.scope.ownerDescriptor
// Already reported
if (!Visibilities.isVisibleIgnoringReceiver(descriptor, from)) return
if (!DescriptorVisibilities.isVisibleIgnoringReceiver(descriptor, from)) return
if (resolvedCall.dispatchReceiver != null && resolvedCall.extensionReceiver !is ReceiverValue) return
@@ -53,7 +53,7 @@ object ProtectedSyntheticExtensionCallChecker : CallChecker {
context.languageVersionSettings
)
if (receiverTypes.none { Visibilities.isVisible(getReceiverValueWithSmartCast(null, it), sourceFunction, from) }) {
if (receiverTypes.none { DescriptorVisibilities.isVisible(getReceiverValueWithSmartCast(null, it), sourceFunction, from) }) {
context.trace.report(Errors.INVISIBLE_MEMBER.on(reportOn, descriptor, descriptor.visibility, from))
}
}
@@ -50,7 +50,7 @@ class LocalFunInlineChecker : DeclarationChecker {
if (InlineUtil.isInline(descriptor) &&
declaration is KtNamedFunction &&
descriptor is FunctionDescriptor &&
descriptor.visibility == Visibilities.LOCAL) {
descriptor.visibility == DescriptorVisibilities.LOCAL) {
context.trace.report(Errors.NOT_YET_SUPPORTED_IN_INLINE.on(declaration, "Local inline functions"))
}
}
@@ -117,7 +117,7 @@ class JvmStaticChecker(jvmTarget: JvmTarget, languageVersionSettings: LanguageVe
diagnosticHolder: DiagnosticSink,
declaration: KtDeclaration
) {
if (descriptor.visibility != Visibilities.PUBLIC) {
if (descriptor.visibility != DescriptorVisibilities.PUBLIC) {
diagnosticHolder.report(ErrorsJvm.JVM_STATIC_ON_NON_PUBLIC_MEMBER.on(declaration))
} else if (descriptor is PropertyDescriptor) {
descriptor.setter?.let { checkVisibility(it, diagnosticHolder, declaration) }
@@ -234,7 +234,7 @@ class OverloadsAnnotationChecker: DeclarationChecker {
ErrorsJvm.OVERLOADS_ANNOTATION_CLASS_CONSTRUCTOR_WARNING
diagnosticHolder.report(diagnostic.on(annotationEntry))
} else if (!descriptor.visibility.isPublicAPI && descriptor.visibility != Visibilities.INTERNAL) {
} else if (!descriptor.visibility.isPublicAPI && descriptor.visibility != DescriptorVisibilities.INTERNAL) {
diagnosticHolder.report(ErrorsJvm.OVERLOADS_PRIVATE.on(annotationEntry))
} else if (descriptor.valueParameters.none { it.declaresDefaultValue() || it.isActualParameterWithCorrespondingExpectedDefault }) {
diagnosticHolder.report(ErrorsJvm.OVERLOADS_WITHOUT_DEFAULT_ARGUMENTS.on(annotationEntry))
@@ -97,7 +97,7 @@ public class SignaturesPropagationData {
autoValueParameters,
autoReturnType,
Modality.OPEN,
Visibilities.PUBLIC
DescriptorVisibilities.PUBLIC
);
return autoMethodDescriptor;
}
@@ -278,15 +278,15 @@ class JavaSyntheticPropertiesScope(storageManager: StorageManager, private val l
}
private class MyPropertyDescriptor(
containingDeclaration: DeclarationDescriptor,
original: PropertyDescriptor?,
annotations: Annotations,
modality: Modality,
visibility: Visibility,
isVar: Boolean,
name: Name,
kind: CallableMemberDescriptor.Kind,
source: SourceElement
containingDeclaration: DeclarationDescriptor,
original: PropertyDescriptor?,
annotations: Annotations,
modality: Modality,
visibility: DescriptorVisibility,
isVar: Boolean,
name: Name,
kind: CallableMemberDescriptor.Kind,
source: SourceElement
) : SyntheticJavaPropertyDescriptor, PropertyDescriptorImpl(
containingDeclaration, original, annotations, modality, visibility, isVar, name, kind, source,
/* lateInit = */ false, /* isConst = */ false, /* isExpect = */ false, /* isActual = */ false, /* isExternal = */ false,
@@ -372,13 +372,13 @@ class JavaSyntheticPropertiesScope(storageManager: StorageManager, private val l
}
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 MyPropertyDescriptor(newOwner, this, annotations, newModality, newVisibility, isVar, newName, kind, this.source).apply {
getMethod = this@MyPropertyDescriptor.getMethod
@@ -32,20 +32,20 @@ fun FunctionDescriptor.hasJavaOriginInHierarchy(): Boolean {
original.overriddenDescriptors.any { it.hasJavaOriginInHierarchy() }
}
fun Visibility.isVisibleOutside() = this != Visibilities.PRIVATE && this != Visibilities.PRIVATE_TO_THIS && this != Visibilities.INVISIBLE_FAKE
fun DescriptorVisibility.isVisibleOutside() = this != DescriptorVisibilities.PRIVATE && this != DescriptorVisibilities.PRIVATE_TO_THIS && this != DescriptorVisibilities.INVISIBLE_FAKE
fun syntheticVisibility(originalDescriptor: DeclarationDescriptorWithVisibility, isUsedForExtension: Boolean): Visibility {
fun syntheticVisibility(originalDescriptor: DeclarationDescriptorWithVisibility, isUsedForExtension: Boolean): DescriptorVisibility {
val originalVisibility = originalDescriptor.visibility
return when (originalVisibility) {
Visibilities.PUBLIC -> Visibilities.PUBLIC
DescriptorVisibilities.PUBLIC -> DescriptorVisibilities.PUBLIC
else -> object : Visibility(originalVisibility.name, originalVisibility.isPublicAPI) {
else -> object : DescriptorVisibility(originalVisibility.name, originalVisibility.isPublicAPI) {
override fun isVisible(
receiver: ReceiverValue?,
what: DeclarationDescriptorWithVisibility,
from: DeclarationDescriptor
) = originalVisibility.isVisible(
if (isUsedForExtension) Visibilities.ALWAYS_SUITABLE_RECEIVER else receiver, originalDescriptor, from)
if (isUsedForExtension) DescriptorVisibilities.ALWAYS_SUITABLE_RECEIVER else receiver, originalDescriptor, from)
override fun mustCheckInImports()
= throw UnsupportedOperationException("Should never be called for this visibility")
@@ -69,4 +69,4 @@ fun <D : CallableDescriptor> ResolvedCall<D>.isResolvedWithSamConversions(): Boo
return this.resultingDescriptor is SamAdapterDescriptor<*> ||
this.resultingDescriptor is SamConstructorDescriptor ||
this.resultingDescriptor is SamAdapterExtensionFunctionDescriptor
}
}