Fix == for inline classes with boxes

TODO generalize code generating object vs primitive equality

 #KT-25914 Fixed
 #KT-25981 Fixed
 #KT-25983 Fixed
This commit is contained in:
Dmitry Petrov
2018-08-09 18:30:09 +03:00
parent cd12772bc5
commit 4f6aa50417
10 changed files with 225 additions and 29 deletions
@@ -10025,11 +10025,21 @@ public class IrJsCodegenBoxTestGenerated extends AbstractIrJsCodegenBoxTest {
runTest("compiler/testData/codegen/box/inlineClasses/inlineClassAsLastExpressionInInLambda.kt");
}
@TestMetadata("inlineClassEqualityShouldUseTotalOrderForFloatingPointData.kt")
public void testInlineClassEqualityShouldUseTotalOrderForFloatingPointData() throws Exception {
runTest("compiler/testData/codegen/box/inlineClasses/inlineClassEqualityShouldUseTotalOrderForFloatingPointData.kt");
}
@TestMetadata("inlineClassValuesInsideStrings.kt")
public void testInlineClassValuesInsideStrings() throws Exception {
runTest("compiler/testData/codegen/box/inlineClasses/inlineClassValuesInsideStrings.kt");
}
@TestMetadata("inlineClassWithCustomEquals.kt")
public void testInlineClassWithCustomEquals() throws Exception {
runTest("compiler/testData/codegen/box/inlineClasses/inlineClassWithCustomEquals.kt");
}
@TestMetadata("inlineClassesCheckCast.kt")
public void testInlineClassesCheckCast() throws Exception {
runTest("compiler/testData/codegen/box/inlineClasses/inlineClassesCheckCast.kt");
@@ -10065,6 +10075,11 @@ public class IrJsCodegenBoxTestGenerated extends AbstractIrJsCodegenBoxTest {
runTest("compiler/testData/codegen/box/inlineClasses/noAssertionsOnInlineClassBasedOnNullableType.kt");
}
@TestMetadata("nullableEqeqNonNull.kt")
public void testNullableEqeqNonNull() throws Exception {
runTest("compiler/testData/codegen/box/inlineClasses/nullableEqeqNonNull.kt");
}
@TestMetadata("passInlineClassAsVararg.kt")
public void testPassInlineClassAsVararg() throws Exception {
runTest("compiler/testData/codegen/box/inlineClasses/passInlineClassAsVararg.kt");
@@ -11075,11 +11075,21 @@ public class JsCodegenBoxTestGenerated extends AbstractJsCodegenBoxTest {
runTest("compiler/testData/codegen/box/inlineClasses/inlineClassAsLastExpressionInInLambda.kt");
}
@TestMetadata("inlineClassEqualityShouldUseTotalOrderForFloatingPointData.kt")
public void testInlineClassEqualityShouldUseTotalOrderForFloatingPointData() throws Exception {
runTest("compiler/testData/codegen/box/inlineClasses/inlineClassEqualityShouldUseTotalOrderForFloatingPointData.kt");
}
@TestMetadata("inlineClassValuesInsideStrings.kt")
public void testInlineClassValuesInsideStrings() throws Exception {
runTest("compiler/testData/codegen/box/inlineClasses/inlineClassValuesInsideStrings.kt");
}
@TestMetadata("inlineClassWithCustomEquals.kt")
public void testInlineClassWithCustomEquals() throws Exception {
runTest("compiler/testData/codegen/box/inlineClasses/inlineClassWithCustomEquals.kt");
}
@TestMetadata("inlineClassesCheckCast.kt")
public void testInlineClassesCheckCast() throws Exception {
runTest("compiler/testData/codegen/box/inlineClasses/inlineClassesCheckCast.kt");
@@ -11115,6 +11125,11 @@ public class JsCodegenBoxTestGenerated extends AbstractJsCodegenBoxTest {
runTest("compiler/testData/codegen/box/inlineClasses/noAssertionsOnInlineClassBasedOnNullableType.kt");
}
@TestMetadata("nullableEqeqNonNull.kt")
public void testNullableEqeqNonNull() throws Exception {
runTest("compiler/testData/codegen/box/inlineClasses/nullableEqeqNonNull.kt");
}
@TestMetadata("passInlineClassAsVararg.kt")
public void testPassInlineClassAsVararg() throws Exception {
runTest("compiler/testData/codegen/box/inlineClasses/passInlineClassAsVararg.kt");