/*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/*
* @test
* @bug 4789689 4905985 4927164 4827184 4993906 5004549 7025314 7010344
* @summary Run Javadoc on a set of source files that demonstrate new
* language features. Check the output to ensure that the new
* language features are properly documented.
* @author jamieh
* @library ../lib/
* @build JavadocTester TestNewLanguageFeatures
* @run main TestNewLanguageFeatures
*/
//Test information.
//Javadoc arguments.
};
//Input for string search tests.
{
//=================================
// ENUM TESTING
//=================================
//Make sure enum header is correct.
//Make sure enum signature is correct.
"<span class=\"strong\">Coin</span>" + NL +
"title=\"enum in pkg\">Coin</a>></pre>"
},
//Check for enum constant section
"</span><span class=\"tabEnd\"> </span></caption>"},
//Detail for enum constant
//Automatically insert documentation for values() and valueOf().
"Returns an array containing the constants of this enum type,"},
"Returns the enum constant of this type with the specified name"},
//=================================
// TYPE PARAMETER TESTING
//=================================
//Make sure the header is correct.
"Class TypeParameters<E></h2>"},
//Check class type parameters section.
"<dt><span class=\"strong\">Type Parameters:</span></dt><dd><code>E</code> - " +
"the type parameter for this class."},
//Type parameters in @see/@link
"<dl><dt><span class=\"strong\">See Also:</span></dt><dd>" +
"<a href=\"../pkg/TypeParameters.html\" title=\"class in pkg\">" +
"<code>TypeParameters</code></a></dd></dl>"},
//Method that uses class type parameter.
"(<a href=\"../pkg/TypeParameters.html\" title=\"type " +
"parameter in TypeParameters\">E</a> param)"},
//Method type parameter section.
"<span class=\"strong\">Type Parameters:</span></dt><dd><code>T</code> - This is the first " +
"type parameter.</dd><dd><code>V</code> - This is the second type " +
"parameter."},
//Signature of method with type parameters
"public <T extends java.util.List,V> " +
"java.lang.String[] methodThatHasTypeParameters"},
//Wildcard testing.
"<a href=\"../pkg/TypeParameters.html\" title=\"class in pkg\">" +
"TypeParameters</a><? super java.lang.String> a"},
"<a href=\"../pkg/TypeParameters.html\" title=\"class in pkg\">" +
"TypeParameters</a><? extends java.lang.StringBuffer> b"},
"<a href=\"../pkg/TypeParameters.html\" title=\"class in pkg\">" +
"TypeParameters</a> c"},
//Bad type parameter warnings.
{WARNING_OUTPUT, "warning - @param argument " +
"\"<BadClassTypeParam>\" is not a type parameter name."},
{WARNING_OUTPUT, "warning - @param argument " +
"\"<BadMethodTypeParam>\" is not a type parameter name."},
//Signature of subclass that has type parameters.
"<pre>public class <span class=\"strong\">TypeParameterSubClass<T extends " +
"<a href=\"../pkg/TypeParameterSuperClass.html\" title=\"class in pkg\">" +
"TypeParameterSuperClass</a><T></pre>"},
//Interface generic parameter substitution
//Signature of subclass that has type parameters.
"<dd><a href=\"../pkg/SubInterface.html\" title=\"interface in pkg\">" +
"SubInterface</a><E>, <a href=\"../pkg/SuperInterface.html\" " +
"title=\"interface in pkg\">SuperInterface</a><E></dd>" + NL +
"</dl>"},
"<dd><a href=\"../pkg/SubInterface.html\" title=\"interface in pkg\">" +
"<dd><a href=\"../pkg/SuperInterface.html\" title=\"interface in pkg\">" +
//=================================
// VAR ARG TESTING
//=================================
"<a href=\"../pkg/TypeParameters.html\" title=\"class in pkg\">" +
"TypeParameters</a>... t"},
//=================================
// ANNOTATION TYPE TESTING
//=================================
//Make sure the summary links are correct.
"<li>Summary: </li>" + NL +
"<li><a href=\"#annotation_type_required_element_summary\">" +
"<a href=\"#annotation_type_optional_element_summary\">Optional</a></li>"},
//Make sure the detail links are correct.
"<li>Detail: </li>" + NL +
"<li><a href=\"#annotation_type_element_detail\">Element</a></li>"},
//Make sure the heading is correct.
"Annotation Type AnnotationType</h2>"},
//Make sure the signature is correct.
"public @interface <span class=\"strong\">AnnotationType</span>"},
//Make sure member summary headings are correct.
"<h3>Required Element Summary</h3>"},
"<h3>Optional Element Summary</h3>"},
//Make sure element detail heading is correct
"Element Detail"},
//Make sure default annotation type value is printed when necessary.
"</dl>"},
//=================================
// ANNOTATION TYPE USAGE TESTING
//=================================
//PACKAGE
"<a href=\"../pkg/AnnotationType.html\" title=\"annotation in pkg\">@AnnotationType</a>(<a href=\"../pkg/AnnotationType.html#optional()\">optional</a>=\"Package Annotation\"," + NL +
" <a href=\"../pkg/AnnotationType.html#required()\">required</a>=1994)"},
//CLASS
"<pre><a href=\"../pkg/AnnotationType.html\" " +
"title=\"annotation in pkg\">@AnnotationType</a>(" +
"<a href=\"../pkg/AnnotationType.html#optional()\">optional</a>" +
"=\"Class Annotation\"," + NL +
" <a href=\"../pkg/AnnotationType.html#required()\">" +
//FIELD
"<pre><a href=\"../pkg/AnnotationType.html\" " +
"title=\"annotation in pkg\">@AnnotationType</a>(" +
"<a href=\"../pkg/AnnotationType.html#optional()\">optional</a>" +
"=\"Field Annotation\"," + NL +
" <a href=\"../pkg/AnnotationType.html#required()\">" +
//CONSTRUCTOR
"<pre><a href=\"../pkg/AnnotationType.html\" " +
"title=\"annotation in pkg\">@AnnotationType</a>(" +
"<a href=\"../pkg/AnnotationType.html#optional()\">optional</a>" +
"=\"Constructor Annotation\"," + NL +
" <a href=\"../pkg/AnnotationType.html#required()\">" +
//METHOD
"<pre><a href=\"../pkg/AnnotationType.html\" " +
"title=\"annotation in pkg\">@AnnotationType</a>(" +
"<a href=\"../pkg/AnnotationType.html#optional()\">optional</a>" +
"=\"Method Annotation\"," + NL +
" <a href=\"../pkg/AnnotationType.html#required()\">" +
//METHOD PARAMS
"<pre>public void methodWithParams(" +
"<a href=\"../pkg/AnnotationType.html\" title=\"annotation in pkg\">" +
"@AnnotationType</a>(<a href=\"../pkg/AnnotationType.html#optional()\">" +
"optional</a>=\"Parameter Annotation\",<a " +
"href=\"../pkg/AnnotationType.html#required()\">required</a>=1994)" + NL +
" int documented," + NL +
" int undocmented)</pre>"},
//CONSTRUCTOR PARAMS
"<pre>public AnnotationTypeUsage(<a " +
"href=\"../pkg/AnnotationType.html\" title=\"annotation in pkg\">" +
"@AnnotationType</a>(<a href=\"../pkg/AnnotationType.html#optional()\">" +
"optional</a>=\"Constructor Param Annotation\",<a " +
"href=\"../pkg/AnnotationType.html#required()\">required</a>=1994)" + NL +
" int documented," + NL +
" int undocmented)</pre>"},
//=================================
// ANNOTATION TYPE USAGE TESTING (All Different Types).
//=================================
//Integer
//Double
//Boolean
//String
//Class
"<a href=\"../pkg1/A.html#c()\">c</a>=<a href=\"../pkg2/Foo.html\" title=\"class in pkg2\">Foo.class</a>,"},
//Bounded Class
"<a href=\"../pkg1/A.html#w()\">w</a>=<a href=\"../pkg/TypeParameterSubClass.html\" title=\"class in pkg\">TypeParameterSubClass.class</a>,"},
//Enum
//Annotation Type
"<a href=\"../pkg1/A.html#a()\">a</a>=<a href=\"../pkg/AnnotationType.html\" title=\"annotation in pkg\">@AnnotationType</a>(<a href=\"../pkg/AnnotationType.html#optional()\">optional</a>=\"foo\",<a href=\"../pkg/AnnotationType.html#required()\">required</a>=1994),"},
//String Array
//Primitive
//XXX: Add array test case after this if fixed:
//5020899: Incorrect internal representation of class-valued annotation elements
//Make sure that annotations are surrounded by <pre> and </pre>
"public interface <span class=\"strong\">B</span></pre>"},
//==============================================================
// Handle multiple bounds.
//==============================================================
"public <T extends java.lang.Number & java.lang.Runnable> T foo(T t)"},
//==============================================================
// Test Class-Use Documenation for Type Parameters.
//==============================================================
//ClassUseTest1: <T extends Foo & Foo2>
"<caption><span>Classes in <a href=\"../../pkg2/" +
"package-summary.html\">pkg2</a> with type parameters of " +
"Foo</a></span><span class=\"tabEnd\"> </span></caption>"
},
"<td class=\"colLast\"><code><strong><a href=\"../../pkg2/ClassUseTest1.html\" " +
"title=\"class in pkg2\">ClassUseTest1</a><T extends " +
"Foo2</a>></strong></code> </td>"
},
"<caption><span>Methods in <a href=\"../../pkg2/" +
"package-summary.html\">pkg2</a> with type parameters of " +
"pkg2\">Foo</a></span><span class=\"tabEnd\"> </span></caption>"
},
"<td class=\"colLast\"><span class=\"strong\">ClassUseTest1." +
"</span><code><strong><a href=\"../../pkg2/" +
"ClassUseTest1.html#method(T)\">method</a></strong>" +
"(T t)</code> </td>"
},
"<caption><span>Fields in <a href=\"../../pkg2/" +
"package-summary.html\">pkg2</a> with type parameters of " +
"Foo</a></span><span class=\"tabEnd\"> </span></caption>"
},
"td class=\"colFirst\"><code><a href=\"../../pkg2/" +
"ParamTest.html\" title=\"class in pkg2\">ParamTest</a>" +
">Foo</a>></code></td>"
},
"<caption><span>Fields in <a href=\"../../pkg2/" +
"package-summary.html\">pkg2</a> declared as <a href=\"../" +
"../pkg2/ParamTest.html\" title=\"class in pkg2\">ParamTest" +
"</a></span><span class=\"tabEnd\"> </span></caption>"
},
"<td class=\"colFirst\"><code><a href=\"../../pkg2/" +
"ParamTest.html\" title=\"class in pkg2\">ParamTest</a><<a " +
">></code></td>"
},
"<caption><span>Classes in <a href=\"../../pkg2/" +
"package-summary.html\">pkg2</a> with type parameters of " +
"in pkg2\">Foo2</a></span><span class=\"tabEnd\"> " +
"</span></caption>"
},
"<td class=\"colLast\"><code><strong><a href=\"../../pkg2/ClassUseTest1.html\" " +
"title=\"class in pkg2\">ClassUseTest1</a><T extends " +
"Foo2</a>></strong></code> </td>"
},
"<caption><span>Methods in <a href=\"../../pkg2/" +
"package-summary.html\">pkg2</a> with type parameters of " +
"in pkg2\">Foo2</a></span><span class=\"tabEnd\"> " +
"</span></caption>"
},
"<td class=\"colLast\"><span class=\"strong\">" +
"ClassUseTest1.</span><code><strong><a href=\"../../" +
"pkg2/ClassUseTest1.html#method(T)\">method</a></strong>" +
"(T t)</code> </td>"
},
//ClassUseTest2: <T extends ParamTest<Foo3>>
"<caption><span>Classes in <a href=\"../../pkg2/" +
"package-summary.html\">pkg2</a> with type parameters of " +
"type <a href=\"../../pkg2/ParamTest.html\" title=\"class " +
"in pkg2\">ParamTest</a></span><span class=\"tabEnd\">" +
" </span></caption>"
},
"<td class=\"colLast\"><code><strong><a href=\"../../pkg2/ClassUseTest2.html\" " +
"title=\"class in pkg2\">ClassUseTest2</a><T extends " +
"<a href=\"../../pkg2/ParamTest.html\" title=\"class in pkg2\">" +
"Foo3</a>>></strong></code> </td>"
},
"<caption><span>Methods in <a href=\"../../pkg2/" +
"package-summary.html\">pkg2</a> with type parameters of " +
"type <a href=\"../../pkg2/ParamTest.html\" title=\"class " +
"in pkg2\">ParamTest</a></span><span class=\"tabEnd\">" +
" </span></caption>"
},
"<td class=\"colLast\"><span class=\"strong\">ClassUseTest2." +
"</span><code><strong><a href=\"../../pkg2/" +
"ClassUseTest2.html#method(T)\">method</a></strong>" +
"(T t)</code> </td>"
},
"<caption><span>Fields in <a href=\"../../pkg2/" +
"package-summary.html\">pkg2</a> declared as <a href=\"../" +
"../pkg2/ParamTest.html\" title=\"class in pkg2\">ParamTest" +
"</a></span><span class=\"tabEnd\"> </span></caption>"
},
"<td class=\"colFirst\"><code><a href=\"../../pkg2/" +
"ParamTest.html\" title=\"class in pkg2\">ParamTest</a>" +
"Foo</a>></code></td>"
},
"<caption><span>Methods in <a href=\"../../pkg2/" +
"package-summary.html\">pkg2</a> with type parameters of " +
"type <a href=\"../../pkg2/ParamTest.html\" title=\"class " +
"in pkg2\">ParamTest</a></span><span class=\"tabEnd\">" +
" </span></caption>"
},
"<td class=\"colFirst\"><code><T extends <a href=\"../" +
"../pkg2/ParamTest.html\" title=\"class in pkg2\">ParamTest" +
"pkg2\">Foo3</a>>> <br><a href=\"../../pkg2/" +
"ParamTest.html\" title=\"class in pkg2\">ParamTest</a>" +
"pkg2\">Foo3</a>></code></td>"
},
"<caption><span>Classes in <a href=\"../../pkg2/" +
"package-summary.html\">pkg2</a> with type parameters of " +
"Foo3</a></span><span class=\"tabEnd\"> </span></caption>"
},
"<td class=\"colLast\"><code><strong><a href=\"../../pkg2/ClassUseTest2.html\" " +
"title=\"class in pkg2\">ClassUseTest2</a><T extends " +
"<a href=\"../../pkg2/ParamTest.html\" title=\"class in pkg2\">" +
"Foo3</a>>></strong></code> </td>"
},
"<caption><span>Methods in <a href=\"../../pkg2/" +
"package-summary.html\">pkg2</a> with type parameters of " +
"pkg2\">Foo3</a></span><span class=\"tabEnd\"> " +
"</span></caption>"
},
"<td class=\"colLast\"><span class=\"strong\">ClassUseTest2." +
"</span><code><strong><a href=\"../../pkg2/" +
"ClassUseTest2.html#method(T)\">method</a></strong>" +
"(T t)</code> </td>"
},
"<caption><span>Methods in <a href=\"../../pkg2/" +
"package-summary.html\">pkg2</a> that return types with " +
"=\"class in pkg2\">Foo3</a></span><span class=\"tabEnd\">" +
" </span></caption>"
},
"<td class=\"colFirst\"><code><T extends <a href=\"../../" +
"pkg2/ParamTest.html\" title=\"class in pkg2\">ParamTest</a><" +
"</a>>> <br><a href=\"../../pkg2/ParamTest.html\" " +
"title=\"class in pkg2\">ParamTest</a><<a href=\"../../pkg2/" +
"Foo3.html\" title=\"class in pkg2\">Foo3</a>></code></td>"
},
//ClassUseTest3: <T extends ParamTest2<List<? extends Foo4>>>
"<caption><span>Classes in <a href=\"../../pkg2/" +
"package-summary.html\">pkg2</a> with type parameters of " +
"type <a href=\"../../pkg2/ParamTest2.html\" title=\"class " +
"in pkg2\">ParamTest2</a></span><span class=\"tabEnd\">" +
" </span></caption>"
},
"<td class=\"colLast\"><code><strong><a href=\"../../pkg2/ClassUseTest3.html\" " +
"title=\"class in pkg2\">ClassUseTest3</a><T extends " +
"<a href=\"../../pkg2/ParamTest2.html\" title=\"class in pkg2\">" +
"ParamTest2</a><java.util.List<? extends " +
"Foo4</a>>>></strong></code> </td>"
},
"<caption><span>Methods in <a href=\"../../pkg2/" +
"package-summary.html\">pkg2</a> with type parameters of " +
"type <a href=\"../../pkg2/ParamTest2.html\" title=\"class " +
"in pkg2\">ParamTest2</a></span><span class=\"tabEnd\">" +
" </span></caption>"
},
"<td class=\"colLast\"><span class=\"strong\">ClassUseTest3" +
".</span><code><strong><a href=\"../../pkg2/ClassUseTest3." +
"html#method(T)\">method</a></strong>(T t)</code> </td>"
},
"<td class=\"colFirst\"><code><T extends <a href=\"../" +
"../pkg2/ParamTest2.html\" title=\"class in pkg2\">" +
"ParamTest2</a><java.util.List<? extends <a href=\".." +
">> <br><a href=\"../../pkg2/ParamTest2.html\" " +
"title=\"class in pkg2\">ParamTest2</a><java.util.List" +
"class in pkg2\">Foo4</a>>></code></td>"
},
"<caption><span>Classes in <a href=\"../../pkg2/" +
"package-summary.html\">pkg2</a> with type parameters of " +
"pkg2\">Foo4</a></span><span class=\"tabEnd\"> " +
"</span></caption>"
},
"<td class=\"colLast\"><code><strong><a href=\"../../pkg2/ClassUseTest3.html\" " +
"title=\"class in pkg2\">ClassUseTest3</a><T extends " +
"<a href=\"../../pkg2/ParamTest2.html\" title=\"class in pkg2\">" +
"ParamTest2</a><java.util.List<? extends " +
"Foo4</a>>>></strong></code> </td>"
},
"<caption><span>Methods in <a href=\"../../pkg2/" +
"package-summary.html\">pkg2</a> with type parameters of " +
"pkg2\">Foo4</a></span><span class=\"tabEnd\"> </span></caption>"
},
"<td class=\"colLast\"><span class=\"strong\">ClassUseTest3." +
"</span><code><strong><a href=\"../../pkg2/ClassUseTest3." +
"html#method(T)\">method</a></strong>(T t)</code>" +
" </td>"
},
"<caption><span>Methods in <a href=\"../../pkg2/" +
"package-summary.html\">pkg2</a> that return types with " +
"title=\"class in pkg2\">Foo4</a></span><span class=\"" +
"tabEnd\"> </span></caption>"
},
"<td class=\"colFirst\"><code><T extends <a href=\"../" +
"../pkg2/ParamTest2.html\" title=\"class in pkg2\">" +
"ParamTest2</a><java.util.List<? extends <a href=\".." +
">> <br><a href=\"../../pkg2/ParamTest2.html\" " +
"title=\"class in pkg2\">ParamTest2</a><java.util.List" +
"class in pkg2\">Foo4</a>>></code></td>"
},
//Type parameters in constructor and method args
"<caption><span>Method parameters in <a href=\"../../pkg2/" +
"package-summary.html\">pkg2</a> with type arguments of " +
"pkg2\">Foo4</a></span><span class=\"tabEnd\"> " +
"<th class=\"colFirst\" scope=\"col\">Modifier and Type</th>" + NL +
"<th class=\"colLast\" scope=\"col\">Method and Description</th>" + NL +
"<td class=\"colFirst\"><code>void</code></td>" + NL +
"<td class=\"colLast\"><span class=\"strong\">ClassUseTest3." +
"</span><code><strong><a href=\"../../pkg2/ClassUseTest3." +
"html#method(java.util.Set)\">method</a></strong>(java." +
"class in pkg2\">Foo4</a>> p)</code> </td>" + NL +
},
"<caption><span>Constructor parameters in <a href=\"../../" +
"pkg2/package-summary.html\">pkg2</a> with type arguments " +
"pkg2\">Foo4</a></span><span class=\"tabEnd\"> " +
"</span></caption>"
},
//=================================
// Annotatation Type Usage
//=================================
"<caption><span>Packages with annotations of type <a href=\"" +
"../../pkg/AnnotationType.html\" title=\"annotation in pkg\">" +
"AnnotationType</a></span><span class=\"tabEnd\"> " +
"</span></caption>"
},
"<caption><span>Classes in <a href=\"../../pkg/" +
"package-summary.html\">pkg</a> with annotations of type " +
"<a href=\"../../pkg/AnnotationType.html\" title=\"" +
"annotation in pkg\">AnnotationType</a></span><span class" +
"=\"tabEnd\"> </span></caption>"
},
"<caption><span>Fields in <a href=\"../../pkg/" +
"package-summary.html\">pkg</a> with annotations of type " +
"<a href=\"../../pkg/AnnotationType.html\" title=\"annotation " +
"in pkg\">AnnotationType</a></span><span class=\"tabEnd\">" +
" </span></caption>"
},
"<caption><span>Methods in <a href=\"../../pkg/" +
"package-summary.html\">pkg</a> with annotations of type " +
"<a href=\"../../pkg/AnnotationType.html\" title=\"annotation " +
"in pkg\">AnnotationType</a></span><span class=\"tabEnd\">" +
" </span></caption>"
},
"<caption><span>Method parameters in <a href=\"../../pkg/" +
"package-summary.html\">pkg</a> with annotations of type " +
"<a href=\"../../pkg/AnnotationType.html\" title=\"annotation " +
"in pkg\">AnnotationType</a></span><span class=\"tabEnd\">" +
" </span></caption>"
},
"<caption><span>Constructors in <a href=\"../../pkg/" +
"package-summary.html\">pkg</a> with annotations of type " +
"<a href=\"../../pkg/AnnotationType.html\" title=\"annotation " +
"in pkg\">AnnotationType</a></span><span class=\"tabEnd\">" +
" </span></caption>"
},
"<caption><span>Constructor parameters in <a href=\"../../" +
"pkg/package-summary.html\">pkg</a> with annotations of " +
"type <a href=\"../../pkg/AnnotationType.html\" title=\"" +
"annotation in pkg\">AnnotationType</a></span><span class=\"" +
"tabEnd\"> </span></caption>"
},
//=================================
// TYPE PARAMETER IN INDEX
//=================================
"method(Vector<Object>)</a></span>"
},
//=================================
// TYPE PARAMETER IN INDEX
//=================================
"method(Vector<Object>)</a></span>"
},
};
//=================================
// ENUM TESTING
//=================================
//NO constructor section
//=================================
// TYPE PARAMETER TESTING
//=================================
//No type parameters in class frame.
"<a href=\"../pkg/TypeParameters.html\" title=\"class in pkg\">" +
"TypeParameters</a><<a href=\"../pkg/TypeParameters.html\" " +
"title=\"type parameter in TypeParameters\">E</a>>"
},
//==============================================================
// ANNOTATION TYPE USAGE TESTING (When @Documented is omitted)
//===============================================================
//CLASS
"<a href=\"../pkg/AnnotationTypeUndocumented.html\" title=\"annotation in pkg\">@AnnotationTypeUndocumented</a>(<a href=\"../pkg/AnnotationType.html#optional\">optional</a>=\"Class Annotation\"," + NL +
" <a href=\"../pkg/AnnotationType.html#required\">required</a>=1994)" + NL +
"public class <strong>AnnotationTypeUsage</strong></dt><dt>extends java.lang.Object</dt>"},
//FIELD
"<a href=\"../pkg/AnnotationTypeUndocumented.html\" title=\"annotation in pkg\">@AnnotationTypeUndocumented</a>(<a href=\"../pkg/AnnotationType.html#optional\">optional</a>=\"Field Annotation\"," + NL +
" <a href=\"../pkg/AnnotationType.html#required\">required</a>=1994)" + NL +
"public int <strong>field</strong>"},
//CONSTRUCTOR
"<a href=\"../pkg/AnnotationTypeUndocumented.html\" title=\"annotation in pkg\">@AnnotationTypeUndocumented</a>(<a href=\"../pkg/AnnotationType.html#optional\">optional</a>=\"Constructor Annotation\"," + NL +
" <a href=\"../pkg/AnnotationType.html#required\">required</a>=1994)" + NL +
"public <strong>AnnotationTypeUsage</strong>()"},
//METHOD
"<a href=\"../pkg/AnnotationTypeUndocumented.html\" title=\"annotation in pkg\">@AnnotationTypeUndocumented</a>(<a href=\"../pkg/AnnotationType.html#optional\">optional</a>=\"Method Annotation\"," + NL +
" <a href=\"../pkg/AnnotationType.html#required\">required</a>=1994)" + NL +
"public void <strong>method</strong>()"},
//=================================
// Make sure annotation types do not
// trigger this warning.
//=================================
"Internal error: package sets don't match: [] with: null"
},
};
/**
* The entry point of the test.
* @param args the array of command line arguments.
*/
}
/**
* {@inheritDoc}
*/
return BUG_ID;
}
/**
* {@inheritDoc}
*/
}
}