Enum entry hashCode() should return identity hash code #KT-59223
This commit is contained in:
committed by
Space Team
parent
19c6622ff6
commit
d6867917c9
+6
@@ -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 {
|
||||
|
||||
+6
@@ -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"
|
||||
+6
@@ -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 {
|
||||
|
||||
+6
@@ -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 {
|
||||
|
||||
+6
@@ -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 {
|
||||
|
||||
+5
@@ -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");
|
||||
|
||||
+6
@@ -12629,6 +12629,12 @@ public class JsCodegenBoxTestGenerated extends AbstractJsCodegenBoxTest {
|
||||
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 {
|
||||
|
||||
+6
@@ -12731,6 +12731,12 @@ public class FirJsCodegenBoxTestGenerated extends AbstractFirJsCodegenBoxTest {
|
||||
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 {
|
||||
|
||||
+6
@@ -12731,6 +12731,12 @@ public class IrJsCodegenBoxTestGenerated extends AbstractIrJsCodegenBoxTest {
|
||||
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 {
|
||||
|
||||
+6
@@ -12731,6 +12731,12 @@ public class IrJsES6CodegenBoxTestGenerated extends AbstractIrJsES6CodegenBoxTes
|
||||
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 {
|
||||
|
||||
@@ -24,10 +24,6 @@ public abstract class Enum<E: Enum<E>>(@kotlin.internal.IntrinsicConstEvaluation
|
||||
return this === other
|
||||
}
|
||||
|
||||
public override final fun hashCode(): Int {
|
||||
return ordinal
|
||||
}
|
||||
|
||||
public override fun toString(): String {
|
||||
return name
|
||||
}
|
||||
|
||||
+6
@@ -13873,6 +13873,12 @@ public class FirNativeCodegenBoxTestGenerated extends AbstractNativeCodegenBoxTe
|
||||
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 {
|
||||
|
||||
+6
@@ -14197,6 +14197,12 @@ public class FirNativeCodegenBoxTestNoPLGenerated extends AbstractNativeCodegenB
|
||||
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 {
|
||||
|
||||
+6
@@ -13712,6 +13712,12 @@ public class NativeCodegenBoxTestGenerated extends AbstractNativeCodegenBoxTest
|
||||
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 {
|
||||
|
||||
+6
@@ -13874,6 +13874,12 @@ public class NativeCodegenBoxTestNoPLGenerated extends AbstractNativeCodegenBoxT
|
||||
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 {
|
||||
|
||||
Generated
+5
@@ -11289,6 +11289,11 @@ public class IrCodegenBoxWasmTestGenerated extends AbstractIrCodegenBoxWasmTest
|
||||
runTest("compiler/testData/codegen/box/enum/enumEntriesNameClashes.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");
|
||||
|
||||
Reference in New Issue
Block a user