Sat, 05 Jan 2013 00:55:53 -0800
8005092: javadoc should check for synthesized bit on an annotation
Reviewed-by: jjg
1.1 --- a/src/share/classes/com/sun/javadoc/AnnotationDesc.java Fri Jan 04 23:06:05 2013 -0800 1.2 +++ b/src/share/classes/com/sun/javadoc/AnnotationDesc.java Sat Jan 05 00:55:53 2013 -0800 1.3 @@ -52,6 +52,12 @@ 1.4 */ 1.5 ElementValuePair[] elementValues(); 1.6 1.7 + /** 1.8 + * Check for the synthesized bit on the annotation. 1.9 + * 1.10 + * @return true if the annotation is synthesized. 1.11 + */ 1.12 + boolean isSynthesized(); 1.13 1.14 /** 1.15 * Represents an association between an annotation type element
2.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java Fri Jan 04 23:06:05 2013 -0800 2.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java Sat Jan 05 00:55:53 2013 -0800 2.3 @@ -90,6 +90,16 @@ 2.4 protected boolean printedAnnotationHeading = false; 2.5 2.6 /** 2.7 + * To check whether the repeated annotations is documented or not. 2.8 + */ 2.9 + private boolean isAnnotationDocumented = false; 2.10 + 2.11 + /** 2.12 + * To check whether the container annotations is documented or not. 2.13 + */ 2.14 + private boolean isContainerDocumented = false; 2.15 + 2.16 + /** 2.17 * Constructor to construct the HtmlStandardWriter object. 2.18 * 2.19 * @param path File to be generated. 2.20 @@ -1793,50 +1803,66 @@ 2.21 StringBuilder annotation; 2.22 for (int i = 0; i < descList.length; i++) { 2.23 AnnotationTypeDoc annotationDoc = descList[i].annotationType(); 2.24 - if (! Util.isDocumentedAnnotation(annotationDoc)){ 2.25 + // If an annotation is not documented, do not add it to the list. If 2.26 + // the annotation is of a repeatable type, and if it is not documented 2.27 + // and also if its container annotation is not documented, do not add it 2.28 + // to the list. If an annotation of a repeatable type is not documented 2.29 + // but its container is documented, it will be added to the list. 2.30 + if (! Util.isDocumentedAnnotation(annotationDoc) && 2.31 + (!isAnnotationDocumented && !isContainerDocumented)) { 2.32 continue; 2.33 } 2.34 annotation = new StringBuilder(); 2.35 + isAnnotationDocumented = false; 2.36 LinkInfoImpl linkInfo = new LinkInfoImpl(configuration, 2.37 LinkInfoImpl.CONTEXT_ANNOTATION, annotationDoc); 2.38 - linkInfo.label = "@" + annotationDoc.name(); 2.39 - annotation.append(getLink(linkInfo)); 2.40 AnnotationDesc.ElementValuePair[] pairs = descList[i].elementValues(); 2.41 - if (pairs.length > 0) { 2.42 - annotation.append('('); 2.43 + // If the annotation is synthesized, do not print the container. 2.44 + if (descList[i].isSynthesized()) { 2.45 for (int j = 0; j < pairs.length; j++) { 2.46 - if (j > 0) { 2.47 - annotation.append(","); 2.48 - if (linkBreak) { 2.49 - annotation.append(DocletConstants.NL); 2.50 - int spaces = annotationDoc.name().length() + 2; 2.51 - for (int k = 0; k < (spaces + indent); k++) { 2.52 - annotation.append(' '); 2.53 - } 2.54 - } 2.55 - } 2.56 - annotation.append(getDocLink(LinkInfoImpl.CONTEXT_ANNOTATION, 2.57 - pairs[j].element(), pairs[j].element().name(), false)); 2.58 - annotation.append('='); 2.59 AnnotationValue annotationValue = pairs[j].value(); 2.60 List<AnnotationValue> annotationTypeValues = new ArrayList<AnnotationValue>(); 2.61 if (annotationValue.value() instanceof AnnotationValue[]) { 2.62 AnnotationValue[] annotationArray = 2.63 - (AnnotationValue[]) annotationValue.value(); 2.64 - for (int k = 0; k < annotationArray.length; k++) { 2.65 - annotationTypeValues.add(annotationArray[k]); 2.66 - } 2.67 + (AnnotationValue[]) annotationValue.value(); 2.68 + annotationTypeValues.addAll(Arrays.asList(annotationArray)); 2.69 } else { 2.70 annotationTypeValues.add(annotationValue); 2.71 } 2.72 - annotation.append(annotationTypeValues.size() == 1 ? "" : "{"); 2.73 - for (Iterator<AnnotationValue> iter = annotationTypeValues.iterator(); iter.hasNext(); ) { 2.74 - annotation.append(annotationValueToString(iter.next())); 2.75 - annotation.append(iter.hasNext() ? "," : ""); 2.76 + String sep = ""; 2.77 + for (AnnotationValue av : annotationTypeValues) { 2.78 + annotation.append(sep); 2.79 + annotation.append(annotationValueToString(av)); 2.80 + sep = " "; 2.81 } 2.82 - annotation.append(annotationTypeValues.size() == 1 ? "" : "}"); 2.83 } 2.84 - annotation.append(")"); 2.85 + } 2.86 + else if (isAnnotationArray(pairs)) { 2.87 + // If the container has 1 or more value defined and if the 2.88 + // repeatable type annotation is not documented, do not print 2.89 + // the container. 2.90 + if (pairs.length == 1 && isAnnotationDocumented) { 2.91 + AnnotationValue[] annotationArray = 2.92 + (AnnotationValue[]) (pairs[0].value()).value(); 2.93 + List<AnnotationValue> annotationTypeValues = new ArrayList<AnnotationValue>(); 2.94 + annotationTypeValues.addAll(Arrays.asList(annotationArray)); 2.95 + String sep = ""; 2.96 + for (AnnotationValue av : annotationTypeValues) { 2.97 + annotation.append(sep); 2.98 + annotation.append(annotationValueToString(av)); 2.99 + sep = " "; 2.100 + } 2.101 + } 2.102 + // If the container has 1 or more value defined and if the 2.103 + // repeatable type annotation is not documented, print the container. 2.104 + else { 2.105 + addAnnotations(annotationDoc, linkInfo, annotation, pairs, 2.106 + indent, false); 2.107 + } 2.108 + } 2.109 + else { 2.110 + addAnnotations(annotationDoc, linkInfo, annotation, pairs, 2.111 + indent, linkBreak); 2.112 } 2.113 annotation.append(linkBreak ? DocletConstants.NL : ""); 2.114 results.add(annotation.toString()); 2.115 @@ -1844,6 +1870,91 @@ 2.116 return results; 2.117 } 2.118 2.119 + /** 2.120 + * Add annotation to the annotation string. 2.121 + * 2.122 + * @param annotationDoc the annotation being documented 2.123 + * @param linkInfo the information about the link 2.124 + * @param annotation the annotation string to which the annotation will be added 2.125 + * @param pairs annotation type element and value pairs 2.126 + * @param indent the number of extra spaces to indent the annotations. 2.127 + * @param linkBreak if true, add new line between each member value 2.128 + */ 2.129 + private void addAnnotations(AnnotationTypeDoc annotationDoc, LinkInfoImpl linkInfo, 2.130 + StringBuilder annotation, AnnotationDesc.ElementValuePair[] pairs, 2.131 + int indent, boolean linkBreak) { 2.132 + linkInfo.label = "@" + annotationDoc.name(); 2.133 + annotation.append(getLink(linkInfo)); 2.134 + if (pairs.length > 0) { 2.135 + annotation.append('('); 2.136 + for (int j = 0; j < pairs.length; j++) { 2.137 + if (j > 0) { 2.138 + annotation.append(","); 2.139 + if (linkBreak) { 2.140 + annotation.append(DocletConstants.NL); 2.141 + int spaces = annotationDoc.name().length() + 2; 2.142 + for (int k = 0; k < (spaces + indent); k++) { 2.143 + annotation.append(' '); 2.144 + } 2.145 + } 2.146 + } 2.147 + annotation.append(getDocLink(LinkInfoImpl.CONTEXT_ANNOTATION, 2.148 + pairs[j].element(), pairs[j].element().name(), false)); 2.149 + annotation.append('='); 2.150 + AnnotationValue annotationValue = pairs[j].value(); 2.151 + List<AnnotationValue> annotationTypeValues = new ArrayList<AnnotationValue>(); 2.152 + if (annotationValue.value() instanceof AnnotationValue[]) { 2.153 + AnnotationValue[] annotationArray = 2.154 + (AnnotationValue[]) annotationValue.value(); 2.155 + annotationTypeValues.addAll(Arrays.asList(annotationArray)); 2.156 + } else { 2.157 + annotationTypeValues.add(annotationValue); 2.158 + } 2.159 + annotation.append(annotationTypeValues.size() == 1 ? "" : "{"); 2.160 + String sep = ""; 2.161 + for (AnnotationValue av : annotationTypeValues) { 2.162 + annotation.append(sep); 2.163 + annotation.append(annotationValueToString(av)); 2.164 + sep = ","; 2.165 + } 2.166 + annotation.append(annotationTypeValues.size() == 1 ? "" : "}"); 2.167 + isContainerDocumented = false; 2.168 + } 2.169 + annotation.append(")"); 2.170 + } 2.171 + } 2.172 + 2.173 + /** 2.174 + * Check if the annotation contains an array of annotation as a value. This 2.175 + * check is to verify if a repeatable type annotation is present or not. 2.176 + * 2.177 + * @param pairs annotation type element and value pairs 2.178 + * 2.179 + * @return true if the annotation contains an array of annotation as a value. 2.180 + */ 2.181 + private boolean isAnnotationArray(AnnotationDesc.ElementValuePair[] pairs) { 2.182 + AnnotationValue annotationValue; 2.183 + for (int j = 0; j < pairs.length; j++) { 2.184 + annotationValue = pairs[j].value(); 2.185 + if (annotationValue.value() instanceof AnnotationValue[]) { 2.186 + AnnotationValue[] annotationArray = 2.187 + (AnnotationValue[]) annotationValue.value(); 2.188 + if (annotationArray.length > 1) { 2.189 + if (annotationArray[0].value() instanceof AnnotationDesc) { 2.190 + AnnotationTypeDoc annotationDoc = 2.191 + ((AnnotationDesc) annotationArray[0].value()).annotationType(); 2.192 + isContainerDocumented = true; 2.193 + if (Util.isDocumentedAnnotation(annotationDoc)) { 2.194 + isAnnotationDocumented = true; 2.195 + } 2.196 + return true; 2.197 + } 2.198 + } 2.199 + } 2.200 + } 2.201 + return false; 2.202 + } 2.203 + 2.204 private String annotationValueToString(AnnotationValue annotationValue) { 2.205 if (annotationValue.value() instanceof Type) { 2.206 Type type = (Type) annotationValue.value();
3.1 --- a/src/share/classes/com/sun/tools/javadoc/AnnotationDescImpl.java Fri Jan 04 23:06:05 2013 -0800 3.2 +++ b/src/share/classes/com/sun/tools/javadoc/AnnotationDescImpl.java Sat Jan 05 00:55:53 2013 -0800 3.3 @@ -89,6 +89,15 @@ 3.4 } 3.5 3.6 /** 3.7 + * Check for the synthesized bit on the annotation. 3.8 + * 3.9 + * @return true if the annotation is synthesized. 3.10 + */ 3.11 + public boolean isSynthesized() { 3.12 + return annotation.isSynthesized(); 3.13 + } 3.14 + 3.15 + /** 3.16 * Returns a string representation of this annotation. 3.17 * String is of one of the forms: 3.18 * @com.example.foo(name1=val1, name2=val2)
4.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 4.2 +++ b/test/com/sun/javadoc/testRepeatedAnnotations/TestRepeatedAnnotations.java Sat Jan 05 00:55:53 2013 -0800 4.3 @@ -0,0 +1,187 @@ 4.4 +/* 4.5 + * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. 4.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4.7 + * 4.8 + * This code is free software; you can redistribute it and/or modify it 4.9 + * under the terms of the GNU General Public License version 2 only, as 4.10 + * published by the Free Software Foundation. 4.11 + * 4.12 + * This code is distributed in the hope that it will be useful, but WITHOUT 4.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 4.14 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 4.15 + * version 2 for more details (a copy is included in the LICENSE file that 4.16 + * accompanied this code). 4.17 + * 4.18 + * You should have received a copy of the GNU General Public License version 4.19 + * 2 along with this work; if not, write to the Free Software Foundation, 4.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 4.21 + * 4.22 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 4.23 + * or visit www.oracle.com if you need additional information or have any 4.24 + * questions. 4.25 + */ 4.26 + 4.27 +/* 4.28 + * @test 4.29 + * @bug 8005092 4.30 + * @summary Test repeated annotations output. 4.31 + * @author bpatel 4.32 + * @library ../lib/ 4.33 + * @build JavadocTester TestRepeatedAnnotations 4.34 + * @run main TestRepeatedAnnotations 4.35 + */ 4.36 + 4.37 +public class TestRepeatedAnnotations extends JavadocTester { 4.38 + 4.39 + //Test information. 4.40 + private static final String BUG_ID = "8005092"; 4.41 + 4.42 + //Javadoc arguments. 4.43 + private static final String[] ARGS = new String[] { 4.44 + "-d", BUG_ID, "-sourcepath", SRC_DIR, "pkg", "pkg1" 4.45 + }; 4.46 + 4.47 + //Input for string search tests. 4.48 + private static final String[][] TEST = { 4.49 + {BUG_ID + FS + "pkg" + FS + "C.html", 4.50 + "<a href=\"../pkg/ContaineeSynthDoc.html\" " + 4.51 + "title=\"annotation in pkg\">@ContaineeSynthDoc</a> " + 4.52 + "<a href=\"../pkg/ContaineeSynthDoc.html\" " + 4.53 + "title=\"annotation in pkg\">@ContaineeSynthDoc</a>"}, 4.54 + {BUG_ID + FS + "pkg" + FS + "C.html", 4.55 + "<a href=\"../pkg/ContaineeRegDoc.html\" " + 4.56 + "title=\"annotation in pkg\">@ContaineeRegDoc</a> " + 4.57 + "<a href=\"../pkg/ContaineeRegDoc.html\" " + 4.58 + "title=\"annotation in pkg\">@ContaineeRegDoc</a>"}, 4.59 + {BUG_ID + FS + "pkg" + FS + "C.html", 4.60 + "<a href=\"../pkg/RegContainerDoc.html\" " + 4.61 + "title=\"annotation in pkg\">@RegContainerDoc</a>" + 4.62 + "(<a href=\"../pkg/RegContainerDoc.html#value()\">value</a>={" + 4.63 + "<a href=\"../pkg/RegContaineeNotDoc.html\" " + 4.64 + "title=\"annotation in pkg\">@RegContaineeNotDoc</a>," + 4.65 + "<a href=\"../pkg/RegContaineeNotDoc.html\" " + 4.66 + "title=\"annotation in pkg\">@RegContaineeNotDoc</a>})"}, 4.67 + {BUG_ID + FS + "pkg" + FS + "C.html", 4.68 + "<a href=\"../pkg/ContaineeSynthDoc.html\" " + 4.69 + "title=\"annotation in pkg\">@ContaineeSynthDoc</a> " + 4.70 + "<a href=\"../pkg/ContaineeSynthDoc.html\" " + 4.71 + "title=\"annotation in pkg\">@ContaineeSynthDoc</a> " + 4.72 + "<a href=\"../pkg/ContaineeSynthDoc.html\" " + 4.73 + "title=\"annotation in pkg\">@ContaineeSynthDoc</a>"}, 4.74 + {BUG_ID + FS + "pkg" + FS + "C.html", 4.75 + "<a href=\"../pkg/ContainerSynthDoc.html\" " + 4.76 + "title=\"annotation in pkg\">@ContainerSynthDoc</a>(" + 4.77 + "<a href=\"../pkg/ContainerSynthDoc.html#value()\">value</a>=" + 4.78 + "<a href=\"../pkg/ContaineeSynthDoc.html\" " + 4.79 + "title=\"annotation in pkg\">@ContaineeSynthDoc</a>)"}, 4.80 + {BUG_ID + FS + "pkg" + FS + "C.html", 4.81 + "<a href=\"../pkg/ContaineeSynthDoc.html\" " + 4.82 + "title=\"annotation in pkg\">@ContaineeSynthDoc</a> " + 4.83 + "<a href=\"../pkg/ContaineeSynthDoc.html\" " + 4.84 + "title=\"annotation in pkg\">@ContaineeSynthDoc</a>"}, 4.85 + 4.86 + {BUG_ID + FS + "pkg" + FS + "D.html", 4.87 + "<a href=\"../pkg/RegDoc.html\" title=\"annotation in pkg\">@RegDoc</a>" + 4.88 + "(<a href=\"../pkg/RegDoc.html#x()\">x</a>=1)"}, 4.89 + {BUG_ID + FS + "pkg" + FS + "D.html", 4.90 + "<a href=\"../pkg/RegArryDoc.html\" title=\"annotation in pkg\">@RegArryDoc</a>" + 4.91 + "(<a href=\"../pkg/RegArryDoc.html#y()\">y</a>=1)"}, 4.92 + {BUG_ID + FS + "pkg" + FS + "D.html", 4.93 + "<a href=\"../pkg/RegArryDoc.html\" title=\"annotation in pkg\">@RegArryDoc</a>" + 4.94 + "(<a href=\"../pkg/RegArryDoc.html#y()\">y</a>={1,2})"}, 4.95 + {BUG_ID + FS + "pkg" + FS + "D.html", 4.96 + "<a href=\"../pkg/NonSynthDocContainer.html\" " + 4.97 + "title=\"annotation in pkg\">@NonSynthDocContainer</a>" + 4.98 + "(<a href=\"../pkg/NonSynthDocContainer.html#value()\">value</a>=" + 4.99 + "<a href=\"../pkg/RegArryDoc.html\" title=\"annotation in pkg\">@RegArryDoc</a>)"}, 4.100 + 4.101 + {BUG_ID + FS + "pkg1" + FS + "C.html", 4.102 + "<a href=\"../pkg1/RegContainerValDoc.html\" " + 4.103 + "title=\"annotation in pkg1\">@RegContainerValDoc</a>" + 4.104 + "(<a href=\"../pkg1/RegContainerValDoc.html#value()\">value</a>={" + 4.105 + "<a href=\"../pkg1/RegContaineeNotDoc.html\" " + 4.106 + "title=\"annotation in pkg1\">@RegContaineeNotDoc</a>," + 4.107 + "<a href=\"../pkg1/RegContaineeNotDoc.html\" " + 4.108 + "title=\"annotation in pkg1\">@RegContaineeNotDoc</a>}," + 4.109 + "<a href=\"../pkg1/RegContainerValDoc.html#y()\">y</a>=3)"}, 4.110 + {BUG_ID + FS + "pkg1" + FS + "C.html", 4.111 + "<a href=\"../pkg1/ContainerValDoc.html\" " + 4.112 + "title=\"annotation in pkg1\">@ContainerValDoc</a>" + 4.113 + "(<a href=\"../pkg1/ContainerValDoc.html#value()\">value</a>={" + 4.114 + "<a href=\"../pkg1/ContaineeNotDoc.html\" " + 4.115 + "title=\"annotation in pkg1\">@ContaineeNotDoc</a>," + 4.116 + "<a href=\"../pkg1/ContaineeNotDoc.html\" " + 4.117 + "title=\"annotation in pkg1\">@ContaineeNotDoc</a>}," + 4.118 + "<a href=\"../pkg1/ContainerValDoc.html#x()\">x</a>=1)"} 4.119 + }; 4.120 + 4.121 + private static final String[][] NEGATED_TEST = { 4.122 + {BUG_ID + FS + "pkg" + FS + "C.html", 4.123 + "<a href=\"../pkg/RegContaineeDoc.html\" " + 4.124 + "title=\"annotation in pkg\">@RegContaineeDoc</a> " + 4.125 + "<a href=\"../pkg/RegContaineeDoc.html\" " + 4.126 + "title=\"annotation in pkg\">@RegContaineeDoc</a>"}, 4.127 + {BUG_ID + FS + "pkg" + FS + "C.html", 4.128 + "<a href=\"../pkg/RegContainerNotDoc.html\" " + 4.129 + "title=\"annotation in pkg\">@RegContainerNotDoc</a>" + 4.130 + "(<a href=\"../pkg/RegContainerNotDoc.html#value()\">value</a>={" + 4.131 + "<a href=\"../pkg/RegContaineeNotDoc.html\" " + 4.132 + "title=\"annotation in pkg\">@RegContaineeNotDoc</a>," + 4.133 + "<a href=\"../pkg/RegContaineeNotDoc.html\" " + 4.134 + "title=\"annotation in pkg\">@RegContaineeNotDoc</a>})"}, 4.135 + 4.136 + {BUG_ID + FS + "pkg1" + FS + "C.html", 4.137 + "<a href=\"../pkg1/ContaineeSynthDoc.html\" " + 4.138 + "title=\"annotation in pkg1\">@ContaineeSynthDoc</a> " + 4.139 + "<a href=\"../pkg1/ContaineeSynthDoc.html\" " + 4.140 + "title=\"annotation in pkg1\">@ContaineeSynthDoc</a>"}, 4.141 + {BUG_ID + FS + "pkg1" + FS + "C.html", 4.142 + "<a href=\"../pkg1/RegContainerValNotDoc.html\" " + 4.143 + "title=\"annotation in pkg1\">@RegContainerValNotDoc</a>" + 4.144 + "(<a href=\"../pkg1/RegContainerValNotDoc.html#value()\">value</a>={" + 4.145 + "<a href=\"../pkg1/RegContaineeDoc.html\" " + 4.146 + "title=\"annotation in pkg1\">@RegContaineeDoc</a>," + 4.147 + "<a href=\"../pkg1/RegContaineeDoc.html\" " + 4.148 + "title=\"annotation in pkg1\">@RegContaineeDoc</a>}," + 4.149 + "<a href=\"../pkg1/RegContainerValNotDoc.html#y()\">y</a>=4)"}, 4.150 + {BUG_ID + FS + "pkg1" + FS + "C.html", 4.151 + "<a href=\"../pkg1/ContainerValNotDoc.html\" " + 4.152 + "title=\"annotation in pkg1\">@ContainerValNotDoc</a>" + 4.153 + "(<a href=\"../pkg1/ContainerValNotDoc.html#value()\">value</a>={" + 4.154 + "<a href=\"../pkg1/ContaineeNotDoc.html\" " + 4.155 + "title=\"annotation in pkg1\">@ContaineeNotDoc</a>," + 4.156 + "<a href=\"../pkg1/ContaineeNotDoc.html\" " + 4.157 + "title=\"annotation in pkg1\">@ContaineeNotDoc</a>}," + 4.158 + "<a href=\"../pkg1/ContainerValNotDoc.html#x()\">x</a>=2)"}, 4.159 + {BUG_ID + FS + "pkg1" + FS + "C.html", 4.160 + "<a href=\"../pkg1/ContainerSynthNotDoc.html\" " + 4.161 + "title=\"annotation in pkg1\">@ContainerSynthNotDoc</a>(" + 4.162 + "<a href=\"../pkg1/ContainerSynthNotDoc.html#value()\">value</a>=" + 4.163 + "<a href=\"../pkg1/ContaineeSynthDoc.html\" " + 4.164 + "title=\"annotation in pkg1\">@ContaineeSynthDoc</a>)"} 4.165 + }; 4.166 + 4.167 + /** 4.168 + * The entry point of the test. 4.169 + * @param args the array of command line arguments. 4.170 + */ 4.171 + public static void main(String[] args) { 4.172 + TestRepeatedAnnotations tester = new TestRepeatedAnnotations(); 4.173 + run(tester, ARGS, TEST, NEGATED_TEST); 4.174 + tester.printSummary(); 4.175 + } 4.176 + 4.177 + /** 4.178 + * {@inheritDoc} 4.179 + */ 4.180 + public String getBugId() { 4.181 + return BUG_ID; 4.182 + } 4.183 + 4.184 + /** 4.185 + * {@inheritDoc} 4.186 + */ 4.187 + public String getBugName() { 4.188 + return getClass().getName(); 4.189 + } 4.190 +}
5.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 5.2 +++ b/test/com/sun/javadoc/testRepeatedAnnotations/pkg/C.java Sat Jan 05 00:55:53 2013 -0800 5.3 @@ -0,0 +1,39 @@ 5.4 +/* 5.5 + * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. 5.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 5.7 + * 5.8 + * This code is free software; you can redistribute it and/or modify it 5.9 + * under the terms of the GNU General Public License version 2 only, as 5.10 + * published by the Free Software Foundation. 5.11 + * 5.12 + * This code is distributed in the hope that it will be useful, but WITHOUT 5.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 5.14 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 5.15 + * version 2 for more details (a copy is included in the LICENSE file that 5.16 + * accompanied this code). 5.17 + * 5.18 + * You should have received a copy of the GNU General Public License version 5.19 + * 2 along with this work; if not, write to the Free Software Foundation, 5.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 5.21 + * 5.22 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 5.23 + * or visit www.oracle.com if you need additional information or have any 5.24 + * questions. 5.25 + */ 5.26 + 5.27 +package pkg; 5.28 + 5.29 +@ContainerSynthDoc(value={@ContaineeSynthDoc,@ContaineeSynthDoc}) 5.30 +@ContainerRegDoc(value={@ContaineeRegDoc,@ContaineeRegDoc}) 5.31 +@RegContainerDoc(value={@RegContaineeNotDoc,@RegContaineeNotDoc}) 5.32 +@ContainerRegNotDoc(value={@RegContaineeDoc,@RegContaineeDoc}) 5.33 +@RegContainerNotDoc(value={@RegContaineeNotDoc,@RegContaineeNotDoc}) 5.34 +@ContaineeSynthDoc @ContaineeSynthDoc @ContaineeSynthDoc 5.35 +public class C { 5.36 + 5.37 + @ContainerSynthDoc(value={@ContaineeSynthDoc}) 5.38 + public void test1() {} 5.39 + 5.40 + @ContaineeSynthDoc @ContaineeSynthDoc 5.41 + public void test2() {} 5.42 +}
6.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 6.2 +++ b/test/com/sun/javadoc/testRepeatedAnnotations/pkg/ContaineeRegDoc.java Sat Jan 05 00:55:53 2013 -0800 6.3 @@ -0,0 +1,36 @@ 6.4 +/* 6.5 + * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. 6.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 6.7 + * 6.8 + * This code is free software; you can redistribute it and/or modify it 6.9 + * under the terms of the GNU General Public License version 2 only, as 6.10 + * published by the Free Software Foundation. 6.11 + * 6.12 + * This code is distributed in the hope that it will be useful, but WITHOUT 6.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 6.14 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 6.15 + * version 2 for more details (a copy is included in the LICENSE file that 6.16 + * accompanied this code). 6.17 + * 6.18 + * You should have received a copy of the GNU General Public License version 6.19 + * 2 along with this work; if not, write to the Free Software Foundation, 6.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 6.21 + * 6.22 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 6.23 + * or visit www.oracle.com if you need additional information or have any 6.24 + * questions. 6.25 + */ 6.26 + 6.27 +package pkg; 6.28 + 6.29 +import java.lang.annotation.*; 6.30 + 6.31 +/** 6.32 + * This annotation is a documented annotation contained by ContainerRegDoc. 6.33 + * It will be used to annotate Class C using a non-synthesized form. 6.34 + * 6.35 + * @author Bhavesh Patel 6.36 + */ 6.37 +@Documented 6.38 +public @interface ContaineeRegDoc { 6.39 +}
7.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 7.2 +++ b/test/com/sun/javadoc/testRepeatedAnnotations/pkg/ContaineeSynthDoc.java Sat Jan 05 00:55:53 2013 -0800 7.3 @@ -0,0 +1,37 @@ 7.4 +/* 7.5 + * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. 7.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 7.7 + * 7.8 + * This code is free software; you can redistribute it and/or modify it 7.9 + * under the terms of the GNU General Public License version 2 only, as 7.10 + * published by the Free Software Foundation. 7.11 + * 7.12 + * This code is distributed in the hope that it will be useful, but WITHOUT 7.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 7.14 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 7.15 + * version 2 for more details (a copy is included in the LICENSE file that 7.16 + * accompanied this code). 7.17 + * 7.18 + * You should have received a copy of the GNU General Public License version 7.19 + * 2 along with this work; if not, write to the Free Software Foundation, 7.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 7.21 + * 7.22 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 7.23 + * or visit www.oracle.com if you need additional information or have any 7.24 + * questions. 7.25 + */ 7.26 + 7.27 +package pkg; 7.28 + 7.29 +import java.lang.annotation.*; 7.30 + 7.31 +/** 7.32 + * This annotation is a documented synthesized annotation contained by ContainerSynthDoc. 7.33 + * It will be used to annotate Class C and a method in the class using a synthesized form. 7.34 + * 7.35 + * @author Bhavesh Patel 7.36 + */ 7.37 +@Documented 7.38 +@ContainedBy(ContainerSynthDoc.class) 7.39 +public @interface ContaineeSynthDoc { 7.40 +}
8.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 8.2 +++ b/test/com/sun/javadoc/testRepeatedAnnotations/pkg/ContainerRegDoc.java Sat Jan 05 00:55:53 2013 -0800 8.3 @@ -0,0 +1,38 @@ 8.4 +/* 8.5 + * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. 8.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 8.7 + * 8.8 + * This code is free software; you can redistribute it and/or modify it 8.9 + * under the terms of the GNU General Public License version 2 only, as 8.10 + * published by the Free Software Foundation. 8.11 + * 8.12 + * This code is distributed in the hope that it will be useful, but WITHOUT 8.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 8.14 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 8.15 + * version 2 for more details (a copy is included in the LICENSE file that 8.16 + * accompanied this code). 8.17 + * 8.18 + * You should have received a copy of the GNU General Public License version 8.19 + * 2 along with this work; if not, write to the Free Software Foundation, 8.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 8.21 + * 8.22 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 8.23 + * or visit www.oracle.com if you need additional information or have any 8.24 + * questions. 8.25 + */ 8.26 + 8.27 +package pkg; 8.28 + 8.29 +import java.lang.annotation.*; 8.30 + 8.31 +/** 8.32 + * This annotation is a documented annotation container for ContaineeRegDoc. 8.33 + * It will be used to annotate Class C using a non-synthesized form. 8.34 + * 8.35 + * @author Bhavesh Patel 8.36 + */ 8.37 +@Documented 8.38 +public @interface ContainerRegDoc { 8.39 + 8.40 + ContaineeRegDoc[] value(); 8.41 +}
9.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 9.2 +++ b/test/com/sun/javadoc/testRepeatedAnnotations/pkg/ContainerRegNotDoc.java Sat Jan 05 00:55:53 2013 -0800 9.3 @@ -0,0 +1,37 @@ 9.4 +/* 9.5 + * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. 9.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 9.7 + * 9.8 + * This code is free software; you can redistribute it and/or modify it 9.9 + * under the terms of the GNU General Public License version 2 only, as 9.10 + * published by the Free Software Foundation. 9.11 + * 9.12 + * This code is distributed in the hope that it will be useful, but WITHOUT 9.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 9.14 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 9.15 + * version 2 for more details (a copy is included in the LICENSE file that 9.16 + * accompanied this code). 9.17 + * 9.18 + * You should have received a copy of the GNU General Public License version 9.19 + * 2 along with this work; if not, write to the Free Software Foundation, 9.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 9.21 + * 9.22 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 9.23 + * or visit www.oracle.com if you need additional information or have any 9.24 + * questions. 9.25 + */ 9.26 + 9.27 +package pkg; 9.28 + 9.29 +import java.lang.annotation.*; 9.30 + 9.31 +/** 9.32 + * This annotation is a non-documented annotation container for RegContaineeDoc. 9.33 + * It will be used to annotate Class C using a non-synthesized form. 9.34 + * 9.35 + * @author Bhavesh Patel 9.36 + */ 9.37 +public @interface ContainerRegNotDoc { 9.38 + 9.39 + RegContaineeDoc[] value(); 9.40 +}
10.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 10.2 +++ b/test/com/sun/javadoc/testRepeatedAnnotations/pkg/ContainerSynthDoc.java Sat Jan 05 00:55:53 2013 -0800 10.3 @@ -0,0 +1,39 @@ 10.4 +/* 10.5 + * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. 10.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 10.7 + * 10.8 + * This code is free software; you can redistribute it and/or modify it 10.9 + * under the terms of the GNU General Public License version 2 only, as 10.10 + * published by the Free Software Foundation. 10.11 + * 10.12 + * This code is distributed in the hope that it will be useful, but WITHOUT 10.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 10.14 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 10.15 + * version 2 for more details (a copy is included in the LICENSE file that 10.16 + * accompanied this code). 10.17 + * 10.18 + * You should have received a copy of the GNU General Public License version 10.19 + * 2 along with this work; if not, write to the Free Software Foundation, 10.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 10.21 + * 10.22 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 10.23 + * or visit www.oracle.com if you need additional information or have any 10.24 + * questions. 10.25 + */ 10.26 + 10.27 +package pkg; 10.28 + 10.29 +import java.lang.annotation.*; 10.30 + 10.31 +/** 10.32 + * This annotation is a documented synthesized annotation container for ContaineeSynthDoc. 10.33 + * It will be used to annotate Class C and a method in the class using a synthesized form. 10.34 + * 10.35 + * @author Bhavesh Patel 10.36 + */ 10.37 +@Documented 10.38 +@ContainerFor(ContaineeSynthDoc.class) 10.39 +public @interface ContainerSynthDoc { 10.40 + 10.41 + ContaineeSynthDoc[] value(); 10.42 +}
11.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 11.2 +++ b/test/com/sun/javadoc/testRepeatedAnnotations/pkg/D.java Sat Jan 05 00:55:53 2013 -0800 11.3 @@ -0,0 +1,37 @@ 11.4 +/* 11.5 + * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. 11.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 11.7 + * 11.8 + * This code is free software; you can redistribute it and/or modify it 11.9 + * under the terms of the GNU General Public License version 2 only, as 11.10 + * published by the Free Software Foundation. 11.11 + * 11.12 + * This code is distributed in the hope that it will be useful, but WITHOUT 11.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11.14 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 11.15 + * version 2 for more details (a copy is included in the LICENSE file that 11.16 + * accompanied this code). 11.17 + * 11.18 + * You should have received a copy of the GNU General Public License version 11.19 + * 2 along with this work; if not, write to the Free Software Foundation, 11.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 11.21 + * 11.22 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 11.23 + * or visit www.oracle.com if you need additional information or have any 11.24 + * questions. 11.25 + */ 11.26 + 11.27 +package pkg; 11.28 + 11.29 +@RegDoc(x=1) 11.30 +public class D { 11.31 + 11.32 + @RegArryDoc(y={1}) 11.33 + public void test1() {} 11.34 + 11.35 + @RegArryDoc(y={1,2}) 11.36 + public void test2() {} 11.37 + 11.38 + @NonSynthDocContainer(value={@RegArryDoc}) 11.39 + public void test3() {} 11.40 +}
12.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 12.2 +++ b/test/com/sun/javadoc/testRepeatedAnnotations/pkg/NonSynthDocContainer.java Sat Jan 05 00:55:53 2013 -0800 12.3 @@ -0,0 +1,38 @@ 12.4 +/* 12.5 + * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. 12.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 12.7 + * 12.8 + * This code is free software; you can redistribute it and/or modify it 12.9 + * under the terms of the GNU General Public License version 2 only, as 12.10 + * published by the Free Software Foundation. 12.11 + * 12.12 + * This code is distributed in the hope that it will be useful, but WITHOUT 12.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 12.14 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12.15 + * version 2 for more details (a copy is included in the LICENSE file that 12.16 + * accompanied this code). 12.17 + * 12.18 + * You should have received a copy of the GNU General Public License version 12.19 + * 2 along with this work; if not, write to the Free Software Foundation, 12.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 12.21 + * 12.22 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 12.23 + * or visit www.oracle.com if you need additional information or have any 12.24 + * questions. 12.25 + */ 12.26 + 12.27 +package pkg; 12.28 + 12.29 +import java.lang.annotation.*; 12.30 + 12.31 +/** 12.32 + * This annotation is a documented annotation. 12.33 + * It will be used to annotate methods in class D. 12.34 + * 12.35 + * @author Bhavesh Patel 12.36 + */ 12.37 +@Documented 12.38 +public @interface NonSynthDocContainer { 12.39 + 12.40 + RegArryDoc[] value(); 12.41 +}
13.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 13.2 +++ b/test/com/sun/javadoc/testRepeatedAnnotations/pkg/RegArryDoc.java Sat Jan 05 00:55:53 2013 -0800 13.3 @@ -0,0 +1,38 @@ 13.4 +/* 13.5 + * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. 13.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 13.7 + * 13.8 + * This code is free software; you can redistribute it and/or modify it 13.9 + * under the terms of the GNU General Public License version 2 only, as 13.10 + * published by the Free Software Foundation. 13.11 + * 13.12 + * This code is distributed in the hope that it will be useful, but WITHOUT 13.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13.14 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 13.15 + * version 2 for more details (a copy is included in the LICENSE file that 13.16 + * accompanied this code). 13.17 + * 13.18 + * You should have received a copy of the GNU General Public License version 13.19 + * 2 along with this work; if not, write to the Free Software Foundation, 13.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 13.21 + * 13.22 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 13.23 + * or visit www.oracle.com if you need additional information or have any 13.24 + * questions. 13.25 + */ 13.26 + 13.27 +package pkg; 13.28 + 13.29 +import java.lang.annotation.*; 13.30 + 13.31 +/** 13.32 + * This annotation is a documented annotation. 13.33 + * It will be used to annotate methods in Class D. 13.34 + * 13.35 + * @author Bhavesh Patel 13.36 + */ 13.37 +@Documented 13.38 +public @interface RegArryDoc { 13.39 + 13.40 + int[] y(); 13.41 +}
14.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 14.2 +++ b/test/com/sun/javadoc/testRepeatedAnnotations/pkg/RegContaineeDoc.java Sat Jan 05 00:55:53 2013 -0800 14.3 @@ -0,0 +1,36 @@ 14.4 +/* 14.5 + * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. 14.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 14.7 + * 14.8 + * This code is free software; you can redistribute it and/or modify it 14.9 + * under the terms of the GNU General Public License version 2 only, as 14.10 + * published by the Free Software Foundation. 14.11 + * 14.12 + * This code is distributed in the hope that it will be useful, but WITHOUT 14.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 14.14 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14.15 + * version 2 for more details (a copy is included in the LICENSE file that 14.16 + * accompanied this code). 14.17 + * 14.18 + * You should have received a copy of the GNU General Public License version 14.19 + * 2 along with this work; if not, write to the Free Software Foundation, 14.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 14.21 + * 14.22 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 14.23 + * or visit www.oracle.com if you need additional information or have any 14.24 + * questions. 14.25 + */ 14.26 + 14.27 +package pkg; 14.28 + 14.29 +import java.lang.annotation.*; 14.30 + 14.31 +/** 14.32 + * This annotation is a documented annotation contained by ContainerRegNotDoc. 14.33 + * It will be used to annotate Class C using a non-synthesized form. 14.34 + * 14.35 + * @author Bhavesh Patel 14.36 + */ 14.37 +@Documented 14.38 +public @interface RegContaineeDoc { 14.39 +}
15.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 15.2 +++ b/test/com/sun/javadoc/testRepeatedAnnotations/pkg/RegContaineeNotDoc.java Sat Jan 05 00:55:53 2013 -0800 15.3 @@ -0,0 +1,36 @@ 15.4 +/* 15.5 + * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. 15.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 15.7 + * 15.8 + * This code is free software; you can redistribute it and/or modify it 15.9 + * under the terms of the GNU General Public License version 2 only, as 15.10 + * published by the Free Software Foundation. 15.11 + * 15.12 + * This code is distributed in the hope that it will be useful, but WITHOUT 15.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 15.14 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 15.15 + * version 2 for more details (a copy is included in the LICENSE file that 15.16 + * accompanied this code). 15.17 + * 15.18 + * You should have received a copy of the GNU General Public License version 15.19 + * 2 along with this work; if not, write to the Free Software Foundation, 15.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 15.21 + * 15.22 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 15.23 + * or visit www.oracle.com if you need additional information or have any 15.24 + * questions. 15.25 + */ 15.26 + 15.27 +package pkg; 15.28 + 15.29 +import java.lang.annotation.*; 15.30 + 15.31 +/** 15.32 + * This annotation is a non-documented annotation contained by RegContainerNotDoc 15.33 + * and RegContainerDoc. 15.34 + * It will be used to annotate Class C using a non-synthesized form. 15.35 + * 15.36 + * @author Bhavesh Patel 15.37 + */ 15.38 +public @interface RegContaineeNotDoc { 15.39 +}
16.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 16.2 +++ b/test/com/sun/javadoc/testRepeatedAnnotations/pkg/RegContainerDoc.java Sat Jan 05 00:55:53 2013 -0800 16.3 @@ -0,0 +1,38 @@ 16.4 +/* 16.5 + * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. 16.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 16.7 + * 16.8 + * This code is free software; you can redistribute it and/or modify it 16.9 + * under the terms of the GNU General Public License version 2 only, as 16.10 + * published by the Free Software Foundation. 16.11 + * 16.12 + * This code is distributed in the hope that it will be useful, but WITHOUT 16.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 16.14 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 16.15 + * version 2 for more details (a copy is included in the LICENSE file that 16.16 + * accompanied this code). 16.17 + * 16.18 + * You should have received a copy of the GNU General Public License version 16.19 + * 2 along with this work; if not, write to the Free Software Foundation, 16.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 16.21 + * 16.22 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 16.23 + * or visit www.oracle.com if you need additional information or have any 16.24 + * questions. 16.25 + */ 16.26 + 16.27 +package pkg; 16.28 + 16.29 +import java.lang.annotation.*; 16.30 + 16.31 +/** 16.32 + * This annotation is a documented annotation container for RegContainerDoc. 16.33 + * It will be used to annotate Class C using a non-synthesized form. 16.34 + * 16.35 + * @author Bhavesh Patel 16.36 + */ 16.37 +@Documented 16.38 +public @interface RegContainerDoc { 16.39 + 16.40 + RegContaineeNotDoc[] value(); 16.41 +}
17.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 17.2 +++ b/test/com/sun/javadoc/testRepeatedAnnotations/pkg/RegContainerNotDoc.java Sat Jan 05 00:55:53 2013 -0800 17.3 @@ -0,0 +1,37 @@ 17.4 +/* 17.5 + * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. 17.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 17.7 + * 17.8 + * This code is free software; you can redistribute it and/or modify it 17.9 + * under the terms of the GNU General Public License version 2 only, as 17.10 + * published by the Free Software Foundation. 17.11 + * 17.12 + * This code is distributed in the hope that it will be useful, but WITHOUT 17.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 17.14 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 17.15 + * version 2 for more details (a copy is included in the LICENSE file that 17.16 + * accompanied this code). 17.17 + * 17.18 + * You should have received a copy of the GNU General Public License version 17.19 + * 2 along with this work; if not, write to the Free Software Foundation, 17.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 17.21 + * 17.22 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 17.23 + * or visit www.oracle.com if you need additional information or have any 17.24 + * questions. 17.25 + */ 17.26 + 17.27 +package pkg; 17.28 + 17.29 +import java.lang.annotation.*; 17.30 + 17.31 +/** 17.32 + * This annotation is a non-documented annotation container for RegContaineeNotDoc. 17.33 + * It will be used to annotate Class C using a non-synthesized form. 17.34 + * 17.35 + * @author Bhavesh Patel 17.36 + */ 17.37 +public @interface RegContainerNotDoc { 17.38 + 17.39 + RegContaineeNotDoc[] value(); 17.40 +}
18.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 18.2 +++ b/test/com/sun/javadoc/testRepeatedAnnotations/pkg/RegDoc.java Sat Jan 05 00:55:53 2013 -0800 18.3 @@ -0,0 +1,38 @@ 18.4 +/* 18.5 + * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. 18.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 18.7 + * 18.8 + * This code is free software; you can redistribute it and/or modify it 18.9 + * under the terms of the GNU General Public License version 2 only, as 18.10 + * published by the Free Software Foundation. 18.11 + * 18.12 + * This code is distributed in the hope that it will be useful, but WITHOUT 18.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 18.14 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 18.15 + * version 2 for more details (a copy is included in the LICENSE file that 18.16 + * accompanied this code). 18.17 + * 18.18 + * You should have received a copy of the GNU General Public License version 18.19 + * 2 along with this work; if not, write to the Free Software Foundation, 18.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18.21 + * 18.22 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 18.23 + * or visit www.oracle.com if you need additional information or have any 18.24 + * questions. 18.25 + */ 18.26 + 18.27 +package pkg; 18.28 + 18.29 +import java.lang.annotation.*; 18.30 + 18.31 +/** 18.32 + * This annotation is a documented annotation. 18.33 + * It will be used to annotate Class D. 18.34 + * 18.35 + * @author Bhavesh Patel 18.36 + */ 18.37 +@Documented 18.38 +public @interface RegDoc { 18.39 + 18.40 + int x(); 18.41 +}
19.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 19.2 +++ b/test/com/sun/javadoc/testRepeatedAnnotations/pkg1/C.java Sat Jan 05 00:55:53 2013 -0800 19.3 @@ -0,0 +1,38 @@ 19.4 +/* 19.5 + * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. 19.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 19.7 + * 19.8 + * This code is free software; you can redistribute it and/or modify it 19.9 + * under the terms of the GNU General Public License version 2 only, as 19.10 + * published by the Free Software Foundation. 19.11 + * 19.12 + * This code is distributed in the hope that it will be useful, but WITHOUT 19.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 19.14 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 19.15 + * version 2 for more details (a copy is included in the LICENSE file that 19.16 + * accompanied this code). 19.17 + * 19.18 + * You should have received a copy of the GNU General Public License version 19.19 + * 2 along with this work; if not, write to the Free Software Foundation, 19.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 19.21 + * 19.22 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 19.23 + * or visit www.oracle.com if you need additional information or have any 19.24 + * questions. 19.25 + */ 19.26 + 19.27 +package pkg1; 19.28 + 19.29 +@ContainerSynthNotDoc(value={@ContaineeSynthDoc,@ContaineeSynthDoc}) 19.30 +@RegContainerValDoc(value={@RegContaineeNotDoc,@RegContaineeNotDoc},y=3) 19.31 +@ContainerValDoc(value={@ContaineeNotDoc,@ContaineeNotDoc},x=1) 19.32 +@RegContainerValNotDoc(value={@RegContaineeDoc,@RegContaineeDoc},y=4) 19.33 +@ContainerValNotDoc(value={@ContaineeNotDoc,@ContaineeNotDoc},x=2) 19.34 +public class C { 19.35 + 19.36 + @ContainerSynthNotDoc(value={@ContaineeSynthDoc}) 19.37 + public void test1() {} 19.38 + 19.39 + @ContaineeSynthDoc @ContaineeSynthDoc 19.40 + public void test2() {} 19.41 +}
20.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 20.2 +++ b/test/com/sun/javadoc/testRepeatedAnnotations/pkg1/ContaineeNotDoc.java Sat Jan 05 00:55:53 2013 -0800 20.3 @@ -0,0 +1,36 @@ 20.4 +/* 20.5 + * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. 20.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 20.7 + * 20.8 + * This code is free software; you can redistribute it and/or modify it 20.9 + * under the terms of the GNU General Public License version 2 only, as 20.10 + * published by the Free Software Foundation. 20.11 + * 20.12 + * This code is distributed in the hope that it will be useful, but WITHOUT 20.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 20.14 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 20.15 + * version 2 for more details (a copy is included in the LICENSE file that 20.16 + * accompanied this code). 20.17 + * 20.18 + * You should have received a copy of the GNU General Public License version 20.19 + * 2 along with this work; if not, write to the Free Software Foundation, 20.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20.21 + * 20.22 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20.23 + * or visit www.oracle.com if you need additional information or have any 20.24 + * questions. 20.25 + */ 20.26 + 20.27 +package pkg1; 20.28 + 20.29 +import java.lang.annotation.*; 20.30 + 20.31 +/** 20.32 + * This annotation is a non-documented annotation contained by ContainerValNotDoc 20.33 + * and ContainerValDoc. 20.34 + * It will be used to annotate Class C using a non-synthesized form. 20.35 + * 20.36 + * @author Bhavesh Patel 20.37 + */ 20.38 +public @interface ContaineeNotDoc { 20.39 +}
21.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 21.2 +++ b/test/com/sun/javadoc/testRepeatedAnnotations/pkg1/ContaineeSynthDoc.java Sat Jan 05 00:55:53 2013 -0800 21.3 @@ -0,0 +1,37 @@ 21.4 +/* 21.5 + * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. 21.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 21.7 + * 21.8 + * This code is free software; you can redistribute it and/or modify it 21.9 + * under the terms of the GNU General Public License version 2 only, as 21.10 + * published by the Free Software Foundation. 21.11 + * 21.12 + * This code is distributed in the hope that it will be useful, but WITHOUT 21.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 21.14 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 21.15 + * version 2 for more details (a copy is included in the LICENSE file that 21.16 + * accompanied this code). 21.17 + * 21.18 + * You should have received a copy of the GNU General Public License version 21.19 + * 2 along with this work; if not, write to the Free Software Foundation, 21.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 21.21 + * 21.22 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 21.23 + * or visit www.oracle.com if you need additional information or have any 21.24 + * questions. 21.25 + */ 21.26 + 21.27 +package pkg1; 21.28 + 21.29 +import java.lang.annotation.*; 21.30 + 21.31 +/** 21.32 + * This annotation is a documented synthesized annotation contained by ContainerSynthNotDoc. 21.33 + * It will be used to annotate Class C and methods in the class using a synthesized form. 21.34 + * 21.35 + * @author Bhavesh Patel 21.36 + */ 21.37 +@Documented 21.38 +@ContainedBy(ContainerSynthNotDoc.class) 21.39 +public @interface ContaineeSynthDoc { 21.40 +}
22.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 22.2 +++ b/test/com/sun/javadoc/testRepeatedAnnotations/pkg1/ContainerSynthNotDoc.java Sat Jan 05 00:55:53 2013 -0800 22.3 @@ -0,0 +1,38 @@ 22.4 +/* 22.5 + * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. 22.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 22.7 + * 22.8 + * This code is free software; you can redistribute it and/or modify it 22.9 + * under the terms of the GNU General Public License version 2 only, as 22.10 + * published by the Free Software Foundation. 22.11 + * 22.12 + * This code is distributed in the hope that it will be useful, but WITHOUT 22.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 22.14 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 22.15 + * version 2 for more details (a copy is included in the LICENSE file that 22.16 + * accompanied this code). 22.17 + * 22.18 + * You should have received a copy of the GNU General Public License version 22.19 + * 2 along with this work; if not, write to the Free Software Foundation, 22.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 22.21 + * 22.22 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 22.23 + * or visit www.oracle.com if you need additional information or have any 22.24 + * questions. 22.25 + */ 22.26 + 22.27 +package pkg1; 22.28 + 22.29 +import java.lang.annotation.*; 22.30 + 22.31 +/** 22.32 + * This annotation is a non-documented synthesized annotation container for ContaineeSynthDoc. 22.33 + * It will be used to annotate Class C and methods in the class using a synthesized form. 22.34 + * 22.35 + * @author Bhavesh Patel 22.36 + */ 22.37 +@ContainerFor(ContaineeSynthDoc.class) 22.38 +public @interface ContainerSynthNotDoc { 22.39 + 22.40 + ContaineeSynthDoc[] value(); 22.41 +}
23.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 23.2 +++ b/test/com/sun/javadoc/testRepeatedAnnotations/pkg1/ContainerValDoc.java Sat Jan 05 00:55:53 2013 -0800 23.3 @@ -0,0 +1,40 @@ 23.4 +/* 23.5 + * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. 23.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 23.7 + * 23.8 + * This code is free software; you can redistribute it and/or modify it 23.9 + * under the terms of the GNU General Public License version 2 only, as 23.10 + * published by the Free Software Foundation. 23.11 + * 23.12 + * This code is distributed in the hope that it will be useful, but WITHOUT 23.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 23.14 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 23.15 + * version 2 for more details (a copy is included in the LICENSE file that 23.16 + * accompanied this code). 23.17 + * 23.18 + * You should have received a copy of the GNU General Public License version 23.19 + * 2 along with this work; if not, write to the Free Software Foundation, 23.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 23.21 + * 23.22 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 23.23 + * or visit www.oracle.com if you need additional information or have any 23.24 + * questions. 23.25 + */ 23.26 + 23.27 +package pkg1; 23.28 + 23.29 +import java.lang.annotation.*; 23.30 + 23.31 +/** 23.32 + * This annotation is a documented annotation container for ContaineeNotDoc. 23.33 + * It will be used to annotate Class C using a non-synthesized form. 23.34 + * 23.35 + * @author Bhavesh Patel 23.36 + */ 23.37 +@Documented 23.38 +public @interface ContainerValDoc { 23.39 + 23.40 + ContaineeNotDoc[] value(); 23.41 + 23.42 + int x(); 23.43 +}
24.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 24.2 +++ b/test/com/sun/javadoc/testRepeatedAnnotations/pkg1/ContainerValNotDoc.java Sat Jan 05 00:55:53 2013 -0800 24.3 @@ -0,0 +1,39 @@ 24.4 +/* 24.5 + * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. 24.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 24.7 + * 24.8 + * This code is free software; you can redistribute it and/or modify it 24.9 + * under the terms of the GNU General Public License version 2 only, as 24.10 + * published by the Free Software Foundation. 24.11 + * 24.12 + * This code is distributed in the hope that it will be useful, but WITHOUT 24.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 24.14 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 24.15 + * version 2 for more details (a copy is included in the LICENSE file that 24.16 + * accompanied this code). 24.17 + * 24.18 + * You should have received a copy of the GNU General Public License version 24.19 + * 2 along with this work; if not, write to the Free Software Foundation, 24.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 24.21 + * 24.22 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 24.23 + * or visit www.oracle.com if you need additional information or have any 24.24 + * questions. 24.25 + */ 24.26 + 24.27 +package pkg1; 24.28 + 24.29 +import java.lang.annotation.*; 24.30 + 24.31 +/** 24.32 + * This annotation is a non-documented annotation container for ContaineeNotDoc. 24.33 + * It will be used to annotate Class C using a non-synthesized form. 24.34 + * 24.35 + * @author Bhavesh Patel 24.36 + */ 24.37 +public @interface ContainerValNotDoc { 24.38 + 24.39 + ContaineeNotDoc[] value(); 24.40 + 24.41 + int x(); 24.42 +}
25.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 25.2 +++ b/test/com/sun/javadoc/testRepeatedAnnotations/pkg1/RegContaineeDoc.java Sat Jan 05 00:55:53 2013 -0800 25.3 @@ -0,0 +1,36 @@ 25.4 +/* 25.5 + * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. 25.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 25.7 + * 25.8 + * This code is free software; you can redistribute it and/or modify it 25.9 + * under the terms of the GNU General Public License version 2 only, as 25.10 + * published by the Free Software Foundation. 25.11 + * 25.12 + * This code is distributed in the hope that it will be useful, but WITHOUT 25.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 25.14 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 25.15 + * version 2 for more details (a copy is included in the LICENSE file that 25.16 + * accompanied this code). 25.17 + * 25.18 + * You should have received a copy of the GNU General Public License version 25.19 + * 2 along with this work; if not, write to the Free Software Foundation, 25.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 25.21 + * 25.22 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 25.23 + * or visit www.oracle.com if you need additional information or have any 25.24 + * questions. 25.25 + */ 25.26 + 25.27 +package pkg1; 25.28 + 25.29 +import java.lang.annotation.*; 25.30 + 25.31 +/** 25.32 + * This annotation is a documented annotation contained by RegContainerValNotDoc. 25.33 + * It will be used to annotate Class C using a non-synthesized form. 25.34 + * 25.35 + * @author Bhavesh Patel 25.36 + */ 25.37 +@Documented 25.38 +public @interface RegContaineeDoc { 25.39 +}
26.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 26.2 +++ b/test/com/sun/javadoc/testRepeatedAnnotations/pkg1/RegContaineeNotDoc.java Sat Jan 05 00:55:53 2013 -0800 26.3 @@ -0,0 +1,35 @@ 26.4 +/* 26.5 + * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. 26.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 26.7 + * 26.8 + * This code is free software; you can redistribute it and/or modify it 26.9 + * under the terms of the GNU General Public License version 2 only, as 26.10 + * published by the Free Software Foundation. 26.11 + * 26.12 + * This code is distributed in the hope that it will be useful, but WITHOUT 26.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 26.14 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 26.15 + * version 2 for more details (a copy is included in the LICENSE file that 26.16 + * accompanied this code). 26.17 + * 26.18 + * You should have received a copy of the GNU General Public License version 26.19 + * 2 along with this work; if not, write to the Free Software Foundation, 26.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 26.21 + * 26.22 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 26.23 + * or visit www.oracle.com if you need additional information or have any 26.24 + * questions. 26.25 + */ 26.26 + 26.27 +package pkg1; 26.28 + 26.29 +import java.lang.annotation.*; 26.30 + 26.31 +/** 26.32 + * This annotation is a non-documented annotation contained by RegContainerValDoc. 26.33 + * It will be used to annotate Class C using a non-synthesized form. 26.34 + * 26.35 + * @author Bhavesh Patel 26.36 + */ 26.37 +public @interface RegContaineeNotDoc { 26.38 +}
27.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 27.2 +++ b/test/com/sun/javadoc/testRepeatedAnnotations/pkg1/RegContainerValDoc.java Sat Jan 05 00:55:53 2013 -0800 27.3 @@ -0,0 +1,40 @@ 27.4 +/* 27.5 + * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. 27.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 27.7 + * 27.8 + * This code is free software; you can redistribute it and/or modify it 27.9 + * under the terms of the GNU General Public License version 2 only, as 27.10 + * published by the Free Software Foundation. 27.11 + * 27.12 + * This code is distributed in the hope that it will be useful, but WITHOUT 27.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 27.14 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 27.15 + * version 2 for more details (a copy is included in the LICENSE file that 27.16 + * accompanied this code). 27.17 + * 27.18 + * You should have received a copy of the GNU General Public License version 27.19 + * 2 along with this work; if not, write to the Free Software Foundation, 27.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 27.21 + * 27.22 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 27.23 + * or visit www.oracle.com if you need additional information or have any 27.24 + * questions. 27.25 + */ 27.26 + 27.27 +package pkg1; 27.28 + 27.29 +import java.lang.annotation.*; 27.30 + 27.31 +/** 27.32 + * This annotation is a documented annotation container for RegContaineeNotDoc. 27.33 + * It will be used to annotate Class C using a non-synthesized form. 27.34 + * 27.35 + * @author Bhavesh Patel 27.36 + */ 27.37 +@Documented 27.38 +public @interface RegContainerValDoc { 27.39 + 27.40 + RegContaineeNotDoc[] value(); 27.41 + 27.42 + int y(); 27.43 +}
28.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 28.2 +++ b/test/com/sun/javadoc/testRepeatedAnnotations/pkg1/RegContainerValNotDoc.java Sat Jan 05 00:55:53 2013 -0800 28.3 @@ -0,0 +1,39 @@ 28.4 +/* 28.5 + * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. 28.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 28.7 + * 28.8 + * This code is free software; you can redistribute it and/or modify it 28.9 + * under the terms of the GNU General Public License version 2 only, as 28.10 + * published by the Free Software Foundation. 28.11 + * 28.12 + * This code is distributed in the hope that it will be useful, but WITHOUT 28.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 28.14 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 28.15 + * version 2 for more details (a copy is included in the LICENSE file that 28.16 + * accompanied this code). 28.17 + * 28.18 + * You should have received a copy of the GNU General Public License version 28.19 + * 2 along with this work; if not, write to the Free Software Foundation, 28.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 28.21 + * 28.22 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 28.23 + * or visit www.oracle.com if you need additional information or have any 28.24 + * questions. 28.25 + */ 28.26 + 28.27 +package pkg1; 28.28 + 28.29 +import java.lang.annotation.*; 28.30 + 28.31 +/** 28.32 + * This annotation is a non-documented annotation container for RegContaineeDoc. 28.33 + * It will be used to annotate Class C using a non-synthesized form. 28.34 + * 28.35 + * @author Bhavesh Patel 28.36 + */ 28.37 +public @interface RegContainerValNotDoc { 28.38 + 28.39 + RegContaineeDoc[] value(); 28.40 + 28.41 + int y(); 28.42 +}