From 49277bb5e495e74e1e96dee55a424d258c840125 Mon Sep 17 00:00:00 2001 From: Natalia Selezneva Date: Wed, 23 Jan 2019 12:05:18 +0300 Subject: [PATCH] Optimize MemberVisibilityCanBePrivateInspection: check that descriptor is in class before resolving it --- .../MemberVisibilityCanBePrivateInspection.kt | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/idea/src/org/jetbrains/kotlin/idea/inspections/MemberVisibilityCanBePrivateInspection.kt b/idea/src/org/jetbrains/kotlin/idea/inspections/MemberVisibilityCanBePrivateInspection.kt index 59b5a4d025e..fd62d24afe4 100644 --- a/idea/src/org/jetbrains/kotlin/idea/inspections/MemberVisibilityCanBePrivateInspection.kt +++ b/idea/src/org/jetbrains/kotlin/idea/inspections/MemberVisibilityCanBePrivateInspection.kt @@ -79,16 +79,16 @@ class MemberVisibilityCanBePrivateInspection : AbstractKotlinInspection() { if (declaration.hasModifier(KtTokens.PRIVATE_KEYWORD) || declaration.hasModifier(KtTokens.OVERRIDE_KEYWORD)) return false if (declaration.annotationEntries.isNotEmpty()) return false - val descriptor = (declaration.toDescriptor() as? DeclarationDescriptorWithVisibility) ?: return false - when (descriptor.effectiveVisibility()) { - EffectiveVisibility.Private, EffectiveVisibility.Local -> return false - } - val classOrObject = declaration.containingClassOrObject ?: return false val inheritable = classOrObject is KtClass && classOrObject.isInheritable() if (!inheritable && declaration.hasModifier(KtTokens.PROTECTED_KEYWORD)) return false //reported by ProtectedInFinalInspection if (declaration.isOverridable()) return false + val descriptor = (declaration.toDescriptor() as? DeclarationDescriptorWithVisibility) ?: return false + when (descriptor.effectiveVisibility()) { + EffectiveVisibility.Private, EffectiveVisibility.Local -> return false + } + val entryPointsManager = EntryPointsManager.getInstance(declaration.project) as EntryPointsManagerBase if (UnusedSymbolInspection.checkAnnotatedUsingPatterns( declaration,