From 66d134ef5c783bcceab356d5373cfe8bd38368e2 Mon Sep 17 00:00:00 2001 From: Mikhail Glukhikh Date: Mon, 2 Apr 2018 23:17:47 +0300 Subject: [PATCH] "Can be private" inspection: don't analyze data class parameters So #KT-23566 Fixed --- .../inspections/MemberVisibilityCanBePrivateInspection.kt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/idea/src/org/jetbrains/kotlin/idea/inspections/MemberVisibilityCanBePrivateInspection.kt b/idea/src/org/jetbrains/kotlin/idea/inspections/MemberVisibilityCanBePrivateInspection.kt index a31c307fae9..4368b7a3aa3 100644 --- a/idea/src/org/jetbrains/kotlin/idea/inspections/MemberVisibilityCanBePrivateInspection.kt +++ b/idea/src/org/jetbrains/kotlin/idea/inspections/MemberVisibilityCanBePrivateInspection.kt @@ -37,6 +37,7 @@ import org.jetbrains.kotlin.idea.core.toDescriptor import org.jetbrains.kotlin.idea.quickfix.AddModifierFix import org.jetbrains.kotlin.idea.refactoring.isConstructorDeclaredProperty import org.jetbrains.kotlin.idea.search.isCheapEnoughToSearchConsideringOperators +import org.jetbrains.kotlin.idea.search.usagesSearch.dataClassComponentFunction import org.jetbrains.kotlin.idea.stubindex.KotlinSourceFilterScope import org.jetbrains.kotlin.lexer.KtTokens import org.jetbrains.kotlin.psi.* @@ -95,6 +96,9 @@ class MemberVisibilityCanBePrivateInspection : AbstractKotlinInspection() { additionalAnnotations + ADDITIONAL_ANNOTATIONS })) return false + // properties can be referred by component1/component2, which is too expensive to search, don't analyze them + if (declaration is KtParameter && declaration.dataClassComponentFunction() != null) return false + val psiSearchHelper = PsiSearchHelper.SERVICE.getInstance(declaration.project) val useScope = declaration.useScope val name = declaration.name ?: return false