IDEA-230559 'final' modifier is not allowed on record component

GitOrigin-RevId: 5f06b57f53fda76465a53f67440cc14a99be86db
This commit is contained in:
Tagir Valeev
2020-01-14 09:39:09 +00:00
committed by intellij-monorepo-bot
parent 1893964afa
commit f708d8febb
2 changed files with 3 additions and 4 deletions
@@ -1022,11 +1022,10 @@ public class HighlightUtil extends HighlightUtilBase {
else if (modifierOwner instanceof PsiClassInitializer) {
isAllowed = PsiModifier.STATIC.equals(modifier);
}
else if (modifierOwner instanceof PsiLocalVariable || modifierOwner instanceof PsiParameter ||
modifierOwner instanceof PsiRecordComponent) {
else if (modifierOwner instanceof PsiLocalVariable || modifierOwner instanceof PsiParameter) {
isAllowed = PsiModifier.FINAL.equals(modifier);
}
else if (modifierOwner instanceof PsiReceiverParameter) {
else if (modifierOwner instanceof PsiReceiverParameter || modifierOwner instanceof PsiRecordComponent) {
isAllowed = false;
}
@@ -23,7 +23,7 @@ record <error descr="Class 'UnrelatedDefaults' must implement abstract method 'r
record ComponentModifiers(
<error descr="Modifier 'public' not allowed here">public</error> int x,
<error descr="Modifier 'static' not allowed here">static</error> int y,
final int z) {}
<error descr="Modifier 'final' not allowed here">final</error> int z) {}
record ComponentDuplicateName(int <error descr="Variable 'x' is already defined in the scope">x</error>, int <error descr="Variable 'x' is already defined in the scope">x</error>) {}
record VarArgOk(int... x) {}
record VarArgOk2(int x, int... y) {}