New J2K: Do not ignore unused vals in CanBeVal inspection in postprocessing
This commit is contained in:
committed by
Ilya Kirillov
parent
4d1b2a8d5b
commit
c3ffaa34f8
@@ -40,7 +40,7 @@ import org.jetbrains.kotlin.resolve.BindingContext
|
|||||||
import org.jetbrains.kotlin.resolve.lazy.BodyResolveMode
|
import org.jetbrains.kotlin.resolve.lazy.BodyResolveMode
|
||||||
import java.util.*
|
import java.util.*
|
||||||
|
|
||||||
class CanBeValInspection : AbstractKotlinInspection() {
|
class CanBeValInspection @JvmOverloads constructor(val ignoreNotUsedVals: Boolean = true) : AbstractKotlinInspection() {
|
||||||
override fun buildVisitor(holder: ProblemsHolder, isOnTheFly: Boolean): PsiElementVisitor {
|
override fun buildVisitor(holder: ProblemsHolder, isOnTheFly: Boolean): PsiElementVisitor {
|
||||||
return object: KtVisitorVoid() {
|
return object: KtVisitorVoid() {
|
||||||
private val pseudocodeCache = HashMap<KtDeclaration, Pseudocode>()
|
private val pseudocodeCache = HashMap<KtDeclaration, Pseudocode>()
|
||||||
@@ -72,7 +72,7 @@ class CanBeValInspection : AbstractKotlinInspection() {
|
|||||||
hasInitializerOrDelegate: Boolean,
|
hasInitializerOrDelegate: Boolean,
|
||||||
allDeclarations: Collection<KtVariableDeclaration>
|
allDeclarations: Collection<KtVariableDeclaration>
|
||||||
): Boolean {
|
): Boolean {
|
||||||
if (allDeclarations.all { ReferencesSearch.search(it, it.useScope).none() }) {
|
if (ignoreNotUsedVals && allDeclarations.all { ReferencesSearch.search(it, it.useScope).none() }) {
|
||||||
// do not report for unused var's (otherwise we'll get it highlighted immediately after typing the declaration
|
// do not report for unused var's (otherwise we'll get it highlighted immediately after typing the declaration
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -41,6 +41,7 @@ import org.jetbrains.kotlin.idea.intentions.branchedTransformations.intentions.F
|
|||||||
import org.jetbrains.kotlin.idea.intentions.branchedTransformations.intentions.FoldIfToReturnIntention
|
import org.jetbrains.kotlin.idea.intentions.branchedTransformations.intentions.FoldIfToReturnIntention
|
||||||
import org.jetbrains.kotlin.idea.intentions.branchedTransformations.intentions.IfThenToElvisIntention
|
import org.jetbrains.kotlin.idea.intentions.branchedTransformations.intentions.IfThenToElvisIntention
|
||||||
import org.jetbrains.kotlin.idea.intentions.branchedTransformations.isTrivialStatementBody
|
import org.jetbrains.kotlin.idea.intentions.branchedTransformations.isTrivialStatementBody
|
||||||
|
import org.jetbrains.kotlin.idea.quickfix.ChangeVariableMutabilityFix
|
||||||
import org.jetbrains.kotlin.idea.quickfix.QuickFixActionBase
|
import org.jetbrains.kotlin.idea.quickfix.QuickFixActionBase
|
||||||
import org.jetbrains.kotlin.idea.quickfix.RemoveModifierFix
|
import org.jetbrains.kotlin.idea.quickfix.RemoveModifierFix
|
||||||
import org.jetbrains.kotlin.idea.quickfix.RemoveUselessCastFix
|
import org.jetbrains.kotlin.idea.quickfix.RemoveUselessCastFix
|
||||||
@@ -92,7 +93,7 @@ object J2KPostProcessingRegistrar {
|
|||||||
registerGeneralInspectionBasedProcessing(RedundantExplicitTypeInspection())
|
registerGeneralInspectionBasedProcessing(RedundantExplicitTypeInspection())
|
||||||
registerGeneralInspectionBasedProcessing(RedundantUnitReturnTypeInspection())
|
registerGeneralInspectionBasedProcessing(RedundantUnitReturnTypeInspection())
|
||||||
_processings.add(RemoveExplicitPropertyType())
|
_processings.add(RemoveExplicitPropertyType())
|
||||||
registerGeneralInspectionBasedProcessing(CanBeValInspection())
|
registerGeneralInspectionBasedProcessing(CanBeValInspection(ignoreNotUsedVals = false))
|
||||||
|
|
||||||
registerIntentionBasedProcessing(FoldInitializerAndIfToElvisIntention())
|
registerIntentionBasedProcessing(FoldInitializerAndIfToElvisIntention())
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user