Optimize ChangeVisibilityModifierIntention: do not analyze element if declaration isn't local

This commit is contained in:
Natalia Selezneva
2019-01-22 10:27:28 +03:00
parent 869fb46c0b
commit 3b4d1dd7bf
@@ -39,12 +39,12 @@ open class ChangeVisibilityModifierIntention protected constructor(
val modifierList = element.modifierList
if (modifierList?.hasModifier(modifier) == true) return null
if (KtPsiUtil.isLocal((element as? KtPropertyAccessor)?.property ?: element)) return null
val descriptor = element.toDescriptor() as? DeclarationDescriptorWithVisibility ?: return null
val targetVisibility = modifier.toVisibility()
if (descriptor.visibility == targetVisibility) return null
if (KtPsiUtil.isLocal((element as? KtPropertyAccessor)?.property ?: element)) return null
if (modifierList?.hasModifier(KtTokens.OVERRIDE_KEYWORD) == true) {
val callableDescriptor = descriptor as? CallableDescriptor ?: return null
// cannot make visibility less than (or non-comparable with) any of the supers