Add a test to check Java behavior with entries members
Note that there is a questionable behavior that will be fixed later. Right now it's not fully clear because for the same situation in Kotlin, the compiler reports warnings at declaration-site and it's not possible to do so for Java ^KT-53153
This commit is contained in:
committed by
Space Team
parent
3cdbb4876f
commit
dc9193893e
+6
@@ -10361,6 +10361,12 @@ public class DiagnosisCompilerTestFE10TestdataTestGenerated extends AbstractDiag
|
||||
runTest("compiler/testData/diagnostics/tests/enum/entries/genericEntriesPropertyClash.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("javaEnumEntriesAmbiguity.kt")
|
||||
public void testJavaEnumEntriesAmbiguity() throws Exception {
|
||||
runTest("compiler/testData/diagnostics/tests/enum/entries/javaEnumEntriesAmbiguity.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("nameShadowingOfExternallyDefinedEntries.kt")
|
||||
public void testNameShadowingOfExternallyDefinedEntries() throws Exception {
|
||||
|
||||
+6
@@ -10367,6 +10367,12 @@ public class FirOldFrontendDiagnosticsTestGenerated extends AbstractFirDiagnosti
|
||||
runTest("compiler/testData/diagnostics/tests/enum/entries/genericEntriesPropertyClash.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("javaEnumEntriesAmbiguity.kt")
|
||||
public void testJavaEnumEntriesAmbiguity() throws Exception {
|
||||
runTest("compiler/testData/diagnostics/tests/enum/entries/javaEnumEntriesAmbiguity.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("nameShadowingOfExternallyDefinedEntries.kt")
|
||||
public void testNameShadowingOfExternallyDefinedEntries() throws Exception {
|
||||
|
||||
+6
@@ -10361,6 +10361,12 @@ public class FirOldFrontendDiagnosticsWithLightTreeTestGenerated extends Abstrac
|
||||
runTest("compiler/testData/diagnostics/tests/enum/entries/genericEntriesPropertyClash.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("javaEnumEntriesAmbiguity.kt")
|
||||
public void testJavaEnumEntriesAmbiguity() throws Exception {
|
||||
runTest("compiler/testData/diagnostics/tests/enum/entries/javaEnumEntriesAmbiguity.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("nameShadowingOfExternallyDefinedEntries.kt")
|
||||
public void testNameShadowingOfExternallyDefinedEntries() throws Exception {
|
||||
|
||||
+32
@@ -0,0 +1,32 @@
|
||||
// !LANGUAGE: -EnumEntries
|
||||
|
||||
// FILE: JEnumEntry.java
|
||||
|
||||
public enum JEnumEntry {
|
||||
entries;
|
||||
}
|
||||
|
||||
// FILE: JEnumStaticField.java
|
||||
|
||||
public enum JEnumStaticField {
|
||||
;
|
||||
|
||||
public static final int entries = 0;
|
||||
}
|
||||
|
||||
// FILE: JEnumField.java
|
||||
|
||||
public enum JEnumField {
|
||||
;
|
||||
|
||||
public final int entries = 0;
|
||||
}
|
||||
|
||||
// FILE: test.kt
|
||||
|
||||
fun test() {
|
||||
JEnumEntry.entries
|
||||
JEnumStaticField.entries
|
||||
|
||||
JEnumField::entries
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
// !LANGUAGE: -EnumEntries
|
||||
|
||||
// FILE: JEnumEntry.java
|
||||
|
||||
public enum JEnumEntry {
|
||||
entries;
|
||||
}
|
||||
|
||||
// FILE: JEnumStaticField.java
|
||||
|
||||
public enum JEnumStaticField {
|
||||
;
|
||||
|
||||
public static final int entries = 0;
|
||||
}
|
||||
|
||||
// FILE: JEnumField.java
|
||||
|
||||
public enum JEnumField {
|
||||
;
|
||||
|
||||
public final int entries = 0;
|
||||
}
|
||||
|
||||
// FILE: test.kt
|
||||
|
||||
fun test() {
|
||||
JEnumEntry.entries
|
||||
JEnumStaticField.entries
|
||||
|
||||
JEnumField::<!DEPRECATED_ACCESS_TO_ENUM_ENTRY_PROPERTY_AS_REFERENCE!>entries<!>
|
||||
}
|
||||
+59
@@ -0,0 +1,59 @@
|
||||
package
|
||||
|
||||
public fun test(): kotlin.Unit
|
||||
|
||||
public final enum class JEnumEntry : kotlin.Enum<JEnumEntry!> {
|
||||
enum entry entries
|
||||
|
||||
public constructor JEnumEntry()
|
||||
@kotlin.internal.IntrinsicConstEvaluation public final override /*1*/ /*fake_override*/ val name: kotlin.String
|
||||
public final override /*1*/ /*fake_override*/ val ordinal: kotlin.Int
|
||||
protected final override /*1*/ /*fake_override*/ fun clone(): kotlin.Any
|
||||
public final override /*1*/ /*fake_override*/ fun compareTo(/*0*/ other: JEnumEntry!): kotlin.Int
|
||||
public final override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
protected/*protected and package*/ final override /*1*/ /*fake_override*/ /*isHiddenForResolutionEverywhereBesideSupercalls*/ fun finalize(): kotlin.Unit
|
||||
public final override /*1*/ /*fake_override*/ /*isHiddenForResolutionEverywhereBesideSupercalls*/ fun getDeclaringClass(): java.lang.Class<JEnumEntry!>!
|
||||
public final override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
|
||||
// Static members
|
||||
public final /*synthesized*/ fun valueOf(/*0*/ value: kotlin.String): JEnumEntry
|
||||
public final /*synthesized*/ fun values(): kotlin.Array<JEnumEntry>
|
||||
}
|
||||
|
||||
public final enum class JEnumField : kotlin.Enum<JEnumField!> {
|
||||
public constructor JEnumField()
|
||||
public final val entries: kotlin.Int = 0
|
||||
@kotlin.internal.IntrinsicConstEvaluation public final override /*1*/ /*fake_override*/ val name: kotlin.String
|
||||
public final override /*1*/ /*fake_override*/ val ordinal: kotlin.Int
|
||||
protected final override /*1*/ /*fake_override*/ fun clone(): kotlin.Any
|
||||
public final override /*1*/ /*fake_override*/ fun compareTo(/*0*/ other: JEnumField!): kotlin.Int
|
||||
public final override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
protected/*protected and package*/ final override /*1*/ /*fake_override*/ /*isHiddenForResolutionEverywhereBesideSupercalls*/ fun finalize(): kotlin.Unit
|
||||
public final override /*1*/ /*fake_override*/ /*isHiddenForResolutionEverywhereBesideSupercalls*/ fun getDeclaringClass(): java.lang.Class<JEnumField!>!
|
||||
public final override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
|
||||
// Static members
|
||||
public final /*synthesized*/ fun valueOf(/*0*/ value: kotlin.String): JEnumField
|
||||
public final /*synthesized*/ fun values(): kotlin.Array<JEnumField>
|
||||
}
|
||||
|
||||
public final enum class JEnumStaticField : kotlin.Enum<JEnumStaticField!> {
|
||||
public constructor JEnumStaticField()
|
||||
@kotlin.internal.IntrinsicConstEvaluation public final override /*1*/ /*fake_override*/ val name: kotlin.String
|
||||
public final override /*1*/ /*fake_override*/ val ordinal: kotlin.Int
|
||||
protected final override /*1*/ /*fake_override*/ fun clone(): kotlin.Any
|
||||
public final override /*1*/ /*fake_override*/ fun compareTo(/*0*/ other: JEnumStaticField!): kotlin.Int
|
||||
public final override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
protected/*protected and package*/ final override /*1*/ /*fake_override*/ /*isHiddenForResolutionEverywhereBesideSupercalls*/ fun finalize(): kotlin.Unit
|
||||
public final override /*1*/ /*fake_override*/ /*isHiddenForResolutionEverywhereBesideSupercalls*/ fun getDeclaringClass(): java.lang.Class<JEnumStaticField!>!
|
||||
public final override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
|
||||
// Static members
|
||||
public const final val entries: kotlin.Int = 0
|
||||
public final /*synthesized*/ fun valueOf(/*0*/ value: kotlin.String): JEnumStaticField
|
||||
public final /*synthesized*/ fun values(): kotlin.Array<JEnumStaticField>
|
||||
}
|
||||
|
||||
Generated
+6
@@ -10367,6 +10367,12 @@ public class DiagnosticTestGenerated extends AbstractDiagnosticTest {
|
||||
runTest("compiler/testData/diagnostics/tests/enum/entries/genericEntriesPropertyClash.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("javaEnumEntriesAmbiguity.kt")
|
||||
public void testJavaEnumEntriesAmbiguity() throws Exception {
|
||||
runTest("compiler/testData/diagnostics/tests/enum/entries/javaEnumEntriesAmbiguity.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("nameShadowingOfExternallyDefinedEntries.kt")
|
||||
public void testNameShadowingOfExternallyDefinedEntries() throws Exception {
|
||||
|
||||
Reference in New Issue
Block a user