From b9c0ecf2b1c84bb0d1a6f2603bf98510d3286cfd Mon Sep 17 00:00:00 2001 From: Dmitry Petrov Date: Fri, 30 Jun 2017 16:09:01 +0300 Subject: [PATCH] Ensure that ranges are not created for in-Comparable-range-literal #KT-6247 Fixed Target versions 1.1.4 --- .../codegen/bytecodeText/ranges/inComparableRangeLiteral.kt | 5 +++++ .../jetbrains/kotlin/codegen/BytecodeTextTestGenerated.java | 6 ++++++ 2 files changed, 11 insertions(+) create mode 100644 compiler/testData/codegen/bytecodeText/ranges/inComparableRangeLiteral.kt diff --git a/compiler/testData/codegen/bytecodeText/ranges/inComparableRangeLiteral.kt b/compiler/testData/codegen/bytecodeText/ranges/inComparableRangeLiteral.kt new file mode 100644 index 00000000000..6962c2adc7a --- /dev/null +++ b/compiler/testData/codegen/bytecodeText/ranges/inComparableRangeLiteral.kt @@ -0,0 +1,5 @@ +fun test1(a: String) = a in "alpha" .. "omega" +fun test2(a: String) = a !in "alpha" .. "omega" + +// 0 INVOKESTATIC kotlin/ranges/RangesKt.rangeTo +// 0 INVOKEINTERFACE kotlin/ranges/ClosedRange.contains \ No newline at end of file diff --git a/compiler/tests/org/jetbrains/kotlin/codegen/BytecodeTextTestGenerated.java b/compiler/tests/org/jetbrains/kotlin/codegen/BytecodeTextTestGenerated.java index 8985f11ce22..e42ccd675f5 100644 --- a/compiler/tests/org/jetbrains/kotlin/codegen/BytecodeTextTestGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/codegen/BytecodeTextTestGenerated.java @@ -1859,6 +1859,12 @@ public class BytecodeTextTestGenerated extends AbstractBytecodeTextTest { doTest(fileName); } + @TestMetadata("inComparableRangeLiteral.kt") + public void testInComparableRangeLiteral() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/bytecodeText/ranges/inComparableRangeLiteral.kt"); + doTest(fileName); + } + @TestMetadata("inNonMatchingRange.kt") public void testInNonMatchingRange() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/bytecodeText/ranges/inNonMatchingRange.kt");