"Can be private" inspection: don't analyze data class parameters
So #KT-23566 Fixed
This commit is contained in:
+4
@@ -37,6 +37,7 @@ import org.jetbrains.kotlin.idea.core.toDescriptor
|
|||||||
import org.jetbrains.kotlin.idea.quickfix.AddModifierFix
|
import org.jetbrains.kotlin.idea.quickfix.AddModifierFix
|
||||||
import org.jetbrains.kotlin.idea.refactoring.isConstructorDeclaredProperty
|
import org.jetbrains.kotlin.idea.refactoring.isConstructorDeclaredProperty
|
||||||
import org.jetbrains.kotlin.idea.search.isCheapEnoughToSearchConsideringOperators
|
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.idea.stubindex.KotlinSourceFilterScope
|
||||||
import org.jetbrains.kotlin.lexer.KtTokens
|
import org.jetbrains.kotlin.lexer.KtTokens
|
||||||
import org.jetbrains.kotlin.psi.*
|
import org.jetbrains.kotlin.psi.*
|
||||||
@@ -95,6 +96,9 @@ class MemberVisibilityCanBePrivateInspection : AbstractKotlinInspection() {
|
|||||||
additionalAnnotations + ADDITIONAL_ANNOTATIONS
|
additionalAnnotations + ADDITIONAL_ANNOTATIONS
|
||||||
})) return false
|
})) 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 psiSearchHelper = PsiSearchHelper.SERVICE.getInstance(declaration.project)
|
||||||
val useScope = declaration.useScope
|
val useScope = declaration.useScope
|
||||||
val name = declaration.name ?: return false
|
val name = declaration.name ?: return false
|
||||||
|
|||||||
Reference in New Issue
Block a user