More accurate check on an enum entry deprecated super constructor #EA-69735 Fixed
This commit is contained in:
@@ -558,7 +558,7 @@ public class DeclarationsChecker {
|
|||||||
// ENTRY(arguments)
|
// ENTRY(arguments)
|
||||||
public static boolean enumEntryUsesDeprecatedSuperConstructor(@NotNull JetEnumEntry enumEntry) {
|
public static boolean enumEntryUsesDeprecatedSuperConstructor(@NotNull JetEnumEntry enumEntry) {
|
||||||
JetInitializerList initializerList = enumEntry.getInitializerList();
|
JetInitializerList initializerList = enumEntry.getInitializerList();
|
||||||
if (initializerList == null) return false;
|
if (initializerList == null || initializerList.getInitializers().isEmpty()) return false;
|
||||||
JetTypeReference typeReference = initializerList.getInitializers().get(0).getTypeReference();
|
JetTypeReference typeReference = initializerList.getInitializers().get(0).getTypeReference();
|
||||||
if (typeReference == null) return false;
|
if (typeReference == null) return false;
|
||||||
JetUserType userType = (JetUserType) typeReference.getTypeElement();
|
JetUserType userType = (JetUserType) typeReference.getTypeElement();
|
||||||
|
|||||||
@@ -0,0 +1,5 @@
|
|||||||
|
enum class MyEnum {
|
||||||
|
// Here we have a problem
|
||||||
|
// while checking on a deprecated super constructor
|
||||||
|
FIRST:
|
||||||
|
<!SYNTAX!><!>}
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
package
|
||||||
|
|
||||||
|
internal final enum class MyEnum : kotlin.Enum<MyEnum> {
|
||||||
|
public enum entry FIRST : MyEnum {
|
||||||
|
private constructor FIRST()
|
||||||
|
public final override /*1*/ /*fake_override*/ fun compareTo(/*0*/ other: MyEnum): kotlin.Int
|
||||||
|
public final override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||||
|
public final override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||||
|
public final override /*1*/ /*fake_override*/ fun name(): kotlin.String
|
||||||
|
public final override /*1*/ /*fake_override*/ fun ordinal(): kotlin.Int
|
||||||
|
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||||
|
}
|
||||||
|
|
||||||
|
private constructor MyEnum()
|
||||||
|
public final override /*1*/ /*fake_override*/ fun compareTo(/*0*/ other: MyEnum): kotlin.Int
|
||||||
|
public final override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||||
|
public final override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||||
|
public final override /*1*/ /*fake_override*/ fun name(): kotlin.String
|
||||||
|
public final override /*1*/ /*fake_override*/ fun ordinal(): kotlin.Int
|
||||||
|
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||||
|
|
||||||
|
// Static members
|
||||||
|
public final /*synthesized*/ fun valueOf(/*0*/ value: kotlin.String): MyEnum
|
||||||
|
public final /*synthesized*/ fun values(): kotlin.Array<MyEnum>
|
||||||
|
}
|
||||||
@@ -10248,6 +10248,12 @@ public class JetDiagnosticsTestGenerated extends AbstractJetDiagnosticsTest {
|
|||||||
doTest(fileName);
|
doTest(fileName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("ea69735.kt")
|
||||||
|
public void testEa69735() throws Exception {
|
||||||
|
String fileName = JetTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/regressions/ea69735.kt");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
@TestMetadata("ErrorsOnIbjectExpressionsAsParameters.kt")
|
@TestMetadata("ErrorsOnIbjectExpressionsAsParameters.kt")
|
||||||
public void testErrorsOnIbjectExpressionsAsParameters() throws Exception {
|
public void testErrorsOnIbjectExpressionsAsParameters() throws Exception {
|
||||||
String fileName = JetTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/regressions/ErrorsOnIbjectExpressionsAsParameters.kt");
|
String fileName = JetTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/regressions/ErrorsOnIbjectExpressionsAsParameters.kt");
|
||||||
|
|||||||
Reference in New Issue
Block a user