Enum entry hashCode() should return identity hash code #KT-59223

This commit is contained in:
Abduqodiri Qurbonzoda
2023-06-11 03:14:57 +03:00
committed by Space Team
parent 19c6622ff6
commit d6867917c9
17 changed files with 96 additions and 4 deletions
@@ -16715,6 +16715,12 @@ public class FirLightTreeBlackBoxCodegenTestGenerated extends AbstractFirLightTr
runTest("compiler/testData/codegen/box/enum/enumEntriesNameClashes.kt");
}
@Test
@TestMetadata("enumEntryHashCode.kt")
public void testEnumEntryHashCode() throws Exception {
runTest("compiler/testData/codegen/box/enum/enumEntryHashCode.kt");
}
@Test
@TestMetadata("enumEntryMembers.kt")
public void testEnumEntryMembers() throws Exception {
@@ -16715,6 +16715,12 @@ public class FirPsiBlackBoxCodegenTestGenerated extends AbstractFirPsiBlackBoxCo
runTest("compiler/testData/codegen/box/enum/enumEntriesNameClashes.kt");
}
@Test
@TestMetadata("enumEntryHashCode.kt")
public void testEnumEntryHashCode() throws Exception {
runTest("compiler/testData/codegen/box/enum/enumEntryHashCode.kt");
}
@Test
@TestMetadata("enumEntryMembers.kt")
public void testEnumEntryMembers() throws Exception {
@@ -0,0 +1,8 @@
// WITH_STDLIB
enum class E {
A, B
}
// hashCode shouldn't always return ordinal: KT-59223
fun box() = if (E.A.hashCode() == E.A.ordinal && E.B.hashCode() == E.B.ordinal) "FAIL" else "OK"
@@ -16343,6 +16343,12 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest {
runTest("compiler/testData/codegen/box/enum/enumEntriesNameClashes.kt");
}
@Test
@TestMetadata("enumEntryHashCode.kt")
public void testEnumEntryHashCode() throws Exception {
runTest("compiler/testData/codegen/box/enum/enumEntryHashCode.kt");
}
@Test
@TestMetadata("enumEntryMembers.kt")
public void testEnumEntryMembers() throws Exception {
@@ -16715,6 +16715,12 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes
runTest("compiler/testData/codegen/box/enum/enumEntriesNameClashes.kt");
}
@Test
@TestMetadata("enumEntryHashCode.kt")
public void testEnumEntryHashCode() throws Exception {
runTest("compiler/testData/codegen/box/enum/enumEntryHashCode.kt");
}
@Test
@TestMetadata("enumEntryMembers.kt")
public void testEnumEntryMembers() throws Exception {
@@ -16715,6 +16715,12 @@ public class IrBlackBoxCodegenWithIrInlinerTestGenerated extends AbstractIrBlack
runTest("compiler/testData/codegen/box/enum/enumEntriesNameClashes.kt");
}
@Test
@TestMetadata("enumEntryHashCode.kt")
public void testEnumEntryHashCode() throws Exception {
runTest("compiler/testData/codegen/box/enum/enumEntryHashCode.kt");
}
@Test
@TestMetadata("enumEntryMembers.kt")
public void testEnumEntryMembers() throws Exception {
@@ -13504,6 +13504,11 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes
runTest("compiler/testData/codegen/box/enum/enumConstructorParameterClashWithDefaults.kt");
}
@TestMetadata("enumEntryHashCode.kt")
public void testEnumEntryHashCode() throws Exception {
runTest("compiler/testData/codegen/box/enum/enumEntryHashCode.kt");
}
@TestMetadata("enumEntryMembers.kt")
public void testEnumEntryMembers() throws Exception {
runTest("compiler/testData/codegen/box/enum/enumEntryMembers.kt");