Java: Use 'enum' keyword for enums in quick doc. Don't show 'final' and 'static' in that case - JLS 8.9 (IDEA-175215)

This commit is contained in:
Pavel Dolgov
2019-04-16 15:59:57 +03:00
parent b9efff2ae4
commit 4bbaab8774
2 changed files with 14 additions and 3 deletions
@@ -467,7 +467,8 @@ public class JavaDocInfoGenerator {
boolean generateLink = place == SignaturePlace.Javadoc;
generateAnnotations(buffer, aClass, place, true);
generateModifiers(buffer, aClass, false);
buffer.append(LangBundle.message(aClass.isInterface() ? "java.terms.interface" : "java.terms.class"));
buffer.append(LangBundle.message(aClass.isInterface() ? "java.terms.interface"
: aClass.isEnum() ? "java.terms.enum" : "java.terms.class"));
buffer.append(' ');
String refText = JavaDocUtil.getReferenceText(aClass.getProject(), aClass);
if (refText == null) {
@@ -286,7 +286,12 @@ public class PsiFormatUtil extends PsiFormatUtilBase {
if (!BitUtil.isSet(options, SHOW_REDUNDANT_MODIFIERS)
? list.hasExplicitModifier(PsiModifier.STATIC)
: list.hasModifierProperty(PsiModifier.STATIC)) appendModifier(buffer, PsiModifier.STATIC);
: list.hasModifierProperty(PsiModifier.STATIC)) {
if (!BitUtil.isSet(options, JAVADOC_MODIFIERS_ONLY) ||
!(element instanceof PsiClass && ((PsiClass)element).isEnum())) {
appendModifier(buffer, PsiModifier.STATIC);
}
}
boolean isInterface = element instanceof PsiClass && ((PsiClass)element).isInterface();
if (!isInterface && //cls modifier list
@@ -296,7 +301,12 @@ public class PsiFormatUtil extends PsiFormatUtilBase {
if (!BitUtil.isSet(options, SHOW_REDUNDANT_MODIFIERS)
? list.hasExplicitModifier(PsiModifier.FINAL)
: list.hasModifierProperty(PsiModifier.FINAL)) appendModifier(buffer, PsiModifier.FINAL);
: list.hasModifierProperty(PsiModifier.FINAL)) {
if (!BitUtil.isSet(options, JAVADOC_MODIFIERS_ONLY) ||
!(element instanceof PsiClass && ((PsiClass)element).isEnum())) {
appendModifier(buffer, PsiModifier.FINAL);
}
}
if (list.hasModifierProperty(PsiModifier.NATIVE) && !BitUtil.isSet(options, JAVADOC_MODIFIERS_ONLY)) {
appendModifier(buffer, PsiModifier.NATIVE);