langtools/src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java
--- a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java Wed Jan 23 20:57:40 2013 +0000
+++ b/langtools/src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java Wed Jan 23 13:27:24 2013 -0800
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -1730,6 +1730,17 @@
}
/**
+ * Add the annotation types of the executable receiver.
+ *
+ * @param method the executable to write the receiver annotations for.
+ * @param htmltree the documentation tree to which the annotation info will be
+ * added
+ */
+ public void addReceiverAnnotationInfo(ExecutableMemberDoc method, Content htmltree) {
+ addAnnotationInfo(method, method.receiverAnnotations(), htmltree);
+ }
+
+ /**
* Adds the annotatation types for the given doc.
*
* @param doc the package to write annotations for
@@ -1799,6 +1810,26 @@
* documented.
*/
private List<String> getAnnotations(int indent, AnnotationDesc[] descList, boolean linkBreak) {
+ return getAnnotations(indent, descList, linkBreak, true);
+ }
+
+ /**
+ * Return the string representations of the annotation types for
+ * the given doc.
+ *
+ * A {@code null} {@code elementType} indicates that all the
+ * annotations should be returned without any filtering.
+ *
+ * @param indent the number of extra spaces to indent the annotations.
+ * @param descList the array of {@link AnnotationDesc}.
+ * @param linkBreak if true, add new line between each member value.
+ * @param elementType the type of targeted element (used for filtering
+ * type annotations from declaration annotations)
+ * @return an array of strings representing the annotations being
+ * documented.
+ */
+ public List<String> getAnnotations(int indent, AnnotationDesc[] descList, boolean linkBreak,
+ boolean isJava5DeclarationLocation) {
List<String> results = new ArrayList<String>();
StringBuilder annotation;
for (int i = 0; i < descList.length; i++) {
@@ -1812,6 +1843,11 @@
(!isAnnotationDocumented && !isContainerDocumented)) {
continue;
}
+ /* TODO: check logic here to correctly handle declaration
+ * and type annotations.
+ if (Util.isDeclarationAnnotation(annotationDoc, isJava5DeclarationLocation)) {
+ continue;
+ }*/
annotation = new StringBuilder();
isAnnotationDocumented = false;
LinkInfoImpl linkInfo = new LinkInfoImpl(configuration,