diff --git a/idea/src/org/jetbrains/kotlin/idea/inspections/MemberVisibilityCanBePrivateInspection.kt b/idea/src/org/jetbrains/kotlin/idea/inspections/MemberVisibilityCanBePrivateInspection.kt index 2ef9de4c933..6ca65fbf5bb 100644 --- a/idea/src/org/jetbrains/kotlin/idea/inspections/MemberVisibilityCanBePrivateInspection.kt +++ b/idea/src/org/jetbrains/kotlin/idea/inspections/MemberVisibilityCanBePrivateInspection.kt @@ -133,7 +133,7 @@ class MemberVisibilityCanBePrivateInspection : AbstractKotlinInspection() { val function = usage.getParentOfTypesAndPredicate( true, KtNamedFunction::class.java, KtPropertyAccessor::class.java ) { true } - val insideInlineFun = function?.let { it.hasModifier(KtTokens.INLINE_KEYWORD) && !function.isPrivate() } ?: false + val insideInlineFun = function.insideInline() || (function as? KtPropertyAccessor)?.property.insideInline() if (insideInlineFun) { otherUsageFound = true false @@ -145,6 +145,8 @@ class MemberVisibilityCanBePrivateInspection : AbstractKotlinInspection() { return inClassUsageFound && !otherUsageFound } + private fun KtModifierListOwner?.insideInline() = this?.let { it.hasModifier(KtTokens.INLINE_KEYWORD) && !it.isPrivate() } ?: false + private fun registerProblem(holder: ProblemsHolder, declaration: KtDeclaration) { val modifierListOwner = declaration.getParentOfType(false) ?: return val member = when (declaration) { diff --git a/idea/testData/inspections/memberVisibilityCanBePrivate/inline.kt b/idea/testData/inspections/memberVisibilityCanBePrivate/inline.kt index 457dc1ef0cc..6e69cf07765 100644 --- a/idea/testData/inspections/memberVisibilityCanBePrivate/inline.kt +++ b/idea/testData/inspections/memberVisibilityCanBePrivate/inline.kt @@ -18,7 +18,12 @@ object TT { val x: String inline get() = baz + inline val y: String + get() = qux + fun bar(s: String) = s val baz = "" + + val qux = "" } \ No newline at end of file