From 4a1e6d3ef96a149672edbc639fcfb232a548338b Mon Sep 17 00:00:00 2001 From: Mikhail Glukhikh Date: Thu, 22 Dec 2016 15:02:49 +0300 Subject: [PATCH] Inspection to convert two comparisons to range check #KT-5045 Fixed --- .../ConvertTwoComparisonsToRangeCheck.html | 5 +++++ idea/src/META-INF/plugin.xml | 8 ++++++++ .../ConvertTwoComparisonsToRangeCheckIntention.kt | 5 +++++ 3 files changed, 18 insertions(+) create mode 100644 idea/resources/inspectionDescriptions/ConvertTwoComparisonsToRangeCheck.html diff --git a/idea/resources/inspectionDescriptions/ConvertTwoComparisonsToRangeCheck.html b/idea/resources/inspectionDescriptions/ConvertTwoComparisonsToRangeCheck.html new file mode 100644 index 00000000000..e3d9bdb11f0 --- /dev/null +++ b/idea/resources/inspectionDescriptions/ConvertTwoComparisonsToRangeCheck.html @@ -0,0 +1,5 @@ + + +This inspection reports two consecutive comparisons which can be converted to range check + + \ No newline at end of file diff --git a/idea/src/META-INF/plugin.xml b/idea/src/META-INF/plugin.xml index 6014ccea7fd..97564391bd2 100644 --- a/idea/src/META-INF/plugin.xml +++ b/idea/src/META-INF/plugin.xml @@ -1993,6 +1993,14 @@ language="kotlin" /> + + diff --git a/idea/src/org/jetbrains/kotlin/idea/intentions/ConvertTwoComparisonsToRangeCheckIntention.kt b/idea/src/org/jetbrains/kotlin/idea/intentions/ConvertTwoComparisonsToRangeCheckIntention.kt index d3a52a0274c..6ba89d0a772 100644 --- a/idea/src/org/jetbrains/kotlin/idea/intentions/ConvertTwoComparisonsToRangeCheckIntention.kt +++ b/idea/src/org/jetbrains/kotlin/idea/intentions/ConvertTwoComparisonsToRangeCheckIntention.kt @@ -20,6 +20,7 @@ import com.intellij.openapi.editor.Editor import com.intellij.psi.tree.IElementType import org.jetbrains.kotlin.builtins.KotlinBuiltIns import org.jetbrains.kotlin.idea.caches.resolve.analyze +import org.jetbrains.kotlin.idea.inspections.IntentionBasedInspection import org.jetbrains.kotlin.idea.intentions.branchedTransformations.evaluatesTo import org.jetbrains.kotlin.lexer.KtTokens import org.jetbrains.kotlin.psi.* @@ -27,6 +28,10 @@ import org.jetbrains.kotlin.resolve.calls.callUtil.getType import org.jetbrains.kotlin.resolve.constants.evaluate.ConstantExpressionEvaluator import org.jetbrains.kotlin.types.KotlinType +class ConvertTwoComparisonsToRangeCheckInspection : IntentionBasedInspection( + ConvertTwoComparisonsToRangeCheckIntention::class +) + class ConvertTwoComparisonsToRangeCheckIntention : SelfTargetingOffsetIndependentIntention( KtBinaryExpression::class.java, "Convert to range check"