From 1aab4e643c155579253fa744ff1eae6a4f8cdfed Mon Sep 17 00:00:00 2001 From: Dmitry Petrov Date: Wed, 13 Dec 2017 15:37:50 +0300 Subject: [PATCH] Add overflow-related tests for 'reversed' --- .../forInDownToCharMinValueReversed.kt | 15 ++++++++ .../forInDownToIntMinValueReversed.kt | 15 ++++++++ .../forInDownToLongMinValueReversed.kt | 15 ++++++++ .../forInRangeToCharMaxValueReversed.kt | 15 ++++++++ .../forInRangeToIntMaxValueReversed.kt | 14 ++++++++ .../forInRangeToLongMaxValueReversed.kt | 15 ++++++++ .../ir/IrBlackBoxCodegenTestGenerated.java | 36 +++++++++++++++++++ .../codegen/BlackBoxCodegenTestGenerated.java | 36 +++++++++++++++++++ .../LightAnalysisModeTestGenerated.java | 36 +++++++++++++++++++ .../semantics/JsCodegenBoxTestGenerated.java | 36 +++++++++++++++++++ 10 files changed, 233 insertions(+) create mode 100644 compiler/testData/codegen/box/ranges/forWithPossibleOverflow/forInDownToCharMinValueReversed.kt create mode 100644 compiler/testData/codegen/box/ranges/forWithPossibleOverflow/forInDownToIntMinValueReversed.kt create mode 100644 compiler/testData/codegen/box/ranges/forWithPossibleOverflow/forInDownToLongMinValueReversed.kt create mode 100644 compiler/testData/codegen/box/ranges/forWithPossibleOverflow/forInRangeToCharMaxValueReversed.kt create mode 100644 compiler/testData/codegen/box/ranges/forWithPossibleOverflow/forInRangeToIntMaxValueReversed.kt create mode 100644 compiler/testData/codegen/box/ranges/forWithPossibleOverflow/forInRangeToLongMaxValueReversed.kt diff --git a/compiler/testData/codegen/box/ranges/forWithPossibleOverflow/forInDownToCharMinValueReversed.kt b/compiler/testData/codegen/box/ranges/forWithPossibleOverflow/forInDownToCharMinValueReversed.kt new file mode 100644 index 00000000000..cab13d005c5 --- /dev/null +++ b/compiler/testData/codegen/box/ranges/forWithPossibleOverflow/forInDownToCharMinValueReversed.kt @@ -0,0 +1,15 @@ +// WITH_RUNTIME + +const val M = 0.toChar() + +fun box(): String { + var count = 0 + for (i in (M downTo M).reversed()) { + ++count + if (count > 1) { + throw AssertionError("Loop should be executed once") + } + } + if (count != 1) throw AssertionError("Should be executed once") + return "OK" +} \ No newline at end of file diff --git a/compiler/testData/codegen/box/ranges/forWithPossibleOverflow/forInDownToIntMinValueReversed.kt b/compiler/testData/codegen/box/ranges/forWithPossibleOverflow/forInDownToIntMinValueReversed.kt new file mode 100644 index 00000000000..e7d894ec0c1 --- /dev/null +++ b/compiler/testData/codegen/box/ranges/forWithPossibleOverflow/forInDownToIntMinValueReversed.kt @@ -0,0 +1,15 @@ +// WITH_RUNTIME + +const val M = Int.MIN_VALUE + +fun box(): String { + var count = 0 + for (i in (M downTo M).reversed()) { + ++count + if (count > 1) { + throw AssertionError("Loop should be executed once") + } + } + if (count != 1) throw AssertionError("Should be executed once") + return "OK" +} \ No newline at end of file diff --git a/compiler/testData/codegen/box/ranges/forWithPossibleOverflow/forInDownToLongMinValueReversed.kt b/compiler/testData/codegen/box/ranges/forWithPossibleOverflow/forInDownToLongMinValueReversed.kt new file mode 100644 index 00000000000..94e3d184771 --- /dev/null +++ b/compiler/testData/codegen/box/ranges/forWithPossibleOverflow/forInDownToLongMinValueReversed.kt @@ -0,0 +1,15 @@ +// WITH_RUNTIME + +const val M = Long.MIN_VALUE + +fun box(): String { + var count = 0 + for (i in (M downTo M).reversed()) { + ++count + if (count > 1) { + throw AssertionError("Loop should be executed once") + } + } + if (count != 1) throw AssertionError("Should be executed once") + return "OK" +} \ No newline at end of file diff --git a/compiler/testData/codegen/box/ranges/forWithPossibleOverflow/forInRangeToCharMaxValueReversed.kt b/compiler/testData/codegen/box/ranges/forWithPossibleOverflow/forInRangeToCharMaxValueReversed.kt new file mode 100644 index 00000000000..074911167a0 --- /dev/null +++ b/compiler/testData/codegen/box/ranges/forWithPossibleOverflow/forInRangeToCharMaxValueReversed.kt @@ -0,0 +1,15 @@ +// WITH_RUNTIME + +const val M = 0xFFFF.toChar() + +fun box(): String { + var count = 0 + for (i in (M .. M).reversed()) { + ++count + if (count > 1) { + throw AssertionError("Loop should be executed once") + } + } + if (count != 1) throw AssertionError("Should be executed once") + return "OK" +} \ No newline at end of file diff --git a/compiler/testData/codegen/box/ranges/forWithPossibleOverflow/forInRangeToIntMaxValueReversed.kt b/compiler/testData/codegen/box/ranges/forWithPossibleOverflow/forInRangeToIntMaxValueReversed.kt new file mode 100644 index 00000000000..8e98a8c48a6 --- /dev/null +++ b/compiler/testData/codegen/box/ranges/forWithPossibleOverflow/forInRangeToIntMaxValueReversed.kt @@ -0,0 +1,14 @@ +// WITH_RUNTIME + +const val M = Int.MAX_VALUE + +fun box(): String { + var step = 0 + for (i in (M .. M).reversed()) { + ++step + if (step > 1) throw AssertionError("Should be executed once") + } + if (step != 1) throw AssertionError("Should be executed once") + + return "OK" +} \ No newline at end of file diff --git a/compiler/testData/codegen/box/ranges/forWithPossibleOverflow/forInRangeToLongMaxValueReversed.kt b/compiler/testData/codegen/box/ranges/forWithPossibleOverflow/forInRangeToLongMaxValueReversed.kt new file mode 100644 index 00000000000..b06b2417660 --- /dev/null +++ b/compiler/testData/codegen/box/ranges/forWithPossibleOverflow/forInRangeToLongMaxValueReversed.kt @@ -0,0 +1,15 @@ +// WITH_RUNTIME + +const val M = Long.MAX_VALUE + +fun box(): String { + var count = 0 + for (i in (M .. M).reversed()) { + ++count + if (count > 1) { + throw AssertionError("Loop should be executed once") + } + } + if (count != 1) throw AssertionError("Should be executed once") + return "OK" +} \ No newline at end of file diff --git a/compiler/tests-ir-jvm/tests/org/jetbrains/kotlin/codegen/ir/IrBlackBoxCodegenTestGenerated.java b/compiler/tests-ir-jvm/tests/org/jetbrains/kotlin/codegen/ir/IrBlackBoxCodegenTestGenerated.java index d5ef2ed97fb..49d1033ea28 100644 --- a/compiler/tests-ir-jvm/tests/org/jetbrains/kotlin/codegen/ir/IrBlackBoxCodegenTestGenerated.java +++ b/compiler/tests-ir-jvm/tests/org/jetbrains/kotlin/codegen/ir/IrBlackBoxCodegenTestGenerated.java @@ -15430,36 +15430,72 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes doTest(fileName); } + @TestMetadata("forInDownToCharMinValueReversed.kt") + public void testForInDownToCharMinValueReversed() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ranges/forWithPossibleOverflow/forInDownToCharMinValueReversed.kt"); + doTest(fileName); + } + @TestMetadata("forInDownToIntMinValue.kt") public void testForInDownToIntMinValue() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ranges/forWithPossibleOverflow/forInDownToIntMinValue.kt"); doTest(fileName); } + @TestMetadata("forInDownToIntMinValueReversed.kt") + public void testForInDownToIntMinValueReversed() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ranges/forWithPossibleOverflow/forInDownToIntMinValueReversed.kt"); + doTest(fileName); + } + @TestMetadata("forInDownToLongMinValue.kt") public void testForInDownToLongMinValue() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ranges/forWithPossibleOverflow/forInDownToLongMinValue.kt"); doTest(fileName); } + @TestMetadata("forInDownToLongMinValueReversed.kt") + public void testForInDownToLongMinValueReversed() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ranges/forWithPossibleOverflow/forInDownToLongMinValueReversed.kt"); + doTest(fileName); + } + @TestMetadata("forInRangeToCharMaxValue.kt") public void testForInRangeToCharMaxValue() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ranges/forWithPossibleOverflow/forInRangeToCharMaxValue.kt"); doTest(fileName); } + @TestMetadata("forInRangeToCharMaxValueReversed.kt") + public void testForInRangeToCharMaxValueReversed() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ranges/forWithPossibleOverflow/forInRangeToCharMaxValueReversed.kt"); + doTest(fileName); + } + @TestMetadata("forInRangeToIntMaxValue.kt") public void testForInRangeToIntMaxValue() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ranges/forWithPossibleOverflow/forInRangeToIntMaxValue.kt"); doTest(fileName); } + @TestMetadata("forInRangeToIntMaxValueReversed.kt") + public void testForInRangeToIntMaxValueReversed() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ranges/forWithPossibleOverflow/forInRangeToIntMaxValueReversed.kt"); + doTest(fileName); + } + @TestMetadata("forInRangeToLongMaxValue.kt") public void testForInRangeToLongMaxValue() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ranges/forWithPossibleOverflow/forInRangeToLongMaxValue.kt"); doTest(fileName); } + @TestMetadata("forInRangeToLongMaxValueReversed.kt") + public void testForInRangeToLongMaxValueReversed() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ranges/forWithPossibleOverflow/forInRangeToLongMaxValueReversed.kt"); + doTest(fileName); + } + @TestMetadata("forInUntilIntMinValueReversed.kt") public void testForInUntilIntMinValueReversed() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ranges/forWithPossibleOverflow/forInUntilIntMinValueReversed.kt"); diff --git a/compiler/tests/org/jetbrains/kotlin/codegen/BlackBoxCodegenTestGenerated.java b/compiler/tests/org/jetbrains/kotlin/codegen/BlackBoxCodegenTestGenerated.java index 2136e3ef6fe..ac5c4ec7d32 100644 --- a/compiler/tests/org/jetbrains/kotlin/codegen/BlackBoxCodegenTestGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/codegen/BlackBoxCodegenTestGenerated.java @@ -15430,36 +15430,72 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest { doTest(fileName); } + @TestMetadata("forInDownToCharMinValueReversed.kt") + public void testForInDownToCharMinValueReversed() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ranges/forWithPossibleOverflow/forInDownToCharMinValueReversed.kt"); + doTest(fileName); + } + @TestMetadata("forInDownToIntMinValue.kt") public void testForInDownToIntMinValue() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ranges/forWithPossibleOverflow/forInDownToIntMinValue.kt"); doTest(fileName); } + @TestMetadata("forInDownToIntMinValueReversed.kt") + public void testForInDownToIntMinValueReversed() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ranges/forWithPossibleOverflow/forInDownToIntMinValueReversed.kt"); + doTest(fileName); + } + @TestMetadata("forInDownToLongMinValue.kt") public void testForInDownToLongMinValue() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ranges/forWithPossibleOverflow/forInDownToLongMinValue.kt"); doTest(fileName); } + @TestMetadata("forInDownToLongMinValueReversed.kt") + public void testForInDownToLongMinValueReversed() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ranges/forWithPossibleOverflow/forInDownToLongMinValueReversed.kt"); + doTest(fileName); + } + @TestMetadata("forInRangeToCharMaxValue.kt") public void testForInRangeToCharMaxValue() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ranges/forWithPossibleOverflow/forInRangeToCharMaxValue.kt"); doTest(fileName); } + @TestMetadata("forInRangeToCharMaxValueReversed.kt") + public void testForInRangeToCharMaxValueReversed() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ranges/forWithPossibleOverflow/forInRangeToCharMaxValueReversed.kt"); + doTest(fileName); + } + @TestMetadata("forInRangeToIntMaxValue.kt") public void testForInRangeToIntMaxValue() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ranges/forWithPossibleOverflow/forInRangeToIntMaxValue.kt"); doTest(fileName); } + @TestMetadata("forInRangeToIntMaxValueReversed.kt") + public void testForInRangeToIntMaxValueReversed() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ranges/forWithPossibleOverflow/forInRangeToIntMaxValueReversed.kt"); + doTest(fileName); + } + @TestMetadata("forInRangeToLongMaxValue.kt") public void testForInRangeToLongMaxValue() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ranges/forWithPossibleOverflow/forInRangeToLongMaxValue.kt"); doTest(fileName); } + @TestMetadata("forInRangeToLongMaxValueReversed.kt") + public void testForInRangeToLongMaxValueReversed() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ranges/forWithPossibleOverflow/forInRangeToLongMaxValueReversed.kt"); + doTest(fileName); + } + @TestMetadata("forInUntilIntMinValueReversed.kt") public void testForInUntilIntMinValueReversed() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ranges/forWithPossibleOverflow/forInUntilIntMinValueReversed.kt"); diff --git a/compiler/tests/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java b/compiler/tests/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java index a01254cb497..896b3289e55 100644 --- a/compiler/tests/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java @@ -15430,36 +15430,72 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes doTest(fileName); } + @TestMetadata("forInDownToCharMinValueReversed.kt") + public void testForInDownToCharMinValueReversed() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ranges/forWithPossibleOverflow/forInDownToCharMinValueReversed.kt"); + doTest(fileName); + } + @TestMetadata("forInDownToIntMinValue.kt") public void testForInDownToIntMinValue() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ranges/forWithPossibleOverflow/forInDownToIntMinValue.kt"); doTest(fileName); } + @TestMetadata("forInDownToIntMinValueReversed.kt") + public void testForInDownToIntMinValueReversed() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ranges/forWithPossibleOverflow/forInDownToIntMinValueReversed.kt"); + doTest(fileName); + } + @TestMetadata("forInDownToLongMinValue.kt") public void testForInDownToLongMinValue() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ranges/forWithPossibleOverflow/forInDownToLongMinValue.kt"); doTest(fileName); } + @TestMetadata("forInDownToLongMinValueReversed.kt") + public void testForInDownToLongMinValueReversed() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ranges/forWithPossibleOverflow/forInDownToLongMinValueReversed.kt"); + doTest(fileName); + } + @TestMetadata("forInRangeToCharMaxValue.kt") public void testForInRangeToCharMaxValue() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ranges/forWithPossibleOverflow/forInRangeToCharMaxValue.kt"); doTest(fileName); } + @TestMetadata("forInRangeToCharMaxValueReversed.kt") + public void testForInRangeToCharMaxValueReversed() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ranges/forWithPossibleOverflow/forInRangeToCharMaxValueReversed.kt"); + doTest(fileName); + } + @TestMetadata("forInRangeToIntMaxValue.kt") public void testForInRangeToIntMaxValue() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ranges/forWithPossibleOverflow/forInRangeToIntMaxValue.kt"); doTest(fileName); } + @TestMetadata("forInRangeToIntMaxValueReversed.kt") + public void testForInRangeToIntMaxValueReversed() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ranges/forWithPossibleOverflow/forInRangeToIntMaxValueReversed.kt"); + doTest(fileName); + } + @TestMetadata("forInRangeToLongMaxValue.kt") public void testForInRangeToLongMaxValue() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ranges/forWithPossibleOverflow/forInRangeToLongMaxValue.kt"); doTest(fileName); } + @TestMetadata("forInRangeToLongMaxValueReversed.kt") + public void testForInRangeToLongMaxValueReversed() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ranges/forWithPossibleOverflow/forInRangeToLongMaxValueReversed.kt"); + doTest(fileName); + } + @TestMetadata("forInUntilIntMinValueReversed.kt") public void testForInUntilIntMinValueReversed() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ranges/forWithPossibleOverflow/forInUntilIntMinValueReversed.kt"); diff --git a/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/JsCodegenBoxTestGenerated.java b/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/JsCodegenBoxTestGenerated.java index f0ab06b49f7..56c724ec904 100644 --- a/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/JsCodegenBoxTestGenerated.java +++ b/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/JsCodegenBoxTestGenerated.java @@ -16846,36 +16846,72 @@ public class JsCodegenBoxTestGenerated extends AbstractJsCodegenBoxTest { doTest(fileName); } + @TestMetadata("forInDownToCharMinValueReversed.kt") + public void testForInDownToCharMinValueReversed() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ranges/forWithPossibleOverflow/forInDownToCharMinValueReversed.kt"); + doTest(fileName); + } + @TestMetadata("forInDownToIntMinValue.kt") public void testForInDownToIntMinValue() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ranges/forWithPossibleOverflow/forInDownToIntMinValue.kt"); doTest(fileName); } + @TestMetadata("forInDownToIntMinValueReversed.kt") + public void testForInDownToIntMinValueReversed() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ranges/forWithPossibleOverflow/forInDownToIntMinValueReversed.kt"); + doTest(fileName); + } + @TestMetadata("forInDownToLongMinValue.kt") public void testForInDownToLongMinValue() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ranges/forWithPossibleOverflow/forInDownToLongMinValue.kt"); doTest(fileName); } + @TestMetadata("forInDownToLongMinValueReversed.kt") + public void testForInDownToLongMinValueReversed() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ranges/forWithPossibleOverflow/forInDownToLongMinValueReversed.kt"); + doTest(fileName); + } + @TestMetadata("forInRangeToCharMaxValue.kt") public void testForInRangeToCharMaxValue() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ranges/forWithPossibleOverflow/forInRangeToCharMaxValue.kt"); doTest(fileName); } + @TestMetadata("forInRangeToCharMaxValueReversed.kt") + public void testForInRangeToCharMaxValueReversed() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ranges/forWithPossibleOverflow/forInRangeToCharMaxValueReversed.kt"); + doTest(fileName); + } + @TestMetadata("forInRangeToIntMaxValue.kt") public void testForInRangeToIntMaxValue() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ranges/forWithPossibleOverflow/forInRangeToIntMaxValue.kt"); doTest(fileName); } + @TestMetadata("forInRangeToIntMaxValueReversed.kt") + public void testForInRangeToIntMaxValueReversed() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ranges/forWithPossibleOverflow/forInRangeToIntMaxValueReversed.kt"); + doTest(fileName); + } + @TestMetadata("forInRangeToLongMaxValue.kt") public void testForInRangeToLongMaxValue() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ranges/forWithPossibleOverflow/forInRangeToLongMaxValue.kt"); doTest(fileName); } + @TestMetadata("forInRangeToLongMaxValueReversed.kt") + public void testForInRangeToLongMaxValueReversed() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ranges/forWithPossibleOverflow/forInRangeToLongMaxValueReversed.kt"); + doTest(fileName); + } + @TestMetadata("forInUntilIntMinValueReversed.kt") public void testForInUntilIntMinValueReversed() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ranges/forWithPossibleOverflow/forInUntilIntMinValueReversed.kt");