JVM_IR KT-48432 fix overflow in const-bound range optimization

This commit is contained in:
Dmitry Petrov
2021-08-27 13:24:17 +03:00
committed by TeamCityServer
parent ce44403d1b
commit c2b575505a
18 changed files with 484 additions and 14 deletions
@@ -20267,6 +20267,11 @@ public class IrJsCodegenBoxES6TestGenerated extends AbstractIrJsCodegenBoxES6Tes
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/ranges/contains"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR_ES6, true);
}
@TestMetadata("charInCharRangeWithPossibleOverflow.kt")
public void testCharInCharRangeWithPossibleOverflow() throws Exception {
runTest("compiler/testData/codegen/box/ranges/contains/charInCharRangeWithPossibleOverflow.kt");
}
@TestMetadata("comparisonWithRangeBoundEliminated.kt")
public void testComparisonWithRangeBoundEliminated() throws Exception {
runTest("compiler/testData/codegen/box/ranges/contains/comparisonWithRangeBoundEliminated.kt");
@@ -20447,11 +20452,31 @@ public class IrJsCodegenBoxES6TestGenerated extends AbstractIrJsCodegenBoxES6Tes
runTest("compiler/testData/codegen/box/ranges/contains/inUntilMinValueNonConst.kt");
}
@TestMetadata("intInByteRangeWithPossibleOverflow.kt")
public void testIntInByteRangeWithPossibleOverflow() throws Exception {
runTest("compiler/testData/codegen/box/ranges/contains/intInByteRangeWithPossibleOverflow.kt");
}
@TestMetadata("intInIntRangeWithPossibleOverflow.kt")
public void testIntInIntRangeWithPossibleOverflow() throws Exception {
runTest("compiler/testData/codegen/box/ranges/contains/intInIntRangeWithPossibleOverflow.kt");
}
@TestMetadata("intInShortRangeWithPossibleOverflow.kt")
public void testIntInShortRangeWithPossibleOverflow() throws Exception {
runTest("compiler/testData/codegen/box/ranges/contains/intInShortRangeWithPossibleOverflow.kt");
}
@TestMetadata("kt20106.kt")
public void testKt20106() throws Exception {
runTest("compiler/testData/codegen/box/ranges/contains/kt20106.kt");
}
@TestMetadata("longInLongRangeWithPossibleOverflow.kt")
public void testLongInLongRangeWithPossibleOverflow() throws Exception {
runTest("compiler/testData/codegen/box/ranges/contains/longInLongRangeWithPossibleOverflow.kt");
}
@TestMetadata("nullableInPrimitiveRange.kt")
public void testNullableInPrimitiveRange() throws Exception {
runTest("compiler/testData/codegen/box/ranges/contains/nullableInPrimitiveRange.kt");
@@ -20467,6 +20492,26 @@ public class IrJsCodegenBoxES6TestGenerated extends AbstractIrJsCodegenBoxES6Tes
runTest("compiler/testData/codegen/box/ranges/contains/smartCastOnBothEnds.kt");
}
@TestMetadata("uintInUByteRangeWithPossibleOverflow.kt")
public void testUintInUByteRangeWithPossibleOverflow() throws Exception {
runTest("compiler/testData/codegen/box/ranges/contains/uintInUByteRangeWithPossibleOverflow.kt");
}
@TestMetadata("uintInUIntRangeWithPossibleOverflow.kt")
public void testUintInUIntRangeWithPossibleOverflow() throws Exception {
runTest("compiler/testData/codegen/box/ranges/contains/uintInUIntRangeWithPossibleOverflow.kt");
}
@TestMetadata("uintInUShortRangeWithPossibleOverflow.kt")
public void testUintInUShortRangeWithPossibleOverflow() throws Exception {
runTest("compiler/testData/codegen/box/ranges/contains/uintInUShortRangeWithPossibleOverflow.kt");
}
@TestMetadata("ulongInULongRangeWithPossibleOverflow.kt")
public void testUlongInULongRangeWithPossibleOverflow() throws Exception {
runTest("compiler/testData/codegen/box/ranges/contains/ulongInULongRangeWithPossibleOverflow.kt");
}
@TestMetadata("userDefinedContainsExtension.kt")
public void testUserDefinedContainsExtension() throws Exception {
runTest("compiler/testData/codegen/box/ranges/contains/userDefinedContainsExtension.kt");
@@ -19673,6 +19673,11 @@ public class IrJsCodegenBoxTestGenerated extends AbstractIrJsCodegenBoxTest {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/ranges/contains"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true);
}
@TestMetadata("charInCharRangeWithPossibleOverflow.kt")
public void testCharInCharRangeWithPossibleOverflow() throws Exception {
runTest("compiler/testData/codegen/box/ranges/contains/charInCharRangeWithPossibleOverflow.kt");
}
@TestMetadata("comparisonWithRangeBoundEliminated.kt")
public void testComparisonWithRangeBoundEliminated() throws Exception {
runTest("compiler/testData/codegen/box/ranges/contains/comparisonWithRangeBoundEliminated.kt");
@@ -19853,11 +19858,31 @@ public class IrJsCodegenBoxTestGenerated extends AbstractIrJsCodegenBoxTest {
runTest("compiler/testData/codegen/box/ranges/contains/inUntilMinValueNonConst.kt");
}
@TestMetadata("intInByteRangeWithPossibleOverflow.kt")
public void testIntInByteRangeWithPossibleOverflow() throws Exception {
runTest("compiler/testData/codegen/box/ranges/contains/intInByteRangeWithPossibleOverflow.kt");
}
@TestMetadata("intInIntRangeWithPossibleOverflow.kt")
public void testIntInIntRangeWithPossibleOverflow() throws Exception {
runTest("compiler/testData/codegen/box/ranges/contains/intInIntRangeWithPossibleOverflow.kt");
}
@TestMetadata("intInShortRangeWithPossibleOverflow.kt")
public void testIntInShortRangeWithPossibleOverflow() throws Exception {
runTest("compiler/testData/codegen/box/ranges/contains/intInShortRangeWithPossibleOverflow.kt");
}
@TestMetadata("kt20106.kt")
public void testKt20106() throws Exception {
runTest("compiler/testData/codegen/box/ranges/contains/kt20106.kt");
}
@TestMetadata("longInLongRangeWithPossibleOverflow.kt")
public void testLongInLongRangeWithPossibleOverflow() throws Exception {
runTest("compiler/testData/codegen/box/ranges/contains/longInLongRangeWithPossibleOverflow.kt");
}
@TestMetadata("nullableInPrimitiveRange.kt")
public void testNullableInPrimitiveRange() throws Exception {
runTest("compiler/testData/codegen/box/ranges/contains/nullableInPrimitiveRange.kt");
@@ -19873,6 +19898,26 @@ public class IrJsCodegenBoxTestGenerated extends AbstractIrJsCodegenBoxTest {
runTest("compiler/testData/codegen/box/ranges/contains/smartCastOnBothEnds.kt");
}
@TestMetadata("uintInUByteRangeWithPossibleOverflow.kt")
public void testUintInUByteRangeWithPossibleOverflow() throws Exception {
runTest("compiler/testData/codegen/box/ranges/contains/uintInUByteRangeWithPossibleOverflow.kt");
}
@TestMetadata("uintInUIntRangeWithPossibleOverflow.kt")
public void testUintInUIntRangeWithPossibleOverflow() throws Exception {
runTest("compiler/testData/codegen/box/ranges/contains/uintInUIntRangeWithPossibleOverflow.kt");
}
@TestMetadata("uintInUShortRangeWithPossibleOverflow.kt")
public void testUintInUShortRangeWithPossibleOverflow() throws Exception {
runTest("compiler/testData/codegen/box/ranges/contains/uintInUShortRangeWithPossibleOverflow.kt");
}
@TestMetadata("ulongInULongRangeWithPossibleOverflow.kt")
public void testUlongInULongRangeWithPossibleOverflow() throws Exception {
runTest("compiler/testData/codegen/box/ranges/contains/ulongInULongRangeWithPossibleOverflow.kt");
}
@TestMetadata("userDefinedContainsExtension.kt")
public void testUserDefinedContainsExtension() throws Exception {
runTest("compiler/testData/codegen/box/ranges/contains/userDefinedContainsExtension.kt");
@@ -19723,6 +19723,11 @@ public class JsCodegenBoxTestGenerated extends AbstractJsCodegenBoxTest {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/ranges/contains"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS, true);
}
@TestMetadata("charInCharRangeWithPossibleOverflow.kt")
public void testCharInCharRangeWithPossibleOverflow() throws Exception {
runTest("compiler/testData/codegen/box/ranges/contains/charInCharRangeWithPossibleOverflow.kt");
}
@TestMetadata("comparisonWithRangeBoundEliminated.kt")
public void testComparisonWithRangeBoundEliminated() throws Exception {
runTest("compiler/testData/codegen/box/ranges/contains/comparisonWithRangeBoundEliminated.kt");
@@ -19903,11 +19908,31 @@ public class JsCodegenBoxTestGenerated extends AbstractJsCodegenBoxTest {
runTest("compiler/testData/codegen/box/ranges/contains/inUntilMinValueNonConst.kt");
}
@TestMetadata("intInByteRangeWithPossibleOverflow.kt")
public void testIntInByteRangeWithPossibleOverflow() throws Exception {
runTest("compiler/testData/codegen/box/ranges/contains/intInByteRangeWithPossibleOverflow.kt");
}
@TestMetadata("intInIntRangeWithPossibleOverflow.kt")
public void testIntInIntRangeWithPossibleOverflow() throws Exception {
runTest("compiler/testData/codegen/box/ranges/contains/intInIntRangeWithPossibleOverflow.kt");
}
@TestMetadata("intInShortRangeWithPossibleOverflow.kt")
public void testIntInShortRangeWithPossibleOverflow() throws Exception {
runTest("compiler/testData/codegen/box/ranges/contains/intInShortRangeWithPossibleOverflow.kt");
}
@TestMetadata("kt20106.kt")
public void testKt20106() throws Exception {
runTest("compiler/testData/codegen/box/ranges/contains/kt20106.kt");
}
@TestMetadata("longInLongRangeWithPossibleOverflow.kt")
public void testLongInLongRangeWithPossibleOverflow() throws Exception {
runTest("compiler/testData/codegen/box/ranges/contains/longInLongRangeWithPossibleOverflow.kt");
}
@TestMetadata("nullableInPrimitiveRange.kt")
public void testNullableInPrimitiveRange() throws Exception {
runTest("compiler/testData/codegen/box/ranges/contains/nullableInPrimitiveRange.kt");
@@ -19923,6 +19948,26 @@ public class JsCodegenBoxTestGenerated extends AbstractJsCodegenBoxTest {
runTest("compiler/testData/codegen/box/ranges/contains/smartCastOnBothEnds.kt");
}
@TestMetadata("uintInUByteRangeWithPossibleOverflow.kt")
public void testUintInUByteRangeWithPossibleOverflow() throws Exception {
runTest("compiler/testData/codegen/box/ranges/contains/uintInUByteRangeWithPossibleOverflow.kt");
}
@TestMetadata("uintInUIntRangeWithPossibleOverflow.kt")
public void testUintInUIntRangeWithPossibleOverflow() throws Exception {
runTest("compiler/testData/codegen/box/ranges/contains/uintInUIntRangeWithPossibleOverflow.kt");
}
@TestMetadata("uintInUShortRangeWithPossibleOverflow.kt")
public void testUintInUShortRangeWithPossibleOverflow() throws Exception {
runTest("compiler/testData/codegen/box/ranges/contains/uintInUShortRangeWithPossibleOverflow.kt");
}
@TestMetadata("ulongInULongRangeWithPossibleOverflow.kt")
public void testUlongInULongRangeWithPossibleOverflow() throws Exception {
runTest("compiler/testData/codegen/box/ranges/contains/ulongInULongRangeWithPossibleOverflow.kt");
}
@TestMetadata("userDefinedContainsExtension.kt")
public void testUserDefinedContainsExtension() throws Exception {
runTest("compiler/testData/codegen/box/ranges/contains/userDefinedContainsExtension.kt");
@@ -12654,6 +12654,11 @@ public class IrCodegenBoxWasmTestGenerated extends AbstractIrCodegenBoxWasmTest
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/ranges/contains"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.WASM, true);
}
@TestMetadata("charInCharRangeWithPossibleOverflow.kt")
public void testCharInCharRangeWithPossibleOverflow() throws Exception {
runTest("compiler/testData/codegen/box/ranges/contains/charInCharRangeWithPossibleOverflow.kt");
}
@TestMetadata("comparisonWithRangeBoundEliminated.kt")
public void testComparisonWithRangeBoundEliminated() throws Exception {
runTest("compiler/testData/codegen/box/ranges/contains/comparisonWithRangeBoundEliminated.kt");
@@ -12724,6 +12729,26 @@ public class IrCodegenBoxWasmTestGenerated extends AbstractIrCodegenBoxWasmTest
runTest("compiler/testData/codegen/box/ranges/contains/inUntilMinValueNonConst.kt");
}
@TestMetadata("intInByteRangeWithPossibleOverflow.kt")
public void testIntInByteRangeWithPossibleOverflow() throws Exception {
runTest("compiler/testData/codegen/box/ranges/contains/intInByteRangeWithPossibleOverflow.kt");
}
@TestMetadata("intInIntRangeWithPossibleOverflow.kt")
public void testIntInIntRangeWithPossibleOverflow() throws Exception {
runTest("compiler/testData/codegen/box/ranges/contains/intInIntRangeWithPossibleOverflow.kt");
}
@TestMetadata("intInShortRangeWithPossibleOverflow.kt")
public void testIntInShortRangeWithPossibleOverflow() throws Exception {
runTest("compiler/testData/codegen/box/ranges/contains/intInShortRangeWithPossibleOverflow.kt");
}
@TestMetadata("longInLongRangeWithPossibleOverflow.kt")
public void testLongInLongRangeWithPossibleOverflow() throws Exception {
runTest("compiler/testData/codegen/box/ranges/contains/longInLongRangeWithPossibleOverflow.kt");
}
@TestMetadata("nullableInPrimitiveRange.kt")
public void testNullableInPrimitiveRange() throws Exception {
runTest("compiler/testData/codegen/box/ranges/contains/nullableInPrimitiveRange.kt");
@@ -12739,6 +12764,26 @@ public class IrCodegenBoxWasmTestGenerated extends AbstractIrCodegenBoxWasmTest
runTest("compiler/testData/codegen/box/ranges/contains/smartCastOnBothEnds.kt");
}
@TestMetadata("uintInUByteRangeWithPossibleOverflow.kt")
public void testUintInUByteRangeWithPossibleOverflow() throws Exception {
runTest("compiler/testData/codegen/box/ranges/contains/uintInUByteRangeWithPossibleOverflow.kt");
}
@TestMetadata("uintInUIntRangeWithPossibleOverflow.kt")
public void testUintInUIntRangeWithPossibleOverflow() throws Exception {
runTest("compiler/testData/codegen/box/ranges/contains/uintInUIntRangeWithPossibleOverflow.kt");
}
@TestMetadata("uintInUShortRangeWithPossibleOverflow.kt")
public void testUintInUShortRangeWithPossibleOverflow() throws Exception {
runTest("compiler/testData/codegen/box/ranges/contains/uintInUShortRangeWithPossibleOverflow.kt");
}
@TestMetadata("ulongInULongRangeWithPossibleOverflow.kt")
public void testUlongInULongRangeWithPossibleOverflow() throws Exception {
runTest("compiler/testData/codegen/box/ranges/contains/ulongInULongRangeWithPossibleOverflow.kt");
}
@TestMetadata("userDefinedContainsExtension.kt")
public void testUserDefinedContainsExtension() throws Exception {
runTest("compiler/testData/codegen/box/ranges/contains/userDefinedContainsExtension.kt");