langtools/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractMemberWriter.java
changeset 36038 39c5445924b9
parent 35426 374342e56a56
child 36500 d31e4986dc8b
--- a/langtools/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractMemberWriter.java	Mon Feb 15 14:02:57 2016 -0800
+++ b/langtools/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractMemberWriter.java	Mon Feb 15 17:17:58 2016 -0800
@@ -261,10 +261,13 @@
         // According to JLS, we should not be showing public modifier for
         // interface methods.
         if ((utils.isField(member) || utils.isMethod(member))
-                && writer instanceof ClassWriterImpl
-                && utils.isInterface(((ClassWriterImpl) writer).getTypeElement())) {
+            && ((writer instanceof ClassWriterImpl
+                 && utils.isInterface(((ClassWriterImpl) writer).getTypeElement())  ||
+                 writer instanceof AnnotationTypeWriterImpl) )) {
             // Remove the implicit abstract and public modifiers
-            if (utils.isMethod(member) && utils.isInterface(member.getEnclosingElement())) {
+            if (utils.isMethod(member) &&
+                (utils.isInterface(member.getEnclosingElement()) ||
+                 utils.isAnnotationType(member.getEnclosingElement()))) {
                 set.remove(ABSTRACT);
                 set.remove(PUBLIC);
             }