java 9: reject private modifiers in annotation types (IDEA-171088)

This commit is contained in:
Anna.Kozlova
2017-04-07 18:20:18 +02:00
parent ea76b1499c
commit 8e598aa908
2 changed files with 6 additions and 1 deletions
@@ -967,7 +967,7 @@ public class HighlightUtil extends HighlightUtilBase {
if (PsiModifier.PRIVATE.equals(modifier)) {
isAllowed &= modifierOwnerParent instanceof PsiClass &&
(!((PsiClass)modifierOwnerParent).isInterface() || PsiUtil.isLanguageLevel9OrHigher(modifierOwner));
(!((PsiClass)modifierOwnerParent).isInterface() || PsiUtil.isLanguageLevel9OrHigher(modifierOwner) && !((PsiClass)modifierOwnerParent).isAnnotationType());
}
else if (PsiModifier.STRICTFP.equals(modifier)) {
isAllowed &= modifierOwnerParent instanceof PsiClass && (!((PsiClass)modifierOwnerParent).isInterface() || PsiUtil.isLanguageLevel8OrHigher(modifierOwner));
@@ -20,4 +20,9 @@ interface E {
interface F {
<error descr="Modifier 'private' not allowed here">private</error> int m = 0;
}
@interface G {
<error descr="Modifier 'private' not allowed here">private</error> String m();
<error descr="Modifier 'private' not allowed here">private</error> String m1() {return "";}
}