diff --git a/idea/src/org/jetbrains/kotlin/idea/inspections/FoldInitializerAndIfToElvisInspection.kt b/idea/src/org/jetbrains/kotlin/idea/inspections/FoldInitializerAndIfToElvisInspection.kt index b8f4c3bd3dc..fe3ac909075 100644 --- a/idea/src/org/jetbrains/kotlin/idea/inspections/FoldInitializerAndIfToElvisInspection.kt +++ b/idea/src/org/jetbrains/kotlin/idea/inspections/FoldInitializerAndIfToElvisInspection.kt @@ -5,6 +5,7 @@ package org.jetbrains.kotlin.idea.inspections +import com.intellij.codeInspection.ProblemHighlightType import com.intellij.openapi.editor.Editor import com.intellij.openapi.project.Project import com.intellij.openapi.util.TextRange @@ -19,6 +20,7 @@ import org.jetbrains.kotlin.idea.caches.resolve.resolveToDescriptorIfAny import org.jetbrains.kotlin.idea.core.replaced import org.jetbrains.kotlin.idea.core.setType import org.jetbrains.kotlin.idea.intentions.branchedTransformations.expressionComparedToNull +import org.jetbrains.kotlin.idea.intentions.branchedTransformations.shouldBeTransformed import org.jetbrains.kotlin.idea.util.CommentSaver import org.jetbrains.kotlin.lexer.KtTokens import org.jetbrains.kotlin.psi.* @@ -41,6 +43,9 @@ class FoldInitializerAndIfToElvisInspection : AbstractApplicabilityBasedInspecti override fun inspectionRange(element: KtIfExpression): TextRange? = textRange(element)?.shiftLeft(element.startOffset) + override fun inspectionHighlightType(element: KtIfExpression): ProblemHighlightType = + if (element.shouldBeTransformed()) ProblemHighlightType.GENERIC_ERROR_OR_WARNING else ProblemHighlightType.INFORMATION + override fun isApplicable(element: KtIfExpression): Boolean = Companion.isApplicable(element) override fun applyTo(element: PsiElement, project: Project, editor: Editor?) { diff --git a/idea/testData/inspectionsLocal/foldInitializerAndIfToElvis/IsSameType.kt b/idea/testData/inspectionsLocal/foldInitializerAndIfToElvis/IsSameType.kt index d2f183fd717..7fc12bc7923 100644 --- a/idea/testData/inspectionsLocal/foldInitializerAndIfToElvis/IsSameType.kt +++ b/idea/testData/inspectionsLocal/foldInitializerAndIfToElvis/IsSameType.kt @@ -1,3 +1,4 @@ +// HIGHLIGHT: INFORMATION open class A open class B : A() { diff --git a/idea/testData/inspectionsLocal/foldInitializerAndIfToElvis/IsSameType.kt.after b/idea/testData/inspectionsLocal/foldInitializerAndIfToElvis/IsSameType.kt.after index 18019b888a5..7a4168d0777 100644 --- a/idea/testData/inspectionsLocal/foldInitializerAndIfToElvis/IsSameType.kt.after +++ b/idea/testData/inspectionsLocal/foldInitializerAndIfToElvis/IsSameType.kt.after @@ -1,3 +1,4 @@ +// HIGHLIGHT: INFORMATION open class A open class B : A() { diff --git a/idea/testData/inspectionsLocal/foldInitializerAndIfToElvis/IsSubType.kt b/idea/testData/inspectionsLocal/foldInitializerAndIfToElvis/IsSubType.kt index 004b41f9464..08c1b8b881b 100644 --- a/idea/testData/inspectionsLocal/foldInitializerAndIfToElvis/IsSubType.kt +++ b/idea/testData/inspectionsLocal/foldInitializerAndIfToElvis/IsSubType.kt @@ -1,3 +1,4 @@ +// HIGHLIGHT: INFORMATION open class A open class B : A() { diff --git a/idea/testData/inspectionsLocal/foldInitializerAndIfToElvis/IsSubType.kt.after b/idea/testData/inspectionsLocal/foldInitializerAndIfToElvis/IsSubType.kt.after index 219802f019d..b014ba5c715 100644 --- a/idea/testData/inspectionsLocal/foldInitializerAndIfToElvis/IsSubType.kt.after +++ b/idea/testData/inspectionsLocal/foldInitializerAndIfToElvis/IsSubType.kt.after @@ -1,3 +1,4 @@ +// HIGHLIGHT: INFORMATION open class A open class B : A() {