JVM IR: Avoid boxing in generic floating point equality (KT-48635)

This commit is contained in:
Steven Schäfer
2022-05-30 12:17:46 +02:00
committed by Alexander Udalov
parent 36a154507e
commit dbb6144ab0
12 changed files with 229 additions and 20 deletions
@@ -10741,6 +10741,12 @@ public class NativeCodegenBoxTestGenerated extends AbstractNativeCodegenBoxTest
runTest("compiler/testData/codegen/box/dataClasses/doubleParam.kt");
}
@Test
@TestMetadata("equalityChecksPrimitiveUnboxed.kt")
public void testEqualityChecksPrimitiveUnboxed() throws Exception {
runTest("compiler/testData/codegen/box/dataClasses/equalityChecksPrimitiveUnboxed.kt");
}
@Test
@TestMetadata("floatParam.kt")
public void testFloatParam() throws Exception {
@@ -16452,6 +16458,7 @@ public class NativeCodegenBoxTestGenerated extends AbstractNativeCodegenBoxTest
register("compiler/testData/codegen/box/inlineClasses/equalityChecksNullableGeneric2.kt", TransformersFunctions.getRemoveOptionalJvmInlineAnnotation());
register("compiler/testData/codegen/box/inlineClasses/equalityChecksPrimitive.kt", TransformersFunctions.getRemoveOptionalJvmInlineAnnotation());
register("compiler/testData/codegen/box/inlineClasses/equalityChecksPrimitiveGeneric.kt", TransformersFunctions.getRemoveOptionalJvmInlineAnnotation());
register("compiler/testData/codegen/box/inlineClasses/equalityChecksPrimitiveUnboxed.kt", TransformersFunctions.getRemoveOptionalJvmInlineAnnotation());
register("compiler/testData/codegen/box/inlineClasses/equalityForBoxesOfNullableValuesOfInlineClass.kt", TransformersFunctions.getRemoveOptionalJvmInlineAnnotation());
register("compiler/testData/codegen/box/inlineClasses/equalityForBoxesOfNullableValuesOfInlineClassGeneric.kt", TransformersFunctions.getRemoveOptionalJvmInlineAnnotation());
register("compiler/testData/codegen/box/inlineClasses/equalsCallsLeftArgument.kt", TransformersFunctions.getRemoveOptionalJvmInlineAnnotation());
@@ -17451,6 +17458,13 @@ public class NativeCodegenBoxTestGenerated extends AbstractNativeCodegenBoxTest
runTest("compiler/testData/codegen/box/inlineClasses/equalityChecksPrimitiveGeneric.kt");
}
@Test
@TestMetadata("equalityChecksPrimitiveUnboxed.kt")
public void testEqualityChecksPrimitiveUnboxed() throws Exception {
// There is a registered source transformer for the testcase: TransformersFunctions.getRemoveOptionalJvmInlineAnnotation()
runTest("compiler/testData/codegen/box/inlineClasses/equalityChecksPrimitiveUnboxed.kt");
}
@Test
@TestMetadata("equalityForBoxesOfNullableValuesOfInlineClass.kt")
public void testEqualityForBoxesOfNullableValuesOfInlineClass() throws Exception {