diff --git a/plugins/kotlin/idea/src/org/jetbrains/kotlin/idea/inspections/dfa/KtControlFlowBuilder.kt b/plugins/kotlin/idea/src/org/jetbrains/kotlin/idea/inspections/dfa/KtControlFlowBuilder.kt index 4a92f1398710..faf2c0ecbd95 100644 --- a/plugins/kotlin/idea/src/org/jetbrains/kotlin/idea/inspections/dfa/KtControlFlowBuilder.kt +++ b/plugins/kotlin/idea/src/org/jetbrains/kotlin/idea/inspections/dfa/KtControlFlowBuilder.kt @@ -576,7 +576,7 @@ class KtControlFlowBuilder(val factory: DfaValueFactory, val context: KtExpressi val (leftRelation, rightRelation) = when(ref) { ".." -> RelationType.GE to RelationType.LE "until" -> RelationType.GE to RelationType.LT - "downTo" -> RelationType.LE to RelationType.GT + "downTo" -> RelationType.LE to RelationType.GE else -> null to null } if (leftRelation != null && rightRelation != null) { diff --git a/plugins/kotlin/idea/tests/testData/inspectionsLocal/dfa/basicFor2.kt b/plugins/kotlin/idea/tests/testData/inspectionsLocal/dfa/basicFor2.kt index ff5bfb227d6e..a4cae8e3834e 100644 --- a/plugins/kotlin/idea/tests/testData/inspectionsLocal/dfa/basicFor2.kt +++ b/plugins/kotlin/idea/tests/testData/inspectionsLocal/dfa/basicFor2.kt @@ -1,5 +1,6 @@ // PROBLEM: Condition is always false // FIX: none +// WITH_RUNTIME fun test() { for(i in 1 until 10) { if (i >= 10) {} diff --git a/plugins/kotlin/idea/tests/testData/inspectionsLocal/dfa/basicFor6.kt b/plugins/kotlin/idea/tests/testData/inspectionsLocal/dfa/basicFor6.kt index 0927424bbcae..ab1ffd3acb8f 100644 --- a/plugins/kotlin/idea/tests/testData/inspectionsLocal/dfa/basicFor6.kt +++ b/plugins/kotlin/idea/tests/testData/inspectionsLocal/dfa/basicFor6.kt @@ -1,7 +1,7 @@ // PROBLEM: 'for' range is always empty // FIX: none fun test(x: Int, y: Int) { - if (y > x) return + if (y >= x) return for(i in x..y) { } } diff --git a/plugins/kotlin/idea/tests/testData/inspectionsLocal/dfa/whenIn2.kt b/plugins/kotlin/idea/tests/testData/inspectionsLocal/dfa/whenIn2.kt index 37cdb8a732cc..f2241567b818 100644 --- a/plugins/kotlin/idea/tests/testData/inspectionsLocal/dfa/whenIn2.kt +++ b/plugins/kotlin/idea/tests/testData/inspectionsLocal/dfa/whenIn2.kt @@ -5,6 +5,7 @@ fun test(obj : Int) { when (obj) { in 0 until 10 -> {} !in 0..9 -> {} + 20 -> {} else -> {} } }