New J2K: Do not ignore unused vals in CanBeVal inspection in postprocessing

This commit is contained in:
Ilya Kirillov
2018-10-08 12:16:25 +03:00
committed by Ilya Kirillov
parent 4d1b2a8d5b
commit c3ffaa34f8
2 changed files with 4 additions and 3 deletions
@@ -40,7 +40,7 @@ import org.jetbrains.kotlin.resolve.BindingContext
import org.jetbrains.kotlin.resolve.lazy.BodyResolveMode
import java.util.*
class CanBeValInspection : AbstractKotlinInspection() {
class CanBeValInspection @JvmOverloads constructor(val ignoreNotUsedVals: Boolean = true) : AbstractKotlinInspection() {
override fun buildVisitor(holder: ProblemsHolder, isOnTheFly: Boolean): PsiElementVisitor {
return object: KtVisitorVoid() {
private val pseudocodeCache = HashMap<KtDeclaration, Pseudocode>()
@@ -72,7 +72,7 @@ class CanBeValInspection : AbstractKotlinInspection() {
hasInitializerOrDelegate: Boolean,
allDeclarations: Collection<KtVariableDeclaration>
): 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
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.IfThenToElvisIntention
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.RemoveModifierFix
import org.jetbrains.kotlin.idea.quickfix.RemoveUselessCastFix
@@ -92,7 +93,7 @@ object J2KPostProcessingRegistrar {
registerGeneralInspectionBasedProcessing(RedundantExplicitTypeInspection())
registerGeneralInspectionBasedProcessing(RedundantUnitReturnTypeInspection())
_processings.add(RemoveExplicitPropertyType())
registerGeneralInspectionBasedProcessing(CanBeValInspection())
registerGeneralInspectionBasedProcessing(CanBeValInspection(ignoreNotUsedVals = false))
registerIntentionBasedProcessing(FoldInitializerAndIfToElvisIntention())