Rename Visibility to DescriptorVisibility
This commit is contained in:
@@ -56,20 +56,20 @@ public final class KotlinDescriptorIconProvider {
|
||||
private static Icon getVisibilityIcon(@NotNull DeclarationDescriptor descriptor) {
|
||||
if (descriptor instanceof DeclarationDescriptorWithVisibility) {
|
||||
DeclarationDescriptorWithVisibility descriptorWithVisibility = (DeclarationDescriptorWithVisibility) descriptor;
|
||||
Visibility visibility = descriptorWithVisibility.getVisibility().normalize();
|
||||
if (visibility == Visibilities.PUBLIC) {
|
||||
DescriptorVisibility visibility = descriptorWithVisibility.getVisibility().normalize();
|
||||
if (visibility == DescriptorVisibilities.PUBLIC) {
|
||||
return PlatformIcons.PUBLIC_ICON;
|
||||
}
|
||||
|
||||
if (visibility == Visibilities.PROTECTED) {
|
||||
if (visibility == DescriptorVisibilities.PROTECTED) {
|
||||
return PlatformIcons.PROTECTED_ICON;
|
||||
}
|
||||
|
||||
if (Visibilities.isPrivate(visibility)) {
|
||||
if (DescriptorVisibilities.isPrivate(visibility)) {
|
||||
return PlatformIcons.PRIVATE_ICON;
|
||||
}
|
||||
|
||||
if (visibility == Visibilities.INTERNAL) {
|
||||
if (visibility == DescriptorVisibilities.INTERNAL) {
|
||||
return PlatformIcons.PACKAGE_LOCAL_ICON;
|
||||
}
|
||||
}
|
||||
|
||||
+7
-7
@@ -26,7 +26,7 @@ import com.intellij.psi.PsiElement
|
||||
import org.jetbrains.annotations.TestOnly
|
||||
import org.jetbrains.kotlin.descriptors.DeclarationDescriptor
|
||||
import org.jetbrains.kotlin.descriptors.DeclarationDescriptorWithVisibility
|
||||
import org.jetbrains.kotlin.descriptors.Visibilities
|
||||
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
|
||||
import org.jetbrains.kotlin.idea.caches.resolve.resolveToDescriptorIfAny
|
||||
import org.jetbrains.kotlin.idea.util.application.runReadAction
|
||||
import org.jetbrains.kotlin.psi.*
|
||||
@@ -111,7 +111,7 @@ class KotlinStructureViewElement(
|
||||
}
|
||||
|
||||
private fun isPublic(descriptor: DeclarationDescriptor?) =
|
||||
(descriptor as? DeclarationDescriptorWithVisibility)?.visibility == Visibilities.PUBLIC
|
||||
(descriptor as? DeclarationDescriptorWithVisibility)?.visibility == DescriptorVisibilities.PUBLIC
|
||||
|
||||
private fun countDescriptor(): DeclarationDescriptor? {
|
||||
val element = element
|
||||
@@ -132,14 +132,14 @@ class KotlinStructureViewElement(
|
||||
private val visibility = (descriptor as? DeclarationDescriptorWithVisibility)?.visibility
|
||||
|
||||
val isPublic: Boolean
|
||||
get() = visibility == Visibilities.PUBLIC
|
||||
get() = visibility == DescriptorVisibilities.PUBLIC
|
||||
|
||||
val accessLevel: Int?
|
||||
get() = when {
|
||||
visibility == Visibilities.PUBLIC -> 1
|
||||
visibility == Visibilities.INTERNAL -> 2
|
||||
visibility == Visibilities.PROTECTED -> 3
|
||||
visibility?.let { Visibilities.isPrivate(it) } == true -> 4
|
||||
visibility == DescriptorVisibilities.PUBLIC -> 1
|
||||
visibility == DescriptorVisibilities.INTERNAL -> 2
|
||||
visibility == DescriptorVisibilities.PROTECTED -> 3
|
||||
visibility?.let { DescriptorVisibilities.isPrivate(it) } == true -> 4
|
||||
else -> null
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -152,7 +152,7 @@ class TypeInstantiationItems(
|
||||
val allConstructors = classifier.constructors
|
||||
val visibleConstructors = allConstructors.filter {
|
||||
if (isAbstract)
|
||||
visibilityFilter(it) || it.visibility == Visibilities.PROTECTED
|
||||
visibilityFilter(it) || it.visibility == DescriptorVisibilities.PROTECTED
|
||||
else
|
||||
visibilityFilter(it)
|
||||
}
|
||||
|
||||
@@ -142,7 +142,7 @@ fun Call.resolveCandidates(
|
||||
|
||||
if (filterOutByVisibility) {
|
||||
candidates = candidates.filter {
|
||||
Visibilities.isVisible(it.getDispatchReceiverWithSmartCast(), it.resultingDescriptor, inDescriptor)
|
||||
DescriptorVisibilities.isVisible(it.getDispatchReceiverWithSmartCast(), it.resultingDescriptor, inDescriptor)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -193,4 +193,4 @@ fun isEnumCompanionPropertyWithEntryConflict(element: PsiElement, expectedName:
|
||||
if (!outerClass.isEnum()) return false
|
||||
|
||||
return outerClass.declarations.any { it is KtEnumEntry && it.name == expectedName }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -48,7 +48,7 @@ private fun DeclarationDescriptorWithVisibility.isVisible(
|
||||
bindingContext: BindingContext? = null,
|
||||
resolutionScope: LexicalScope? = null
|
||||
): Boolean {
|
||||
if (Visibilities.isVisibleWithAnyReceiver(this, from)) return true
|
||||
if (DescriptorVisibilities.isVisibleWithAnyReceiver(this, from)) return true
|
||||
|
||||
if (bindingContext == null || resolutionScope == null) return false
|
||||
|
||||
@@ -56,10 +56,10 @@ private fun DeclarationDescriptorWithVisibility.isVisible(
|
||||
if (receiverExpression != null && !isExtension) {
|
||||
val receiverType = bindingContext.getType(receiverExpression) ?: return false
|
||||
val explicitReceiver = ExpressionReceiver.create(receiverExpression, receiverType, bindingContext)
|
||||
return Visibilities.isVisible(explicitReceiver, this, from)
|
||||
return DescriptorVisibilities.isVisible(explicitReceiver, this, from)
|
||||
} else {
|
||||
return resolutionScope.getImplicitReceiversHierarchy().any {
|
||||
Visibilities.isVisible(it.value, this, from)
|
||||
DescriptorVisibilities.isVisible(it.value, this, from)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -104,12 +104,12 @@ fun compareDescriptors(project: Project, currentDescriptor: DeclarationDescripto
|
||||
return false
|
||||
}
|
||||
|
||||
fun Visibility.toKeywordToken(): KtModifierKeywordToken = when (val normalized = normalize()) {
|
||||
Visibilities.PUBLIC -> KtTokens.PUBLIC_KEYWORD
|
||||
Visibilities.PROTECTED -> KtTokens.PROTECTED_KEYWORD
|
||||
Visibilities.INTERNAL -> KtTokens.INTERNAL_KEYWORD
|
||||
fun DescriptorVisibility.toKeywordToken(): KtModifierKeywordToken = when (val normalized = normalize()) {
|
||||
DescriptorVisibilities.PUBLIC -> KtTokens.PUBLIC_KEYWORD
|
||||
DescriptorVisibilities.PROTECTED -> KtTokens.PROTECTED_KEYWORD
|
||||
DescriptorVisibilities.INTERNAL -> KtTokens.INTERNAL_KEYWORD
|
||||
else -> {
|
||||
if (Visibilities.isPrivate(normalized)) {
|
||||
if (DescriptorVisibilities.isPrivate(normalized)) {
|
||||
KtTokens.PRIVATE_KEYWORD
|
||||
} else {
|
||||
error("Unexpected visibility '$normalized'")
|
||||
@@ -144,4 +144,4 @@ fun <D : CallableMemberDescriptor> D.getDeepestSuperDeclarations(withThis: Boole
|
||||
|
||||
fun <T : DeclarationDescriptor> T.unwrapIfFakeOverride(): T {
|
||||
return if (this is CallableMemberDescriptor) DescriptorUtils.unwrapFakeOverride(this) else this
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -19,7 +19,7 @@ class OverrideMembersHandler(private val preferConstructorParameters: Boolean =
|
||||
for (member in descriptor.unsubstitutedMemberScope.getContributedDescriptors()) {
|
||||
if (member is CallableMemberDescriptor && (member.kind != CallableMemberDescriptor.Kind.DECLARATION)) {
|
||||
val overridden = member.overriddenDescriptors
|
||||
if (overridden.any { it.modality == Modality.FINAL || Visibilities.isPrivate(it.visibility.normalize()) }) continue
|
||||
if (overridden.any { it.modality == Modality.FINAL || DescriptorVisibilities.isPrivate(it.visibility.normalize()) }) continue
|
||||
|
||||
if (DescriptorUtils.isInterface(descriptor) && overridden.any { descriptor.builtIns.isMemberOfAny(it) }) continue
|
||||
|
||||
|
||||
+4
-4
@@ -190,14 +190,14 @@ class DebuggerFieldSyntheticScope(val javaSyntheticPropertiesScope: JavaSyntheti
|
||||
|
||||
val getter = PropertyGetterDescriptorImpl(
|
||||
propertyDescriptor, Annotations.EMPTY, Modality.FINAL,
|
||||
Visibilities.PUBLIC, false, false, false,
|
||||
DescriptorVisibilities.PUBLIC, false, false, false,
|
||||
CallableMemberDescriptor.Kind.SYNTHESIZED,
|
||||
null, sourceElement
|
||||
).apply { initialize(type) }
|
||||
|
||||
val setter = if (isVar) PropertySetterDescriptorImpl(
|
||||
propertyDescriptor, Annotations.EMPTY, Modality.FINAL,
|
||||
Visibilities.PUBLIC, false, false, false,
|
||||
DescriptorVisibilities.PUBLIC, false, false, false,
|
||||
CallableMemberDescriptor.Kind.SYNTHESIZED,
|
||||
null, sourceElement
|
||||
).apply {
|
||||
@@ -226,7 +226,7 @@ internal class DebuggerFieldPropertyDescriptor(
|
||||
null,
|
||||
Annotations.EMPTY,
|
||||
Modality.FINAL,
|
||||
Visibilities.PUBLIC,
|
||||
DescriptorVisibilities.PUBLIC,
|
||||
/*isVar = */isVar,
|
||||
Name.identifier(fieldName + "_field"),
|
||||
CallableMemberDescriptor.Kind.SYNTHESIZED,
|
||||
@@ -237,4 +237,4 @@ internal class DebuggerFieldPropertyDescriptor(
|
||||
/*isActual = */false,
|
||||
/*isExternal = */false,
|
||||
/*isDelegated = */false
|
||||
)
|
||||
)
|
||||
|
||||
+2
-2
@@ -209,7 +209,7 @@ class CodeFragmentCompiler(private val executionContext: ExecutionContext, priva
|
||||
|
||||
methodDescriptor.initialize(
|
||||
null, classDescriptor.thisAsReceiverParameter, emptyList(),
|
||||
parameters, returnType, Modality.FINAL, Visibilities.PUBLIC
|
||||
parameters, returnType, Modality.FINAL, DescriptorVisibilities.PUBLIC
|
||||
)
|
||||
|
||||
val memberScope = EvaluatorMemberScopeForMethod(methodDescriptor)
|
||||
@@ -301,4 +301,4 @@ private class EvaluatorModuleDescriptor(
|
||||
}
|
||||
|
||||
private val OutputFile.internalClassName: String
|
||||
get() = relativePath.removeSuffix(".class").replace('/', '.')
|
||||
get() = relativePath.removeSuffix(".class").replace('/', '.')
|
||||
|
||||
+2
-2
@@ -290,7 +290,7 @@ class CodeFragmentParameterAnalyzer(
|
||||
)
|
||||
}
|
||||
|
||||
val isLocalTarget = (target as? DeclarationDescriptorWithVisibility)?.visibility == Visibilities.LOCAL
|
||||
val isLocalTarget = (target as? DeclarationDescriptorWithVisibility)?.visibility == DescriptorVisibilities.LOCAL
|
||||
|
||||
val isPrimaryConstructorParameter = !isLocalTarget
|
||||
&& target is PropertyDescriptor
|
||||
@@ -422,4 +422,4 @@ private class OnceUsedChecker(private val clazz: Class<*>) {
|
||||
|
||||
used = true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -88,7 +88,7 @@ class DebugLabelPropertyDescriptorProvider(val codeFragment: KtCodeFragment, val
|
||||
propertyDescriptor,
|
||||
Annotations.EMPTY,
|
||||
Modality.FINAL,
|
||||
Visibilities.PUBLIC,
|
||||
DescriptorVisibilities.PUBLIC,
|
||||
/* isDefault = */ false,
|
||||
/* isExternal = */ false,
|
||||
/* isInline = */ false,
|
||||
@@ -205,7 +205,7 @@ internal class DebugLabelPropertyDescriptor(
|
||||
null,
|
||||
Annotations.EMPTY,
|
||||
Modality.FINAL,
|
||||
Visibilities.PUBLIC,
|
||||
DescriptorVisibilities.PUBLIC,
|
||||
/*isVar = */false,
|
||||
Name.identifier(labelName + "_DebugLabel"),
|
||||
CallableMemberDescriptor.Kind.SYNTHESIZED,
|
||||
|
||||
+3
-3
@@ -177,9 +177,9 @@ abstract class FileRankingCalculator(private val checkClassFqName: Boolean = tru
|
||||
|
||||
private fun rankingForVisibility(descriptor: DeclarationDescriptorWithVisibility, accessible: Accessible): Ranking {
|
||||
return collect(
|
||||
accessible.isPublic && descriptor.visibility == Visibilities.PUBLIC,
|
||||
accessible.isProtected && descriptor.visibility == Visibilities.PROTECTED,
|
||||
accessible.isPrivate && descriptor.visibility == Visibilities.PRIVATE
|
||||
accessible.isPublic && descriptor.visibility == DescriptorVisibilities.PUBLIC,
|
||||
accessible.isProtected && descriptor.visibility == DescriptorVisibilities.PROTECTED,
|
||||
accessible.isPrivate && descriptor.visibility == DescriptorVisibilities.PRIVATE
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -12,7 +12,7 @@ import org.jetbrains.kotlin.builtins.StandardNames
|
||||
import org.jetbrains.kotlin.descriptors.DeclarationDescriptorWithVisibility
|
||||
import org.jetbrains.kotlin.descriptors.FunctionDescriptor
|
||||
import org.jetbrains.kotlin.descriptors.PackageFragmentDescriptor
|
||||
import org.jetbrains.kotlin.descriptors.Visibilities
|
||||
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
|
||||
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||
import org.jetbrains.kotlin.idea.caches.resolve.analyze
|
||||
import org.jetbrains.kotlin.idea.caches.resolve.resolveToCall
|
||||
@@ -160,7 +160,7 @@ class DeprecatedCallableAddReplaceWithInspection : AbstractApplicabilityBasedIns
|
||||
|
||||
override fun visitSimpleNameExpression(expression: KtSimpleNameExpression) {
|
||||
val target = expression.resolveToCall()?.resultingDescriptor as? DeclarationDescriptorWithVisibility ?: return
|
||||
if (Visibilities.isPrivate((target.visibility))) {
|
||||
if (DescriptorVisibilities.isPrivate((target.visibility))) {
|
||||
isGood = false
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,7 +16,7 @@ import org.jetbrains.kotlin.idea.KotlinBundle
|
||||
import org.jetbrains.kotlin.idea.caches.resolve.analyze
|
||||
import org.jetbrains.kotlin.idea.caches.resolve.resolveToDescriptorIfAny
|
||||
import org.jetbrains.kotlin.lexer.KtTokens
|
||||
import org.jetbrains.kotlin.load.java.JavaVisibilities
|
||||
import org.jetbrains.kotlin.load.java.JavaDescriptorVisibilities
|
||||
import org.jetbrains.kotlin.load.java.descriptors.JavaMethodDescriptor
|
||||
import org.jetbrains.kotlin.psi.*
|
||||
import org.jetbrains.kotlin.psi.psiUtil.*
|
||||
@@ -62,7 +62,7 @@ class KotlinRedundantOverrideInspection : AbstractKotlinInspection(), CleanupLoc
|
||||
val functionDescriptor = context[BindingContext.FUNCTION, function]
|
||||
if (function.hasDerivedProperty(functionDescriptor, context)) return
|
||||
val overriddenDescriptors = functionDescriptor?.original?.overriddenDescriptors
|
||||
if (overriddenDescriptors?.any { it is JavaMethodDescriptor && it.visibility == JavaVisibilities.PACKAGE_VISIBILITY } == true) return
|
||||
if (overriddenDescriptors?.any { it is JavaMethodDescriptor && it.visibility == JavaDescriptorVisibilities.PACKAGE_VISIBILITY } == true) return
|
||||
if (function.isAmbiguouslyDerived(overriddenDescriptors, context)) return
|
||||
|
||||
val descriptor = holder.manager.createProblemDescriptor(
|
||||
|
||||
+2
-2
@@ -136,7 +136,7 @@ private fun ClassDescriptor.findMemberFunction(name: Name): FunctionDescriptor?
|
||||
}
|
||||
|
||||
private fun CallableDescriptor.isLocalOrExtension(extensionClassDescriptor: ClassDescriptor): Boolean {
|
||||
return visibility == Visibilities.LOCAL ||
|
||||
return visibility == DescriptorVisibilities.LOCAL ||
|
||||
extensionReceiverParameter?.type?.constructor?.declarationDescriptor == extensionClassDescriptor
|
||||
}
|
||||
|
||||
@@ -158,4 +158,4 @@ class RemoveRedundantCompanionReferenceFix : LocalQuickFix {
|
||||
if (expression == receiver) parent.replace(selector) else parent.replace(receiver)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+4
-4
@@ -10,8 +10,8 @@ import com.intellij.psi.PsiElementVisitor
|
||||
import org.jetbrains.kotlin.config.AnalysisFlags
|
||||
import org.jetbrains.kotlin.descriptors.CallableMemberDescriptor
|
||||
import org.jetbrains.kotlin.descriptors.PropertyDescriptor
|
||||
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.config.ExplicitApiMode
|
||||
import org.jetbrains.kotlin.descriptors.DeclarationDescriptorWithVisibility
|
||||
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||
@@ -56,7 +56,7 @@ class RedundantVisibilityModifierInspection : AbstractKotlinInspection(), Cleanu
|
||||
&& declaration is KtProperty
|
||||
&& declaration.hasModifier(KtTokens.OVERRIDE_KEYWORD)
|
||||
&& declaration.isVar
|
||||
&& declaration.setterVisibility().let { it != null && it != Visibilities.PUBLIC }
|
||||
&& declaration.setterVisibility().let { it != null && it != DescriptorVisibilities.PUBLIC }
|
||||
) return
|
||||
|
||||
holder.registerProblem(
|
||||
@@ -71,7 +71,7 @@ class RedundantVisibilityModifierInspection : AbstractKotlinInspection(), Cleanu
|
||||
})
|
||||
}
|
||||
|
||||
private fun KtProperty.setterVisibility(): Visibility? {
|
||||
private fun KtProperty.setterVisibility(): DescriptorVisibility? {
|
||||
val descriptor = descriptor as? PropertyDescriptor ?: return null
|
||||
if (setter?.visibilityModifier() != null) {
|
||||
val visibility = descriptor.setter?.visibility
|
||||
|
||||
@@ -518,7 +518,7 @@ class UnusedSymbolInspection : AbstractKotlinInspection() {
|
||||
return when {
|
||||
descriptor is ConstructorDescriptor -> {
|
||||
val classDescriptor = descriptor.constructedClass
|
||||
!classDescriptor.isInline && classDescriptor.visibility != Visibilities.LOCAL
|
||||
!classDescriptor.isInline && classDescriptor.visibility != DescriptorVisibilities.LOCAL
|
||||
}
|
||||
hasModifier(KtTokens.INTERNAL_KEYWORD) -> false
|
||||
descriptor !is FunctionDescriptor -> true
|
||||
@@ -638,4 +638,4 @@ class SafeDeleteFix(declaration: KtDeclaration) : LocalQuickFix {
|
||||
|
||||
private fun safeDelete(project: Project, declaration: PsiElement) {
|
||||
SafeDeleteHandler.invoke(project, arrayOf(declaration), false)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,7 +10,7 @@ import com.intellij.openapi.module.Module
|
||||
import com.intellij.psi.search.GlobalSearchScope
|
||||
import org.jetbrains.kotlin.config.ApiVersion
|
||||
import org.jetbrains.kotlin.descriptors.DeclarationDescriptorWithVisibility
|
||||
import org.jetbrains.kotlin.descriptors.Visibilities
|
||||
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
|
||||
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||
import org.jetbrains.kotlin.idea.caches.resolve.analyze
|
||||
import org.jetbrains.kotlin.idea.caches.resolve.resolveToCall
|
||||
@@ -44,7 +44,7 @@ class AddThrowsAnnotationIntention : SelfTargetingIntention<KtThrowExpression>(
|
||||
val containingDeclaration = element.getContainingDeclaration() ?: return false
|
||||
|
||||
val type = element.thrownExpression?.resolveToCall()?.resultingDescriptor?.returnType ?: return false
|
||||
if ((type.constructor.declarationDescriptor as? DeclarationDescriptorWithVisibility)?.visibility == Visibilities.LOCAL) return false
|
||||
if ((type.constructor.declarationDescriptor as? DeclarationDescriptorWithVisibility)?.visibility == DescriptorVisibilities.LOCAL) return false
|
||||
|
||||
val module = element.module ?: return false
|
||||
if (!KOTLIN_THROWS_ANNOTATION_FQ_NAME.fqNameIsExists(module) &&
|
||||
@@ -154,4 +154,4 @@ private fun FqName.fqNameIsExists(module: Module): Boolean = KotlinFullClassName
|
||||
asString(),
|
||||
module.project,
|
||||
GlobalSearchScope.moduleWithLibrariesScope(module)
|
||||
].isNotEmpty()
|
||||
].isNotEmpty()
|
||||
|
||||
@@ -10,7 +10,7 @@ import com.intellij.openapi.editor.Editor
|
||||
import com.intellij.openapi.util.TextRange
|
||||
import org.jetbrains.kotlin.descriptors.CallableDescriptor
|
||||
import org.jetbrains.kotlin.descriptors.DeclarationDescriptorWithVisibility
|
||||
import org.jetbrains.kotlin.descriptors.Visibilities
|
||||
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
|
||||
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||
import org.jetbrains.kotlin.idea.core.*
|
||||
import org.jetbrains.kotlin.idea.util.runCommandOnAllExpectAndActualDeclaration
|
||||
@@ -40,7 +40,7 @@ open class ChangeVisibilityModifierIntention protected constructor(val modifier:
|
||||
val callableDescriptor = descriptor as? CallableDescriptor ?: return null
|
||||
// cannot make visibility less than (or non-comparable with) any of the supers
|
||||
if (callableDescriptor.overriddenDescriptors
|
||||
.map { Visibilities.compare(it.visibility, targetVisibility) }
|
||||
.map { DescriptorVisibilities.compare(it.visibility, targetVisibility) }
|
||||
.any { it == null || it > 0 }
|
||||
) return null
|
||||
}
|
||||
@@ -49,13 +49,13 @@ open class ChangeVisibilityModifierIntention protected constructor(val modifier:
|
||||
|
||||
if (element is KtPropertyAccessor) {
|
||||
if (element.isGetter) return null
|
||||
if (targetVisibility == Visibilities.PUBLIC) {
|
||||
if (targetVisibility == DescriptorVisibilities.PUBLIC) {
|
||||
val explicitVisibility = element.modifierList?.visibilityModifierType()?.value ?: return null
|
||||
setTextGetter(KotlinBundle.lazyMessage("remove.0.modifier", explicitVisibility))
|
||||
} else {
|
||||
val propVisibility = (element.property.toDescriptor() as? DeclarationDescriptorWithVisibility)?.visibility ?: return null
|
||||
if (propVisibility == targetVisibility) return null
|
||||
val compare = Visibilities.compare(targetVisibility, propVisibility)
|
||||
val compare = DescriptorVisibilities.compare(targetVisibility, propVisibility)
|
||||
if (compare == null || compare > 0) return null
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,8 +14,8 @@ import com.intellij.openapi.project.Project
|
||||
import com.intellij.openapi.util.TextRange
|
||||
import com.intellij.psi.JavaDirectoryService
|
||||
import com.intellij.refactoring.rename.PsiElementRenameHandler
|
||||
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.idea.KotlinBundle
|
||||
import org.jetbrains.kotlin.idea.core.KotlinNameSuggester
|
||||
import org.jetbrains.kotlin.idea.core.ShortenReferences
|
||||
@@ -103,7 +103,7 @@ class CreateKotlinSubClassIntention : SelfTargetingRangeIntention<KtClass>(
|
||||
private fun createExternalSubclass(baseClass: KtClass, baseName: String, editor: Editor) {
|
||||
var container: KtClassOrObject = baseClass
|
||||
var name = baseName
|
||||
var visibility = ModifiersChecker.resolveVisibilityFromModifiers(baseClass, Visibilities.PUBLIC)
|
||||
var visibility = ModifiersChecker.resolveVisibilityFromModifiers(baseClass, org.jetbrains.kotlin.descriptors.DescriptorVisibilities.PUBLIC)
|
||||
while (!container.isPrivate() && !container.isProtected() && !(container is KtClass && container.isInner())) {
|
||||
val parent = container.containingClassOrObject
|
||||
if (parent != null) {
|
||||
@@ -112,7 +112,7 @@ class CreateKotlinSubClassIntention : SelfTargetingRangeIntention<KtClass>(
|
||||
container = parent
|
||||
name = "$parentName.$name"
|
||||
val parentVisibility = ModifiersChecker.resolveVisibilityFromModifiers(parent, visibility)
|
||||
if (Visibilities.compare(parentVisibility, visibility) ?: 0 < 0) {
|
||||
if (org.jetbrains.kotlin.descriptors.DescriptorVisibilities.compare(parentVisibility, visibility) ?: 0 < 0) {
|
||||
visibility = parentVisibility
|
||||
}
|
||||
}
|
||||
@@ -176,11 +176,11 @@ class CreateKotlinSubClassIntention : SelfTargetingRangeIntention<KtClass>(
|
||||
targetName: String,
|
||||
baseClass: KtClass,
|
||||
baseName: String,
|
||||
defaultVisibility: Visibility = ModifiersChecker.resolveVisibilityFromModifiers(baseClass, Visibilities.PUBLIC)
|
||||
defaultVisibility: DescriptorVisibility = ModifiersChecker.resolveVisibilityFromModifiers(baseClass, org.jetbrains.kotlin.descriptors.DescriptorVisibilities.PUBLIC)
|
||||
): ClassHeaderBuilder {
|
||||
return ClassHeaderBuilder().apply {
|
||||
if (!baseClass.isInterface()) {
|
||||
if (defaultVisibility != Visibilities.PUBLIC) {
|
||||
if (defaultVisibility != org.jetbrains.kotlin.descriptors.DescriptorVisibilities.PUBLIC) {
|
||||
modifier(defaultVisibility.name)
|
||||
}
|
||||
if (baseClass.isInner()) {
|
||||
@@ -199,4 +199,4 @@ class CreateKotlinSubClassIntention : SelfTargetingRangeIntention<KtClass>(
|
||||
editor.caretModel.moveToOffset(targetClass.textRange.startOffset)
|
||||
ImplementMembersHandler().invoke(project, editor, targetClass.containingFile)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,8 +11,8 @@ import com.intellij.openapi.editor.Editor
|
||||
import com.intellij.openapi.project.Project
|
||||
import org.jetbrains.kotlin.descriptors.DeclarationDescriptor
|
||||
import org.jetbrains.kotlin.descriptors.DeclarationDescriptorWithVisibility
|
||||
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.diagnostics.Diagnostic
|
||||
import org.jetbrains.kotlin.diagnostics.DiagnosticFactory0
|
||||
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||
@@ -104,17 +104,17 @@ open class ChangeVisibilityFix(
|
||||
fun create(
|
||||
declaration: KtModifierListOwner,
|
||||
descriptor: DeclarationDescriptorWithVisibility,
|
||||
targetVisibility: Visibility
|
||||
targetVisibility: DescriptorVisibility
|
||||
): IntentionAction? {
|
||||
if (!ExposedVisibilityChecker().checkDeclarationWithVisibility(declaration, descriptor, targetVisibility)) return null
|
||||
|
||||
val name = descriptor.name.asString()
|
||||
|
||||
return when (targetVisibility) {
|
||||
Visibilities.PRIVATE -> ChangeToPrivateFix(declaration, name)
|
||||
Visibilities.INTERNAL -> ChangeToInternalFix(declaration, name)
|
||||
Visibilities.PROTECTED -> ChangeToProtectedFix(declaration, name)
|
||||
Visibilities.PUBLIC -> ChangeToPublicFix(declaration, name)
|
||||
DescriptorVisibilities.PRIVATE -> ChangeToPrivateFix(declaration, name)
|
||||
DescriptorVisibilities.INTERNAL -> ChangeToInternalFix(declaration, name)
|
||||
DescriptorVisibilities.PROTECTED -> ChangeToProtectedFix(declaration, name)
|
||||
DescriptorVisibilities.PUBLIC -> ChangeToPublicFix(declaration, name)
|
||||
else -> null
|
||||
}
|
||||
}
|
||||
@@ -134,4 +134,4 @@ open class ChangeVisibilityFix(
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,8 +21,8 @@ import org.jetbrains.kotlin.descriptors.DeclarationDescriptorWithVisibility
|
||||
import org.jetbrains.kotlin.descriptors.DescriptorWithRelation
|
||||
import org.jetbrains.kotlin.descriptors.EffectiveVisibility
|
||||
import org.jetbrains.kotlin.descriptors.EffectiveVisibility.Permissiveness.LESS
|
||||
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.diagnostics.Diagnostic
|
||||
import org.jetbrains.kotlin.diagnostics.DiagnosticFactory3
|
||||
import org.jetbrains.kotlin.idea.core.toDescriptor
|
||||
@@ -35,12 +35,12 @@ import java.util.*
|
||||
object ChangeVisibilityOnExposureFactory : KotlinIntentionActionsFactory() {
|
||||
|
||||
private fun addFixToTargetVisibility(
|
||||
modifierListOwner: KtModifierListOwner,
|
||||
descriptor: DeclarationDescriptorWithVisibility,
|
||||
targetVisibility: Visibility,
|
||||
boundVisibility: Visibility,
|
||||
protectedAllowed: Boolean,
|
||||
fixes: MutableList<IntentionAction>
|
||||
modifierListOwner: KtModifierListOwner,
|
||||
descriptor: DeclarationDescriptorWithVisibility,
|
||||
targetVisibility: DescriptorVisibility,
|
||||
boundVisibility: DescriptorVisibility,
|
||||
protectedAllowed: Boolean,
|
||||
fixes: MutableList<IntentionAction>
|
||||
) {
|
||||
val possibleVisibilities = when (targetVisibility) {
|
||||
PROTECTED -> if (protectedAllowed) listOf(boundVisibility, PROTECTED) else listOf(boundVisibility)
|
||||
@@ -85,4 +85,4 @@ object ChangeVisibilityOnExposureFactory : KotlinIntentionActionsFactory() {
|
||||
)
|
||||
return result
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,7 +21,7 @@ import org.jetbrains.kotlin.descriptors.ClassConstructorDescriptor
|
||||
import org.jetbrains.kotlin.descriptors.ClassDescriptor
|
||||
import org.jetbrains.kotlin.descriptors.DeclarationDescriptor
|
||||
import org.jetbrains.kotlin.descriptors.DeclarationDescriptorWithVisibility
|
||||
import org.jetbrains.kotlin.descriptors.Visibilities.*
|
||||
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities.*
|
||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
||||
import org.jetbrains.kotlin.diagnostics.DiagnosticFactory3
|
||||
import org.jetbrains.kotlin.idea.caches.resolve.findModuleDescriptor
|
||||
|
||||
+1
-1
@@ -419,7 +419,7 @@ class CallableBuilder(val config: CallableBuilderConfiguration) {
|
||||
|
||||
return fakeFunction.initialize(
|
||||
null, null, typeParameters, Collections.emptyList(), null,
|
||||
null, Visibilities.INTERNAL
|
||||
null, DescriptorVisibilities.INTERNAL
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -8,7 +8,7 @@ package org.jetbrains.kotlin.idea.quickfix.createFromUsage.callableBuilder
|
||||
import com.intellij.psi.PsiElement
|
||||
import com.intellij.util.ArrayUtil
|
||||
import org.jetbrains.kotlin.descriptors.ClassDescriptorWithResolutionScopes
|
||||
import org.jetbrains.kotlin.descriptors.Visibility
|
||||
import org.jetbrains.kotlin.descriptors.DescriptorVisibility
|
||||
import org.jetbrains.kotlin.idea.caches.resolve.resolveToDescriptorIfAny
|
||||
import org.jetbrains.kotlin.idea.core.KotlinNameSuggester
|
||||
import org.jetbrains.kotlin.idea.quickfix.createFromUsage.createClass.ClassInfo
|
||||
@@ -217,7 +217,7 @@ class ClassWithPrimaryConstructorInfo(
|
||||
val classInfo: ClassInfo,
|
||||
expectedTypeInfo: TypeInfo,
|
||||
modifierList: KtModifierList? = null,
|
||||
val primaryConstructorVisibility: Visibility? = null
|
||||
val primaryConstructorVisibility: DescriptorVisibility? = null
|
||||
) : CallableInfo(
|
||||
classInfo.name,
|
||||
TypeInfo.Empty,
|
||||
|
||||
+3
-3
@@ -6,7 +6,7 @@
|
||||
package org.jetbrains.kotlin.idea.quickfix.createFromUsage.createClass
|
||||
|
||||
import org.jetbrains.kotlin.descriptors.ClassConstructorDescriptor
|
||||
import org.jetbrains.kotlin.descriptors.Visibilities
|
||||
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
|
||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
||||
import org.jetbrains.kotlin.idea.caches.resolve.analyzeAndGetResult
|
||||
import org.jetbrains.kotlin.idea.intentions.getCallableDescriptor
|
||||
@@ -95,8 +95,8 @@ object CreateClassFromConstructorCallActionFactory : CreateClassFromUsageFactory
|
||||
(it.getArgumentExpression()?.getCallableDescriptor() as? ClassConstructorDescriptor)?.containingDeclaration?.visibility
|
||||
}
|
||||
val primaryConstructorVisibility = when {
|
||||
Visibilities.PRIVATE in argumentClassVisibilities -> Visibilities.PRIVATE
|
||||
Visibilities.INTERNAL in argumentClassVisibilities -> Visibilities.INTERNAL
|
||||
DescriptorVisibilities.PRIVATE in argumentClassVisibilities -> DescriptorVisibilities.PRIVATE
|
||||
DescriptorVisibilities.INTERNAL in argumentClassVisibilities -> DescriptorVisibilities.INTERNAL
|
||||
else -> null
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -16,7 +16,7 @@ import com.intellij.openapi.ui.DialogWrapper
|
||||
import com.intellij.psi.*
|
||||
import org.jetbrains.annotations.Nls
|
||||
import org.jetbrains.annotations.NonNls
|
||||
import org.jetbrains.kotlin.descriptors.Visibility
|
||||
import org.jetbrains.kotlin.descriptors.DescriptorVisibility
|
||||
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||
import org.jetbrains.kotlin.idea.KotlinFileType
|
||||
import org.jetbrains.kotlin.idea.core.getFqNameWithImplicitPrefix
|
||||
@@ -69,7 +69,7 @@ data class ClassInfo(
|
||||
val open: Boolean = false,
|
||||
val typeArguments: List<TypeInfo> = Collections.emptyList(),
|
||||
val parameterInfos: List<ParameterInfo> = Collections.emptyList(),
|
||||
val primaryConstructorVisibility: Visibility? = null
|
||||
val primaryConstructorVisibility: DescriptorVisibility? = null
|
||||
) {
|
||||
val applicableParents by lazy {
|
||||
targetParents.filter {
|
||||
|
||||
+11
-11
@@ -32,8 +32,8 @@ import org.jetbrains.kotlin.asJava.unwrapped
|
||||
import org.jetbrains.kotlin.builtins.isNonExtensionFunctionType
|
||||
import org.jetbrains.kotlin.descriptors.CallableDescriptor
|
||||
import org.jetbrains.kotlin.descriptors.FunctionDescriptor
|
||||
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.idea.KotlinLanguage
|
||||
import org.jetbrains.kotlin.idea.caches.resolve.util.getJavaOrKotlinMemberDescriptor
|
||||
import org.jetbrains.kotlin.idea.j2k.j2k
|
||||
@@ -56,14 +56,14 @@ import org.jetbrains.kotlin.utils.keysToMap
|
||||
import java.util.*
|
||||
|
||||
open class KotlinChangeInfo(
|
||||
val methodDescriptor: KotlinMethodDescriptor,
|
||||
private var name: String = methodDescriptor.name,
|
||||
var newReturnTypeInfo: KotlinTypeInfo = KotlinTypeInfo(true, methodDescriptor.baseDescriptor.returnType),
|
||||
var newVisibility: Visibility = methodDescriptor.visibility,
|
||||
parameterInfos: List<KotlinParameterInfo> = methodDescriptor.parameters,
|
||||
receiver: KotlinParameterInfo? = methodDescriptor.receiver,
|
||||
val context: PsiElement,
|
||||
primaryPropagationTargets: Collection<PsiElement> = emptyList()
|
||||
val methodDescriptor: KotlinMethodDescriptor,
|
||||
private var name: String = methodDescriptor.name,
|
||||
var newReturnTypeInfo: KotlinTypeInfo = KotlinTypeInfo(true, methodDescriptor.baseDescriptor.returnType),
|
||||
var newVisibility: DescriptorVisibility = methodDescriptor.visibility,
|
||||
parameterInfos: List<KotlinParameterInfo> = methodDescriptor.parameters,
|
||||
receiver: KotlinParameterInfo? = methodDescriptor.receiver,
|
||||
val context: PsiElement,
|
||||
primaryPropagationTargets: Collection<PsiElement> = emptyList()
|
||||
) : ChangeInfo, UserDataHolder by UserDataHolderBase() {
|
||||
private class JvmOverloadSignature(
|
||||
val method: PsiMethod,
|
||||
@@ -239,7 +239,7 @@ open class KotlinChangeInfo(
|
||||
|
||||
fun getNewSignature(inheritedCallable: KotlinCallableDefinitionUsage<PsiElement>): String {
|
||||
val buffer = StringBuilder()
|
||||
val isCustomizedVisibility = newVisibility != Visibilities.DEFAULT_VISIBILITY
|
||||
val isCustomizedVisibility = newVisibility != DescriptorVisibilities.DEFAULT_VISIBILITY
|
||||
|
||||
if (kind == Kind.PRIMARY_CONSTRUCTOR) {
|
||||
buffer.append(name)
|
||||
|
||||
+1
-1
@@ -172,7 +172,7 @@ class KotlinChangeSignatureData(
|
||||
|
||||
override fun getParametersCount(): Int = baseDescriptor.valueParameters.size
|
||||
|
||||
override fun getVisibility(): Visibility = baseDescriptor.visibility
|
||||
override fun getVisibility(): DescriptorVisibility = baseDescriptor.visibility
|
||||
|
||||
override fun getMethod(): PsiElement = baseDeclaration
|
||||
|
||||
|
||||
+1
-1
@@ -84,7 +84,7 @@ class KotlinChangeSignatureUsageProcessor : ChangeSignatureUsageProcessor {
|
||||
methodDescriptor = methodDescriptor,
|
||||
name = "",
|
||||
newReturnTypeInfo = KotlinTypeInfo(true),
|
||||
newVisibility = Visibilities.DEFAULT_VISIBILITY,
|
||||
newVisibility = DescriptorVisibilities.DEFAULT_VISIBILITY,
|
||||
parameterInfos = emptyList<KotlinParameterInfo>(),
|
||||
receiver = null,
|
||||
context = method
|
||||
|
||||
+2
-2
@@ -10,12 +10,12 @@ import com.intellij.refactoring.changeSignature.MethodDescriptor
|
||||
import com.intellij.usageView.UsageInfo
|
||||
import org.jetbrains.kotlin.descriptors.CallableDescriptor
|
||||
import org.jetbrains.kotlin.descriptors.ConstructorDescriptor
|
||||
import org.jetbrains.kotlin.descriptors.Visibility
|
||||
import org.jetbrains.kotlin.descriptors.DescriptorVisibility
|
||||
import org.jetbrains.kotlin.idea.refactoring.changeSignature.usages.KotlinCallableDefinitionUsage
|
||||
import org.jetbrains.kotlin.idea.util.IdeDescriptorRenderers
|
||||
import org.jetbrains.kotlin.psi.KtCallableDeclaration
|
||||
|
||||
interface KotlinMethodDescriptor : MethodDescriptor<KotlinParameterInfo, Visibility> {
|
||||
interface KotlinMethodDescriptor : MethodDescriptor<KotlinParameterInfo, DescriptorVisibility> {
|
||||
enum class Kind(val isConstructor: Boolean) {
|
||||
FUNCTION(false),
|
||||
PRIMARY_CONSTRUCTOR(true),
|
||||
|
||||
+3
-3
@@ -5,7 +5,7 @@
|
||||
|
||||
package org.jetbrains.kotlin.idea.refactoring.changeSignature
|
||||
|
||||
import org.jetbrains.kotlin.descriptors.Visibility
|
||||
import org.jetbrains.kotlin.descriptors.DescriptorVisibility
|
||||
|
||||
class KotlinMutableMethodDescriptor(override val original: KotlinMethodDescriptor) : KotlinMethodDescriptor by original {
|
||||
private val parameters: MutableList<KotlinParameterInfo> = original.parameters
|
||||
@@ -42,7 +42,7 @@ class KotlinMutableMethodDescriptor(override val original: KotlinMethodDescripto
|
||||
receiver?.let { parameters.add(it) }
|
||||
}
|
||||
|
||||
override fun getVisibility(): Visibility? {
|
||||
override fun getVisibility(): DescriptorVisibility? {
|
||||
return original.visibility
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+5
-5
@@ -11,8 +11,8 @@ import com.intellij.refactoring.BaseRefactoringProcessor
|
||||
import com.intellij.refactoring.ui.RefactoringDialog
|
||||
import com.intellij.ui.EditorTextField
|
||||
import com.intellij.util.ui.FormBuilder
|
||||
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.idea.KotlinFileType
|
||||
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||
import org.jetbrains.kotlin.idea.refactoring.changeSignature.*
|
||||
@@ -31,7 +31,7 @@ class KotlinChangePropertySignatureDialog(
|
||||
private val commandName: String?
|
||||
) : RefactoringDialog(project, true) {
|
||||
private val visibilityCombo = ComboBox(
|
||||
arrayOf(Visibilities.INTERNAL, Visibilities.PRIVATE, Visibilities.PROTECTED, Visibilities.PUBLIC)
|
||||
arrayOf(DescriptorVisibilities.INTERNAL, DescriptorVisibilities.PRIVATE, DescriptorVisibilities.PROTECTED, DescriptorVisibilities.PUBLIC)
|
||||
)
|
||||
private val nameField = EditorTextField(methodDescriptor.name)
|
||||
private var returnTypeField: EditorTextField by Delegates.notNull()
|
||||
@@ -146,7 +146,7 @@ class KotlinChangePropertySignatureDialog(
|
||||
originalDescriptor,
|
||||
nameField.text,
|
||||
KotlinTypeInfo(true, null, returnTypeField.text),
|
||||
visibilityCombo.selectedItem as Visibility,
|
||||
visibilityCombo.selectedItem as DescriptorVisibility,
|
||||
emptyList(),
|
||||
receiver,
|
||||
originalDescriptor.method
|
||||
@@ -168,4 +168,4 @@ class KotlinChangePropertySignatureDialog(
|
||||
return KotlinChangeSignatureProcessor(project, changeInfo, commandName)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -8,7 +8,7 @@ package org.jetbrains.kotlin.idea.refactoring.changeSignature.ui
|
||||
import com.intellij.openapi.project.Project
|
||||
import com.intellij.openapi.ui.Messages
|
||||
import com.intellij.openapi.ui.Messages.OkCancelResult
|
||||
import org.jetbrains.kotlin.descriptors.Visibility
|
||||
import org.jetbrains.kotlin.descriptors.DescriptorVisibility
|
||||
import javax.swing.Icon
|
||||
|
||||
// FIX ME WHEN BUNCH 193 REMOVED
|
||||
@@ -30,4 +30,4 @@ fun showOkCancelDialog(
|
||||
)
|
||||
}
|
||||
|
||||
typealias ComboBox = com.intellij.openapi.ui.ComboBox<Visibility>
|
||||
typealias ComboBox = com.intellij.openapi.ui.ComboBox<DescriptorVisibility>
|
||||
|
||||
+12
-12
@@ -42,8 +42,8 @@ import com.intellij.util.Consumer
|
||||
import com.intellij.util.ui.UIUtil
|
||||
import com.intellij.util.ui.table.JBTableRow
|
||||
import com.intellij.util.ui.table.JBTableRowEditor
|
||||
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.idea.KotlinBundle
|
||||
import org.jetbrains.kotlin.idea.KotlinFileType
|
||||
import org.jetbrains.kotlin.idea.caches.resolve.analyze
|
||||
@@ -71,7 +71,7 @@ class KotlinChangeSignatureDialog(
|
||||
) : ChangeSignatureDialogBase<
|
||||
KotlinParameterInfo,
|
||||
PsiElement,
|
||||
Visibility,
|
||||
DescriptorVisibility,
|
||||
KotlinMethodDescriptor,
|
||||
ParameterTableModelItemBase<KotlinParameterInfo>,
|
||||
KotlinCallableParameterTableModel>(project, methodDescriptor, false, context) {
|
||||
@@ -320,7 +320,7 @@ class KotlinChangeSignatureDialog(
|
||||
}
|
||||
|
||||
override fun createVisibilityControl() = ComboBoxVisibilityPanel(
|
||||
arrayOf(Visibilities.INTERNAL, Visibilities.PRIVATE, Visibilities.PROTECTED, Visibilities.PUBLIC)
|
||||
arrayOf(DescriptorVisibilities.INTERNAL, DescriptorVisibilities.PRIVATE, DescriptorVisibilities.PROTECTED, DescriptorVisibilities.PUBLIC)
|
||||
)
|
||||
|
||||
override fun updateSignatureAlarmFired() {
|
||||
@@ -481,13 +481,13 @@ class KotlinChangeSignatureDialog(
|
||||
}
|
||||
|
||||
private fun evaluateChangeInfo(
|
||||
parametersModel: KotlinCallableParameterTableModel,
|
||||
returnTypeCodeFragment: PsiCodeFragment?,
|
||||
methodDescriptor: KotlinMethodDescriptor,
|
||||
visibility: Visibility?,
|
||||
methodName: String,
|
||||
defaultValueContext: PsiElement,
|
||||
forPreview: Boolean
|
||||
parametersModel: KotlinCallableParameterTableModel,
|
||||
returnTypeCodeFragment: PsiCodeFragment?,
|
||||
methodDescriptor: KotlinMethodDescriptor,
|
||||
visibility: DescriptorVisibility?,
|
||||
methodName: String,
|
||||
defaultValueContext: PsiElement,
|
||||
forPreview: Boolean
|
||||
): KotlinChangeInfo {
|
||||
val parameters = parametersModel.items.map { parameter ->
|
||||
val parameterInfo = parameter.parameter
|
||||
@@ -507,7 +507,7 @@ class KotlinChangeSignatureDialog(
|
||||
methodDescriptor.original,
|
||||
methodName,
|
||||
returnTypeCodeFragment.getTypeInfo(true, forPreview),
|
||||
visibility ?: Visibilities.DEFAULT_VISIBILITY,
|
||||
visibility ?: DescriptorVisibilities.DEFAULT_VISIBILITY,
|
||||
parameters,
|
||||
parametersModel.receiver,
|
||||
defaultValueContext
|
||||
|
||||
+3
-3
@@ -17,7 +17,7 @@ import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
||||
import org.jetbrains.kotlin.builtins.isFunctionType
|
||||
import org.jetbrains.kotlin.descriptors.ClassDescriptor
|
||||
import org.jetbrains.kotlin.descriptors.PropertyDescriptor
|
||||
import org.jetbrains.kotlin.descriptors.Visibilities
|
||||
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
|
||||
import org.jetbrains.kotlin.idea.core.*
|
||||
import org.jetbrains.kotlin.idea.core.util.isMultiLine
|
||||
import org.jetbrains.kotlin.idea.inspections.PublicApiImplicitTypeInspection
|
||||
@@ -499,8 +499,8 @@ fun ExtractionGeneratorConfiguration.generateDeclaration(
|
||||
val visibility = (descriptor.visibility ?: KtTokens.DEFAULT_VISIBILITY_KEYWORD).toVisibility()
|
||||
return when {
|
||||
visibility.isPublicAPI -> true
|
||||
inspection.reportInternal && visibility == Visibilities.INTERNAL -> true
|
||||
inspection.reportPrivate && visibility == Visibilities.PRIVATE -> true
|
||||
inspection.reportInternal && visibility == DescriptorVisibilities.INTERNAL -> true
|
||||
inspection.reportPrivate && visibility == DescriptorVisibilities.PRIVATE -> true
|
||||
else -> false
|
||||
}
|
||||
}
|
||||
|
||||
+16
-17
@@ -5,7 +5,6 @@
|
||||
|
||||
package org.jetbrains.kotlin.idea.refactoring.move.moveDeclarations
|
||||
|
||||
import com.intellij.lang.java.JavaLanguage
|
||||
import com.intellij.openapi.module.Module
|
||||
import com.intellij.openapi.module.ModuleUtilCore
|
||||
import com.intellij.openapi.module.impl.scopes.JdkScope
|
||||
@@ -51,7 +50,7 @@ import org.jetbrains.kotlin.idea.search.not
|
||||
import org.jetbrains.kotlin.idea.util.projectStructure.getModule
|
||||
import org.jetbrains.kotlin.idea.util.projectStructure.module
|
||||
import org.jetbrains.kotlin.lexer.KtTokens
|
||||
import org.jetbrains.kotlin.load.java.JavaVisibilities
|
||||
import org.jetbrains.kotlin.load.java.JavaDescriptorVisibilities
|
||||
import org.jetbrains.kotlin.name.FqName
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
import org.jetbrains.kotlin.platform.jvm.isJvm
|
||||
@@ -136,15 +135,15 @@ class MoveConflictChecker(
|
||||
private fun DeclarationDescriptor.isVisibleIn(where: DeclarationDescriptor): Boolean {
|
||||
return when {
|
||||
this !is DeclarationDescriptorWithVisibility -> true
|
||||
!Visibilities.isVisibleIgnoringReceiver(this, where) -> false
|
||||
this is ConstructorDescriptor -> Visibilities.isVisibleIgnoringReceiver(containingDeclaration, where)
|
||||
!DescriptorVisibilities.isVisibleIgnoringReceiver(this, where) -> false
|
||||
this is ConstructorDescriptor -> DescriptorVisibilities.isVisibleIgnoringReceiver(containingDeclaration, where)
|
||||
else -> true
|
||||
}
|
||||
}
|
||||
|
||||
private fun DeclarationDescriptor.wrap(
|
||||
newContainer: DeclarationDescriptor? = null,
|
||||
newVisibility: Visibility? = null
|
||||
newVisibility: DescriptorVisibility? = null
|
||||
): DeclarationDescriptor? {
|
||||
if (newContainer == null && newVisibility == null) return this
|
||||
|
||||
@@ -153,14 +152,14 @@ class MoveConflictChecker(
|
||||
is CallableMemberDescriptor -> object : CallableMemberDescriptor by wrappedDescriptor {
|
||||
override fun getOriginal() = this
|
||||
override fun getContainingDeclaration() = newContainer ?: wrappedDescriptor.containingDeclaration
|
||||
override fun getVisibility(): Visibility = newVisibility ?: wrappedDescriptor.visibility
|
||||
override fun getVisibility(): DescriptorVisibility = newVisibility ?: wrappedDescriptor.visibility
|
||||
override fun getSource() =
|
||||
newContainer?.let { SourceElement { DescriptorUtils.getContainingSourceFile(it) } } ?: wrappedDescriptor.source
|
||||
}
|
||||
is ClassDescriptor -> object : ClassDescriptor by wrappedDescriptor {
|
||||
override fun getOriginal() = this
|
||||
override fun getContainingDeclaration() = newContainer ?: wrappedDescriptor.containingDeclaration
|
||||
override fun getVisibility(): Visibility = newVisibility ?: wrappedDescriptor.visibility
|
||||
override fun getVisibility(): DescriptorVisibility = newVisibility ?: wrappedDescriptor.visibility
|
||||
override fun getSource() =
|
||||
newContainer?.let { SourceElement { DescriptorUtils.getContainingSourceFile(it) } } ?: wrappedDescriptor.source
|
||||
}
|
||||
@@ -170,24 +169,24 @@ class MoveConflictChecker(
|
||||
|
||||
private fun DeclarationDescriptor.asPredicted(
|
||||
newContainer: DeclarationDescriptor,
|
||||
actualVisibility: Visibility?
|
||||
actualVisibility: DescriptorVisibility?
|
||||
): DeclarationDescriptor? {
|
||||
val visibility = actualVisibility ?: (this as? DeclarationDescriptorWithVisibility)?.visibility ?: return null
|
||||
val adjustedVisibility = if (visibility == Visibilities.PROTECTED && newContainer is PackageFragmentDescriptor) {
|
||||
Visibilities.PUBLIC
|
||||
val adjustedVisibility = if (visibility == DescriptorVisibilities.PROTECTED && newContainer is PackageFragmentDescriptor) {
|
||||
DescriptorVisibilities.PUBLIC
|
||||
} else {
|
||||
visibility
|
||||
}
|
||||
return wrap(newContainer, adjustedVisibility)
|
||||
}
|
||||
|
||||
private fun DeclarationDescriptor.visibilityAsViewedFromJava(): Visibility? {
|
||||
private fun DeclarationDescriptor.visibilityAsViewedFromJava(): DescriptorVisibility? {
|
||||
if (this !is DeclarationDescriptorWithVisibility) return null
|
||||
return when (visibility) {
|
||||
Visibilities.PRIVATE -> {
|
||||
if (this is ClassDescriptor && DescriptorUtils.isTopLevelDeclaration(this)) JavaVisibilities.PACKAGE_VISIBILITY else null
|
||||
DescriptorVisibilities.PRIVATE -> {
|
||||
if (this is ClassDescriptor && DescriptorUtils.isTopLevelDeclaration(this)) JavaDescriptorVisibilities.PACKAGE_VISIBILITY else null
|
||||
}
|
||||
Visibilities.PROTECTED -> JavaVisibilities.PROTECTED_AND_PACKAGE
|
||||
DescriptorVisibilities.PROTECTED -> JavaDescriptorVisibilities.PROTECTED_AND_PACKAGE
|
||||
else -> null
|
||||
}
|
||||
}
|
||||
@@ -380,7 +379,7 @@ class MoveConflictChecker(
|
||||
val referencedDescriptor = resolutionFacade.resolveToDescriptor(referencedElement)
|
||||
|
||||
if (referencedDescriptor is DeclarationDescriptorWithVisibility
|
||||
&& referencedDescriptor.visibility == Visibilities.PUBLIC
|
||||
&& referencedDescriptor.visibility == DescriptorVisibilities.PUBLIC
|
||||
&& moveTarget is KotlinMoveTargetForExistingElement
|
||||
&& moveTarget.targetElement.parentsWithSelf.filterIsInstance<KtClassOrObject>().all { it.isPublic }
|
||||
) continue
|
||||
@@ -442,7 +441,7 @@ class MoveConflictChecker(
|
||||
|
||||
fun DeclarationDescriptorWithVisibility.isVisibleFrom(ref: PsiReference): Boolean {
|
||||
val targetVisibility = visibility.normalize()
|
||||
if (targetVisibility == Visibilities.PUBLIC) return true
|
||||
if (targetVisibility == DescriptorVisibilities.PUBLIC) return true
|
||||
|
||||
val refElement = ref.element
|
||||
val referrer = refElement.getStrictParentOfType<KtNamedDeclaration>()
|
||||
@@ -454,7 +453,7 @@ class MoveConflictChecker(
|
||||
if (!isVisibleIn(referrerDescriptor)) return true
|
||||
|
||||
return when (targetVisibility) {
|
||||
Visibilities.PROTECTED -> isProtectedVisible(referrerDescriptor)
|
||||
DescriptorVisibilities.PROTECTED -> isProtectedVisible(referrerDescriptor)
|
||||
else -> isVisibleIn(targetContainer)
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -18,7 +18,7 @@ import com.intellij.util.containers.MultiMap
|
||||
import org.jetbrains.kotlin.descriptors.CallableDescriptor
|
||||
import org.jetbrains.kotlin.descriptors.DeclarationDescriptor
|
||||
import org.jetbrains.kotlin.descriptors.DeclarationDescriptorWithVisibility
|
||||
import org.jetbrains.kotlin.descriptors.Visibilities
|
||||
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
|
||||
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||
import org.jetbrains.kotlin.idea.caches.resolve.*
|
||||
import org.jetbrains.kotlin.idea.core.setVisibility
|
||||
@@ -132,7 +132,7 @@ class MoveKotlinMethodProcessor(
|
||||
if (where == null || targetVariableIsMethodParameter()) return
|
||||
val targetDescriptor = targetVariable.resolveToDescriptorIfAny() as? DeclarationDescriptorWithVisibility
|
||||
?: return
|
||||
if (!Visibilities.isVisibleIgnoringReceiver(targetDescriptor, where) && method.manager.isInProject(targetVariable)) {
|
||||
if (!DescriptorVisibilities.isVisibleIgnoringReceiver(targetDescriptor, where) && method.manager.isInProject(targetVariable)) {
|
||||
targetVariable.setVisibility(KtTokens.PUBLIC_KEYWORD)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -224,7 +224,7 @@ private fun KotlinPullUpData.checkVisibility(
|
||||
if (targetDescriptor in memberDescriptors.values) return
|
||||
val target = (targetDescriptor as? DeclarationDescriptorWithSource)?.source?.getPsi() ?: return
|
||||
if (targetDescriptor is DeclarationDescriptorWithVisibility
|
||||
&& !Visibilities.isVisibleIgnoringReceiver(targetDescriptor, targetClassDescriptor)
|
||||
&& !DescriptorVisibilities.isVisibleIgnoringReceiver(targetDescriptor, targetClassDescriptor)
|
||||
) {
|
||||
val message = RefactoringBundle.message(
|
||||
"0.uses.1.which.is.not.accessible.from.the.superclass",
|
||||
@@ -264,4 +264,4 @@ private fun KotlinPullUpData.checkVisibility(
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -209,7 +209,7 @@ private fun checkVisibility(
|
||||
fun reportConflictIfAny(targetDescriptor: DeclarationDescriptor) {
|
||||
val target = (targetDescriptor as? DeclarationDescriptorWithSource)?.source?.getPsi() ?: return
|
||||
if (targetDescriptor is DeclarationDescriptorWithVisibility
|
||||
&& !Visibilities.isVisibleIgnoringReceiver(targetDescriptor, targetClassDescriptor)
|
||||
&& !DescriptorVisibilities.isVisibleIgnoringReceiver(targetDescriptor, targetClassDescriptor)
|
||||
) {
|
||||
val message = KotlinBundle.message(
|
||||
"text.0.uses.1.which.is.not.accessible.from.2",
|
||||
|
||||
@@ -86,7 +86,7 @@ internal fun checkRedeclarations(
|
||||
descriptor: DeclarationDescriptor = declaration.unsafeResolveToDescriptor(resolutionFacade)
|
||||
) {
|
||||
fun DeclarationDescriptor.isTopLevelPrivate(): Boolean =
|
||||
this is DeclarationDescriptorWithVisibility && visibility == Visibilities.PRIVATE && containingDeclaration is PackageFragmentDescriptor
|
||||
this is DeclarationDescriptorWithVisibility && visibility == DescriptorVisibilities.PRIVATE && containingDeclaration is PackageFragmentDescriptor
|
||||
|
||||
fun isInSameFile(d1: DeclarationDescriptor, d2: DeclarationDescriptor): Boolean =
|
||||
(d1 as? DeclarationDescriptorWithSource)?.source?.getPsi()?.containingFile == (d2 as? DeclarationDescriptorWithSource)?.source
|
||||
@@ -370,4 +370,4 @@ internal fun checkNewNameUsagesRetargeting(
|
||||
checkUsagesRetargeting(candidate, declaration, currentName, false, listOf(descriptor), usages, newUsages)
|
||||
usages.filterIsInstanceTo<KtResolvableCollisionUsageInfo, MutableList<UsageInfo>>(newUsages)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -231,7 +231,7 @@ class ImportInsertHelperImpl(private val project: Project) : ImportInsertHelper(
|
||||
fun isVisible(descriptor: DeclarationDescriptor): Boolean {
|
||||
if (descriptor !is DeclarationDescriptorWithVisibility) return true
|
||||
val visibility = descriptor.visibility
|
||||
return !visibility.mustCheckInImports() || Visibilities.isVisibleIgnoringReceiver(descriptor, filePackage)
|
||||
return !visibility.mustCheckInImports() || DescriptorVisibilities.isVisibleIgnoringReceiver(descriptor, filePackage)
|
||||
}
|
||||
|
||||
val kindFilter = DescriptorKindFilter.ALL.withoutKinds(DescriptorKindFilter.PACKAGES_MASK)
|
||||
|
||||
+10
-10
@@ -25,7 +25,7 @@ import junit.framework.TestCase
|
||||
import org.jetbrains.kotlin.asJava.getRepresentativeLightMethod
|
||||
import org.jetbrains.kotlin.asJava.toLightMethods
|
||||
import org.jetbrains.kotlin.builtins.DefaultBuiltIns
|
||||
import org.jetbrains.kotlin.descriptors.Visibilities
|
||||
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
|
||||
import org.jetbrains.kotlin.idea.caches.resolve.analyze
|
||||
import org.jetbrains.kotlin.idea.refactoring.changeSignature.ui.KotlinChangeSignatureDialog.Companion.getTypeCodeFragmentContext
|
||||
import org.jetbrains.kotlin.idea.refactoring.changeSignature.ui.KotlinChangeSignatureDialog.Companion.getTypeInfo
|
||||
@@ -277,12 +277,12 @@ class KotlinChangeSignatureTest : KotlinLightCodeInsightFixtureTestCase() {
|
||||
}
|
||||
|
||||
fun testChangeConstructorVisibility() {
|
||||
doTest { newVisibility = Visibilities.PROTECTED }
|
||||
doTest { newVisibility = DescriptorVisibilities.PROTECTED }
|
||||
}
|
||||
|
||||
fun testAddConstructorVisibility() {
|
||||
doTest {
|
||||
newVisibility = Visibilities.PROTECTED
|
||||
newVisibility = DescriptorVisibilities.PROTECTED
|
||||
|
||||
val newParameter = KotlinParameterInfo(
|
||||
callableDescriptor = originalBaseFunctionDescriptor,
|
||||
@@ -297,7 +297,7 @@ class KotlinChangeSignatureTest : KotlinLightCodeInsightFixtureTestCase() {
|
||||
|
||||
fun testConstructor() {
|
||||
doTest {
|
||||
newVisibility = Visibilities.PUBLIC
|
||||
newVisibility = DescriptorVisibilities.PUBLIC
|
||||
|
||||
newParameters[0].valOrVar = KotlinValVar.Var
|
||||
newParameters[1].valOrVar = KotlinValVar.None
|
||||
@@ -313,7 +313,7 @@ class KotlinChangeSignatureTest : KotlinLightCodeInsightFixtureTestCase() {
|
||||
|
||||
fun testGenericConstructor() {
|
||||
doTest {
|
||||
newVisibility = Visibilities.PUBLIC
|
||||
newVisibility = DescriptorVisibilities.PUBLIC
|
||||
|
||||
newParameters[0].valOrVar = KotlinValVar.Var
|
||||
newParameters[1].valOrVar = KotlinValVar.None
|
||||
@@ -338,7 +338,7 @@ class KotlinChangeSignatureTest : KotlinLightCodeInsightFixtureTestCase() {
|
||||
|
||||
fun testFunctions() {
|
||||
doTest {
|
||||
newVisibility = Visibilities.PUBLIC
|
||||
newVisibility = DescriptorVisibilities.PUBLIC
|
||||
|
||||
newParameters[0].name = "_x1"
|
||||
newParameters[1].name = "_x2"
|
||||
@@ -350,7 +350,7 @@ class KotlinChangeSignatureTest : KotlinLightCodeInsightFixtureTestCase() {
|
||||
|
||||
fun testGenericFunctions() {
|
||||
doTest {
|
||||
newVisibility = Visibilities.PUBLIC
|
||||
newVisibility = DescriptorVisibilities.PUBLIC
|
||||
|
||||
newParameters[0].name = "_x1"
|
||||
newParameters[1].name = "_x2"
|
||||
@@ -370,7 +370,7 @@ class KotlinChangeSignatureTest : KotlinLightCodeInsightFixtureTestCase() {
|
||||
|
||||
fun testFunctionsAddRemoveArguments() {
|
||||
doTest {
|
||||
newVisibility = Visibilities.INTERNAL
|
||||
newVisibility = DescriptorVisibilities.INTERNAL
|
||||
|
||||
val defaultValueForCall = KtPsiFactory(project).createExpression("null")
|
||||
val newParameters = newParameters
|
||||
@@ -1270,11 +1270,11 @@ class KotlinChangeSignatureTest : KotlinLightCodeInsightFixtureTestCase() {
|
||||
}
|
||||
|
||||
fun testMakePrimaryConstructorPrivateNoParams() {
|
||||
doTest { newVisibility = Visibilities.PRIVATE }
|
||||
doTest { newVisibility = DescriptorVisibilities.PRIVATE }
|
||||
}
|
||||
|
||||
fun testMakePrimaryConstructorPublic() {
|
||||
doTest { newVisibility = Visibilities.PUBLIC }
|
||||
doTest { newVisibility = DescriptorVisibilities.PUBLIC }
|
||||
}
|
||||
|
||||
fun testRenameExtensionParameterWithNamedArgs() {
|
||||
|
||||
Reference in New Issue
Block a user