Records extend the Record class (IDEA-228460)

GitOrigin-RevId: f99f9cfbe07cec22bc34596366c97d62d024e4b2
This commit is contained in:
Tagir Valeev
2019-12-19 06:13:56 +00:00
committed by intellij-monorepo-bot
parent 18c9b23282
commit 4bc45f31f0
10 changed files with 52 additions and 13 deletions
@@ -7,6 +7,14 @@ class ClassWithComponents2<error descr="Record header declared for non-record">(
<error descr="Modifier 'abstract' not allowed here">abstract</error> record AbstractRecord() {}
record ExtendsObject() <error descr="No extends clause allowed for record">extends Object</error> {}
class ExtendsRecord extends <error descr="Cannot inherit from final 'NoComponents'">NoComponents</error> {}
abstract class ExtendsJLR extends <error descr="Classes cannot directly extend 'java.lang.Record'">Record</error> {}
class AnonymousExtendsJLR {
Record r = new <error descr="Classes cannot directly extend 'java.lang.Record'">Record</error>() {
public boolean equals(Object other) {return this == other;}
public int hashCode() {return 0;}
public String toString() {return "";}
};
}
record ComponentModifiers(
<error descr="Modifier 'public' not allowed here">public</error> int x,
@@ -123,6 +123,8 @@ class X extends <error descr="Classes cannot directly extend 'java.lang.Enum'">E
public X(String name, int ordinal) {
super(name, ordinal);
}
Enum e = new <error descr="Classes cannot directly extend 'java.lang.Enum'">Enum</error>("", 0) {};
}
enum StaticInEnumConstantInitializer {