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");
|
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
|
@Test
|
||||||
@TestMetadata("enumEntryMembers.kt")
|
@TestMetadata("enumEntryMembers.kt")
|
||||||
public void testEnumEntryMembers() throws Exception {
|
public void testEnumEntryMembers() throws Exception {
|
||||||
|
|||||||
+6
@@ -16715,6 +16715,12 @@ public class FirPsiBlackBoxCodegenTestGenerated extends AbstractFirPsiBlackBoxCo
|
|||||||
runTest("compiler/testData/codegen/box/enum/enumEntriesNameClashes.kt");
|
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
|
@Test
|
||||||
@TestMetadata("enumEntryMembers.kt")
|
@TestMetadata("enumEntryMembers.kt")
|
||||||
public void testEnumEntryMembers() throws Exception {
|
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");
|
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
|
@Test
|
||||||
@TestMetadata("enumEntryMembers.kt")
|
@TestMetadata("enumEntryMembers.kt")
|
||||||
public void testEnumEntryMembers() throws Exception {
|
public void testEnumEntryMembers() throws Exception {
|
||||||
|
|||||||
+6
@@ -16715,6 +16715,12 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes
|
|||||||
runTest("compiler/testData/codegen/box/enum/enumEntriesNameClashes.kt");
|
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
|
@Test
|
||||||
@TestMetadata("enumEntryMembers.kt")
|
@TestMetadata("enumEntryMembers.kt")
|
||||||
public void testEnumEntryMembers() throws Exception {
|
public void testEnumEntryMembers() throws Exception {
|
||||||
|
|||||||
+6
@@ -16715,6 +16715,12 @@ public class IrBlackBoxCodegenWithIrInlinerTestGenerated extends AbstractIrBlack
|
|||||||
runTest("compiler/testData/codegen/box/enum/enumEntriesNameClashes.kt");
|
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
|
@Test
|
||||||
@TestMetadata("enumEntryMembers.kt")
|
@TestMetadata("enumEntryMembers.kt")
|
||||||
public void testEnumEntryMembers() throws Exception {
|
public void testEnumEntryMembers() throws Exception {
|
||||||
|
|||||||
+5
@@ -13504,6 +13504,11 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes
|
|||||||
runTest("compiler/testData/codegen/box/enum/enumConstructorParameterClashWithDefaults.kt");
|
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")
|
@TestMetadata("enumEntryMembers.kt")
|
||||||
public void testEnumEntryMembers() throws Exception {
|
public void testEnumEntryMembers() throws Exception {
|
||||||
runTest("compiler/testData/codegen/box/enum/enumEntryMembers.kt");
|
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");
|
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
|
@Test
|
||||||
@TestMetadata("enumEntryMembers.kt")
|
@TestMetadata("enumEntryMembers.kt")
|
||||||
public void testEnumEntryMembers() throws Exception {
|
public void testEnumEntryMembers() throws Exception {
|
||||||
|
|||||||
+6
@@ -12731,6 +12731,12 @@ public class FirJsCodegenBoxTestGenerated extends AbstractFirJsCodegenBoxTest {
|
|||||||
runTest("compiler/testData/codegen/box/enum/enumEntriesNameClashes.kt");
|
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
|
@Test
|
||||||
@TestMetadata("enumEntryMembers.kt")
|
@TestMetadata("enumEntryMembers.kt")
|
||||||
public void testEnumEntryMembers() throws Exception {
|
public void testEnumEntryMembers() throws Exception {
|
||||||
|
|||||||
+6
@@ -12731,6 +12731,12 @@ public class IrJsCodegenBoxTestGenerated extends AbstractIrJsCodegenBoxTest {
|
|||||||
runTest("compiler/testData/codegen/box/enum/enumEntriesNameClashes.kt");
|
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
|
@Test
|
||||||
@TestMetadata("enumEntryMembers.kt")
|
@TestMetadata("enumEntryMembers.kt")
|
||||||
public void testEnumEntryMembers() throws Exception {
|
public void testEnumEntryMembers() throws Exception {
|
||||||
|
|||||||
+6
@@ -12731,6 +12731,12 @@ public class IrJsES6CodegenBoxTestGenerated extends AbstractIrJsES6CodegenBoxTes
|
|||||||
runTest("compiler/testData/codegen/box/enum/enumEntriesNameClashes.kt");
|
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
|
@Test
|
||||||
@TestMetadata("enumEntryMembers.kt")
|
@TestMetadata("enumEntryMembers.kt")
|
||||||
public void testEnumEntryMembers() throws Exception {
|
public void testEnumEntryMembers() throws Exception {
|
||||||
|
|||||||
@@ -24,10 +24,6 @@ public abstract class Enum<E: Enum<E>>(@kotlin.internal.IntrinsicConstEvaluation
|
|||||||
return this === other
|
return this === other
|
||||||
}
|
}
|
||||||
|
|
||||||
public override final fun hashCode(): Int {
|
|
||||||
return ordinal
|
|
||||||
}
|
|
||||||
|
|
||||||
public override fun toString(): String {
|
public override fun toString(): String {
|
||||||
return name
|
return name
|
||||||
}
|
}
|
||||||
|
|||||||
+6
@@ -13873,6 +13873,12 @@ public class FirNativeCodegenBoxTestGenerated extends AbstractNativeCodegenBoxTe
|
|||||||
runTest("compiler/testData/codegen/box/enum/enumEntriesNameClashes.kt");
|
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
|
@Test
|
||||||
@TestMetadata("enumEntryMembers.kt")
|
@TestMetadata("enumEntryMembers.kt")
|
||||||
public void testEnumEntryMembers() throws Exception {
|
public void testEnumEntryMembers() throws Exception {
|
||||||
|
|||||||
+6
@@ -14197,6 +14197,12 @@ public class FirNativeCodegenBoxTestNoPLGenerated extends AbstractNativeCodegenB
|
|||||||
runTest("compiler/testData/codegen/box/enum/enumEntriesNameClashes.kt");
|
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
|
@Test
|
||||||
@TestMetadata("enumEntryMembers.kt")
|
@TestMetadata("enumEntryMembers.kt")
|
||||||
public void testEnumEntryMembers() throws Exception {
|
public void testEnumEntryMembers() throws Exception {
|
||||||
|
|||||||
+6
@@ -13712,6 +13712,12 @@ public class NativeCodegenBoxTestGenerated extends AbstractNativeCodegenBoxTest
|
|||||||
runTest("compiler/testData/codegen/box/enum/enumEntriesNameClashes.kt");
|
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
|
@Test
|
||||||
@TestMetadata("enumEntryMembers.kt")
|
@TestMetadata("enumEntryMembers.kt")
|
||||||
public void testEnumEntryMembers() throws Exception {
|
public void testEnumEntryMembers() throws Exception {
|
||||||
|
|||||||
+6
@@ -13874,6 +13874,12 @@ public class NativeCodegenBoxTestNoPLGenerated extends AbstractNativeCodegenBoxT
|
|||||||
runTest("compiler/testData/codegen/box/enum/enumEntriesNameClashes.kt");
|
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
|
@Test
|
||||||
@TestMetadata("enumEntryMembers.kt")
|
@TestMetadata("enumEntryMembers.kt")
|
||||||
public void testEnumEntryMembers() throws Exception {
|
public void testEnumEntryMembers() throws Exception {
|
||||||
|
|||||||
Generated
+5
@@ -11289,6 +11289,11 @@ public class IrCodegenBoxWasmTestGenerated extends AbstractIrCodegenBoxWasmTest
|
|||||||
runTest("compiler/testData/codegen/box/enum/enumEntriesNameClashes.kt");
|
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")
|
@TestMetadata("enumEntryMembers.kt")
|
||||||
public void testEnumEntryMembers() throws Exception {
|
public void testEnumEntryMembers() throws Exception {
|
||||||
runTest("compiler/testData/codegen/box/enum/enumEntryMembers.kt");
|
runTest("compiler/testData/codegen/box/enum/enumEntryMembers.kt");
|
||||||
|
|||||||
Reference in New Issue
Block a user