8214126: Method signatures not formatted correctly in browser
Reviewed-by: jjg
This commit is contained in:
parent
4d08dd703e
commit
4b01aa4f71
src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets
formats/html
AbstractExecutableMemberWriter.javaAbstractMemberWriter.javaAnnotationTypeFieldWriterImpl.javaAnnotationTypeRequiredMemberWriterImpl.javaConstructorWriterImpl.javaEnumConstantWriterImpl.javaFieldWriterImpl.javaHtmlDocletWriter.javaLinkFactoryImpl.javaMethodWriterImpl.javaPropertyWriterImpl.java
markup
toolkit
test/langtools/jdk/javadoc/doclet
testAnnotationTypes
testDeprecatedDocs
testHtmlDefinitionListTag
testIndentation
testInterface
testJavaFX
testLambdaFeature
testLinkOption
testLiteralCodeInPre
testMemberInheritance
testMemberSummary
testMethodSignature
testNewLanguageFeatures
testOptions
testOrdering
testOverriddenMethods
testPrivateClasses
testProperty
testSerializedFormWithClassFile
testStylesheet
testSummaryTag
testTypeAnnotations
testTypeParams
testVisibleMembers
@ -73,19 +73,6 @@ public abstract class AbstractExecutableMemberWriter extends AbstractMemberWrite
|
||||
super(writer);
|
||||
}
|
||||
|
||||
/**
|
||||
* Add the type parameters for the executable member.
|
||||
*
|
||||
* @param member the member to write type parameters for.
|
||||
* @param htmltree the content tree to which the parameters will be added.
|
||||
*/
|
||||
protected void addTypeParameters(ExecutableElement member, Content htmltree) {
|
||||
Content typeParameters = getTypeParameters(member);
|
||||
if (!typeParameters.isEmpty()) {
|
||||
htmltree.add(typeParameters);
|
||||
htmltree.add(Entity.NO_BREAK_SPACE);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the type parameters for the executable member.
|
||||
@ -134,7 +121,7 @@ public abstract class AbstractExecutableMemberWriter extends AbstractMemberWrite
|
||||
writer.getDocLink(context, te, ee,
|
||||
name(ee), false));
|
||||
Content code = HtmlTree.CODE(memberLink);
|
||||
addParameters(ee, false, code, name(ee).length() - 1);
|
||||
addParameters(ee, code);
|
||||
tdSummary.add(code);
|
||||
}
|
||||
|
||||
@ -174,7 +161,7 @@ public abstract class AbstractExecutableMemberWriter extends AbstractMemberWrite
|
||||
*
|
||||
* @param member the member to write receiver annotations for.
|
||||
* @param rcvrType the receiver type.
|
||||
* @param descList list of annotation description.
|
||||
* @param annotationMirrors list of annotation descriptions.
|
||||
* @param tree the content tree to which the information will be added.
|
||||
*/
|
||||
protected void addReceiverAnnotations(ExecutableElement member, TypeMirror rcvrType,
|
||||
@ -195,66 +182,8 @@ public abstract class AbstractExecutableMemberWriter extends AbstractMemberWrite
|
||||
* @param member the member to write parameters for.
|
||||
* @param htmltree the content tree to which the parameters information will be added.
|
||||
*/
|
||||
protected void addParameters(ExecutableElement member, Content htmltree, int indentSize) {
|
||||
addParameters(member, true, htmltree, indentSize);
|
||||
}
|
||||
|
||||
/**
|
||||
* Add all the parameters for the executable member.
|
||||
*
|
||||
* @param member the member to write parameters for.
|
||||
* @param includeAnnotations true if annotation information needs to be added.
|
||||
* @param htmltree the content tree to which the parameters information will be added.
|
||||
*/
|
||||
protected void addParameters(ExecutableElement member,
|
||||
boolean includeAnnotations, Content htmltree, int indentSize) {
|
||||
Content paramTree = new ContentBuilder();
|
||||
String sep = "";
|
||||
List<? extends VariableElement> parameters = member.getParameters();
|
||||
CharSequence indent = makeSpace(indentSize + 1);
|
||||
TypeMirror rcvrType = member.getReceiverType();
|
||||
if (includeAnnotations && rcvrType != null && utils.isAnnotated(rcvrType)) {
|
||||
List<? extends AnnotationMirror> annotationMirrors = rcvrType.getAnnotationMirrors();
|
||||
addReceiverAnnotations(member, rcvrType, annotationMirrors, paramTree);
|
||||
sep = "," + DocletConstants.NL + indent;
|
||||
}
|
||||
int paramstart;
|
||||
for (paramstart = 0; paramstart < parameters.size(); paramstart++) {
|
||||
paramTree.add(sep);
|
||||
VariableElement param = parameters.get(paramstart);
|
||||
|
||||
if (param.getKind() != ElementKind.INSTANCE_INIT) {
|
||||
if (includeAnnotations) {
|
||||
boolean foundAnnotations =
|
||||
writer.addAnnotationInfo(indent.length(),
|
||||
member, param, paramTree);
|
||||
if (foundAnnotations) {
|
||||
paramTree.add(DocletConstants.NL);
|
||||
paramTree.add(indent);
|
||||
}
|
||||
}
|
||||
addParam(member, param,
|
||||
(paramstart == parameters.size() - 1) && member.isVarArgs(), paramTree);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
for (int i = paramstart + 1; i < parameters.size(); i++) {
|
||||
paramTree.add(",");
|
||||
paramTree.add(DocletConstants.NL);
|
||||
paramTree.add(indent);
|
||||
if (includeAnnotations) {
|
||||
boolean foundAnnotations =
|
||||
writer.addAnnotationInfo(indent.length(), member, parameters.get(i),
|
||||
paramTree);
|
||||
if (foundAnnotations) {
|
||||
paramTree.add(DocletConstants.NL);
|
||||
paramTree.add(indent);
|
||||
}
|
||||
}
|
||||
addParam(member, parameters.get(i), (i == parameters.size() - 1) && member.isVarArgs(),
|
||||
paramTree);
|
||||
}
|
||||
protected void addParameters(ExecutableElement member, Content htmltree) {
|
||||
Content paramTree = getParameters(member, false);
|
||||
if (paramTree.isEmpty()) {
|
||||
htmltree.add("()");
|
||||
} else {
|
||||
@ -266,30 +195,80 @@ public abstract class AbstractExecutableMemberWriter extends AbstractMemberWrite
|
||||
}
|
||||
|
||||
/**
|
||||
* Add exceptions for the executable member.
|
||||
* Add all the parameters for the executable member.
|
||||
*
|
||||
* @param member the member to write parameters for.
|
||||
* @param includeAnnotations true if annotation information needs to be added.
|
||||
* @return the content tree containing the parameter information
|
||||
*/
|
||||
protected Content getParameters(ExecutableElement member, boolean includeAnnotations) {
|
||||
Content paramTree = new ContentBuilder();
|
||||
String sep = "";
|
||||
List<? extends VariableElement> parameters = member.getParameters();
|
||||
TypeMirror rcvrType = member.getReceiverType();
|
||||
if (includeAnnotations && rcvrType != null && utils.isAnnotated(rcvrType)) {
|
||||
List<? extends AnnotationMirror> annotationMirrors = rcvrType.getAnnotationMirrors();
|
||||
addReceiverAnnotations(member, rcvrType, annotationMirrors, paramTree);
|
||||
sep = "," + DocletConstants.NL;
|
||||
}
|
||||
int paramstart;
|
||||
for (paramstart = 0; paramstart < parameters.size(); paramstart++) {
|
||||
paramTree.add(sep);
|
||||
VariableElement param = parameters.get(paramstart);
|
||||
|
||||
if (param.getKind() != ElementKind.INSTANCE_INIT) {
|
||||
if (includeAnnotations) {
|
||||
boolean foundAnnotations =
|
||||
writer.addAnnotationInfo(param, paramTree);
|
||||
if (foundAnnotations) {
|
||||
paramTree.add(DocletConstants.NL);
|
||||
}
|
||||
}
|
||||
addParam(member, param,
|
||||
(paramstart == parameters.size() - 1) && member.isVarArgs(), paramTree);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
for (int i = paramstart + 1; i < parameters.size(); i++) {
|
||||
paramTree.add(",");
|
||||
paramTree.add(DocletConstants.NL);
|
||||
if (includeAnnotations) {
|
||||
boolean foundAnnotations =
|
||||
writer.addAnnotationInfo(parameters.get(i),
|
||||
paramTree);
|
||||
if (foundAnnotations) {
|
||||
paramTree.add(DocletConstants.NL);
|
||||
}
|
||||
}
|
||||
addParam(member, parameters.get(i), (i == parameters.size() - 1) && member.isVarArgs(),
|
||||
paramTree);
|
||||
}
|
||||
|
||||
return paramTree;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a content tree containing the exception information for the executable member.
|
||||
*
|
||||
* @param member the member to write exceptions for.
|
||||
* @param htmltree the content tree to which the exceptions information will be added.
|
||||
* @return the content tree containing the exceptions information.
|
||||
*/
|
||||
protected void addExceptions(ExecutableElement member, Content htmltree, int indentSize) {
|
||||
protected Content getExceptions(ExecutableElement member) {
|
||||
List<? extends TypeMirror> exceptions = member.getThrownTypes();
|
||||
Content htmltree = new ContentBuilder();
|
||||
if (!exceptions.isEmpty()) {
|
||||
CharSequence indent = makeSpace(indentSize + 1 - 7);
|
||||
htmltree.add(DocletConstants.NL);
|
||||
htmltree.add(indent);
|
||||
htmltree.add("throws ");
|
||||
indent = makeSpace(indentSize + 1);
|
||||
Content link = writer.getLink(new LinkInfoImpl(configuration, MEMBER, exceptions.get(0)));
|
||||
htmltree.add(link);
|
||||
for(int i = 1; i < exceptions.size(); i++) {
|
||||
htmltree.add(",");
|
||||
htmltree.add(DocletConstants.NL);
|
||||
htmltree.add(indent);
|
||||
Content exceptionLink = writer.getLink(new LinkInfoImpl(configuration, MEMBER,
|
||||
exceptions.get(i)));
|
||||
htmltree.add(exceptionLink);
|
||||
}
|
||||
}
|
||||
return htmltree;
|
||||
}
|
||||
|
||||
protected TypeElement implementsMethodInIntfac(ExecutableElement method,
|
||||
|
284
src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractMemberWriter.java
284
src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractMemberWriter.java
@ -46,12 +46,14 @@ import jdk.javadoc.internal.doclets.formats.html.markup.HtmlStyle;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTag;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTree;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.Links;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.StringContent;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.Table;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.TableHeader;
|
||||
import jdk.javadoc.internal.doclets.toolkit.Content;
|
||||
import jdk.javadoc.internal.doclets.toolkit.MemberSummaryWriter;
|
||||
import jdk.javadoc.internal.doclets.toolkit.Resources;
|
||||
import jdk.javadoc.internal.doclets.toolkit.taglets.DeprecatedTaglet;
|
||||
import jdk.javadoc.internal.doclets.toolkit.util.DocletConstants;
|
||||
import jdk.javadoc.internal.doclets.toolkit.util.Utils;
|
||||
|
||||
import static javax.lang.model.element.Modifier.ABSTRACT;
|
||||
@ -219,55 +221,6 @@ public abstract class AbstractMemberWriter implements MemberSummaryWriter {
|
||||
*/
|
||||
protected abstract Content getDeprecatedLink(Element member);
|
||||
|
||||
/**
|
||||
* Add the member name to the content tree.
|
||||
*
|
||||
* @param name the member name to be added to the content tree.
|
||||
* @param htmltree the content tree to which the name will be added.
|
||||
*/
|
||||
protected void addName(String name, Content htmltree) {
|
||||
htmltree.add(name);
|
||||
}
|
||||
|
||||
/**
|
||||
* Add the modifier for the member. The modifiers are ordered as specified
|
||||
* by <em>The Java Language Specification</em>.
|
||||
*
|
||||
* @param member the member for which the modifier will be added.
|
||||
* @param htmltree the content tree to which the modifier information will be added.
|
||||
*/
|
||||
protected void addModifiers(Element member, Content htmltree) {
|
||||
Set<Modifier> set = new TreeSet<>(member.getModifiers());
|
||||
|
||||
// remove the ones we really don't need
|
||||
set.remove(NATIVE);
|
||||
set.remove(SYNCHRONIZED);
|
||||
set.remove(STRICTFP);
|
||||
|
||||
// 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 AnnotationTypeWriterImpl) )) {
|
||||
// Remove the implicit abstract and public modifiers
|
||||
if (utils.isMethod(member) &&
|
||||
(utils.isInterface(member.getEnclosingElement()) ||
|
||||
utils.isAnnotationType(member.getEnclosingElement()))) {
|
||||
set.remove(ABSTRACT);
|
||||
set.remove(PUBLIC);
|
||||
}
|
||||
if (!utils.isMethod(member)) {
|
||||
set.remove(PUBLIC);
|
||||
}
|
||||
}
|
||||
if (!set.isEmpty()) {
|
||||
String mods = set.stream().map(Modifier::toString).collect(Collectors.joining(" "));
|
||||
htmltree.add(mods);
|
||||
htmltree.add(Entity.NO_BREAK_SPACE);
|
||||
}
|
||||
}
|
||||
|
||||
protected CharSequence makeSpace(int len) {
|
||||
if (len <= 0) {
|
||||
return "";
|
||||
@ -563,4 +516,237 @@ public abstract class AbstractMemberWriter implements MemberSummaryWriter {
|
||||
else
|
||||
return HtmlTree.LI(HtmlStyle.blockList, memberTree);
|
||||
}
|
||||
|
||||
/**
|
||||
* A content builder for member signatures.
|
||||
*/
|
||||
class MemberSignature {
|
||||
|
||||
private Element element;
|
||||
private Content typeParameters;
|
||||
private Content returnType;
|
||||
private Content parameters;
|
||||
private Content exceptions;
|
||||
|
||||
// Threshold for length of type parameters before switching from inline to block representation.
|
||||
private final static int TYPE_PARAMS_MAX_INLINE_LENGTH = 50;
|
||||
|
||||
// Threshold for combined length of modifiers, type params and return type before breaking
|
||||
// it up with a line break before the return type.
|
||||
private final static int RETURN_TYPE_MAX_LINE_LENGTH = 50;
|
||||
|
||||
/**
|
||||
* Create a new member signature builder.
|
||||
*
|
||||
* @param element The element for which to create a signature.
|
||||
*/
|
||||
MemberSignature(Element element) {
|
||||
this.element = element;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add the type parameters for an executable member.
|
||||
*
|
||||
* @param typeParameters the content tree containing the type parameters to add.
|
||||
* @return this MemberSignature instance
|
||||
*/
|
||||
MemberSignature addTypeParameters(Content typeParameters) {
|
||||
this.typeParameters = typeParameters;
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add the return type for an executable member.
|
||||
*
|
||||
* @param returnType the content tree containing the return type to add.
|
||||
* @return this MemberSignature instance
|
||||
*/
|
||||
MemberSignature addReturnType(Content returnType) {
|
||||
this.returnType = returnType;
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add the type information for a non-executable member.
|
||||
*
|
||||
* @param type the type of the member.
|
||||
* @return this MemberSignature instance
|
||||
*/
|
||||
MemberSignature addType(TypeMirror type) {
|
||||
this.returnType = writer.getLink(new LinkInfoImpl(configuration, LinkInfoImpl.Kind.MEMBER, type));
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add the parameter information of an executable member.
|
||||
*
|
||||
* @param paramTree the content tree containing the parameter information.
|
||||
* @return this MemberSignature instance
|
||||
*/
|
||||
MemberSignature addParameters(Content paramTree) {
|
||||
this.parameters = paramTree;
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add the exception information of an executable member.
|
||||
*
|
||||
* @param exceptionTree the content tree containing the exception information
|
||||
* @return this MemberSignature instance
|
||||
*/
|
||||
MemberSignature addExceptions(Content exceptionTree) {
|
||||
this.exceptions = exceptionTree;
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return a HTML tree containing the member signature.
|
||||
*
|
||||
* @return a HTML tree containing the member signature
|
||||
*/
|
||||
Content toContent() {
|
||||
Content content = new ContentBuilder();
|
||||
// Position of last line separator.
|
||||
int lastLineSeparator = 0;
|
||||
|
||||
// Annotations
|
||||
Content annotationInfo = writer.getAnnotationInfo(element.getAnnotationMirrors(), true);
|
||||
if (!annotationInfo.isEmpty()) {
|
||||
content.add(HtmlTree.SPAN(HtmlStyle.annotations, annotationInfo));
|
||||
lastLineSeparator = content.charCount();
|
||||
}
|
||||
|
||||
// Modifiers
|
||||
appendModifiers(content);
|
||||
|
||||
// Type parameters
|
||||
if (typeParameters != null && !typeParameters.isEmpty()) {
|
||||
lastLineSeparator = appendTypeParameters(content, lastLineSeparator);
|
||||
}
|
||||
|
||||
// Return type
|
||||
if (returnType != null) {
|
||||
content.add(HtmlTree.SPAN(HtmlStyle.returnType, returnType));
|
||||
content.add(Entity.NO_BREAK_SPACE);
|
||||
}
|
||||
|
||||
// Name
|
||||
HtmlTree nameSpan = new HtmlTree(HtmlTag.SPAN);
|
||||
nameSpan.setStyle(HtmlStyle.memberName);
|
||||
if (configuration.linksource) {
|
||||
Content name = new StringContent(name(element));
|
||||
writer.addSrcLink(element, name, nameSpan);
|
||||
} else {
|
||||
nameSpan.add(name(element));
|
||||
}
|
||||
content.add(nameSpan);
|
||||
|
||||
|
||||
// Parameters and exceptions
|
||||
if (parameters != null) {
|
||||
appendParametersAndExceptions(content, lastLineSeparator);
|
||||
}
|
||||
|
||||
return HtmlTree.DIV(HtmlStyle.memberSignature, content);
|
||||
}
|
||||
|
||||
/**
|
||||
* Add the modifier for the member. The modifiers are ordered as specified
|
||||
* by <em>The Java Language Specification</em>.
|
||||
*
|
||||
* @param htmltree the content tree to which the modifier information will be added.
|
||||
*/
|
||||
private void appendModifiers(Content htmltree) {
|
||||
Set<Modifier> set = new TreeSet<>(element.getModifiers());
|
||||
|
||||
// remove the ones we really don't need
|
||||
set.remove(NATIVE);
|
||||
set.remove(SYNCHRONIZED);
|
||||
set.remove(STRICTFP);
|
||||
|
||||
// According to JLS, we should not be showing public modifier for
|
||||
// interface methods.
|
||||
if ((utils.isField(element) || utils.isMethod(element))
|
||||
&& ((writer instanceof ClassWriterImpl
|
||||
&& utils.isInterface(((ClassWriterImpl) writer).getTypeElement()) ||
|
||||
writer instanceof AnnotationTypeWriterImpl) )) {
|
||||
// Remove the implicit abstract and public modifiers
|
||||
if (utils.isMethod(element) &&
|
||||
(utils.isInterface(element.getEnclosingElement()) ||
|
||||
utils.isAnnotationType(element.getEnclosingElement()))) {
|
||||
set.remove(ABSTRACT);
|
||||
set.remove(PUBLIC);
|
||||
}
|
||||
if (!utils.isMethod(element)) {
|
||||
set.remove(PUBLIC);
|
||||
}
|
||||
}
|
||||
if (!set.isEmpty()) {
|
||||
String mods = set.stream().map(Modifier::toString).collect(Collectors.joining(" "));
|
||||
htmltree.add(HtmlTree.SPAN(HtmlStyle.modifiers, new StringContent(mods)));
|
||||
htmltree.add(Entity.NO_BREAK_SPACE);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Append the type parameter information to the HTML tree.
|
||||
*
|
||||
* @param htmltree the HTML tree
|
||||
* @param lastLineSeparator index of last line separator in HTML tree
|
||||
* @return the new index of the last line separator
|
||||
*/
|
||||
private int appendTypeParameters(Content htmltree, int lastLineSeparator) {
|
||||
// Apply different wrapping strategies for type parameters
|
||||
// depending of combined length of type parameters and return type.
|
||||
int typeParamLength = typeParameters.charCount();
|
||||
|
||||
if (typeParamLength >= TYPE_PARAMS_MAX_INLINE_LENGTH) {
|
||||
htmltree.add(HtmlTree.SPAN(HtmlStyle.typeParametersLong, typeParameters));
|
||||
} else {
|
||||
htmltree.add(HtmlTree.SPAN(HtmlStyle.typeParameters, typeParameters));
|
||||
}
|
||||
|
||||
int lineLength = htmltree.charCount() - lastLineSeparator;
|
||||
int newLastLineSeparator = lastLineSeparator;
|
||||
|
||||
// sum below includes length of modifiers plus type params added above
|
||||
if (lineLength + returnType.charCount()> RETURN_TYPE_MAX_LINE_LENGTH) {
|
||||
htmltree.add(DocletConstants.NL);
|
||||
newLastLineSeparator = htmltree.charCount();
|
||||
} else {
|
||||
htmltree.add(Entity.NO_BREAK_SPACE);
|
||||
}
|
||||
|
||||
return newLastLineSeparator;
|
||||
}
|
||||
|
||||
/**
|
||||
* Append the parameters and exceptions information to the HTML tree.
|
||||
*
|
||||
* @param htmltree the HTML tree
|
||||
* @param lastLineSeparator the index of the last line separator in HTML tree
|
||||
*/
|
||||
private void appendParametersAndExceptions(Content htmltree, int lastLineSeparator) {
|
||||
// Record current position for indentation of exceptions
|
||||
int indentSize = htmltree.charCount() - lastLineSeparator;
|
||||
|
||||
if (parameters.isEmpty()) {
|
||||
htmltree.add("()");
|
||||
} else {
|
||||
parameters.add(")");
|
||||
htmltree.add(Entity.ZERO_WIDTH_SPACE);
|
||||
htmltree.add("(");
|
||||
htmltree.add(HtmlTree.SPAN(HtmlStyle.arguments, parameters));
|
||||
}
|
||||
|
||||
// Exceptions
|
||||
if (exceptions != null && !exceptions.isEmpty()) {
|
||||
CharSequence indent = makeSpace(indentSize + 1 - 7);
|
||||
htmltree.add(DocletConstants.NL);
|
||||
htmltree.add(indent);
|
||||
htmltree.add("throws ");
|
||||
htmltree.add(HtmlTree.SPAN(HtmlStyle.exceptions, exceptions));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -33,7 +33,6 @@ import javax.lang.model.type.TypeMirror;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.ContentBuilder;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.Entity;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlStyle;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTag;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTree;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.StringContent;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.Table;
|
||||
@ -132,21 +131,9 @@ public class AnnotationTypeFieldWriterImpl extends AbstractMemberWriter
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
public Content getSignature(Element member) {
|
||||
Content pre = new HtmlTree(HtmlTag.PRE);
|
||||
writer.addAnnotationInfo(member, pre);
|
||||
addModifiers(member, pre);
|
||||
Content link =
|
||||
writer.getLink(new LinkInfoImpl(configuration,
|
||||
LinkInfoImpl.Kind.MEMBER, getType(member)));
|
||||
pre.add(link);
|
||||
pre.add(Entity.NO_BREAK_SPACE);
|
||||
if (configuration.linksource) {
|
||||
Content memberName = new StringContent(name(member));
|
||||
writer.addSrcLink(member, memberName, pre);
|
||||
} else {
|
||||
addName(name(member), pre);
|
||||
}
|
||||
return pre;
|
||||
return new MemberSignature(member)
|
||||
.addType(getType(member))
|
||||
.toContent();
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -31,11 +31,8 @@ import javax.lang.model.element.TypeElement;
|
||||
import javax.lang.model.type.TypeMirror;
|
||||
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.ContentBuilder;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.Entity;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlStyle;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTag;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTree;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.StringContent;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.Table;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.TableHeader;
|
||||
import jdk.javadoc.internal.doclets.toolkit.AnnotationTypeRequiredMemberWriter;
|
||||
@ -136,21 +133,9 @@ public class AnnotationTypeRequiredMemberWriterImpl extends AbstractMemberWriter
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
public Content getSignature(Element member) {
|
||||
Content pre = new HtmlTree(HtmlTag.PRE);
|
||||
writer.addAnnotationInfo(member, pre);
|
||||
addModifiers(member, pre);
|
||||
Content link =
|
||||
writer.getLink(new LinkInfoImpl(configuration,
|
||||
LinkInfoImpl.Kind.MEMBER, getType(member)));
|
||||
pre.add(link);
|
||||
pre.add(Entity.NO_BREAK_SPACE);
|
||||
if (configuration.linksource) {
|
||||
Content memberName = new StringContent(name(member));
|
||||
writer.addSrcLink(member, memberName, pre);
|
||||
} else {
|
||||
addName(name(member), pre);
|
||||
}
|
||||
return pre;
|
||||
return new MemberSignature(member)
|
||||
.addType(getType(member))
|
||||
.toContent();
|
||||
}
|
||||
|
||||
/**
|
||||
|
19
src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ConstructorWriterImpl.java
19
src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ConstructorWriterImpl.java
@ -37,7 +37,6 @@ import jdk.javadoc.internal.doclets.formats.html.markup.Entity;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlStyle;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTag;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTree;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.StringContent;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.Table;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.TableHeader;
|
||||
import jdk.javadoc.internal.doclets.toolkit.ConstructorWriter;
|
||||
@ -152,20 +151,10 @@ public class ConstructorWriterImpl extends AbstractExecutableMemberWriter
|
||||
*/
|
||||
@Override
|
||||
public Content getSignature(ExecutableElement constructor) {
|
||||
Content pre = new HtmlTree(HtmlTag.PRE);
|
||||
writer.addAnnotationInfo(constructor, pre);
|
||||
int annotationLength = pre.charCount();
|
||||
addModifiers(constructor, pre);
|
||||
if (configuration.linksource) {
|
||||
Content constructorName = new StringContent(name(constructor));
|
||||
writer.addSrcLink(constructor, constructorName, pre);
|
||||
} else {
|
||||
addName(name(constructor), pre);
|
||||
}
|
||||
int indent = pre.charCount() - annotationLength;
|
||||
addParameters(constructor, pre, indent);
|
||||
addExceptions(constructor, pre, indent);
|
||||
return pre;
|
||||
return new MemberSignature(constructor)
|
||||
.addParameters(getParameters(constructor, true))
|
||||
.addExceptions(getExceptions(constructor))
|
||||
.toContent();
|
||||
}
|
||||
|
||||
/**
|
||||
|
19
src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/EnumConstantWriterImpl.java
19
src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/EnumConstantWriterImpl.java
@ -32,9 +32,7 @@ import javax.lang.model.element.VariableElement;
|
||||
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.ContentBuilder;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlStyle;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTag;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTree;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.StringContent;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.Table;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.TableHeader;
|
||||
import jdk.javadoc.internal.doclets.toolkit.Content;
|
||||
@ -118,20 +116,9 @@ public class EnumConstantWriterImpl extends AbstractMemberWriter
|
||||
*/
|
||||
@Override
|
||||
public Content getSignature(VariableElement enumConstant) {
|
||||
Content pre = new HtmlTree(HtmlTag.PRE);
|
||||
writer.addAnnotationInfo(enumConstant, pre);
|
||||
addModifiers(enumConstant, pre);
|
||||
Content enumConstantLink = writer.getLink(new LinkInfoImpl(
|
||||
configuration, LinkInfoImpl.Kind.MEMBER, enumConstant.asType()));
|
||||
pre.add(enumConstantLink);
|
||||
pre.add(" ");
|
||||
if (configuration.linksource) {
|
||||
Content enumConstantName = new StringContent(name(enumConstant));
|
||||
writer.addSrcLink(enumConstant, enumConstantName, pre);
|
||||
} else {
|
||||
addName(name(enumConstant), pre);
|
||||
}
|
||||
return pre;
|
||||
return new MemberSignature(enumConstant)
|
||||
.addType(enumConstant.asType())
|
||||
.toContent();
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -35,7 +35,6 @@ import javax.lang.model.element.VariableElement;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.ContentBuilder;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.Entity;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlStyle;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTag;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTree;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.StringContent;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.Table;
|
||||
@ -121,20 +120,9 @@ public class FieldWriterImpl extends AbstractMemberWriter
|
||||
*/
|
||||
@Override
|
||||
public Content getSignature(VariableElement field) {
|
||||
Content pre = new HtmlTree(HtmlTag.PRE);
|
||||
writer.addAnnotationInfo(field, pre);
|
||||
addModifiers(field, pre);
|
||||
Content fieldlink = writer.getLink(new LinkInfoImpl(
|
||||
configuration, LinkInfoImpl.Kind.MEMBER, field.asType()));
|
||||
pre.add(fieldlink);
|
||||
pre.add(" ");
|
||||
if (configuration.linksource) {
|
||||
Content fieldName = new StringContent(name(field));
|
||||
writer.addSrcLink(field, fieldName, pre);
|
||||
} else {
|
||||
addName(name(field), pre);
|
||||
}
|
||||
return pre;
|
||||
return new MemberSignature(field)
|
||||
.addType(field.asType())
|
||||
.toContent();
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -1715,20 +1715,7 @@ public class HtmlDocletWriter {
|
||||
* added
|
||||
*/
|
||||
public void addAnnotationInfo(PackageElement packageElement, Content htmltree) {
|
||||
addAnnotationInfo(packageElement, packageElement.getAnnotationMirrors(), htmltree);
|
||||
}
|
||||
|
||||
/**
|
||||
* Add the annotation types of the executable receiver.
|
||||
*
|
||||
* @param method the executable to write the receiver annotations for.
|
||||
* @param descList a list of annotation mirrors.
|
||||
* @param htmltree the documentation tree to which the annotation info will be
|
||||
* added
|
||||
*/
|
||||
public void addReceiverAnnotationInfo(ExecutableElement method, List<AnnotationMirror> descList,
|
||||
Content htmltree) {
|
||||
addAnnotationInfo(0, method, descList, false, htmltree);
|
||||
addAnnotationInfo(packageElement.getAnnotationMirrors(), htmltree);
|
||||
}
|
||||
|
||||
/*
|
||||
@ -1739,7 +1726,7 @@ public class HtmlDocletWriter {
|
||||
List<? extends AnnotationMirror> annotationMirrors, Content htmltree) {
|
||||
TypeMirror rcvrType = method.getReceiverType();
|
||||
List<? extends AnnotationMirror> annotationMirrors1 = rcvrType.getAnnotationMirrors();
|
||||
addAnnotationInfo(0, method, annotationMirrors1, false, htmltree);
|
||||
htmltree.add(getAnnotationInfo(annotationMirrors1, false));
|
||||
}
|
||||
|
||||
/**
|
||||
@ -1749,97 +1736,65 @@ public class HtmlDocletWriter {
|
||||
* @param htmltree the content tree to which the annotation types will be added
|
||||
*/
|
||||
public void addAnnotationInfo(Element element, Content htmltree) {
|
||||
addAnnotationInfo(element, element.getAnnotationMirrors(), htmltree);
|
||||
addAnnotationInfo(element.getAnnotationMirrors(), htmltree);
|
||||
}
|
||||
|
||||
/**
|
||||
* Add the annotatation types for the given element and parameter.
|
||||
*
|
||||
* @param indent the number of spaces to indent the parameters.
|
||||
* @param element the element to write annotations for.
|
||||
* @param param the parameter to write annotations for.
|
||||
* @param tree the content tree to which the annotation types will be added
|
||||
*/
|
||||
public boolean addAnnotationInfo(int indent, Element element, VariableElement param,
|
||||
Content tree) {
|
||||
return addAnnotationInfo(indent, element, param.getAnnotationMirrors(), false, tree);
|
||||
public boolean addAnnotationInfo(VariableElement param, Content tree) {
|
||||
Content annotaionInfo = getAnnotationInfo(param.getAnnotationMirrors(), false);
|
||||
if (annotaionInfo.isEmpty()) {
|
||||
return false;
|
||||
}
|
||||
tree.add(annotaionInfo);
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds the annotatation types for the given Element.
|
||||
*
|
||||
* @param element the element to write annotations for.
|
||||
* @param descList a list of annotation mirrors.
|
||||
* @param htmltree the documentation tree to which the annotation info will be
|
||||
* added
|
||||
*/
|
||||
private void addAnnotationInfo(Element element, List<? extends AnnotationMirror> descList,
|
||||
Content htmltree) {
|
||||
addAnnotationInfo(0, element, descList, true, htmltree);
|
||||
private void addAnnotationInfo(List<? extends AnnotationMirror> descList, Content htmltree) {
|
||||
htmltree.add(getAnnotationInfo(descList, true));
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds the annotation types for the given element.
|
||||
* Return a content tree containing the annotation types for the given element.
|
||||
*
|
||||
* @param indent the number of extra spaces to indent the annotations.
|
||||
* @param element the element to write annotations for.
|
||||
* @param descList a list of annotation mirrors.
|
||||
* @param htmltree the documentation tree to which the annotation info will be
|
||||
* added
|
||||
* @return the documentation tree containing the annotation info.
|
||||
*/
|
||||
private boolean addAnnotationInfo(int indent, Element element,
|
||||
List<? extends AnnotationMirror> descList, boolean lineBreak, Content htmltree) {
|
||||
List<Content> annotations = getAnnotations(indent, descList, lineBreak);
|
||||
Content getAnnotationInfo(List<? extends AnnotationMirror> descList, boolean lineBreak) {
|
||||
List<Content> annotations = getAnnotations(descList, lineBreak);
|
||||
String sep = "";
|
||||
if (annotations.isEmpty()) {
|
||||
return false;
|
||||
}
|
||||
ContentBuilder builder = new ContentBuilder();
|
||||
for (Content annotation: annotations) {
|
||||
htmltree.add(sep);
|
||||
htmltree.add(annotation);
|
||||
builder.add(sep);
|
||||
builder.add(annotation);
|
||||
if (!lineBreak) {
|
||||
sep = " ";
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the string representations of the annotation types for
|
||||
* the given doc.
|
||||
*
|
||||
* @param indent the number of extra spaces to indent the annotations.
|
||||
* @param descList a list of annotation mirrors.
|
||||
* @param linkBreak if true, add new line between each member value.
|
||||
* @return a list of strings representing the annotations being
|
||||
* documented.
|
||||
*/
|
||||
private List<Content> getAnnotations(int indent, List<? extends AnnotationMirror> descList, boolean linkBreak) {
|
||||
return getAnnotations(indent, descList, linkBreak, true);
|
||||
}
|
||||
|
||||
private List<Content> getAnnotations(int indent, AnnotationMirror amirror, boolean linkBreak) {
|
||||
List<AnnotationMirror> descList = new ArrayList<>();
|
||||
descList.add(amirror);
|
||||
return getAnnotations(indent, descList, linkBreak, true);
|
||||
return builder;
|
||||
}
|
||||
|
||||
/**
|
||||
* 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 a list of annotation mirrors.
|
||||
* @param linkBreak if true, add new line between each member value.
|
||||
* @param isJava5DeclarationLocation
|
||||
* @return a list of strings representing the annotations being
|
||||
* documented.
|
||||
*/
|
||||
public List<Content> getAnnotations(int indent, List<? extends AnnotationMirror> descList,
|
||||
boolean linkBreak, boolean isJava5DeclarationLocation) {
|
||||
public List<Content> getAnnotations(List<? extends AnnotationMirror> descList, boolean linkBreak) {
|
||||
List<Content> results = new ArrayList<>();
|
||||
ContentBuilder annotation;
|
||||
for (AnnotationMirror aDesc : descList) {
|
||||
@ -1853,11 +1808,6 @@ public class HtmlDocletWriter {
|
||||
(!isAnnotationDocumented && !isContainerDocumented)) {
|
||||
continue;
|
||||
}
|
||||
/* TODO: check logic here to correctly handle declaration
|
||||
* and type annotations.
|
||||
if (utils.isDeclarationAnnotation(annotationElement, isJava5DeclarationLocation)) {
|
||||
continue;
|
||||
}*/
|
||||
annotation = new ContentBuilder();
|
||||
isAnnotationDocumented = false;
|
||||
LinkInfoImpl linkInfo = new LinkInfoImpl(configuration,
|
||||
@ -1900,9 +1850,7 @@ public class HtmlDocletWriter {
|
||||
new SimpleAnnotationValueVisitor9<Void, List<AnnotationValue>>() {
|
||||
@Override
|
||||
public Void visitArray(List<? extends AnnotationValue> vals, List<AnnotationValue> annotationTypeValues) {
|
||||
for (AnnotationValue av : vals) {
|
||||
annotationTypeValues.add(av);
|
||||
}
|
||||
annotationTypeValues.addAll(vals);
|
||||
return null;
|
||||
}
|
||||
}.visit(a, annotationTypeValues);
|
||||
@ -1917,13 +1865,11 @@ public class HtmlDocletWriter {
|
||||
// If the container has 1 or more value defined and if the
|
||||
// repeatable type annotation is not documented, print the container.
|
||||
else {
|
||||
addAnnotations(annotationElement, linkInfo, annotation, pairs,
|
||||
indent, false);
|
||||
addAnnotations(annotationElement, linkInfo, annotation, pairs, false);
|
||||
}
|
||||
}
|
||||
else {
|
||||
addAnnotations(annotationElement, linkInfo, annotation, pairs,
|
||||
indent, linkBreak);
|
||||
addAnnotations(annotationElement, linkInfo, annotation, pairs, linkBreak);
|
||||
}
|
||||
annotation.add(linkBreak ? DocletConstants.NL : "");
|
||||
results.add(annotation);
|
||||
@ -1938,13 +1884,12 @@ public class HtmlDocletWriter {
|
||||
* @param linkInfo the information about the link
|
||||
* @param annotation the annotation string to which the annotation will be added
|
||||
* @param map annotation type element to annotation value pairs
|
||||
* @param indent the number of extra spaces to indent the annotations.
|
||||
* @param linkBreak if true, add new line between each member value
|
||||
*/
|
||||
private void addAnnotations(TypeElement annotationDoc, LinkInfoImpl linkInfo,
|
||||
ContentBuilder annotation,
|
||||
Map<? extends ExecutableElement, ? extends AnnotationValue> map,
|
||||
int indent, boolean linkBreak) {
|
||||
boolean linkBreak) {
|
||||
linkInfo.label = new StringContent("@");
|
||||
linkInfo.label.add(annotationDoc.getSimpleName());
|
||||
annotation.add(getLink(linkInfo));
|
||||
@ -1961,7 +1906,7 @@ public class HtmlDocletWriter {
|
||||
if (linkBreak) {
|
||||
annotation.add(DocletConstants.NL);
|
||||
int spaces = annotationDoc.getSimpleName().length() + 2;
|
||||
for (int k = 0; k < (spaces + indent); k++) {
|
||||
for (int k = 0; k < (spaces); k++) {
|
||||
annotation.add(" ");
|
||||
}
|
||||
}
|
||||
@ -2074,7 +2019,7 @@ public class HtmlDocletWriter {
|
||||
}
|
||||
@Override
|
||||
public Content visitAnnotation(AnnotationMirror a, Void p) {
|
||||
List<Content> list = getAnnotations(0, a, false);
|
||||
List<Content> list = getAnnotations(List.of(a), false);
|
||||
ContentBuilder buf = new ContentBuilder();
|
||||
for (Content c : list) {
|
||||
buf.add(c);
|
||||
|
@ -41,6 +41,7 @@ import jdk.javadoc.internal.doclets.toolkit.Content;
|
||||
import jdk.javadoc.internal.doclets.toolkit.Resources;
|
||||
import jdk.javadoc.internal.doclets.toolkit.util.DocPath;
|
||||
import jdk.javadoc.internal.doclets.toolkit.util.DocPaths;
|
||||
import jdk.javadoc.internal.doclets.toolkit.util.DocletConstants;
|
||||
import jdk.javadoc.internal.doclets.toolkit.util.links.LinkFactory;
|
||||
import jdk.javadoc.internal.doclets.toolkit.util.links.LinkInfo;
|
||||
|
||||
@ -134,7 +135,7 @@ public class LinkFactoryImpl extends LinkFactory {
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
protected Content getTypeParameterLinks(LinkInfo linkInfo, boolean isClassLabel){
|
||||
protected Content getTypeParameterLinks(LinkInfo linkInfo, boolean isClassLabel) {
|
||||
Content links = newContent();
|
||||
List<TypeMirror> vars = new ArrayList<>();
|
||||
TypeMirror ctype = linkInfo.type != null
|
||||
@ -164,6 +165,9 @@ public class LinkFactoryImpl extends LinkFactory {
|
||||
if (many) {
|
||||
links.add(",");
|
||||
links.add(Entity.ZERO_WIDTH_SPACE);
|
||||
if (((LinkInfoImpl) linkInfo).getContext() == LinkInfoImpl.Kind.MEMBER_TYPE_PARAMS) {
|
||||
links.add(DocletConstants.NL);
|
||||
}
|
||||
}
|
||||
links.add(getTypeParameterLink(linkInfo, t));
|
||||
many = true;
|
||||
@ -186,7 +190,6 @@ public class LinkFactoryImpl extends LinkFactory {
|
||||
typeLinkInfo.excludeTypeBounds = linkInfo.excludeTypeBounds;
|
||||
typeLinkInfo.excludeTypeParameterLinks = linkInfo.excludeTypeParameterLinks;
|
||||
typeLinkInfo.linkToSelf = linkInfo.linkToSelf;
|
||||
typeLinkInfo.isJava5DeclarationLocation = false;
|
||||
return getLink(typeLinkInfo);
|
||||
}
|
||||
|
||||
@ -218,7 +221,7 @@ public class LinkFactoryImpl extends LinkFactory {
|
||||
if (annotations.isEmpty())
|
||||
return links;
|
||||
|
||||
List<Content> annos = m_writer.getAnnotations(0, annotations, false, linkInfo.isJava5DeclarationLocation);
|
||||
List<Content> annos = m_writer.getAnnotations(annotations, false);
|
||||
|
||||
boolean isFirst = true;
|
||||
for (Content anno : annos) {
|
||||
|
@ -36,7 +36,6 @@ import javax.lang.model.type.TypeMirror;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.ContentBuilder;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.Entity;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlStyle;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTag;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTree;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.StringContent;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.Table;
|
||||
@ -140,23 +139,12 @@ public class MethodWriterImpl extends AbstractExecutableMemberWriter
|
||||
*/
|
||||
@Override
|
||||
public Content getSignature(ExecutableElement method) {
|
||||
HtmlTree pre = new HtmlTree(HtmlTag.PRE);
|
||||
pre.setStyle(HtmlStyle.methodSignature);
|
||||
writer.addAnnotationInfo(method, pre);
|
||||
int annotationLength = pre.charCount();
|
||||
addModifiers(method, pre);
|
||||
addTypeParameters(method, pre);
|
||||
addReturnType(method, pre);
|
||||
if (configuration.linksource) {
|
||||
Content methodName = new StringContent(name(method));
|
||||
writer.addSrcLink(method, methodName, pre);
|
||||
} else {
|
||||
addName(name(method), pre);
|
||||
}
|
||||
int indent = pre.charCount() - annotationLength;
|
||||
addParameters(method, pre, indent);
|
||||
addExceptions(method, pre, indent);
|
||||
return pre;
|
||||
return new MemberSignature(method)
|
||||
.addTypeParameters(getTypeParameters(method))
|
||||
.addReturnType(getReturnType(method))
|
||||
.addParameters(getParameters(method, true))
|
||||
.addExceptions(getExceptions(method))
|
||||
.toContent();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -399,19 +387,17 @@ public class MethodWriterImpl extends AbstractExecutableMemberWriter
|
||||
}
|
||||
|
||||
/**
|
||||
* Add the return type.
|
||||
* Get the return type for the given method.
|
||||
*
|
||||
* @param method the method being documented.
|
||||
* @param htmltree the content tree to which the return type will be added
|
||||
* @return content containing the return type
|
||||
*/
|
||||
protected void addReturnType(ExecutableElement method, Content htmltree) {
|
||||
protected Content getReturnType(ExecutableElement method) {
|
||||
TypeMirror type = utils.getReturnType(method);
|
||||
if (type != null) {
|
||||
Content linkContent = writer.getLink(
|
||||
new LinkInfoImpl(configuration, LinkInfoImpl.Kind.RETURN_TYPE, type));
|
||||
htmltree.add(linkContent);
|
||||
htmltree.add(Entity.NO_BREAK_SPACE);
|
||||
return writer.getLink(new LinkInfoImpl(configuration, LinkInfoImpl.Kind.RETURN_TYPE, type));
|
||||
}
|
||||
return new ContentBuilder();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -32,7 +32,6 @@ import javax.lang.model.element.TypeElement;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.ContentBuilder;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.Entity;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlStyle;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTag;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTree;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.StringContent;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.Table;
|
||||
@ -114,21 +113,9 @@ public class PropertyWriterImpl extends AbstractMemberWriter
|
||||
*/
|
||||
@Override
|
||||
public Content getSignature(ExecutableElement property) {
|
||||
Content pre = new HtmlTree(HtmlTag.PRE);
|
||||
writer.addAnnotationInfo(property, pre);
|
||||
addModifiers(property, pre);
|
||||
Content propertylink = writer.getLink(new LinkInfoImpl(
|
||||
configuration, LinkInfoImpl.Kind.MEMBER,
|
||||
utils.getReturnType(property)));
|
||||
pre.add(propertylink);
|
||||
pre.add(" ");
|
||||
if (configuration.linksource) {
|
||||
Content propertyName = new StringContent(name(property));
|
||||
writer.addSrcLink(property, propertyName, pre);
|
||||
} else {
|
||||
addName(name(property), pre);
|
||||
}
|
||||
return pre;
|
||||
return new MemberSignature(property)
|
||||
.addType(utils.getReturnType(property))
|
||||
.toContent();
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2010, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2010, 2019, 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
|
||||
@ -41,6 +41,8 @@ public enum HtmlStyle {
|
||||
allClassesContainer,
|
||||
allPackagesContainer,
|
||||
altColor,
|
||||
annotations,
|
||||
arguments,
|
||||
bar,
|
||||
block,
|
||||
blockList,
|
||||
@ -70,6 +72,7 @@ public enum HtmlStyle {
|
||||
detail,
|
||||
docSummary,
|
||||
emphasizedPhrase,
|
||||
exceptions,
|
||||
externalLink,
|
||||
fieldDetails,
|
||||
fieldSummary,
|
||||
@ -91,12 +94,15 @@ public enum HtmlStyle {
|
||||
legalCopy,
|
||||
mainContainer,
|
||||
memberDetails,
|
||||
memberName,
|
||||
memberNameLabel,
|
||||
memberNameLink,
|
||||
memberSignature,
|
||||
memberSummary,
|
||||
methodDetails,
|
||||
methodSignature,
|
||||
methodSummary,
|
||||
modifiers,
|
||||
moduleDescription,
|
||||
moduleLabelInPackage,
|
||||
moduleLabelInType,
|
||||
@ -122,6 +128,7 @@ public enum HtmlStyle {
|
||||
providesSummary,
|
||||
requiresSummary,
|
||||
returnLabel,
|
||||
returnType,
|
||||
rightContainer,
|
||||
rightIframe,
|
||||
rowColor,
|
||||
@ -147,6 +154,8 @@ public enum HtmlStyle {
|
||||
topNav,
|
||||
typeNameLabel,
|
||||
typeNameLink,
|
||||
typeParameters,
|
||||
typeParametersLong,
|
||||
typeSummary,
|
||||
useSummary,
|
||||
usesSummary
|
||||
|
@ -112,6 +112,11 @@ public class RawHtml extends Content {
|
||||
state = State.ENTITY;
|
||||
count++;
|
||||
break;
|
||||
case '\r':
|
||||
case '\n':
|
||||
// Windows uses "\r\n" as line separator while UNIX uses "\n".
|
||||
// Ignore line separators to get consistent results across platforms.
|
||||
break;
|
||||
default:
|
||||
count++;
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
/*
|
||||
/*
|
||||
* Javadoc style sheet
|
||||
*/
|
||||
|
||||
@ -165,7 +165,7 @@ button {
|
||||
height:2.8em;
|
||||
padding-top:10px;
|
||||
overflow:hidden;
|
||||
font-size:12px;
|
||||
font-size:12px;
|
||||
}
|
||||
.bottomNav {
|
||||
margin-top:10px;
|
||||
@ -533,9 +533,9 @@ td.colSecond a:link, td.colSecond a:visited,
|
||||
th.colFirst a:link, th.colFirst a:visited,
|
||||
th.colSecond a:link, th.colSecond a:visited,
|
||||
th.colConstructorName a:link, th.colConstructorName a:visited,
|
||||
th.colDeprecatedItemName a:link, th.colDeprecatedItemName a:visited,
|
||||
.constantValuesContainer td a:link, .constantValuesContainer td a:visited,
|
||||
.allClassesContainer td a:link, .allClassesContainer td a:visited,
|
||||
th.colDeprecatedItemName a:link, th.colDeprecatedItemName a:visited,
|
||||
.constantValuesContainer td a:link, .constantValuesContainer td a:visited,
|
||||
.allClassesContainer td a:link, .allClassesContainer td a:visited,
|
||||
.allPackagesContainer td a:link, .allPackagesContainer td a:visited {
|
||||
font-weight:bold;
|
||||
}
|
||||
@ -571,6 +571,26 @@ td.colLast div {
|
||||
td.colLast a {
|
||||
padding-bottom:3px;
|
||||
}
|
||||
div.memberSignature {
|
||||
font-family:'DejaVu Sans Mono', monospace;
|
||||
font-size:14px;
|
||||
margin-top:6px;
|
||||
margin-bottom:14px;
|
||||
white-space: pre-wrap;
|
||||
}
|
||||
div.memberSignature span.annotations {
|
||||
white-space: pre-wrap;
|
||||
}
|
||||
div.memberSignature span.typeParametersLong,
|
||||
div.memberSignature span.arguments,
|
||||
div.memberSignature span.exceptions {
|
||||
display: inline-block;
|
||||
vertical-align: top;
|
||||
white-space: pre;
|
||||
}
|
||||
div.memberSignature span.typeParameters {
|
||||
white-space: normal;
|
||||
}
|
||||
/*
|
||||
* Styles for formatting effect.
|
||||
*/
|
||||
@ -616,12 +636,12 @@ div.block div.block span.interfaceName {
|
||||
* Styles for IFRAME.
|
||||
*/
|
||||
.mainContainer {
|
||||
margin:0 auto;
|
||||
padding:0;
|
||||
height:100%;
|
||||
width:100%;
|
||||
position:fixed;
|
||||
top:0;
|
||||
margin:0 auto;
|
||||
padding:0;
|
||||
height:100%;
|
||||
width:100%;
|
||||
position:fixed;
|
||||
top:0;
|
||||
left:0;
|
||||
}
|
||||
.leftContainer {
|
||||
|
@ -71,12 +71,6 @@ public abstract class LinkInfo {
|
||||
*/
|
||||
public boolean isTypeBound = false;
|
||||
|
||||
/**
|
||||
* Whether the document element is in a Java 5 declaration
|
||||
* location or not.
|
||||
*/
|
||||
public boolean isJava5DeclarationLocation = true;
|
||||
|
||||
/**
|
||||
* The label for the link.
|
||||
*/
|
||||
@ -161,7 +155,6 @@ public abstract class LinkInfo {
|
||||
", type=" + type +
|
||||
", isVarArg=" + isVarArg +
|
||||
", isTypeBound=" + isTypeBound +
|
||||
", isJava5DeclarationLocation=" + isJava5DeclarationLocation +
|
||||
", label=" + label +
|
||||
", isStrong=" + isStrong +
|
||||
", includeTypeInClassLinkLabel=" + includeTypeInClassLinkLabel +
|
||||
|
@ -65,8 +65,9 @@ public class TestAnnotationTypes extends JavadocTester {
|
||||
+ "<a id=\"DEFAULT_NAME\">\n"
|
||||
+ "<!-- -->\n"
|
||||
+ "</a>\n"
|
||||
+ "<pre>static final java."
|
||||
+ "lang.String DEFAULT_NAME</pre>");
|
||||
+ "<div class=\"memberSignature\"><span class=\"modifiers\">static final</span> "
|
||||
+ "<span class=\"returnType\">java.lang.String</span> "
|
||||
+ "<span class=\"memberName\">DEFAULT_NAME</span></div>\n");
|
||||
|
||||
checkOutput("pkg/AnnotationType.html", true,
|
||||
"<li>Summary: </li>\n"
|
||||
@ -90,7 +91,8 @@ public class TestAnnotationTypes extends JavadocTester {
|
||||
"<a id=\"value()\">",
|
||||
"<!-- -->",
|
||||
"</a>",
|
||||
"<pre>int value</pre>");
|
||||
"<div class=\"memberSignature\"><span class=\"returnType\">int</span>"
|
||||
+ " <span class=\"memberName\">value</span></div>");
|
||||
|
||||
checkOutput("pkg/AnnotationType.html", false,
|
||||
"<HR>\n\n"
|
||||
|
@ -82,14 +82,16 @@ public class TestDeprecatedDocs extends JavadocTester {
|
||||
"<pre>@Deprecated\n"
|
||||
+ "public class <span class=\"typeNameLabel\">DeprecatedClassByAnnotation</span>\n"
|
||||
+ "extends java.lang.Object</pre>",
|
||||
"<pre>@Deprecated(forRemoval=true)\n"
|
||||
+ "public int field</pre>\n"
|
||||
"<div class=\"memberSignature\"><span class=\"annotations\">@Deprecated(forRemoval=true)\n"
|
||||
+ "</span><span class=\"modifiers\">public</span> <span class=\"returnType\">int</span>"
|
||||
+ " <span class=\"memberName\">field</span></div>\n"
|
||||
+ "<div class=\"deprecationBlock\"><span class=\"deprecatedLabel\">Deprecated, for removal: This API element is subject to removal in a future version.</span></div>",
|
||||
"<pre>@Deprecated(forRemoval=true)\n"
|
||||
+ "public DeprecatedClassByAnnotation()</pre>\n"
|
||||
"<div class=\"memberSignature\"><span class=\"annotations\">@Deprecated(forRemoval=true)\n"
|
||||
+ "</span><span class=\"modifiers\">public</span> <span class=\"memberName\">DeprecatedClassByAnnotation</span>()</div>\n"
|
||||
+ "<div class=\"deprecationBlock\"><span class=\"deprecatedLabel\">Deprecated, for removal: This API element is subject to removal in a future version.</span></div>",
|
||||
"<pre class=\"methodSignature\">@Deprecated\n"
|
||||
+ "public void method()</pre>\n"
|
||||
"<div class=\"memberSignature\"><span class=\"annotations\">@Deprecated\n"
|
||||
+ "</span><span class=\"modifiers\">public</span> <span class=\"returnType\">"
|
||||
+ "void</span> <span class=\"memberName\">method</span>()</div>\n"
|
||||
+ "<div class=\"deprecationBlock\"><span class=\"deprecatedLabel\">Deprecated.</span></div>");
|
||||
|
||||
checkOutput("pkg/TestAnnotationType.html", true,
|
||||
@ -100,18 +102,19 @@ public class TestDeprecatedDocs extends JavadocTester {
|
||||
+ "<div class=\"deprecationBlock\"><span class=\"deprecatedLabel\">Deprecated, for removal: This API element is subject to removal in a future version.</span>\n"
|
||||
+ "<div class=\"deprecationComment\">annotation_test1 passes.</div>\n"
|
||||
+ "</div>",
|
||||
"<pre>@Deprecated(forRemoval=true)\n"
|
||||
+ "static final int field</pre>\n"
|
||||
"<div class=\"memberSignature\"><span class=\"annotations\">@Deprecated(forRemoval=true)\n" +
|
||||
"</span><span class=\"modifiers\">static final</span> <span class=\"returnType\">int</span> <span class=\"memberName\">field</span></div>\n"
|
||||
+ "<div class=\"deprecationBlock\"><span class=\"deprecatedLabel\">Deprecated, for removal: This "
|
||||
+ "API element is subject to removal in a future version.</span>\n"
|
||||
+ "<div class=\"deprecationComment\">annotation_test4 passes.</div>\n"
|
||||
+ "</div>",
|
||||
"<pre>@Deprecated(forRemoval=true)\n"
|
||||
+ "int required</pre>\n"
|
||||
"<div class=\"memberSignature\"><span class=\"annotations\">@Deprecated(forRemoval=true)\n"
|
||||
+ "</span><span class=\"returnType\">int</span> <span class=\"memberName\">required</span></div>\n"
|
||||
+ "<div class=\"deprecationBlock\"><span class=\"deprecatedLabel\">Deprecated, for removal: This API element is subject to removal in a future version.</span>\n"
|
||||
+ "<div class=\"deprecationComment\">annotation_test3 passes.</div>\n"
|
||||
+ "</div>",
|
||||
"<pre>java.lang.String optional</pre>\n"
|
||||
"<div class=\"memberSignature\"><span class=\"returnType\">java.lang.String</span>"
|
||||
+ " <span class=\"memberName\">optional</span></div>\n"
|
||||
+ "<div class=\"deprecationBlock\"><span class=\"deprecatedLabel\">Deprecated.</span>\n"
|
||||
+ "<div class=\"deprecationComment\">annotation_test2 passes.</div>\n"
|
||||
+ "</div>");
|
||||
@ -124,8 +127,8 @@ public class TestDeprecatedDocs extends JavadocTester {
|
||||
+ "<div class=\"deprecationBlock\"><span class=\"deprecatedLabel\">Deprecated, for removal: This API element is subject to removal in a future version.</span>\n"
|
||||
+ "<div class=\"deprecationComment\">class_test1 passes.</div>\n"
|
||||
+ "</div>",
|
||||
"<pre>@Deprecated(forRemoval=true)\n"
|
||||
+ "public TestClass()</pre>\n"
|
||||
"<div class=\"memberSignature\"><span class=\"annotations\">@Deprecated(forRemoval=true)\n"
|
||||
+ "</span><span class=\"modifiers\">public</span> <span class=\"memberName\">TestClass</span>()</div>\n"
|
||||
+ "<div class=\"deprecationBlock\"><span class=\"deprecatedLabel\">Deprecated, for removal: This API element is subject to removal in a future version.</span>\n"
|
||||
+ "<div class=\"deprecationComment\">class_test3 passes. This is the second sentence of deprecated description for a constructor.</div>\n"
|
||||
+ "</div>",
|
||||
@ -164,8 +167,9 @@ public class TestDeprecatedDocs extends JavadocTester {
|
||||
+ "<div class=\"deprecationBlock\"><span class=\"deprecatedLabel\">Deprecated, for removal: This API element is subject to removal in a future version.</span>\n"
|
||||
+ "<div class=\"deprecationComment\">enum_test1 passes.</div>\n"
|
||||
+ "</div>",
|
||||
"<pre>@Deprecated(forRemoval=true)\n"
|
||||
+ "public static final <a href=\"TestEnum.html\" title=\"enum in pkg\">TestEnum</a> FOR_REMOVAL</pre>\n"
|
||||
"<div class=\"memberSignature\"><span class=\"annotations\">@Deprecated(forRemoval=true)\n"
|
||||
+ "</span><span class=\"modifiers\">public static final</span> <span class=\"returnType\">"
|
||||
+ "<a href=\"TestEnum.html\" title=\"enum in pkg\">TestEnum</a></span> <span class=\"memberName\">FOR_REMOVAL</span></div>\n"
|
||||
+ "<div class=\"deprecationBlock\"><span class=\"deprecatedLabel\">Deprecated, for removal: This API element is subject to removal in a future version.</span>\n"
|
||||
+ "<div class=\"deprecationComment\">enum_test3 passes.</div>\n"
|
||||
+ "</div>");
|
||||
|
@ -373,21 +373,22 @@ public class TestHtmlDefinitionListTag extends JavadocTester {
|
||||
// Test with -nocomment and -nodeprecated options. The ClassDocs whould
|
||||
// not display definition lists for any member details.
|
||||
checkOutput("pkg1/C1.html", expectFound,
|
||||
"<pre class=\"methodSignature\">public void readObject()\n" +
|
||||
" throws java.io.IOException</pre>\n" +
|
||||
"<div class=\"memberSignature\"><span class=\"modifiers\">public</span> " +
|
||||
"<span class=\"returnType\">void</span> <span class=\"memberName\">readObject</span>()\n" +
|
||||
" throws <span class=\"exceptions\">java.io.IOException</span></div>\n" +
|
||||
"</section>\n" +
|
||||
"</li>");
|
||||
|
||||
checkOutput("pkg1/C2.html", expectFound,
|
||||
"<pre>public C2()</pre>\n" +
|
||||
"<div class=\"memberSignature\"><span class=\"modifiers\">public</span>" +
|
||||
" <span class=\"memberName\">C2</span>()</div>\n" +
|
||||
"</section>\n" +
|
||||
"</li>");
|
||||
|
||||
checkOutput("pkg1/C1.ModalExclusionType.html", expectFound,
|
||||
"<pre>public " +
|
||||
"static final <a href=\"C1.ModalExclusionType.html\" " +
|
||||
"title=\"enum in pkg1\">C1.ModalExclusionType</a> " +
|
||||
"APPLICATION_EXCLUDE</pre>\n" +
|
||||
"<div class=\"memberSignature\"><span class=\"modifiers\">public static final</span> " +
|
||||
"<span class=\"returnType\"><a href=\"C1.ModalExclusionType.html\" title=\"enum in pkg1\">" +
|
||||
"C1.ModalExclusionType</a></span> <span class=\"memberName\">APPLICATION_EXCLUDE</span></div>\n" +
|
||||
"</section>\n" +
|
||||
"</li>");
|
||||
|
||||
|
@ -48,11 +48,12 @@ public class TestIndentation extends JavadocTester {
|
||||
checkExit(Exit.OK);
|
||||
|
||||
checkOutput("p/Indent.html", true,
|
||||
"<pre class=\"methodSignature\">public <T> void m​(T t1,",
|
||||
"\n"
|
||||
+ " T t2)",
|
||||
"\n"
|
||||
+ " throws java.lang.Exception");
|
||||
"<div class=\"memberSignature\"><span class=\"modifiers\">public</span> "
|
||||
+ "<span class=\"typeParameters\"><T></span> "
|
||||
+ "<span class=\"returnType\">void</span> <span class=\"memberName\">m</span>"
|
||||
+ "​(<span class=\"arguments\">T t1,\n"
|
||||
+ "T t2)</span>\n"
|
||||
+ " throws <span class=\"exceptions\">java.lang.Exception</span></div>");
|
||||
|
||||
// Test indentation of annotations and annotated method arguments
|
||||
checkOutput("p/IndentAnnot.html", false,
|
||||
|
@ -67,8 +67,10 @@ public class TestInterface extends JavadocTester {
|
||||
checkExit(Exit.OK);
|
||||
|
||||
checkOutput("pkg/Interface.html", true,
|
||||
"<pre class=\"methodSignature\">int method()</pre>",
|
||||
"<pre>static final int field</pre>",
|
||||
"<div class=\"memberSignature\"><span class=\"returnType\">int</span> "
|
||||
+ "<span class=\"memberName\">method</span>()</div>",
|
||||
"<div class=\"memberSignature\"><span class=\"modifiers\">static final</span> "
|
||||
+ "<span class=\"returnType\">int</span> <span class=\"memberName\">field</span></div>",
|
||||
// Make sure known implementing class list is correct and omits type parameters.
|
||||
"<dl>\n"
|
||||
+ "<dt>All Known Implementing Classes:</dt>\n"
|
||||
@ -126,7 +128,8 @@ public class TestInterface extends JavadocTester {
|
||||
+ "<a id=\"f\">\n"
|
||||
+ "<!-- -->\n"
|
||||
+ "</a>\n"
|
||||
+ "<pre>public static int f</pre>\n"
|
||||
+ "<div class=\"memberSignature\"><span class=\"modifiers\">public static</span> "
|
||||
+ "<span class=\"returnType\">int</span> <span class=\"memberName\">f</span></div>\n"
|
||||
+ "<div class=\"block\">A hider field</div>",
|
||||
|
||||
"<td class=\"colFirst\"><code>static void</code></td>\n"
|
||||
@ -140,7 +143,8 @@ public class TestInterface extends JavadocTester {
|
||||
+ "<a id=\"staticMethod()\">\n"
|
||||
+ "<!-- -->\n"
|
||||
+ "</a>\n"
|
||||
+ "<pre class=\"methodSignature\">public static void staticMethod()</pre>\n"
|
||||
+ "<div class=\"memberSignature\"><span class=\"modifiers\">public static</span> "
|
||||
+ "<span class=\"returnType\">void</span> <span class=\"memberName\">staticMethod</span>()</div>\n"
|
||||
+ "<div class=\"block\"><span class=\"descfrmTypeLabel\">"
|
||||
+ "Description copied from interface: <code>"
|
||||
+ "<a href=\"InterfaceWithStaticMembers.html#staticMethod()\">"
|
||||
|
@ -57,11 +57,14 @@ public class TestJavaFX extends JavadocTester {
|
||||
"<dt><span class=\"seeLabel\">See Also:</span></dt>\n"
|
||||
+ "<dd><a href=\"#getRate()\"><code>getRate()</code></a>, \n"
|
||||
+ "<a href=\"#setRate(double)\"><code>setRate(double)</code></a></dd>",
|
||||
"<pre class=\"methodSignature\">public final void setRate​(double value)</pre>\n"
|
||||
"<div class=\"memberSignature\"><span class=\"modifiers\">public final</span> "
|
||||
+ "<span class=\"returnType\">void</span> <span class=\"memberName\">setRate</span>​"
|
||||
+ "(<span class=\"arguments\">double value)</span></div>\n"
|
||||
+ "<div class=\"block\">Sets the value of the property rate.</div>\n"
|
||||
+ "<dl>\n"
|
||||
+ "<dt><span class=\"simpleTagLabel\">Property description:</span></dt>",
|
||||
"<pre class=\"methodSignature\">public final double getRate()</pre>\n"
|
||||
"<div class=\"memberSignature\"><span class=\"modifiers\">public final</span> "
|
||||
+ "<span class=\"returnType\">double</span> <span class=\"memberName\">getRate</span>()</div>\n"
|
||||
+ "<div class=\"block\">Gets the value of the property rate.</div>\n"
|
||||
+ "<dl>\n"
|
||||
+ "<dt><span class=\"simpleTagLabel\">Property description:</span></dt>",
|
||||
@ -90,20 +93,24 @@ public class TestJavaFX extends JavadocTester {
|
||||
+ "<a id=\"pausedProperty\">\n"
|
||||
+ "<!-- -->\n"
|
||||
+ "</a>\n"
|
||||
+ "<pre>public final <a href=\"C.BooleanProperty.html\" "
|
||||
+ "title=\"class in pkg1\">C.BooleanProperty</a> pausedProperty</pre>\n"
|
||||
+ "<div class=\"memberSignature\"><span class=\"modifiers\">public final</span> "
|
||||
+ "<span class=\"returnType\"><a href=\"C.BooleanProperty.html\" title=\"class in pkg1\">"
|
||||
+ "C.BooleanProperty</a></span> <span class=\"memberName\">pausedProperty</span></div>\n"
|
||||
+ "<div class=\"block\">Defines if paused. The second line.</div>",
|
||||
"<h3>isPaused</h3>\n"
|
||||
+ "<a id=\"isPaused()\">\n"
|
||||
+ "<!-- -->\n"
|
||||
+ "</a>\n"
|
||||
+ "<pre class=\"methodSignature\">public final double isPaused()</pre>\n"
|
||||
+ "<div class=\"memberSignature\"><span class=\"modifiers\">public final</span> "
|
||||
+ "<span class=\"returnType\">double</span> <span class=\"memberName\">isPaused</span>()</div>\n"
|
||||
+ "<div class=\"block\">Gets the value of the property paused.</div>",
|
||||
"<h3>setPaused</h3>\n"
|
||||
+ "<a id=\"setPaused(boolean)\">\n"
|
||||
+ "<!-- -->\n"
|
||||
+ "</a>\n"
|
||||
+ "<pre class=\"methodSignature\">public final void setPaused​(boolean value)</pre>\n"
|
||||
+ "<div class=\"memberSignature\"><span class=\"modifiers\">public final</span> "
|
||||
+ "<span class=\"returnType\">void</span> <span class=\"memberName\">setPaused</span>​"
|
||||
+ "(<span class=\"arguments\">boolean value)</span></div>\n"
|
||||
+ "<div class=\"block\">Sets the value of the property paused.</div>\n"
|
||||
+ "<dl>\n"
|
||||
+ "<dt><span class=\"simpleTagLabel\">Property description:</span></dt>\n"
|
||||
@ -114,7 +121,8 @@ public class TestJavaFX extends JavadocTester {
|
||||
+ "<a id=\"isPaused()\">\n"
|
||||
+ "<!-- -->\n"
|
||||
+ "</a>\n"
|
||||
+ "<pre class=\"methodSignature\">public final double isPaused()</pre>\n"
|
||||
+ "<div class=\"memberSignature\"><span class=\"modifiers\">public final</span> "
|
||||
+ "<span class=\"returnType\">double</span> <span class=\"memberName\">isPaused</span>()</div>\n"
|
||||
+ "<div class=\"block\">Gets the value of the property paused.</div>\n"
|
||||
+ "<dl>\n"
|
||||
+ "<dt><span class=\"simpleTagLabel\">Property description:</span></dt>\n"
|
||||
@ -125,8 +133,9 @@ public class TestJavaFX extends JavadocTester {
|
||||
+ "<a id=\"rateProperty\">\n"
|
||||
+ "<!-- -->\n"
|
||||
+ "</a>\n"
|
||||
+ "<pre>public final <a href=\"C.DoubleProperty.html\" "
|
||||
+ "title=\"class in pkg1\">C.DoubleProperty</a> rateProperty</pre>\n"
|
||||
+ "<div class=\"memberSignature\"><span class=\"modifiers\">public final</span> "
|
||||
+ "<span class=\"returnType\"><a href=\"C.DoubleProperty.html\" title=\"class in pkg1\">"
|
||||
+ "C.DoubleProperty</a></span> <span class=\"memberName\">rateProperty</span></div>\n"
|
||||
+ "<div class=\"block\">Defines the direction/speed at which the "
|
||||
+ "<code>Timeline</code> is expected to\n"
|
||||
+ " be played. This is the second line.</div>",
|
||||
@ -134,7 +143,9 @@ public class TestJavaFX extends JavadocTester {
|
||||
+ "<a id=\"setRate(double)\">\n"
|
||||
+ "<!-- -->\n"
|
||||
+ "</a>\n"
|
||||
+ "<pre class=\"methodSignature\">public final void setRate​(double value)</pre>\n"
|
||||
+ "<div class=\"memberSignature\"><span class=\"modifiers\">public final</span> "
|
||||
+ "<span class=\"returnType\">void</span> <span class=\"memberName\">setRate</span>​"
|
||||
+ "(<span class=\"arguments\">double value)</span></div>\n"
|
||||
+ "<div class=\"block\">Sets the value of the property rate.</div>\n"
|
||||
+ "<dl>\n"
|
||||
+ "<dt><span class=\"simpleTagLabel\">Property description:</span></dt>\n"
|
||||
@ -148,7 +159,8 @@ public class TestJavaFX extends JavadocTester {
|
||||
+ "<a id=\"getRate()\">\n"
|
||||
+ "<!-- -->\n"
|
||||
+ "</a>\n"
|
||||
+ "<pre class=\"methodSignature\">public final double getRate()</pre>\n"
|
||||
+ "<div class=\"memberSignature\"><span class=\"modifiers\">public final</span> "
|
||||
+ "<span class=\"returnType\">double</span> <span class=\"memberName\">getRate</span>()</div>\n"
|
||||
+ "<div class=\"block\">Gets the value of the property rate.</div>\n"
|
||||
+ "<dl>\n"
|
||||
+ "<dt><span class=\"simpleTagLabel\">Property description:</span></dt>\n"
|
||||
@ -224,7 +236,9 @@ public class TestJavaFX extends JavadocTester {
|
||||
+ "<a id=\"betaProperty\">\n"
|
||||
+ "<!-- -->\n"
|
||||
+ "</a>\n"
|
||||
+ "<pre>public java.lang.Object betaProperty</pre>\n"
|
||||
+ "<div class=\"memberSignature\"><span class=\"modifiers\">public</span> "
|
||||
+ "<span class=\"returnType\">java.lang.Object</span>"
|
||||
+ " <span class=\"memberName\">betaProperty</span></div>\n"
|
||||
+ "</section>\n"
|
||||
+ "</li>\n"
|
||||
+ "<li class=\"blockList\">\n"
|
||||
@ -233,7 +247,9 @@ public class TestJavaFX extends JavadocTester {
|
||||
+ "<a id=\"gammaProperty\">\n"
|
||||
+ "<!-- -->\n"
|
||||
+ "</a>\n"
|
||||
+ "<pre>public final java.util.List<java.lang.String> gammaProperty</pre>\n"
|
||||
+ "<div class=\"memberSignature\"><span class=\"modifiers\">public final</span> "
|
||||
+ "<span class=\"returnType\">java.util.List<java.lang.String></span>"
|
||||
+ " <span class=\"memberName\">gammaProperty</span></div>\n"
|
||||
+ "</section>\n"
|
||||
+ "</li>\n"
|
||||
+ "<li class=\"blockListLast\">\n"
|
||||
@ -242,8 +258,9 @@ public class TestJavaFX extends JavadocTester {
|
||||
+ "<a id=\"deltaProperty\">\n"
|
||||
+ "<!-- -->\n"
|
||||
+ "</a>\n"
|
||||
+ "<pre>public final java.util.List<"
|
||||
+ "java.util.Set<? super java.lang.Object>> deltaProperty</pre>\n"
|
||||
+ "<div class=\"memberSignature\"><span class=\"modifiers\">public final</span> "
|
||||
+ "<span class=\"returnType\">java.util.List<java.util.Set<? super java.lang.Object>>"
|
||||
+ "</span> <span class=\"memberName\">deltaProperty</span></div>\n"
|
||||
+ "</section>\n"
|
||||
+ "</li>\n"
|
||||
+ "</ul>\n"
|
||||
|
@ -57,7 +57,8 @@ public class TestLambdaFeature extends JavadocTester {
|
||||
|
||||
checkOutput("pkg/A.html", true,
|
||||
"<td class=\"colFirst\"><code>default void</code></td>",
|
||||
"<pre class=\"methodSignature\">default void defaultMethod()</pre>",
|
||||
"<div class=\"memberSignature\"><span class=\"modifiers\">default</span> "
|
||||
+ "<span class=\"returnType\">void</span> <span class=\"memberName\">defaultMethod</span>()</div>\n",
|
||||
"<div role=\"tablist\" aria-orientation=\"horizontal\"><button role=\"tab\""
|
||||
+ " aria-selected=\"true\" aria-controls=\"memberSummary_tabpanel\" tabindex=\"0\""
|
||||
+ " onkeydown=\"switchTab(event)\" id=\"t0\" class=\"activeTableTab\">All Methods"
|
||||
|
@ -74,13 +74,13 @@ public class TestLinkOption extends JavadocTester {
|
||||
checkOutput("pkg/C.html", true,
|
||||
"<a href=\"" + url + "java/lang/String.html?is-external=true\" "
|
||||
+ "title=\"class or interface in java.lang\" class=\"externalLink\"><code>Link to String Class</code></a>",
|
||||
//Make sure the parameters are indented properly when the -link option is used.
|
||||
//Make sure the parameters are formatted properly when the -link option is used.
|
||||
"(int p1,\n"
|
||||
+ " int p2,\n"
|
||||
+ " int p3)",
|
||||
+ "int p2,\n"
|
||||
+ "int p3)",
|
||||
"(int p1,\n"
|
||||
+ " int p2,\n"
|
||||
+ " <a href=\"" + url + "java/lang/Object.html?is-external=true\" title=\"class or interface in java.lang\" class=\"externalLink\">"
|
||||
+ "int p2,\n"
|
||||
+ "<a href=\"" + url + "java/lang/Object.html?is-external=true\" title=\"class or interface in java.lang\" class=\"externalLink\">"
|
||||
+ "Object</a> p3)");
|
||||
|
||||
checkOutput("pkg/B.html", true,
|
||||
|
@ -49,19 +49,19 @@ public class TestLiteralCodeInPre extends JavadocTester {
|
||||
checkExit(Exit.OK);
|
||||
|
||||
checkOutput("pkg/Test.html", true,
|
||||
"no_pre()</pre>\n"
|
||||
"no_pre</span>()</div>\n"
|
||||
+ "<div class=\"block\">abc<code>def</code>ghi</div>",
|
||||
"no_pre_extra_whitespace()</pre>\n"
|
||||
"no_pre_extra_whitespace</span>()</div>\n"
|
||||
+ "<div class=\"block\">abc<code> def </code>ghi</div>",
|
||||
"in_pre()</pre>\n"
|
||||
"in_pre</span>()</div>\n"
|
||||
+ "<div class=\"block\"><pre> abc<code> def </code>ghi</pre></div>",
|
||||
"pre_after_text()</pre>\n"
|
||||
"pre_after_text</span>()</div>\n"
|
||||
+ "<div class=\"block\">xyz <pre> abc<code> def </code>ghi</pre></div>",
|
||||
"after_pre()</pre>\n"
|
||||
"after_pre</span>()</div>\n"
|
||||
+ "<div class=\"block\">xyz <pre> pqr </pre> abc<code> def </code>ghi</div>",
|
||||
"back_in_pre()</pre>\n"
|
||||
"back_in_pre</span>()</div>\n"
|
||||
+ "<div class=\"block\">xyz <pre> pqr </pre> mno <pre> abc<code> def </code>ghi</pre></div>",
|
||||
"typical_usage_code()</pre>\n"
|
||||
"typical_usage_code</span>()</div>\n"
|
||||
+ "<div class=\"block\">Lorem ipsum dolor sit amet, consectetur adipiscing elit.\n"
|
||||
+ " Example: <pre><code>\n"
|
||||
+ " line 0 @Override\n"
|
||||
@ -70,7 +70,7 @@ public class TestLiteralCodeInPre extends JavadocTester {
|
||||
+ " line 3 }\n"
|
||||
+ " </code></pre>\n"
|
||||
+ " and so it goes.</div>",
|
||||
"typical_usage_literal()</pre>\n"
|
||||
"typical_usage_literal</span>()</div>\n"
|
||||
+ "<div class=\"block\">Lorem ipsum dolor sit amet, consectetur adipiscing elit.\n"
|
||||
+ " Example: <pre>\n"
|
||||
+ " line 0 @Override\n"
|
||||
@ -79,7 +79,7 @@ public class TestLiteralCodeInPre extends JavadocTester {
|
||||
+ " line 3 }\n"
|
||||
+ " </pre>\n"
|
||||
+ " and so it goes.</div>",
|
||||
"recommended_usage_literal()</pre>\n"
|
||||
"recommended_usage_literal</span>()</div>\n"
|
||||
+ "<div class=\"block\">Lorem ipsum dolor sit amet, consectetur adipiscing elit.\n"
|
||||
+ " Example: <pre>\n"
|
||||
+ " line 0 @Override\n"
|
||||
@ -91,7 +91,8 @@ public class TestLiteralCodeInPre extends JavadocTester {
|
||||
+ " <PRE>\n"
|
||||
+ " <b>id </b>\n"
|
||||
+ " </PRE></div>",
|
||||
"<pre class=\"methodSignature\">public void htmlAttrInPre1()</pre>\n"
|
||||
"<div class=\"memberSignature\"><span class=\"modifiers\">public</span> "
|
||||
+ "<span class=\"returnType\">void</span> <span class=\"memberName\">htmlAttrInPre1</span>()</div>\n"
|
||||
+ "<div class=\"block\">More html tag outliers.\n"
|
||||
+ " <pre>\n"
|
||||
+ " @Override\n"
|
||||
|
@ -96,7 +96,7 @@ public class TestMemberInheritance extends JavadocTester {
|
||||
+ "<th class=\"colSecond\" scope=\"row\"><code><span class=\"memberNameLink\">"
|
||||
+ "<a href=\"#between(java.time.LocalDate,java.time.LocalDate)\">"
|
||||
+ "between</a></span>​(java.time.LocalDate startDateInclusive,\n"
|
||||
+ " java.time.LocalDate endDateExclusive)</code></th>");
|
||||
+ "java.time.LocalDate endDateExclusive)</code></th>");
|
||||
|
||||
checkOutput("pkg1/Implementer.html", false,
|
||||
"<h3>Methods inherited from interface pkg1.<a href=\"Interface.html\""
|
||||
|
@ -57,8 +57,9 @@ public class TestMemberSummary extends JavadocTester {
|
||||
+ "<th class=\"colSecond\" scope=\"row\"><code><span class=\"memberNameLink\"><a href=\"#returnTypeTest()\">"
|
||||
+ "returnTypeTest</a></span>()</code>",
|
||||
// Check return type in member detail.
|
||||
"<pre class=\"methodSignature\">public <a href=\"PublicChild.html\" title=\"class in pkg\">"
|
||||
+ "PublicChild</a> returnTypeTest()</pre>",
|
||||
"<div class=\"memberSignature\"><span class=\"modifiers\">public</span> "
|
||||
+ "<span class=\"returnType\"><a href=\"PublicChild.html\" title=\"class in pkg\">"
|
||||
+ "PublicChild</a></span> <span class=\"memberName\">returnTypeTest</span>()</div>",
|
||||
"<th class=\"colConstructorName\" scope=\"row\"><code><span class=\"memberNameLink\">"
|
||||
+ "<a href=\"#%3Cinit%3E()\">PublicChild</a></span>()</code></th>");
|
||||
|
||||
|
@ -0,0 +1,142 @@
|
||||
/*
|
||||
* Copyright (c) 2019, 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
|
||||
* 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 8214126
|
||||
* @summary Method signatures not formatted correctly in browser
|
||||
* @library ../../lib/
|
||||
* @modules jdk.javadoc/jdk.javadoc.internal.tool
|
||||
* @build javadoc.tester.*
|
||||
* @run main TestMethodSignature
|
||||
*/
|
||||
|
||||
import javadoc.tester.JavadocTester;
|
||||
|
||||
public class TestMethodSignature extends JavadocTester {
|
||||
|
||||
public static void main(String... args) throws Exception {
|
||||
TestMethodSignature tester = new TestMethodSignature();
|
||||
tester.runTests();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void test() {
|
||||
javadoc("-d", "out",
|
||||
"-sourcepath", testSrc,
|
||||
"pkg");
|
||||
checkExit(Exit.OK);
|
||||
|
||||
checkOutput("pkg/C.html", true,
|
||||
"<div class=\"memberSignature\"><span class=\"annotations\">"
|
||||
+ "@Generated(\"GeneratedConstructor\")\n"
|
||||
+ "</span><span class=\"modifiers\">public</span> "
|
||||
+ "<span class=\"memberName\">C</span>()</div>",
|
||||
|
||||
"<div class=\"memberSignature\"><span class=\"modifiers\">public static</span>"
|
||||
+ " <span class=\"returnType\">void</span> <span class=\"memberName\">"
|
||||
+ "simpleMethod</span>​(<span class=\"arguments\">int i,\n"
|
||||
+ "java.lang.String s,\nboolean b)</span></div>",
|
||||
|
||||
"<div class=\"memberSignature\"><span class=\"annotations\">@Generated"
|
||||
+ "(value=\"SomeGeneratedName\",\n date=\"a date\",\n"
|
||||
+ " comments=\"some comment about the method below\")\n"
|
||||
+ "</span><span class=\"modifiers\">public static</span> <span "
|
||||
+ "class=\"returnType\">void</span> <span class=\"memberName\">annotatedMethod"
|
||||
+ "</span>​(<span class=\"arguments\">int i,\n"
|
||||
+ "java.lang.String s,\nboolean b)</span></div>",
|
||||
|
||||
"<div class=\"memberSignature\"><span class=\"modifiers\">public static</span>"
|
||||
+ " <span class=\"typeParametersLong\"><T1 extends java.lang.AutoCloseable,​\n"
|
||||
+ "T2 extends java.lang.AutoCloseable,​\n"
|
||||
+ "T3 extends java.lang.AutoCloseable,​\n"
|
||||
+ "T4 extends java.lang.AutoCloseable,​\n"
|
||||
+ "T5 extends java.lang.AutoCloseable,​\n"
|
||||
+ "T6 extends java.lang.AutoCloseable,​\n"
|
||||
+ "T7 extends java.lang.AutoCloseable,​\n"
|
||||
+ "T8 extends java.lang.AutoCloseable></span>\n"
|
||||
+ "<span class=\"returnType\"><a href=\"C.With8Types.html\" "
|
||||
+ "title=\"class in pkg\">C.With8Types</a><T1,​T2,​T3,"
|
||||
+ "​T4,​T5,​T6,​T7,​T8></span> "
|
||||
+ "<span class=\"memberName\">bigGenericMethod</span>​("
|
||||
+ "<span class=\"arguments\"><a href=\"C.F0.html\" "
|
||||
+ "title=\"interface in pkg\">C.F0</a><? extends T1> t1,\n"
|
||||
+ "<a href=\"C.F0.html\" title=\"interface in pkg\">"
|
||||
+ "C.F0</a><? extends T2> t2,\n"
|
||||
+ "<a href=\"C.F0.html\" title=\"interface in pkg\">"
|
||||
+ "C.F0</a><? extends T3> t3,\n"
|
||||
+ "<a href=\"C.F0.html\" title=\"interface in pkg\">"
|
||||
+ "C.F0</a><? extends T4> t4,\n"
|
||||
+ "<a href=\"C.F0.html\" title=\"interface in pkg\">"
|
||||
+ "C.F0</a><? extends T5> t5,\n"
|
||||
+ "<a href=\"C.F0.html\" title=\"interface in pkg\">"
|
||||
+ "C.F0</a><? extends T6> t6,\n"
|
||||
+ "<a href=\"C.F0.html\" title=\"interface in pkg\">"
|
||||
+ "C.F0</a><? extends T7> t7,\n"
|
||||
+ "<a href=\"C.F0.html\" title=\"interface in pkg\">"
|
||||
+ "C.F0</a><? extends T8> t8)</span>\n"
|
||||
+ " "
|
||||
+ "throws <span class=\"exceptions\">java.lang.IllegalArgumentException,\n"
|
||||
+ "java.lang.IllegalStateException</span></div>",
|
||||
|
||||
"<div class=\"memberSignature\"><span class=\"annotations\">"
|
||||
+ "@Generated(value=\"SomeGeneratedName\",\n"
|
||||
+ " date=\"a date\",\n"
|
||||
+ " comments=\"some comment about the method below\")\n"
|
||||
+ "</span><span class=\"modifiers\">public static</span> "
|
||||
+ "<span class=\"typeParametersLong\">"
|
||||
+ "<T1 extends java.lang.AutoCloseable,​\n"
|
||||
+ "T2 extends java.lang.AutoCloseable,​\n"
|
||||
+ "T3 extends java.lang.AutoCloseable,​\n"
|
||||
+ "T4 extends java.lang.AutoCloseable,​\n"
|
||||
+ "T5 extends java.lang.AutoCloseable,​\n"
|
||||
+ "T6 extends java.lang.AutoCloseable,​\n"
|
||||
+ "T7 extends java.lang.AutoCloseable,​\n"
|
||||
+ "T8 extends java.lang.AutoCloseable></span>\n"
|
||||
+ "<span class=\"returnType\"><a href=\"C.With8Types.html\" "
|
||||
+ "title=\"class in pkg\">C.With8Types</a><T1,​T2,​T3,"
|
||||
+ "​T4,​T5,​T6,​T7,​T8></span> "
|
||||
+ "<span class=\"memberName\">bigGenericAnnotatedMethod</span>​("
|
||||
+ "<span class=\"arguments\"><a href=\"C.F0.html\" "
|
||||
+ "title=\"interface in pkg\">C.F0</a><? extends T1> t1,\n"
|
||||
+ "<a href=\"C.F0.html\" title=\"interface in pkg\">"
|
||||
+ "C.F0</a><? extends T2> t2,\n"
|
||||
+ "<a href=\"C.F0.html\" title=\"interface in pkg\">"
|
||||
+ "C.F0</a><? extends T3> t3,\n"
|
||||
+ "<a href=\"C.F0.html\" title=\"interface in pkg\">"
|
||||
+ "C.F0</a><? extends T4> t4,\n"
|
||||
+ "<a href=\"C.F0.html\" title=\"interface in pkg\">"
|
||||
+ "C.F0</a><? extends T5> t5,\n"
|
||||
+ "<a href=\"C.F0.html\" title=\"interface in pkg\">"
|
||||
+ "C.F0</a><? extends T6> t6,\n"
|
||||
+ "<a href=\"C.F0.html\" title=\"interface in pkg\">"
|
||||
+ "C.F0</a><? extends T7> t7,\n"
|
||||
+ "<a href=\"C.F0.html\" title=\"interface in pkg\">"
|
||||
+ "C.F0</a><? extends T8> t8)</span>\n"
|
||||
+ " "
|
||||
+ "throws <span class=\"exceptions\">java.lang.IllegalArgumentException,\n"
|
||||
+ "java.lang.IllegalStateException</span></div>\n"
|
||||
+ "<div class=\"block\">Generic method with eight type args and annotation.</div>");
|
||||
|
||||
}
|
||||
}
|
159
test/langtools/jdk/javadoc/doclet/testMethodSignature/pkg/C.java
Normal file
159
test/langtools/jdk/javadoc/doclet/testMethodSignature/pkg/C.java
Normal file
@ -0,0 +1,159 @@
|
||||
/*
|
||||
* Copyright (c) 2019, 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
|
||||
* 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.
|
||||
*/
|
||||
|
||||
package pkg;
|
||||
|
||||
import javax.annotation.processing.Generated;
|
||||
|
||||
/**
|
||||
* Test class for rendering of method signatures. This provides some pathologically
|
||||
* complex method signatures that require special handling. Other features are
|
||||
* covered by other tests.
|
||||
*/
|
||||
public class C {
|
||||
|
||||
/**
|
||||
* Annotated constructor.
|
||||
*/
|
||||
@Generated(value = "GeneratedConstructor")
|
||||
public C() {}
|
||||
|
||||
|
||||
public interface F0<T> {
|
||||
T apply() throws Exception;
|
||||
}
|
||||
|
||||
public static class With8Types<T1, T2, T3, T4, T5, T6, T7, T8> { }
|
||||
|
||||
|
||||
/**
|
||||
* Simple method.
|
||||
*
|
||||
* @param i param 1
|
||||
* @param s param 2
|
||||
* @param b param 3
|
||||
*/
|
||||
public static void simpleMethod(int i, String s, boolean b) {}
|
||||
|
||||
|
||||
/**
|
||||
* Annotated method.
|
||||
*
|
||||
* @param i param 1
|
||||
* @param s param 2
|
||||
* @param b param 3
|
||||
*/
|
||||
@Generated(
|
||||
value = "SomeGeneratedName",
|
||||
date = "a date",
|
||||
comments = "some comment about the method below")
|
||||
public static void annotatedMethod(int i, String s, boolean b) {}
|
||||
|
||||
|
||||
/**
|
||||
* Generic method with eight type args.
|
||||
*
|
||||
* @param <T1> type 1
|
||||
* @param <T2> type 2
|
||||
* @param <T3> type 3
|
||||
* @param <T4> type 4
|
||||
* @param <T5> type 5
|
||||
* @param <T6> type 6
|
||||
* @param <T7> type 7
|
||||
* @param <T8> type 8
|
||||
* @param t1 param 1
|
||||
* @param t2 param 2
|
||||
* @param t3 param 3
|
||||
* @param t4 param 4
|
||||
* @param t5 param 5
|
||||
* @param t6 param 6
|
||||
* @param t7 param 7
|
||||
* @param t8 param 8
|
||||
* @return null
|
||||
*/
|
||||
public static
|
||||
<T1 extends AutoCloseable,
|
||||
T2 extends AutoCloseable,
|
||||
T3 extends AutoCloseable,
|
||||
T4 extends AutoCloseable,
|
||||
T5 extends AutoCloseable,
|
||||
T6 extends AutoCloseable,
|
||||
T7 extends AutoCloseable,
|
||||
T8 extends AutoCloseable>
|
||||
With8Types<T1, T2, T3, T4, T5, T6, T7, T8> bigGenericMethod(
|
||||
F0<? extends T1> t1,
|
||||
F0<? extends T2> t2,
|
||||
F0<? extends T3> t3,
|
||||
F0<? extends T4> t4,
|
||||
F0<? extends T5> t5,
|
||||
F0<? extends T6> t6,
|
||||
F0<? extends T7> t7,
|
||||
F0<? extends T8> t8)
|
||||
throws IllegalArgumentException, IllegalStateException { return null; }
|
||||
|
||||
|
||||
/**
|
||||
* Generic method with eight type args and annotation.
|
||||
*
|
||||
* @param <T1> type 1
|
||||
* @param <T2> type 2
|
||||
* @param <T3> type 3
|
||||
* @param <T4> type 4
|
||||
* @param <T5> type 5
|
||||
* @param <T6> type 6
|
||||
* @param <T7> type 7
|
||||
* @param <T8> type 8
|
||||
* @param t1 param 1
|
||||
* @param t2 param 2
|
||||
* @param t3 param 3
|
||||
* @param t4 param 4
|
||||
* @param t5 param 5
|
||||
* @param t6 param 6
|
||||
* @param t7 param 7
|
||||
* @param t8 param 8
|
||||
* @return null
|
||||
*/
|
||||
@Generated(
|
||||
value = "SomeGeneratedName",
|
||||
date = "a date",
|
||||
comments = "some comment about the method below")
|
||||
public static
|
||||
<T1 extends AutoCloseable,
|
||||
T2 extends AutoCloseable,
|
||||
T3 extends AutoCloseable,
|
||||
T4 extends AutoCloseable,
|
||||
T5 extends AutoCloseable,
|
||||
T6 extends AutoCloseable,
|
||||
T7 extends AutoCloseable,
|
||||
T8 extends AutoCloseable>
|
||||
With8Types<T1, T2, T3, T4, T5, T6, T7, T8> bigGenericAnnotatedMethod(
|
||||
F0<? extends T1> t1,
|
||||
F0<? extends T2> t2,
|
||||
F0<? extends T3> t3,
|
||||
F0<? extends T4> t4,
|
||||
F0<? extends T5> t5,
|
||||
F0<? extends T6> t6,
|
||||
F0<? extends T7> t7,
|
||||
F0<? extends T8> t8)
|
||||
throws IllegalArgumentException, IllegalStateException { return null; }
|
||||
}
|
@ -81,8 +81,10 @@ public class TestNewLanguageFeatures extends JavadocTester {
|
||||
"Returns the enum constant of this type with the specified name",
|
||||
"Overloaded valueOf() method has correct documentation.",
|
||||
"Overloaded values method has correct documentation.",
|
||||
"<pre class=\"methodSignature\">public static <a href=\"Coin.html\" title=\"enum in pkg\">Coin</a>" +
|
||||
" valueOf​(java.lang.String name)</pre>\n" +
|
||||
"<div class=\"memberSignature\"><span class=\"modifiers\">public static</span> "
|
||||
+ "<span class=\"returnType\"><a href=\"Coin.html\" title=\"enum in pkg\">Coin</a></span> "
|
||||
+ "<span class=\"memberName\">valueOf</span>​("
|
||||
+ "<span class=\"arguments\">java.lang.String name)</span></div>\n" +
|
||||
"<div class=\"block\">Returns the enum constant of this type with the specified name.\n" +
|
||||
"The string must match <i>exactly</i> an identifier used to declare an\n" +
|
||||
"enum constant in this type. (Extraneous whitespace characters are \n" +
|
||||
@ -131,8 +133,11 @@ public class TestNewLanguageFeatures extends JavadocTester {
|
||||
+ "<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",
|
||||
"<div class=\"memberSignature\"><span class=\"modifiers\">public</span> "
|
||||
+ "<span class=\"typeParameters\"><T extends java.util.List,​\nV></span>\n"
|
||||
+ "<span class=\"returnType\">java.lang.String[]</span> <span class=\"memberName\">"
|
||||
+ "methodThatHasTypeParameters</span>​(<span class=\"arguments\">T param1,\n"
|
||||
+ "V param2)</span></div>",
|
||||
// Method that returns TypeParameters
|
||||
"<td class=\"colFirst\"><code><a href=\"TypeParameters.html\" "
|
||||
+ "title=\"type parameter in TypeParameters\">E</a>[]</code></td>\n"
|
||||
@ -140,10 +145,11 @@ public class TestNewLanguageFeatures extends JavadocTester {
|
||||
+ "<a href=\"#methodThatReturnsTypeParameterA(E%5B%5D)\">"
|
||||
+ "methodThatReturnsTypeParameterA</a></span>​(<a href=\"TypeParameters.html\" "
|
||||
+ "title=\"type parameter in TypeParameters\">E</a>[] e)</code>",
|
||||
"<pre class=\"methodSignature\">public <a href=\"TypeParameters.html\" "
|
||||
+ "title=\"type parameter in TypeParameters\">E</a>[] "
|
||||
+ "methodThatReturnsTypeParameterA​(<a href=\"TypeParameters.html\" "
|
||||
+ "title=\"type parameter in TypeParameters\">E</a>[] e)</pre>\n",
|
||||
"<div class=\"memberSignature\"><span class=\"modifiers\">public</span> <span "
|
||||
+ "class=\"returnType\"><a href=\"TypeParameters.html\" title=\"type parameter in TypeParameters\">"
|
||||
+ "E</a>[]</span> <span class=\"memberName\">methodThatReturnsTypeParameterA</span>​("
|
||||
+ "<span class=\"arguments\"><a href=\"TypeParameters.html\" title=\"type parameter in TypeParameters\">"
|
||||
+ "E</a>[] e)</span></div>\n",
|
||||
"<td class=\"colFirst\"><code><T extends java.lang.Object & java.lang.Comparable<? super T>>"
|
||||
+ "<br>T</code></td>\n"
|
||||
+ "<th class=\"colSecond\" scope=\"row\"><code><span class=\"memberNameLink\">"
|
||||
@ -210,7 +216,10 @@ public class TestNewLanguageFeatures extends JavadocTester {
|
||||
// Handle multiple bounds.
|
||||
//==============================================================
|
||||
checkOutput("pkg/MultiTypeParameters.html", true,
|
||||
"public <T extends java.lang.Number & java.lang.Runnable> T foo​(T t)");
|
||||
"<div class=\"memberSignature\"><span class=\"modifiers\">public</span> "
|
||||
+ "<span class=\"typeParameters\"><T extends java.lang.Number & java.lang.Runnable></span>\n"
|
||||
+ "<span class=\"returnType\">T</span> <span class=\"memberName\">foo</span>​"
|
||||
+ "(<span class=\"arguments\">T t)</span></div>");
|
||||
|
||||
//==============================================================
|
||||
// Test Class-Use Documentation for Type Parameters.
|
||||
@ -531,45 +540,42 @@ public class TestNewLanguageFeatures extends JavadocTester {
|
||||
+ "AnnotationTypeUsage</span>\n"
|
||||
+ "extends java.lang.Object</pre>",
|
||||
// FIELD
|
||||
"<pre><a href=\"AnnotationType.html\" "
|
||||
+ "title=\"annotation in pkg\">@AnnotationType</a>("
|
||||
+ "<a href=\"AnnotationType.html#optional()\">optional</a>"
|
||||
+ "=\"Field Annotation\",\n"
|
||||
+ " <a href=\"AnnotationType.html#required()\">"
|
||||
+ "required</a>=1994)\n"
|
||||
+ "public int field</pre>",
|
||||
"<div class=\"memberSignature\"><span class=\"annotations\"><a href=\"AnnotationType.html\" "
|
||||
+ "title=\"annotation in pkg\">@AnnotationType</a>(<a href=\"AnnotationType.html#optional()\">"
|
||||
+ "optional</a>=\"Field Annotation\",\n"
|
||||
+ " <a href=\"AnnotationType.html#required()\">required</a>=1994)\n"
|
||||
+ "</span><span class=\"modifiers\">public</span> <span class=\"returnType\">int</span>"
|
||||
+ " <span class=\"memberName\">field</span></div>",
|
||||
// CONSTRUCTOR
|
||||
"<pre><a href=\"AnnotationType.html\" "
|
||||
+ "title=\"annotation in pkg\">@AnnotationType</a>("
|
||||
+ "<a href=\"AnnotationType.html#optional()\">optional</a>"
|
||||
+ "=\"Constructor Annotation\",\n"
|
||||
+ " <a href=\"AnnotationType.html#required()\">"
|
||||
+ "required</a>=1994)\n"
|
||||
+ "public AnnotationTypeUsage()</pre>",
|
||||
"<div class=\"memberSignature\"><span class=\"annotations\"><a href=\"AnnotationType.html\" "
|
||||
+ "title=\"annotation in pkg\">@AnnotationType</a>(<a href=\"AnnotationType.html#optional()\">"
|
||||
+ "optional</a>=\"Constructor Annotation\",\n"
|
||||
+ " <a href=\"AnnotationType.html#required()\">required</a>=1994)\n"
|
||||
+ "</span><span class=\"modifiers\">public</span> "
|
||||
+ "<span class=\"memberName\">AnnotationTypeUsage</span>()</div>",
|
||||
// METHOD
|
||||
"<pre class=\"methodSignature\"><a href=\"AnnotationType.html\" "
|
||||
+ "title=\"annotation in pkg\">@AnnotationType</a>("
|
||||
+ "<a href=\"AnnotationType.html#optional()\">optional</a>"
|
||||
+ "=\"Method Annotation\",\n"
|
||||
+ " <a href=\"AnnotationType.html#required()\">"
|
||||
+ "required</a>=1994)\n"
|
||||
+ "public void method()</pre>",
|
||||
"<div class=\"memberSignature\"><span class=\"annotations\"><a href=\"AnnotationType.html\" "
|
||||
+ "title=\"annotation in pkg\">@AnnotationType</a>(<a href=\"AnnotationType.html#optional()\">"
|
||||
+ "optional</a>=\"Method Annotation\",\n"
|
||||
+ " <a href=\"AnnotationType.html#required()\">required</a>=1994)\n"
|
||||
+ "</span><span class=\"modifiers\">public</span> <span class=\"returnType\">"
|
||||
+ "void</span> <span class=\"memberName\">method</span>()</div>",
|
||||
// METHOD PARAMS
|
||||
"<pre class=\"methodSignature\">public void methodWithParams​("
|
||||
+ "<a href=\"AnnotationType.html\" title=\"annotation in pkg\">"
|
||||
+ "@AnnotationType</a>(<a href=\"AnnotationType.html#optional()\">"
|
||||
+ "optional</a>=\"Parameter Annotation\",<a "
|
||||
+ "href=\"AnnotationType.html#required()\">required</a>=1994)\n"
|
||||
+ " int documented,\n"
|
||||
+ " int undocmented)</pre>",
|
||||
"<div class=\"memberSignature\"><span class=\"modifiers\">public</span> <span "
|
||||
+ "class=\"returnType\">void</span> <span class=\"memberName\">methodWithParams</span>"
|
||||
+ "​(<span class=\"arguments\"><a href=\"AnnotationType.html\" title=\"annotation in pkg\">"
|
||||
+ "@AnnotationType</a>(<a href=\"AnnotationType.html#optional()\">optional</a>"
|
||||
+ "=\"Parameter Annotation\",<a href=\"AnnotationType.html#required()\">required</a>=1994)\n"
|
||||
+ "int documented,\n"
|
||||
+ "int undocmented)</span></div>",
|
||||
// CONSTRUCTOR PARAMS
|
||||
"<pre>public AnnotationTypeUsage​(<a "
|
||||
+ "href=\"AnnotationType.html\" title=\"annotation in pkg\">"
|
||||
+ "@AnnotationType</a>(<a href=\"AnnotationType.html#optional()\">"
|
||||
+ "optional</a>=\"Constructor Param Annotation\",<a "
|
||||
+ "href=\"AnnotationType.html#required()\">required</a>=1994)\n"
|
||||
+ " int documented,\n"
|
||||
+ " int undocmented)</pre>");
|
||||
"<div class=\"memberSignature\"><span class=\"modifiers\">public</span> "
|
||||
+ "<span class=\"memberName\">AnnotationTypeUsage</span>​(<span class=\"arguments\">"
|
||||
+ "<a href=\"AnnotationType.html\" title=\"annotation in pkg\">@AnnotationType</a>("
|
||||
+ "<a href=\"AnnotationType.html#optional()\">optional</a>=\"Constructor Param Annotation\","
|
||||
+ "<a href=\"AnnotationType.html#required()\">required</a>=1994)\n"
|
||||
+ "int documented,\n"
|
||||
+ "int undocmented)</span></div>");
|
||||
|
||||
//=================================
|
||||
// Annotatation Type Usage
|
||||
|
@ -197,15 +197,16 @@ public class TestOptions extends JavadocTester {
|
||||
+ "<a id=\"DEFAULT_NAME\">\n"
|
||||
+ "<!-- -->\n"
|
||||
+ "</a>\n"
|
||||
+ "<pre>static final java.lang.String "
|
||||
+ "<a href=\"../src-html/linksource/AnnotationTypeField.html#line.32\">"
|
||||
+ "DEFAULT_NAME</a></pre>",
|
||||
+ "<div class=\"memberSignature\"><span class=\"modifiers\">static final</span> "
|
||||
+ "<span class=\"returnType\">java.lang.String</span> <span class=\"memberName\">"
|
||||
+ "<a href=\"../src-html/linksource/AnnotationTypeField.html#line.32\">DEFAULT_NAME</a></span></div>",
|
||||
"<h3>name</h3>\n"
|
||||
+ "<a id=\"name()\">\n"
|
||||
+ "<!-- -->\n"
|
||||
+ "</a>\n"
|
||||
+ "<pre>java.lang.String <a href="
|
||||
+ "\"../src-html/linksource/AnnotationTypeField.html#line.34\">name</a></pre>");
|
||||
+ "<div class=\"memberSignature\"><span class=\"returnType\">java.lang.String</span> "
|
||||
+ "<span class=\"memberName\"><a href=\"../src-html/linksource/AnnotationTypeField.html#line.34\">"
|
||||
+ "name</a></span></div>");
|
||||
|
||||
checkOutput("src-html/linksource/AnnotationTypeField.html", true,
|
||||
"<title>Source code</title>",
|
||||
@ -215,10 +216,9 @@ public class TestOptions extends JavadocTester {
|
||||
checkOutput("linksource/Properties.html", true,
|
||||
"<pre>public class <a href=\"../src-html/linksource/Properties.html#line.29\">"
|
||||
+ "Properties</a>",
|
||||
"<pre>public java.lang.Object <a href="
|
||||
+ "\"../src-html/linksource/Properties.html#line.31\">someProperty</a></pre>",
|
||||
"<pre class=\"methodSignature\">public java.lang.Object <a href="
|
||||
+ "\"../src-html/linksource/Properties.html#line.31\">someProperty</a>()</pre>");
|
||||
"<div class=\"memberSignature\"><span class=\"modifiers\">public</span> "
|
||||
+ "<span class=\"returnType\">java.lang.Object</span> <span class=\"memberName\">"
|
||||
+ "<a href=\"../src-html/linksource/Properties.html#line.31\">someProperty</a></span></div>");
|
||||
|
||||
checkOutput("src-html/linksource/Properties.html", true,
|
||||
"<title>Source code</title>",
|
||||
@ -228,12 +228,15 @@ public class TestOptions extends JavadocTester {
|
||||
checkOutput("linksource/SomeClass.html", true,
|
||||
"<pre>public class <a href=\"../src-html/linksource/SomeClass.html#line.29\">"
|
||||
+ "SomeClass</a>\nextends java.lang.Object</pre>",
|
||||
"<pre>public int <a href=\"../src-html/linksource/SomeClass.html#line.31\">"
|
||||
+ "field</a></pre>",
|
||||
"<pre>public <a href=\"../src-html/linksource/SomeClass.html#line.33\">"
|
||||
+ "SomeClass</a>()</pre>",
|
||||
"<pre class=\"methodSignature\">public int <a href=\"../src-html/linksource/SomeClass.html#line.36\">"
|
||||
+ "method</a>()</pre>");
|
||||
"<div class=\"memberSignature\"><span class=\"modifiers\">public</span> "
|
||||
+ "<span class=\"returnType\">int</span> <span class=\"memberName\">"
|
||||
+ "<a href=\"../src-html/linksource/SomeClass.html#line.31\">field</a></span></div>",
|
||||
"<div class=\"memberSignature\"><span class=\"modifiers\">public</span> "
|
||||
+ "<span class=\"memberName\"><a href=\"../src-html/linksource/SomeClass.html#line.33\">"
|
||||
+ "SomeClass</a></span>()</div>",
|
||||
"<div class=\"memberSignature\"><span class=\"modifiers\">public</span> "
|
||||
+ "<span class=\"returnType\">int</span> <span class=\"memberName\">"
|
||||
+ "<a href=\"../src-html/linksource/SomeClass.html#line.36\">method</a></span>()</div>");
|
||||
|
||||
checkOutput("src-html/linksource/SomeClass.html", true,
|
||||
"<title>Source code</title>",
|
||||
@ -247,12 +250,14 @@ public class TestOptions extends JavadocTester {
|
||||
+ "public int method() {</a>");
|
||||
|
||||
checkOutput("linksource/SomeEnum.html", true,
|
||||
"<pre>public static final <a href=\"SomeEnum.html\" "
|
||||
+ "title=\"enum in linksource\">SomeEnum</a> <a href="
|
||||
+ "\"../src-html/linksource/SomeEnum.html#line.29\">VALUE1</a></pre>",
|
||||
"<pre>public static final <a href=\"SomeEnum.html\" "
|
||||
+ "title=\"enum in linksource\">SomeEnum</a> <a href="
|
||||
+ "\"../src-html/linksource/SomeEnum.html#line.30\">VALUE2</a></pre>");
|
||||
"<div class=\"memberSignature\"><span class=\"modifiers\">public static final</span> "
|
||||
+ "<span class=\"returnType\"><a href=\"SomeEnum.html\" title=\"enum in linksource\">"
|
||||
+ "SomeEnum</a></span> <span class=\"memberName\">"
|
||||
+ "<a href=\"../src-html/linksource/SomeEnum.html#line.29\">VALUE1</a></span></div>",
|
||||
"<div class=\"memberSignature\"><span class=\"modifiers\">public static final</span> "
|
||||
+ "<span class=\"returnType\"><a href=\"SomeEnum.html\" title=\"enum in linksource\">"
|
||||
+ "SomeEnum</a></span> <span class=\"memberName\">"
|
||||
+ "<a href=\"../src-html/linksource/SomeEnum.html#line.30\">VALUE2</a></span></div>");
|
||||
|
||||
checkOutput("src-html/linksource/SomeEnum.html", true,
|
||||
"<span class=\"sourceLineNo\">029</span><a id=\"line.29\"> VALUE1,</a>",
|
||||
|
@ -516,10 +516,14 @@ public class TestOrdering extends JavadocTester {
|
||||
|
||||
checkOrder("pkg5/AnnoFieldTest.html",
|
||||
"<h2>Field Details</h2>",
|
||||
"<pre>static final int one</pre>",
|
||||
"<pre>static final int two</pre>",
|
||||
"<pre>static final int three</pre>",
|
||||
"<pre>static final int four</pre>");
|
||||
"<div class=\"memberSignature\"><span class=\"modifiers\">static final</span> "
|
||||
+ "<span class=\"returnType\">int</span> <span class=\"memberName\">one</span></div>",
|
||||
"<div class=\"memberSignature\"><span class=\"modifiers\">static final</span> "
|
||||
+ "<span class=\"returnType\">int</span> <span class=\"memberName\">two</span></div>",
|
||||
"<div class=\"memberSignature\"><span class=\"modifiers\">static final</span> "
|
||||
+ "<span class=\"returnType\">int</span> <span class=\"memberName\">three</span></div>",
|
||||
"<div class=\"memberSignature\"><span class=\"modifiers\">static final</span> "
|
||||
+ "<span class=\"returnType\">int</span> <span class=\"memberName\">four</span></div>");
|
||||
|
||||
checkOrder("pkg5/AnnoOptionalTest.html",
|
||||
"<h2>Optional Element Summary</h2>",
|
||||
|
@ -57,7 +57,8 @@ public class TestBadOverride extends JavadocTester {
|
||||
+ "<a id=\"toString()\">\n"
|
||||
+ "<!-- -->\n"
|
||||
+ "</a>\n"
|
||||
+ "<pre class=\"methodSignature\">public void toString()</pre>\n"
|
||||
+ "<div class=\"memberSignature\"><span class=\"modifiers\">public</span> "
|
||||
+ "<span class=\"returnType\">void</span> <span class=\"memberName\">toString</span>()</div>\n"
|
||||
+ "<div class=\"block\">Why can't I do this ?</div>\n"
|
||||
+ "</section>");
|
||||
}
|
||||
|
@ -57,9 +57,11 @@ public class TestOverriddenDeprecatedMethods extends JavadocTester {
|
||||
|
||||
checkOrder("pkg1/SubClass.html",
|
||||
"Method Detail",
|
||||
"@Deprecated\npublic void func1()",
|
||||
"<span class=\"annotations\">@Deprecated\n</span><span class=\"modifiers\">public</span> "
|
||||
+ "<span class=\"returnType\">void</span> <span class=\"memberName\">func1</span>()",
|
||||
"<div class=\"deprecationBlock\"><span class=\"deprecatedLabel\">Deprecated.</span></div>",
|
||||
"@Deprecated\npublic void func2()",
|
||||
"<span class=\"annotations\">@Deprecated\n</span><span class=\"modifiers\">public</span> "
|
||||
+ "<span class=\"returnType\">void</span> <span class=\"memberName\">func2</span>()",
|
||||
"<div class=\"deprecationBlock\"><span class=\"deprecatedLabel\">Deprecated.</span></div>",
|
||||
"<div class=\"block\">deprecated with comments</div>");
|
||||
}
|
||||
|
@ -70,7 +70,10 @@ public class TestPrivateClasses extends JavadocTester {
|
||||
+ "<div class=\"inheritance\">pkg.PublicChild</div>\n"
|
||||
+ "</div>",
|
||||
// Method is documented as though it is declared in the inheriting method.
|
||||
"<pre class=\"methodSignature\">public void methodInheritedFromParent​(int p1)",
|
||||
"<div class=\"memberSignature\"><span class=\"modifiers\">public</span> "
|
||||
+ "<span class=\"returnType\">void</span> <span class=\"memberName\">"
|
||||
+ "methodInheritedFromParent</span>​(<span class=\"arguments\">int p1)</span>\n"
|
||||
+ " throws <span class=\"exceptions\">java.lang.Exception</span></div>",
|
||||
"<dl>\n"
|
||||
+ "<dt>All Implemented Interfaces:</dt>\n"
|
||||
+ "<dd><code><a href=\"PublicInterface.html\" title=\"interface in pkg\">"
|
||||
|
@ -50,10 +50,10 @@ public class TestProperty extends JavadocTester {
|
||||
checkExit(Exit.OK);
|
||||
|
||||
checkOutput("pkg/MyClass.html", true,
|
||||
"<pre>public final <a href=\"ObjectProperty.html\" "
|
||||
+ "title=\"class in pkg\">ObjectProperty</a>"
|
||||
+ "<<a href=\"MyObj.html\" "
|
||||
+ "title=\"class in pkg\">MyObj</a>> goodProperty</pre>\n"
|
||||
"<div class=\"memberSignature\"><span class=\"modifiers\">public final</span> "
|
||||
+ "<span class=\"returnType\"><a href=\"ObjectProperty.html\" title=\"class in pkg\">"
|
||||
+ "ObjectProperty</a><<a href=\"MyObj.html\" title=\"class in pkg\">MyObj</a>></span>"
|
||||
+ " <span class=\"memberName\">goodProperty</span></div>\n"
|
||||
+ "<div class=\"block\">This is an Object property where the "
|
||||
+ "Object is a single Object.</div>\n"
|
||||
+ "<dl>\n"
|
||||
@ -63,10 +63,10 @@ public class TestProperty extends JavadocTester {
|
||||
+ "<code>setGood(MyObj)</code></a></dd>\n"
|
||||
+ "</dl>",
|
||||
|
||||
"<pre>public final <a href=\"ObjectProperty.html\" "
|
||||
+ "title=\"class in pkg\">ObjectProperty</a>"
|
||||
+ "<<a href=\"MyObj.html\" "
|
||||
+ "title=\"class in pkg\">MyObj</a>[]> badProperty</pre>\n"
|
||||
"<div class=\"memberSignature\"><span class=\"modifiers\">public final</span> "
|
||||
+ "<span class=\"returnType\"><a href=\"ObjectProperty.html\" title=\"class in pkg\">"
|
||||
+ "ObjectProperty</a><<a href=\"MyObj.html\" title=\"class in pkg\">MyObj</a>[]></span>"
|
||||
+ " <span class=\"memberName\">badProperty</span></div>\n"
|
||||
+ "<div class=\"block\">This is an Object property where the "
|
||||
+ "Object is an array.</div>\n"
|
||||
+ "<dl>\n"
|
||||
@ -94,11 +94,11 @@ public class TestProperty extends JavadocTester {
|
||||
);
|
||||
|
||||
checkOutput("pkg/MyClassT.html", true,
|
||||
"<pre>public final <a href=\"ObjectProperty.html\" "
|
||||
+ "title=\"class in pkg\">ObjectProperty</a>"
|
||||
+ "<java.util.List<<a href=\"MyClassT.html\" "
|
||||
+ "title=\"type parameter in MyClassT\">T</a>>> "
|
||||
+ "listProperty</pre>\n"
|
||||
"<div class=\"memberSignature\"><span class=\"modifiers\">public final</span> "
|
||||
+ "<span class=\"returnType\"><a href=\"ObjectProperty.html\" title=\"class in pkg\">"
|
||||
+ "ObjectProperty</a><java.util.List<<a href=\"MyClassT.html\" "
|
||||
+ "title=\"type parameter in MyClassT\">T</a>>></span> "
|
||||
+ "<span class=\"memberName\">listProperty</span></div>\n"
|
||||
+ "<div class=\"block\">This is an Object property where the "
|
||||
+ "Object is a single <code>List<T></code>.</div>\n"
|
||||
+ "<dl>\n"
|
||||
|
@ -73,10 +73,11 @@ public class TestSerializedFormWithClassFile extends JavadocTester {
|
||||
checkExit(Exit.OK);
|
||||
|
||||
checkOutput("serialized-form.html", true,
|
||||
"<pre class=\"methodSignature\">public void readObject​"
|
||||
+ "(java.io.ObjectInputStream arg0)\n"
|
||||
+ " throws java.lang.ClassNotFoundException,\n"
|
||||
+ " java.io.IOException</pre>\n");
|
||||
"<div class=\"memberSignature\"><span class=\"modifiers\">public</span> "
|
||||
+ "<span class=\"returnType\">void</span> <span class=\"memberName\">readObject</span>"
|
||||
+ "​(<span class=\"arguments\">java.io.ObjectInputStream arg0)</span>\n"
|
||||
+ " throws <span class=\"exceptions\">java.lang.ClassNotFoundException,\n"
|
||||
+ "java.io.IOException</span></div>\n");
|
||||
}
|
||||
|
||||
void createTestClass(Path base, Path srcDir) throws Exception {
|
||||
|
@ -165,9 +165,9 @@ public class TestStylesheet extends JavadocTester {
|
||||
+ "th.colFirst a:link, th.colFirst a:visited,\n"
|
||||
+ "th.colSecond a:link, th.colSecond a:visited,\n"
|
||||
+ "th.colConstructorName a:link, th.colConstructorName a:visited,\n"
|
||||
+ "th.colDeprecatedItemName a:link, th.colDeprecatedItemName a:visited, \n"
|
||||
+ ".constantValuesContainer td a:link, .constantValuesContainer td a:visited, \n"
|
||||
+ ".allClassesContainer td a:link, .allClassesContainer td a:visited, \n"
|
||||
+ "th.colDeprecatedItemName a:link, th.colDeprecatedItemName a:visited,\n"
|
||||
+ ".constantValuesContainer td a:link, .constantValuesContainer td a:visited,\n"
|
||||
+ ".allClassesContainer td a:link, .allClassesContainer td a:visited,\n"
|
||||
+ ".allPackagesContainer td a:link, .allPackagesContainer td a:visited {\n"
|
||||
+ " font-weight:bold;\n"
|
||||
+ "}",
|
||||
|
@ -90,7 +90,8 @@ public class TestSummaryTag extends JavadocTester {
|
||||
+ "<a id=\"m3()\">\n"
|
||||
+ "<!-- -->\n"
|
||||
+ "</a>\n"
|
||||
+ "<pre class=\"methodSignature\">public void m3()</pre>\n"
|
||||
+ "<div class=\"memberSignature\"><span class=\"modifiers\">public</span> "
|
||||
+ "<span class=\"returnType\">void</span> <span class=\"memberName\">m3</span>()</div>\n"
|
||||
+ "<div class=\"block\">First sentence some text maybe second sentence.</div>\n"
|
||||
+ "</section>\n"
|
||||
);
|
||||
|
@ -115,249 +115,274 @@ public class TestTypeAnnotations extends JavadocTester {
|
||||
|
||||
// Test for type annotations on fields (Fields.java).
|
||||
checkOutput("typeannos/DefaultScope.html", true,
|
||||
"<pre><a href=\"Parameterized.html\" title=\"class in "
|
||||
+ "typeannos\">Parameterized</a><<a href=\"FldA.html\" "
|
||||
+ "title=\"annotation in typeannos\">@FldA</a> java.lang.String,​<a "
|
||||
+ "href=\"FldB.html\" title=\"annotation in typeannos\">"
|
||||
+ "@FldB</a> java.lang.String> bothTypeArgs</pre>",
|
||||
"<div class=\"memberSignature\"><span class=\"returnType\"><a href=\"Parameterized.html\" "
|
||||
+ "title=\"class in typeannos\">Parameterized</a><<a href=\"FldA.html\" "
|
||||
+ "title=\"annotation in typeannos\">@FldA</a> java.lang.String,​"
|
||||
+ "<a href=\"FldB.html\" title=\"annotation in typeannos\">@FldB</a> java.lang.String>"
|
||||
+ "</span> <span class=\"memberName\">bothTypeArgs</span></div>",
|
||||
|
||||
"<pre><a href=\"FldA.html\" title=\"annotation in "
|
||||
+ "typeannos\">@FldA</a> java.lang.String <a href=\""
|
||||
+ "FldB.html\" title=\"annotation in typeannos\">@FldB</a> [] "
|
||||
+ "array1Deep</pre>",
|
||||
"<div class=\"memberSignature\"><span class=\"returnType\"><a href=\"FldA.html\" "
|
||||
+ "title=\"annotation in typeannos\">@FldA</a> java.lang.String <a href=\"FldB.html\" "
|
||||
+ "title=\"annotation in typeannos\">@FldB</a> []</span> "
|
||||
+ "<span class=\"memberName\">array1Deep</span></div>",
|
||||
|
||||
"<pre>java.lang.String <a href=\"FldB.html\" "
|
||||
+ "title=\"annotation in typeannos\">@FldB</a> [][] array2SecondOld</pre>",
|
||||
"<div class=\"memberSignature\"><span class=\"returnType\">java.lang.String "
|
||||
+ "<a href=\"FldB.html\" title=\"annotation in typeannos\">@FldB</a> [][]</span> "
|
||||
+ "<span class=\"memberName\">array2SecondOld</span></div>",
|
||||
|
||||
// When JDK-8068737, we should change the order
|
||||
"<pre><a href=\"FldD.html\" title=\"annotation in typeannos\">"
|
||||
+ "@FldD</a> java.lang.String "
|
||||
+ "<a href=\"FldC.html\" title=\"annotation in typeannos\">@FldC</a> "
|
||||
+ "<a href=\"FldB.html\" title=\"annotation in typeannos\">@FldB</a> [] "
|
||||
+ "<a href=\"FldC.html\" title=\"annotation in typeannos\">@FldC</a> "
|
||||
+ "<a href=\"FldA.html\" title=\"annotation in typeannos\">@FldA</a> [] "
|
||||
+ "array2Deep</pre>");
|
||||
"<div class=\"memberSignature\"><span class=\"returnType\"><a href=\"FldD.html\" "
|
||||
+ "title=\"annotation in typeannos\">@FldD</a> java.lang.String <a href=\"FldC.html\" "
|
||||
+ "title=\"annotation in typeannos\">@FldC</a> <a href=\"FldB.html\" "
|
||||
+ "title=\"annotation in typeannos\">@FldB</a> [] <a href=\"FldC.html\" "
|
||||
+ "title=\"annotation in typeannos\">@FldC</a> <a href=\"FldA.html\" "
|
||||
+ "title=\"annotation in typeannos\">@FldA</a> []</span> "
|
||||
+ "<span class=\"memberName\">array2Deep</span></div>");
|
||||
|
||||
checkOutput("typeannos/ModifiedScoped.html", true,
|
||||
"<pre>public final <a href=\"Parameterized.html\" "
|
||||
+ "title=\"class in typeannos\">Parameterized</a><<a href=\""
|
||||
+ "FldA.html\" title=\"annotation in typeannos\">@FldA</a> "
|
||||
+ "<a href=\"Parameterized.html\" title=\"class in "
|
||||
+ "typeannos\">Parameterized</a><<a href=\"FldA.html\" "
|
||||
+ "title=\"annotation in typeannos\">@FldA</a> java.lang.String,​<a "
|
||||
+ "href=\"FldB.html\" title=\"annotation in typeannos\">"
|
||||
+ "@FldB</a> java.lang.String>,​<a href=\"FldB.html\" "
|
||||
+ "title=\"annotation in typeannos\">@FldB</a> java.lang.String> "
|
||||
+ "nestedParameterized</pre>",
|
||||
"<div class=\"memberSignature\"><span class=\"modifiers\">public final</span>"
|
||||
+ " <span class=\"returnType\"><a href=\"Parameterized.html\" "
|
||||
+ "title=\"class in typeannos\">Parameterized</a><<a href=\"FldA.html\" "
|
||||
+ "title=\"annotation in typeannos\">@FldA</a> <a href=\"Parameterized.html\" "
|
||||
+ "title=\"class in typeannos\">Parameterized</a><<a href=\"FldA.html\" "
|
||||
+ "title=\"annotation in typeannos\">@FldA</a> java.lang.String,​"
|
||||
+ "<a href=\"FldB.html\" title=\"annotation in typeannos\">@FldB</a> "
|
||||
+ "java.lang.String>,​<a href=\"FldB.html\" "
|
||||
+ "title=\"annotation in typeannos\">@FldB</a> java.lang.String>"
|
||||
+ "</span> <span class=\"memberName\">nestedParameterized</span></div>",
|
||||
|
||||
"<pre>public final <a href=\"FldA.html\" "
|
||||
+ "title=\"annotation in typeannos\">@FldA</a> java.lang.String[][] "
|
||||
+ "array2</pre>");
|
||||
"<div class=\"memberSignature\"><span class=\"modifiers\">public final</span> "
|
||||
+ "<span class=\"returnType\"><a href=\"FldA.html\" title=\"annotation in typeannos\">"
|
||||
+ "@FldA</a> java.lang.String[][]</span> "
|
||||
+ "<span class=\"memberName\">array2</span></div>");
|
||||
|
||||
// Test for type annotations on method return types (MethodReturnType.java).
|
||||
checkOutput("typeannos/MtdDefaultScope.html", true,
|
||||
"<pre class=\"methodSignature\">public <T> <a href=\"MRtnA.html\" "
|
||||
+ "title=\"annotation in typeannos\">@MRtnA</a> java.lang.String"
|
||||
+ " method()</pre>",
|
||||
"<div class=\"memberSignature\"><span class=\"modifiers\">public</span>"
|
||||
+ " <span class=\"typeParameters\"><T></span> <span "
|
||||
+ "class=\"returnType\"><a href=\"MRtnA.html\" title=\"annotation in typeannos\">"
|
||||
+ "@MRtnA</a> java.lang.String</span> "
|
||||
+ "<span class=\"memberName\">method</span>()</div>",
|
||||
|
||||
// When JDK-8068737 is fixed, we should change the order
|
||||
"<pre class=\"methodSignature\"><a href=\"MRtnA.html\" title=\"annotation in typeannos\">"
|
||||
+ "@MRtnA</a> java.lang.String "
|
||||
+ "<a href=\"MRtnB.html\" title=\"annotation in typeannos\">@MRtnB</a> [] "
|
||||
+ "<a href=\"MRtnA.html\" title=\"annotation in typeannos\">@MRtnA</a> []"
|
||||
+ " array2Deep()</pre>",
|
||||
"<div class=\"memberSignature\"><span class=\"returnType\"><a href=\"MRtnA.html\" "
|
||||
+ "title=\"annotation in typeannos\">@MRtnA</a> java.lang.String <a href=\"MRtnB.html\" "
|
||||
+ "title=\"annotation in typeannos\">@MRtnB</a> [] <a href=\"MRtnA.html\" "
|
||||
+ "title=\"annotation in typeannos\">@MRtnA</a> []</span> <span class=\"memberName\">"
|
||||
+ "array2Deep</span>()</div>",
|
||||
|
||||
"<pre class=\"methodSignature\"><a href=\"MRtnA.html\" title=\"annotation in "
|
||||
+ "typeannos\">@MRtnA</a> java.lang.String[][] array2()</pre>");
|
||||
"<div class=\"memberSignature\"><span class=\"returnType\"><a href=\"MRtnA.html\" "
|
||||
+ "title=\"annotation in typeannos\">@MRtnA</a> java.lang.String[][]</span> "
|
||||
+ "<span class=\"memberName\">array2</span>()</div>");
|
||||
|
||||
checkOutput("typeannos/MtdModifiedScoped.html", true,
|
||||
"<pre class=\"methodSignature\">public final <a href=\"MtdParameterized.html\" "
|
||||
+ "title=\"class in typeannos\">MtdParameterized</a><<a href=\""
|
||||
+ "MRtnA.html\" title=\"annotation in typeannos\">@MRtnA</a> "
|
||||
+ "<a href=\"MtdParameterized.html\" title=\"class in "
|
||||
+ "typeannos\">MtdParameterized</a><<a href=\"MRtnA."
|
||||
+ "html\" title=\"annotation in typeannos\">@MRtnA</a> java.lang."
|
||||
+ "String,​<a href=\"MRtnB.html\" title=\"annotation in "
|
||||
+ "typeannos\">@MRtnB</a> java.lang.String>,​<a href=\""
|
||||
+ "MRtnB.html\" title=\"annotation in typeannos\">@MRtnB</a> java."
|
||||
+ "lang.String> nestedMtdParameterized()</pre>");
|
||||
"<div class=\"memberSignature\"><span class=\"modifiers\">public final</span> "
|
||||
+ "<span class=\"returnType\"><a href=\"MtdParameterized.html\" "
|
||||
+ "title=\"class in typeannos\">MtdParameterized</a><<a href=\"MRtnA.html\" "
|
||||
+ "title=\"annotation in typeannos\">@MRtnA</a> <a href=\"MtdParameterized.html\" "
|
||||
+ "title=\"class in typeannos\">MtdParameterized</a><<a href=\"MRtnA.html\" "
|
||||
+ "title=\"annotation in typeannos\">@MRtnA</a> java.lang.String,​"
|
||||
+ "<a href=\"MRtnB.html\" title=\"annotation in typeannos\">@MRtnB</a> "
|
||||
+ "java.lang.String>,​<a href=\"MRtnB.html\" title=\"annotation in typeannos\">"
|
||||
+ "@MRtnB</a> java.lang.String></span> <span class=\"memberName\">"
|
||||
+ "nestedMtdParameterized</span>()</div>");
|
||||
|
||||
// Test for type annotations on method type parameters (MethodTypeParameters.java).
|
||||
checkOutput("typeannos/UnscopedUnmodified.html", true,
|
||||
"<pre class=\"methodSignature\"><K extends <a href=\"MTyParamA.html\" title=\""
|
||||
+ "annotation in typeannos\">@MTyParamA</a> java.lang.String>"
|
||||
+ " void methodExtends()</pre>",
|
||||
"<div class=\"memberSignature\"><span class=\"typeParameters\"><K extends "
|
||||
+ "<a href=\"MTyParamA.html\" title=\"annotation in typeannos\">@MTyParamA</a> "
|
||||
+ "java.lang.String></span> <span class=\"returnType\">void</span> "
|
||||
+ "<span class=\"memberName\">methodExtends</span>()</div>",
|
||||
|
||||
"<pre class=\"methodSignature\"><K extends <a href=\"MTyParamA.html\" title=\""
|
||||
+ "annotation in typeannos\">@MTyParamA</a> <a href=\""
|
||||
+ "MtdTyParameterized.html\" title=\"class in typeannos\">"
|
||||
+ "MtdTyParameterized</a><<a href=\"MTyParamB.html\" "
|
||||
+ "title=\"annotation in typeannos\">@MTyParamB</a> java.lang.String"
|
||||
+ ">> void nestedExtends()</pre>");
|
||||
"<div class=\"memberSignature\"><span class=\"typeParametersLong\"><K extends "
|
||||
+ "<a href=\"MTyParamA.html\" title=\"annotation in typeannos\">@MTyParamA</a> "
|
||||
+ "<a href=\"MtdTyParameterized.html\" title=\"class in typeannos\">MtdTyParameterized</a>"
|
||||
+ "<<a href=\"MTyParamB.html\" title=\"annotation in typeannos\">@MTyParamB</a> "
|
||||
+ "java.lang.String>></span>\n<span class=\"returnType\">void</span>"
|
||||
+ " <span class=\"memberName\">nestedExtends</span>()</div>");
|
||||
|
||||
checkOutput("typeannos/PublicModifiedMethods.html", true,
|
||||
"<pre class=\"methodSignature\">public final <K extends <a href=\""
|
||||
+ "MTyParamA.html\" title=\"annotation in typeannos\">@MTyParamA</a> "
|
||||
+ "java.lang.String> void methodExtends()</pre>",
|
||||
"<div class=\"memberSignature\"><span class=\"modifiers\">public final</span> "
|
||||
+ "<span class=\"typeParameters\"><K extends <a href=\"MTyParamA.html\" "
|
||||
+ "title=\"annotation in typeannos\">@MTyParamA</a> java.lang.String></span>\n"
|
||||
+ "<span class=\"returnType\">void</span> "
|
||||
+ "<span class=\"memberName\">methodExtends</span>()</div>",
|
||||
|
||||
"<pre class=\"methodSignature\">public final <K extends <a href=\""
|
||||
+ "MTyParamA.html\" title=\"annotation in typeannos\">@MTyParamA</a> "
|
||||
+ "java.lang.String,​V extends <a href=\"MTyParamA.html\" "
|
||||
+ "title=\"annotation in typeannos\">@MTyParamA</a> <a href=\""
|
||||
+ "MtdTyParameterized.html\" title=\"class in typeannos\">"
|
||||
+ "MtdTyParameterized</a><<a href=\"MTyParamB.html\" "
|
||||
+ "title=\"annotation in typeannos\">@MTyParamB</a> java.lang.String"
|
||||
+ ">> void dual()</pre>");
|
||||
"<div class=\"memberSignature\"><span class=\"modifiers\">public final</span>"
|
||||
+ " <span class=\"typeParametersLong\"><K extends <a href=\"MTyParamA.html\" "
|
||||
+ "title=\"annotation in typeannos\">@MTyParamA</a> java.lang.String,​\n"
|
||||
+ "V extends <a href=\"MTyParamA.html\" title=\"annotation in typeannos\">"
|
||||
+ "@MTyParamA</a> <a href=\"MtdTyParameterized.html\" title=\"class in typeannos\">"
|
||||
+ "MtdTyParameterized</a><<a href=\"MTyParamB.html\" title=\"annotation in typeannos\">"
|
||||
+ "@MTyParamB</a> java.lang.String>></span>\n<span class=\"returnType\">void</span>"
|
||||
+ " <span class=\"memberName\">dual</span>()</div>");
|
||||
|
||||
// Test for type annotations on parameters (Parameters.java).
|
||||
checkOutput("typeannos/Parameters.html", true,
|
||||
"<pre class=\"methodSignature\">void unannotated​(<a href=\""
|
||||
+ "ParaParameterized.html\" title=\"class in typeannos\">"
|
||||
+ "ParaParameterized</a><java.lang.String,​java.lang.String>"
|
||||
+ " a)</pre>",
|
||||
"<div class=\"memberSignature\"><span class=\"returnType\">void</span> "
|
||||
+ "<span class=\"memberName\">unannotated</span>​(<span class=\"arguments\">"
|
||||
+ "<a href=\"ParaParameterized.html\" title=\"class in typeannos\">ParaParameterized</a>"
|
||||
+ "<java.lang.String,​java.lang.String> a)</span></div>",
|
||||
|
||||
"<pre class=\"methodSignature\">void nestedParaParameterized​(<a href=\""
|
||||
+ "ParaParameterized.html\" title=\"class in typeannos\">"
|
||||
+ "ParaParameterized</a><<a href=\"ParamA.html\" "
|
||||
+ "title=\"annotation in typeannos\">@ParamA</a> <a href=\""
|
||||
+ "ParaParameterized.html\" title=\"class in typeannos\">"
|
||||
+ "ParaParameterized</a><<a href=\"ParamA.html\" "
|
||||
"<div class=\"memberSignature\"><span class=\"returnType\">void</span> "
|
||||
+ "<span class=\"memberName\">nestedParaParameterized</span>​"
|
||||
+ "(<span class=\"arguments\"><a href=\"ParaParameterized.html\" "
|
||||
+ "title=\"class in typeannos\">ParaParameterized</a><<a href=\"ParamA.html\" "
|
||||
+ "title=\"annotation in typeannos\">@ParamA</a> <a href=\"ParaParameterized.html\" "
|
||||
+ "title=\"class in typeannos\">ParaParameterized</a><<a href=\"ParamA.html\" "
|
||||
+ "title=\"annotation in typeannos\">@ParamA</a> java.lang.String,​"
|
||||
+ "<a href=\"ParamB.html\" title=\"annotation in "
|
||||
+ "typeannos\">@ParamB</a> java.lang.String>,​<a href=\""
|
||||
+ "ParamB.html\" title=\"annotation in typeannos\">@ParamB"
|
||||
+ "</a> java.lang.String> a)</pre>",
|
||||
+ "<a href=\"ParamB.html\" title=\"annotation in typeannos\">@ParamB</a> "
|
||||
+ "java.lang.String>,​<a href=\"ParamB.html\" title=\"annotation in typeannos\">"
|
||||
+ "@ParamB</a> java.lang.String> a)</span></div>",
|
||||
|
||||
// When JDK-8068737 is fixed, we should change the order
|
||||
"<pre class=\"methodSignature\">void array2Deep​(<a href=\"ParamA.html\" "
|
||||
+ "title=\"annotation in typeannos\">@ParamA</a> java.lang.String "
|
||||
+ "<a href=\"ParamB.html\" title=\"annotation in typeannos\">"
|
||||
+ "@ParamB</a> [] "
|
||||
+ "<a href=\"ParamA.html\" title=\"annotation in typeannos\">"
|
||||
+ "@ParamA</a> []"
|
||||
+ " a)</pre>");
|
||||
"<div class=\"memberSignature\"><span class=\"returnType\">void</span> "
|
||||
+ "<span class=\"memberName\">array2Deep</span>​(<span class=\"arguments\">"
|
||||
+ "<a href=\"ParamA.html\" title=\"annotation in typeannos\">@ParamA</a> "
|
||||
+ "java.lang.String <a href=\"ParamB.html\" title=\"annotation in typeannos\">"
|
||||
+ "@ParamB</a> [] <a href=\"ParamA.html\" title=\"annotation in typeannos\">"
|
||||
+ "@ParamA</a> [] a)</span></div>");
|
||||
|
||||
// Test for type annotations on throws (Throws.java).
|
||||
checkOutput("typeannos/ThrDefaultUnmodified.html", true,
|
||||
"<pre class=\"methodSignature\">void oneException()\n"
|
||||
+ " throws <a href=\"ThrA.html\" title=\""
|
||||
+ "annotation in typeannos\">@ThrA</a> java.lang.Exception</pre>",
|
||||
"<div class=\"memberSignature\"><span class=\"returnType\">void</span> "
|
||||
+ "<span class=\"memberName\">oneException</span>()\n"
|
||||
+ " throws <span class=\"exceptions\"><a href=\"ThrA.html\" "
|
||||
+ "title=\"annotation in typeannos\">@ThrA</a> java.lang.Exception</span></div>",
|
||||
|
||||
"<pre class=\"methodSignature\">void twoExceptions()\n"
|
||||
+ " throws <a href=\"ThrA.html\" title=\""
|
||||
+ "annotation in typeannos\">@ThrA</a> java.lang.RuntimeException,\n"
|
||||
+ " <a href=\"ThrA.html\" title=\""
|
||||
+ "annotation in typeannos\">@ThrA</a> java.lang.Exception</pre>");
|
||||
"<div class=\"memberSignature\"><span class=\"returnType\">void</span> "
|
||||
+ "<span class=\"memberName\">twoExceptions</span>()\n"
|
||||
+ " throws <span class=\"exceptions\"><a href=\"ThrA.html\" "
|
||||
+ "title=\"annotation in typeannos\">@ThrA</a> java.lang.RuntimeException,\n"
|
||||
+ "<a href=\"ThrA.html\" title=\"annotation in typeannos\">@ThrA</a> "
|
||||
+ "java.lang.Exception</span></div>");
|
||||
|
||||
checkOutput("typeannos/ThrPublicModified.html", true,
|
||||
"<pre class=\"methodSignature\">public final void oneException​"
|
||||
+ "(java.lang.String a)\n throws <a href=\"ThrA.html\" "
|
||||
+ "title=\"annotation in typeannos\">@ThrA</a> java.lang.Exception</pre>",
|
||||
"<div class=\"memberSignature\"><span class=\"modifiers\">public final</span> "
|
||||
+ "<span class=\"returnType\">void</span> <span class=\"memberName\">"
|
||||
+ "oneException</span>​(<span class=\"arguments\">java.lang.String a)</span>\n"
|
||||
+ " throws <span class=\"exceptions\"><a href=\"ThrA.html\" "
|
||||
+ "title=\"annotation in typeannos\">@ThrA</a> java.lang.Exception</span></div>",
|
||||
|
||||
"<pre class=\"methodSignature\">public final void twoExceptions​"
|
||||
+ "(java.lang.String a)\n throws <a href=\"ThrA.html\" "
|
||||
"<div class=\"memberSignature\"><span class=\"modifiers\">public final</span> "
|
||||
+ "<span class=\"returnType\">void</span> <span class=\"memberName\">"
|
||||
+ "twoExceptions</span>​(<span class=\"arguments\">java.lang.String a)</span>\n"
|
||||
+ " throws <span class=\"exceptions\"><a href=\"ThrA.html\" "
|
||||
+ "title=\"annotation in typeannos\">@ThrA</a> java.lang.RuntimeException,\n"
|
||||
+ " <a href=\"ThrA.html\" "
|
||||
+ "title=\"annotation in typeannos\">@ThrA</a> java.lang.Exception</pre>");
|
||||
+ "<a href=\"ThrA.html\" title=\"annotation in typeannos\">@ThrA</a> "
|
||||
+ "java.lang.Exception</span></div>");
|
||||
|
||||
checkOutput("typeannos/ThrWithValue.html", true,
|
||||
"<pre class=\"methodSignature\">void oneException()\n"
|
||||
+ " throws <a href=\"ThrB.html\" title=\""
|
||||
+ "annotation in typeannos\">@ThrB</a>("
|
||||
+ "\"m\") java.lang.Exception</pre>",
|
||||
"<div class=\"memberSignature\"><span class=\"returnType\">void</span> "
|
||||
+ "<span class=\"memberName\">oneException</span>()\n"
|
||||
+ " throws <span class=\"exceptions\"><a href=\"ThrB.html\" "
|
||||
+ "title=\"annotation in typeannos\">@ThrB</a>(\"m\") java.lang.Exception</span></div>",
|
||||
|
||||
"<pre class=\"methodSignature\">void twoExceptions()\n"
|
||||
+ " throws <a href=\"ThrB.html\" title=\""
|
||||
+ "annotation in typeannos\">@ThrB</a>("
|
||||
+ "\"m\") java.lang.RuntimeException,\n"
|
||||
+ " <a href=\"ThrA.html\" title=\""
|
||||
+ "annotation in typeannos\">@ThrA</a> java.lang.Exception</pre>");
|
||||
"<div class=\"memberSignature\"><span class=\"returnType\">void</span> "
|
||||
+ "<span class=\"memberName\">twoExceptions</span>()\n"
|
||||
+ " throws <span class=\"exceptions\"><a href=\"ThrB.html\" "
|
||||
+ "title=\"annotation in typeannos\">@ThrB</a>(\"m\") java.lang.RuntimeException,\n"
|
||||
+ "<a href=\"ThrA.html\" title=\"annotation in typeannos\">@ThrA</a> "
|
||||
+ "java.lang.Exception</span></div>");
|
||||
|
||||
// Test for type annotations on type parameters (TypeParameters.java).
|
||||
checkOutput("typeannos/TestMethods.html", true,
|
||||
"<pre class=\"methodSignature\"><K,​<a href=\"TyParaA.html\" title="
|
||||
+ "\"annotation in typeannos\">@TyParaA</a> V extends <a href=\"TyParaA.html\" "
|
||||
+ "title=\"annotation in typeannos\">@TyParaA</a> "
|
||||
+ "java.lang.String> void secondAnnotated()</pre>"
|
||||
"<div class=\"memberSignature\"><span class=\"typeParameters\"><K,​\n"
|
||||
+ "<a href=\"TyParaA.html\" title=\"annotation in typeannos\">@TyParaA</a> V extends "
|
||||
+ "<a href=\"TyParaA.html\" title=\"annotation in typeannos\">@TyParaA</a> "
|
||||
+ "java.lang.String></span>\n<span class=\"returnType\">void</span> "
|
||||
+ "<span class=\"memberName\">secondAnnotated</span>()</div>"
|
||||
);
|
||||
|
||||
// Test for type annotations on wildcard type (Wildcards.java).
|
||||
checkOutput("typeannos/BoundTest.html", true,
|
||||
"<pre class=\"methodSignature\">void wcExtends​(<a href=\"MyList.html\" "
|
||||
+ "title=\"class in typeannos\">MyList</a><? extends <a href=\""
|
||||
+ "WldA.html\" title=\"annotation in typeannos\">@WldA"
|
||||
+ "</a> java.lang.String> l)</pre>",
|
||||
"<div class=\"memberSignature\"><span class=\"returnType\">void</span> "
|
||||
+ "<span class=\"memberName\">wcExtends</span>​(<span class=\"arguments\">"
|
||||
+ "<a href=\"MyList.html\" title=\"class in typeannos\">MyList</a><? extends "
|
||||
+ "<a href=\"WldA.html\" title=\"annotation in typeannos\">@WldA</a> "
|
||||
+ "java.lang.String> l)</span></div>",
|
||||
|
||||
"<pre class=\"methodSignature\"><a href=\"MyList.html\" title=\"class in "
|
||||
+ "typeannos\">MyList</a><? super <a href=\"WldA.html\" "
|
||||
+ "title=\"annotation in typeannos\">@WldA</a> java.lang.String>"
|
||||
+ " returnWcSuper()</pre>");
|
||||
"<div class=\"memberSignature\"><span class=\"returnType\"><a href=\"MyList.html\" "
|
||||
+ "title=\"class in typeannos\">MyList</a><? super <a href=\"WldA.html\" "
|
||||
+ "title=\"annotation in typeannos\">@WldA</a> java.lang.String></span> "
|
||||
+ "<span class=\"memberName\">returnWcSuper</span>()</div>");
|
||||
|
||||
checkOutput("typeannos/BoundWithValue.html", true,
|
||||
"<pre class=\"methodSignature\">void wcSuper​(<a href=\"MyList.html\""
|
||||
+ " title=\"class in typeannos\">MyList</a><? super <a href=\""
|
||||
+ "WldB.html\" title=\"annotation in typeannos\">@WldB</a>("
|
||||
+ "\"m\") java.lang."
|
||||
+ "String> l)</pre>",
|
||||
"<div class=\"memberSignature\"><span class=\"returnType\">void</span> "
|
||||
+ "<span class=\"memberName\">wcSuper</span>​(<span class=\"arguments\">"
|
||||
+ "<a href=\"MyList.html\" title=\"class in typeannos\">MyList</a><? super "
|
||||
+ "<a href=\"WldB.html\" title=\"annotation in typeannos\">@WldB</a>(\"m\") "
|
||||
+ "java.lang.String> l)</span></div>",
|
||||
|
||||
"<pre class=\"methodSignature\"><a href=\"MyList.html\" title=\"class in "
|
||||
+ "typeannos\">MyList</a><? extends <a href=\"WldB."
|
||||
+ "html\" title=\"annotation in typeannos\">@WldB</a>("
|
||||
+ "\"m\") java.lang.String"
|
||||
+ "> returnWcExtends()</pre>");
|
||||
"<div class=\"memberSignature\"><span class=\"returnType\"><a href=\"MyList.html\" "
|
||||
+ "title=\"class in typeannos\">MyList</a><? extends <a href=\"WldB.html\" "
|
||||
+ "title=\"annotation in typeannos\">@WldB</a>(\"m\") java.lang.String></span>"
|
||||
+ " <span class=\"memberName\">returnWcExtends</span>()</div>");
|
||||
|
||||
// Test for receiver annotations (Receivers.java).
|
||||
checkOutput("typeannos/DefaultUnmodified.html", true,
|
||||
"<pre class=\"methodSignature\">void withException​(<a href=\"RcvrA.html\" "
|
||||
+ "title=\"annotation in typeannos\">@RcvrA</a> "
|
||||
+ "DefaultUnmodified this)\n"
|
||||
+ " throws java."
|
||||
+ "lang.Exception</pre>",
|
||||
"<div class=\"memberSignature\"><span class=\"returnType\">void</span> "
|
||||
+ "<span class=\"memberName\">withException</span>​(<span class=\"arguments\">"
|
||||
+ "<a href=\"RcvrA.html\" title=\"annotation in typeannos\">@RcvrA</a>"
|
||||
+ " DefaultUnmodified this)</span>\n"
|
||||
+ " throws <span class=\"exceptions\">java.lang.Exception</span></div>",
|
||||
|
||||
"<pre class=\"methodSignature\">java.lang.String nonVoid​(<a href=\"RcvrA."
|
||||
+ "html\" title=\"annotation in typeannos\">@RcvrA</a> <a href=\""
|
||||
+ "RcvrB.html\" title=\"annotation in typeannos\">@RcvrB"
|
||||
+ "</a>(\"m\")"
|
||||
+ " DefaultUnmodified this)</pre>",
|
||||
"<div class=\"memberSignature\"><span class=\"returnType\">java.lang.String</span> "
|
||||
+ "<span class=\"memberName\">nonVoid</span>​(<span class=\"arguments\">"
|
||||
+ "<a href=\"RcvrA.html\" title=\"annotation in typeannos\">@RcvrA</a> "
|
||||
+ "<a href=\"RcvrB.html\" title=\"annotation in typeannos\">@RcvrB</a>(\"m\")"
|
||||
+ " DefaultUnmodified this)</span></div>",
|
||||
|
||||
"<pre class=\"methodSignature\"><T extends java.lang.Runnable> void accept​("
|
||||
+ "<a href=\"RcvrA.html\" title=\"annotation in "
|
||||
+ "typeannos\">@RcvrA</a> DefaultUnmodified this,\n"
|
||||
+ " T r)\n"
|
||||
+ " throws java.lang.Exception</pre>");
|
||||
"<div class=\"memberSignature\"><span class=\"typeParameters\"><T extends "
|
||||
+ "java.lang.Runnable></span> <span class=\"returnType\">void</span> "
|
||||
+ "<span class=\"memberName\">accept</span>​(<span class=\"arguments\">"
|
||||
+ "<a href=\"RcvrA.html\" title=\"annotation in typeannos\">@RcvrA</a> "
|
||||
+ "DefaultUnmodified this,\nT r)</span>\n"
|
||||
+ " throws <span class=\"exceptions\">"
|
||||
+ "java.lang.Exception</span></div>");
|
||||
|
||||
checkOutput("typeannos/PublicModified.html", true,
|
||||
"<pre class=\"methodSignature\">public final java.lang.String nonVoid​"
|
||||
+ "(<a href=\"RcvrA.html\" title=\"annotation in typeannos\">"
|
||||
+ "@RcvrA</a> PublicModified this)</pre>",
|
||||
"<div class=\"memberSignature\"><span class=\"modifiers\">public final</span> "
|
||||
+ "<span class=\"returnType\">java.lang.String</span> <span class=\"memberName\">"
|
||||
+ "nonVoid</span>​(<span class=\"arguments\"><a href=\"RcvrA.html\" "
|
||||
+ "title=\"annotation in typeannos\">@RcvrA</a> PublicModified this)"
|
||||
+ "</span></div>",
|
||||
|
||||
"<pre class=\"methodSignature\">public final <T extends java.lang.Runnable> "
|
||||
+ "void accept​(<a href=\"RcvrA.html\" title=\""
|
||||
+ "annotation in typeannos\">@RcvrA</a> PublicModified this,\n"
|
||||
+ " T r)\n"
|
||||
+ " throws java.lang.Exception</pre>");
|
||||
"<div class=\"memberSignature\"><span class=\"modifiers\">public final</span> "
|
||||
+ "<span class=\"typeParameters\"><T extends java.lang.Runnable></span> "
|
||||
+ "<span class=\"returnType\">void</span> <span class=\"memberName\">accept"
|
||||
+ "</span>​(<span class=\"arguments\"><a href=\"RcvrA.html\" "
|
||||
+ "title=\"annotation in typeannos\">@RcvrA</a> PublicModified this,\n"
|
||||
+ "T r)</span>\n throws "
|
||||
+ "<span class=\"exceptions\">java.lang.Exception</span></div>");
|
||||
|
||||
checkOutput("typeannos/WithValue.html", true,
|
||||
"<pre class=\"methodSignature\"><T extends java.lang.Runnable> void accept​("
|
||||
+ "<a href=\"RcvrB.html\" title=\"annotation in "
|
||||
+ "typeannos\">@RcvrB</a>("
|
||||
+ "\"m\") WithValue this,\n"
|
||||
+ " T r)\n"
|
||||
+ " throws java.lang.Exception</pre>");
|
||||
"<div class=\"memberSignature\"><span class=\"typeParameters\"><T extends "
|
||||
+ "java.lang.Runnable></span> <span class=\"returnType\">void</span> "
|
||||
+ "<span class=\"memberName\">accept</span>​(<span class=\"arguments\">"
|
||||
+ "<a href=\"RcvrB.html\" title=\"annotation in typeannos\">@RcvrB</a>(\"m\")"
|
||||
+ " WithValue this,\nT r)</span>\n"
|
||||
+ " throws <span class=\"exceptions\">"
|
||||
+ "java.lang.Exception</span></div>");
|
||||
|
||||
checkOutput("typeannos/WithFinal.html", true,
|
||||
"<pre class=\"methodSignature\">java.lang.String nonVoid​(<a href=\"RcvrB.html\" "
|
||||
+ "title=\"annotation in typeannos\">@RcvrB</a>(\"m\") "
|
||||
+ "<a href=\"WithFinal.html\" title=\"class in typeannos\">"
|
||||
+ "WithFinal</a> afield)</pre>");
|
||||
"<div class=\"memberSignature\"><span class=\"returnType\">java.lang.String</span>"
|
||||
+ " <span class=\"memberName\">nonVoid</span>​(<span class=\"arguments\">"
|
||||
+ "<a href=\"RcvrB.html\" title=\"annotation in typeannos\">@RcvrB</a>(\"m\") "
|
||||
+ "<a href=\"WithFinal.html\" title=\"class in typeannos\">WithFinal</a>"
|
||||
+ " afield)</span></div>");
|
||||
|
||||
checkOutput("typeannos/WithBody.html", true,
|
||||
"<pre class=\"methodSignature\">void field​(<a href=\"RcvrA.html\" title=\""
|
||||
+ "annotation in typeannos\">@RcvrA</a> WithBody this)</pre>");
|
||||
"<div class=\"memberSignature\"><span class=\"returnType\">void</span> "
|
||||
+ "<span class=\"memberName\">field</span>​(<span class=\"arguments\">"
|
||||
+ "<a href=\"RcvrA.html\" title=\"annotation in typeannos\">@RcvrA</a>"
|
||||
+ " WithBody this)</span></div>");
|
||||
|
||||
checkOutput("typeannos/Generic2.html", true,
|
||||
"<pre class=\"methodSignature\">void test2​(<a href=\"RcvrA.html\" title=\""
|
||||
+ "annotation in typeannos\">@RcvrA</a> Generic2<X> this)</pre>");
|
||||
"<div class=\"memberSignature\"><span class=\"returnType\">void</span> "
|
||||
+ "<span class=\"memberName\">test2</span>​(<span class=\"arguments\">"
|
||||
+ "<a href=\"RcvrA.html\" title=\"annotation in typeannos\">@RcvrA</a>"
|
||||
+ " Generic2<X> this)</span></div>");
|
||||
|
||||
|
||||
// Test for repeated type annotations (RepeatedAnnotations.java).
|
||||
@ -393,84 +418,82 @@ public class TestTypeAnnotations extends JavadocTester {
|
||||
// + "extends java.lang.Object</pre>");
|
||||
|
||||
checkOutput("typeannos/RepeatingOnConstructor.html", true,
|
||||
"<pre><a href=\"RepConstructorA.html\" title=\"annotation "
|
||||
+ "in typeannos\">@RepConstructorA</a> <a href=\"RepConstructorA.html"
|
||||
+ "\" title=\"annotation in typeannos\">@RepConstructorA</a>\n<a href="
|
||||
+ "\"RepConstructorB.html\" title=\"annotation in typeannos"
|
||||
+ "\">@RepConstructorB</a> <a href=\"RepConstructorB.html"
|
||||
+ "\" title=\"annotation in typeannos\">@RepConstructorB</a>\n"
|
||||
+ "RepeatingOnConstructor()</pre>",
|
||||
"<div class=\"memberSignature\"><span class=\"annotations\">"
|
||||
+ "<a href=\"RepConstructorA.html\" title=\"annotation in typeannos\">"
|
||||
+ "@RepConstructorA</a> <a href=\"RepConstructorA.html\" "
|
||||
+ "title=\"annotation in typeannos\">@RepConstructorA</a>\n"
|
||||
+ "<a href=\"RepConstructorB.html\" title=\"annotation in typeannos\">"
|
||||
+ "@RepConstructorB</a> <a href=\"RepConstructorB.html\" "
|
||||
+ "title=\"annotation in typeannos\">@RepConstructorB</a>\n"
|
||||
+ "</span><span class=\"memberName\">RepeatingOnConstructor</span>()</div>",
|
||||
|
||||
"<pre><a href=\"RepConstructorA.html\" title=\"annotation in typeannos"
|
||||
+ "\">@RepConstructorA</a> <a href=\"RepConstructorA.html"
|
||||
+ "\" title=\"annotation in typeannos\">@RepConstructorA</a>\n<a href="
|
||||
+ "\"RepConstructorB.html\" title=\"annotation in typeannos"
|
||||
+ "\">@RepConstructorB</a> <a href=\"RepConstructorB.html"
|
||||
+ "\" title=\"annotation in typeannos\">@RepConstructorB</a>\n"
|
||||
+ "RepeatingOnConstructor​(int i,\n int j)</pre>",
|
||||
"<div class=\"memberSignature\"><span class=\"annotations\">"
|
||||
+ "<a href=\"RepConstructorA.html\" title=\"annotation in typeannos\">"
|
||||
+ "@RepConstructorA</a> <a href=\"RepConstructorA.html\" "
|
||||
+ "title=\"annotation in typeannos\">@RepConstructorA</a>\n"
|
||||
+ "<a href=\"RepConstructorB.html\" title=\"annotation in typeannos\">"
|
||||
+ "@RepConstructorB</a> <a href=\"RepConstructorB.html\" "
|
||||
+ "title=\"annotation in typeannos\">@RepConstructorB</a>\n"
|
||||
+ "</span><span class=\"memberName\">RepeatingOnConstructor</span>"
|
||||
+ "​(<span class=\"arguments\">int i,\n"
|
||||
+ "int j)</span></div>",
|
||||
|
||||
"<pre><a href=\"RepAllContextsA.html\" title=\"annotation in typeannos"
|
||||
+ "\">@RepAllContextsA</a> <a href=\"RepAllContextsA.html"
|
||||
+ "\" title=\"annotation in typeannos\">@RepAllContextsA</a>\n"
|
||||
+ "<a href=\"RepAllContextsB.html\" title=\"annotation in typeannos"
|
||||
+ "\">@RepAllContextsB</a> <a href=\"RepAllContextsB.html"
|
||||
+ "\" title=\"annotation in typeannos\">@RepAllContextsB</a>\n"
|
||||
+ "RepeatingOnConstructor​(int i,\n int j,\n"
|
||||
+ " int k)</pre>",
|
||||
"<div class=\"memberSignature\"><span class=\"annotations\">"
|
||||
+ "<a href=\"RepAllContextsA.html\" title=\"annotation in typeannos\">"
|
||||
+ "@RepAllContextsA</a> <a href=\"RepAllContextsA.html\" "
|
||||
+ "title=\"annotation in typeannos\">@RepAllContextsA</a>\n"
|
||||
+ "<a href=\"RepAllContextsB.html\" title=\"annotation in typeannos\">"
|
||||
+ "@RepAllContextsB</a> <a href=\"RepAllContextsB.html\" "
|
||||
+ "title=\"annotation in typeannos\">@RepAllContextsB</a>\n"
|
||||
+ "</span><span class=\"memberName\">RepeatingOnConstructor</span>"
|
||||
+ "​(<span class=\"arguments\">int i,\n"
|
||||
+ "int j,\nint k)</span></div>",
|
||||
|
||||
"<pre>RepeatingOnConstructor​(<a href=\"RepParameterA.html"
|
||||
+ "\" title=\"annotation in typeannos\">@RepParameterA</a> <a href="
|
||||
+ "\"RepParameterA.html\" title=\"annotation in typeannos"
|
||||
+ "\">@RepParameterA</a> <a href=\"RepParameterB.html"
|
||||
+ "\" title=\"annotation in typeannos\">@RepParameterB</a> "
|
||||
+ "<a href=\"RepParameterB.html\" title=\"annotation in typeannos"
|
||||
+ "\">@RepParameterB</a>\n java.lang.String parameter,\n"
|
||||
+ " <a href=\"RepParameterA.html\" "
|
||||
+ "title=\"annotation in typeannos\">@RepParameterA</a> <a href="
|
||||
+ "\"RepParameterA.html\" title=\"annotation in typeannos\">"
|
||||
+ "@RepParameterA</a> <a href=\"RepParameterB.html\" "
|
||||
+ "title=\"annotation in typeannos\">@RepParameterB</a> <a href="
|
||||
+ "\"RepParameterB.html\" title=\"annotation in typeannos\">"
|
||||
+ "@RepParameterB</a>\n java.lang.String "
|
||||
+ "<a href=\"RepTypeUseA.html\" title=\"annotation in typeannos\">"
|
||||
+ "@RepTypeUseA</a> <a href=\"RepTypeUseA.html\" "
|
||||
+ "title=\"annotation in typeannos\">@RepTypeUseA</a> <a href="
|
||||
+ "\"RepTypeUseB.html\" title=\"annotation in typeannos\">@RepTypeUseB</a> "
|
||||
+ "<a href=\"RepTypeUseB.html\" title=\"annotation in typeannos\">"
|
||||
+ "@RepTypeUseB</a> ... vararg)</pre>"
|
||||
"<div class=\"memberSignature\"><span class=\"memberName\">RepeatingOnConstructor</span>"
|
||||
+ "​(<span class=\"arguments\"><a href=\"RepParameterA.html\" "
|
||||
+ "title=\"annotation in typeannos\">@RepParameterA</a> "
|
||||
+ "<a href=\"RepParameterA.html\" title=\"annotation in typeannos\">@RepParameterA</a> "
|
||||
+ "<a href=\"RepParameterB.html\" title=\"annotation in typeannos\">@RepParameterB</a> "
|
||||
+ "<a href=\"RepParameterB.html\" title=\"annotation in typeannos\">@RepParameterB</a>\n"
|
||||
+ "java.lang.String parameter,\n<a href=\"RepParameterA.html\" "
|
||||
+ "title=\"annotation in typeannos\">@RepParameterA</a> "
|
||||
+ "<a href=\"RepParameterA.html\" title=\"annotation in typeannos\">@RepParameterA</a> "
|
||||
+ "<a href=\"RepParameterB.html\" title=\"annotation in typeannos\">@RepParameterB</a> "
|
||||
+ "<a href=\"RepParameterB.html\" title=\"annotation in typeannos\">@RepParameterB</a>\n"
|
||||
+ "java.lang.String <a href=\"RepTypeUseA.html\" title=\"annotation in typeannos\">"
|
||||
+ "@RepTypeUseA</a> <a href=\"RepTypeUseA.html\" title=\"annotation in typeannos\">"
|
||||
+ "@RepTypeUseA</a> <a href=\"RepTypeUseB.html\" title=\"annotation in typeannos\">"
|
||||
+ "@RepTypeUseB</a> <a href=\"RepTypeUseB.html\" title=\"annotation in typeannos\">"
|
||||
+ "@RepTypeUseB</a> ... vararg)</span></div>"
|
||||
);
|
||||
|
||||
checkOutput("typeannos/RepeatingOnConstructor.Inner.html", true,
|
||||
"<code><span class=\"memberNameLink\"><a href=\"#%3Cinit%3E(java.lang.String,"
|
||||
+ "java.lang.String...)\">Inner</a></span>​(java.lang.String parameter,\n"
|
||||
+ " java.lang.String <a href=\"RepTypeUseA.html\" title=\"annotation in typeannos\">"
|
||||
+ "java.lang.String <a href=\"RepTypeUseA.html\" title=\"annotation in typeannos\">"
|
||||
+ "@RepTypeUseA</a> <a href=\"RepTypeUseA.html\" title=\"annotation in typeannos\">"
|
||||
+ "@RepTypeUseA</a> <a href=\"RepTypeUseB.html\" title=\"annotation in typeannos\">"
|
||||
+ "@RepTypeUseB</a> <a href=\"RepTypeUseB.html\" title=\"annotation in typeannos\">"
|
||||
+ "@RepTypeUseB</a> ... vararg)</code>",
|
||||
"Inner​(<a href=\"RepTypeUseA.html\" title=\"annotation in typeannos\">"
|
||||
+ "@RepTypeUseA</a> <a href=\"RepTypeUseA.html\" title="
|
||||
+ "\"annotation in typeannos\">@RepTypeUseA</a> <a href=\"RepTypeUseB.html"
|
||||
+ "\" title=\"annotation in typeannos\">@RepTypeUseB</a> <a href="
|
||||
+ "\"RepTypeUseB.html\" title=\"annotation in typeannos\">"
|
||||
+ "@RepTypeUseB</a> RepeatingOnConstructor this,\n <a href="
|
||||
+ "\"RepParameterA.html\" title=\"annotation in typeannos\">"
|
||||
+ "@RepParameterA</a> <a href=\"RepParameterA.html\" title="
|
||||
+ "\"annotation in typeannos\">@RepParameterA</a> <a href=\"RepParameterB.html"
|
||||
+ "\" title=\"annotation in typeannos\">@RepParameterB</a> <a href="
|
||||
+ "\"RepParameterB.html\" title=\"annotation in typeannos\">"
|
||||
+ "@RepParameterB</a>\n java.lang.String parameter,\n"
|
||||
+ " <a href=\"RepParameterA.html\" title=\"annotation in typeannos\">"
|
||||
+ "@RepParameterA</a> <a href=\"RepParameterA.html\" title="
|
||||
+ "\"annotation in typeannos\">@RepParameterA</a> <a href=\"RepParameterB.html"
|
||||
+ "\" title=\"annotation in typeannos\">@RepParameterB</a> <a href="
|
||||
+ "\"RepParameterB.html\" title=\"annotation in typeannos\">"
|
||||
+ "@RepParameterB</a>\n java.lang.String <a href=\"RepTypeUseA.html"
|
||||
+ "\" title=\"annotation in typeannos\">@RepTypeUseA</a> <a href="
|
||||
+ "\"RepTypeUseA.html\" title=\"annotation in typeannos\">"
|
||||
+ "@RepTypeUseA</a> <a href=\"RepTypeUseB.html\" title="
|
||||
+ "\"annotation in typeannos\">@RepTypeUseB</a> <a href=\"RepTypeUseB.html"
|
||||
+ "\" title=\"annotation in typeannos\">@RepTypeUseB</a> ... vararg)");
|
||||
"Inner</span>​(<span class=\"arguments\"><a href=\"RepTypeUseA.html\" "
|
||||
+ "title=\"annotation in typeannos\">@RepTypeUseA</a> <a href=\"RepTypeUseA.html\" "
|
||||
+ "title=\"annotation in typeannos\">@RepTypeUseA</a> <a href=\"RepTypeUseB.html\" "
|
||||
+ "title=\"annotation in typeannos\">@RepTypeUseB</a> <a href=\"RepTypeUseB.html\" "
|
||||
+ "title=\"annotation in typeannos\">@RepTypeUseB</a> RepeatingOnConstructor this,\n"
|
||||
+ "<a href=\"RepParameterA.html\" title=\"annotation in typeannos\">@RepParameterA</a> "
|
||||
+ "<a href=\"RepParameterA.html\" title=\"annotation in typeannos\">@RepParameterA</a> "
|
||||
+ "<a href=\"RepParameterB.html\" title=\"annotation in typeannos\">@RepParameterB</a> "
|
||||
+ "<a href=\"RepParameterB.html\" title=\"annotation in typeannos\">@RepParameterB</a>\n"
|
||||
+ "java.lang.String parameter,\n<a href=\"RepParameterA.html\" "
|
||||
+ "title=\"annotation in typeannos\">@RepParameterA</a> "
|
||||
+ "<a href=\"RepParameterA.html\" title=\"annotation in typeannos\">@RepParameterA</a> "
|
||||
+ "<a href=\"RepParameterB.html\" title=\"annotation in typeannos\">@RepParameterB</a> "
|
||||
+ "<a href=\"RepParameterB.html\" title=\"annotation in typeannos\">@RepParameterB</a>\n"
|
||||
+ "java.lang.String <a href=\"RepTypeUseA.html\" title=\"annotation in typeannos\">"
|
||||
+ "@RepTypeUseA</a> <a href=\"RepTypeUseA.html\" title=\"annotation in typeannos\">"
|
||||
+ "@RepTypeUseA</a> <a href=\"RepTypeUseB.html\" title=\"annotation in typeannos\">"
|
||||
+ "@RepTypeUseB</a> <a href=\"RepTypeUseB.html\" title=\"annotation in typeannos\">"
|
||||
+ "@RepTypeUseB</a> ... vararg)</span>");
|
||||
|
||||
checkOutput("typeannos/RepeatingOnField.html", true,
|
||||
"<code>(package private) java.lang.Integer</code></td>\n<th class=\"colSecond\" scope=\"row\">"
|
||||
@ -519,57 +542,55 @@ public class TestTypeAnnotations extends JavadocTester {
|
||||
+ "\"memberNameLink\"><a href=\"#sa"
|
||||
+ "\">sa</a></span></code>",
|
||||
|
||||
"<pre><a href=\"RepFieldA.html\" title=\"annotation in typeannos\">"
|
||||
+ "@RepFieldA</a> <a href=\"RepFieldA.html\" title="
|
||||
+ "\"annotation in typeannos\">@RepFieldA</a>\n<a href=\"RepFieldB.html"
|
||||
+ "\" title=\"annotation in typeannos\">@RepFieldB</a> <a href="
|
||||
+ "\"RepFieldB.html\" title=\"annotation in typeannos\">"
|
||||
+ "@RepFieldB</a>\njava.lang.Integer i1</pre>",
|
||||
"<div class=\"memberSignature\"><span class=\"annotations\">"
|
||||
+ "<a href=\"RepFieldA.html\" title=\"annotation in typeannos\">@RepFieldA</a> "
|
||||
+ "<a href=\"RepFieldA.html\" title=\"annotation in typeannos\">@RepFieldA</a>\n"
|
||||
+ "<a href=\"RepFieldB.html\" title=\"annotation in typeannos\">@RepFieldB</a> "
|
||||
+ "<a href=\"RepFieldB.html\" title=\"annotation in typeannos\">@RepFieldB</a>\n"
|
||||
+ "</span><span class=\"returnType\">java.lang.Integer</span> "
|
||||
+ "<span class=\"memberName\">i1</span></div>",
|
||||
|
||||
"<pre><a href=\"RepTypeUseA.html\" title=\"annotation in typeannos"
|
||||
+ "\">@RepTypeUseA</a> <a href=\"RepTypeUseA.html"
|
||||
+ "\" title=\"annotation in typeannos\">@RepTypeUseA</a> "
|
||||
+ "<a href=\"RepTypeUseB.html\" title=\"annotation in typeannos\">"
|
||||
+ "@RepTypeUseB</a> <a href=\"RepTypeUseB.html\" title="
|
||||
+ "\"annotation in typeannos\">@RepTypeUseB</a> java.lang.Integer i2</pre>",
|
||||
"<div class=\"memberSignature\"><span class=\"returnType\">"
|
||||
+ "<a href=\"RepTypeUseA.html\" title=\"annotation in typeannos\">@RepTypeUseA</a> "
|
||||
+ "<a href=\"RepTypeUseA.html\" title=\"annotation in typeannos\">@RepTypeUseA</a> "
|
||||
+ "<a href=\"RepTypeUseB.html\" title=\"annotation in typeannos\">@RepTypeUseB</a> "
|
||||
+ "<a href=\"RepTypeUseB.html\" title=\"annotation in typeannos\">@RepTypeUseB</a> "
|
||||
+ "java.lang.Integer</span> <span class=\"memberName\">i2</span></div>",
|
||||
|
||||
"<pre><a href=\"RepFieldA.html\" title=\"annotation in typeannos\">"
|
||||
+ "@RepFieldA</a> <a href=\"RepFieldA.html\" title="
|
||||
+ "\"annotation in typeannos\">@RepFieldA</a>\n<a href=\"RepFieldB.html"
|
||||
+ "\" title=\"annotation in typeannos\">@RepFieldB</a> <a href="
|
||||
+ "\"RepFieldB.html\" title=\"annotation in typeannos\">"
|
||||
+ "@RepFieldB</a>\n<a href=\"RepTypeUseA.html\" title="
|
||||
+ "\"annotation in typeannos\">@RepTypeUseA</a> <a href=\"RepTypeUseA.html"
|
||||
+ "\" title=\"annotation in typeannos\">@RepTypeUseA</a> <a href="
|
||||
+ "\"RepTypeUseB.html\" title=\"annotation in typeannos\">"
|
||||
+ "@RepTypeUseB</a> <a href=\"RepTypeUseB.html\" title="
|
||||
+ "\"annotation in typeannos\">@RepTypeUseB</a> java.lang.Integer i3</pre>",
|
||||
"<div class=\"memberSignature\"><span class=\"annotations\">"
|
||||
+ "<a href=\"RepFieldA.html\" title=\"annotation in typeannos\">@RepFieldA</a> "
|
||||
+ "<a href=\"RepFieldA.html\" title=\"annotation in typeannos\">@RepFieldA</a>\n"
|
||||
+ "<a href=\"RepFieldB.html\" title=\"annotation in typeannos\">@RepFieldB</a> "
|
||||
+ "<a href=\"RepFieldB.html\" title=\"annotation in typeannos\">@RepFieldB</a>\n"
|
||||
+ "</span><span class=\"returnType\"><a href=\"RepTypeUseA.html\" "
|
||||
+ "title=\"annotation in typeannos\">@RepTypeUseA</a> "
|
||||
+ "<a href=\"RepTypeUseA.html\" title=\"annotation in typeannos\">@RepTypeUseA</a> "
|
||||
+ "<a href=\"RepTypeUseB.html\" title=\"annotation in typeannos\">@RepTypeUseB</a> "
|
||||
+ "<a href=\"RepTypeUseB.html\" title=\"annotation in typeannos\">@RepTypeUseB</a> "
|
||||
+ "java.lang.Integer</span> <span class=\"memberName\">i3</span></div>",
|
||||
|
||||
"<pre><a href=\"RepAllContextsA.html\" title=\"annotation in typeannos\">"
|
||||
+ "@RepAllContextsA</a> <a href=\"RepAllContextsA.html"
|
||||
+ "\" title=\"annotation in typeannos\">@RepAllContextsA</a>\n<a href="
|
||||
+ "\"RepAllContextsB.html\" title=\"annotation in typeannos\">"
|
||||
+ "@RepAllContextsB</a> <a href=\"RepAllContextsB.html"
|
||||
+ "\" title=\"annotation in typeannos\">@RepAllContextsB</a>\n"
|
||||
+ "<a href=\"RepAllContextsA.html\" title=\"annotation in typeannos\">"
|
||||
+ "@RepAllContextsA</a> <a href=\"RepAllContextsA.html\" "
|
||||
+ "title=\"annotation in typeannos\">@RepAllContextsA</a> <a href="
|
||||
+ "\"RepAllContextsB.html\" title=\"annotation in typeannos\">"
|
||||
+ "@RepAllContextsB</a> <a href=\"RepAllContextsB.html"
|
||||
+ "\" title=\"annotation in typeannos\">@RepAllContextsB</a> java.lang.Integer i4</pre>",
|
||||
"<div class=\"memberSignature\"><span class=\"annotations\">"
|
||||
+ "<a href=\"RepAllContextsA.html\" title=\"annotation in typeannos\">@RepAllContextsA</a> "
|
||||
+ "<a href=\"RepAllContextsA.html\" title=\"annotation in typeannos\">@RepAllContextsA</a>\n"
|
||||
+ "<a href=\"RepAllContextsB.html\" title=\"annotation in typeannos\">@RepAllContextsB</a> "
|
||||
+ "<a href=\"RepAllContextsB.html\" title=\"annotation in typeannos\">@RepAllContextsB</a>\n"
|
||||
+ "</span><span class=\"returnType\"><a href=\"RepAllContextsA.html\" "
|
||||
+ "title=\"annotation in typeannos\">@RepAllContextsA</a> "
|
||||
+ "<a href=\"RepAllContextsA.html\" title=\"annotation in typeannos\">@RepAllContextsA</a> "
|
||||
+ "<a href=\"RepAllContextsB.html\" title=\"annotation in typeannos\">@RepAllContextsB</a> "
|
||||
+ "<a href=\"RepAllContextsB.html\" title=\"annotation in typeannos\">@RepAllContextsB</a> "
|
||||
+ "java.lang.Integer</span> <span class=\"memberName\">i4</span></div>",
|
||||
|
||||
"<pre>java.lang.String <a href=\"RepTypeUseA.html\" title="
|
||||
+ "\"annotation in typeannos\">@RepTypeUseA</a> <a href=\"RepTypeUseA.html"
|
||||
+ "\" title=\"annotation in typeannos\">@RepTypeUseA</a> <a href="
|
||||
+ "\"RepTypeUseB.html\" title=\"annotation in typeannos\">"
|
||||
+ "@RepTypeUseB</a> <a href=\"RepTypeUseB.html\" title="
|
||||
+ "\"annotation in typeannos\">@RepTypeUseB</a> [] <a href="
|
||||
+ "\"RepTypeUseA.html\" title=\"annotation in typeannos\">"
|
||||
+ "@RepTypeUseA</a> <a href=\"RepTypeUseA.html\" title="
|
||||
+ "\"annotation in typeannos\">@RepTypeUseA</a> <a href=\"RepTypeUseB.html\" "
|
||||
+ "title=\"annotation in typeannos\">@RepTypeUseB</a> <a href="
|
||||
+ "\"RepTypeUseB.html\" title=\"annotation in typeannos\">"
|
||||
+ "@RepTypeUseB</a> [] sa</pre>");
|
||||
"<div class=\"memberSignature\"><span class=\"returnType\">java.lang.String "
|
||||
+ "<a href=\"RepTypeUseA.html\" title=\"annotation in typeannos\">@RepTypeUseA</a> "
|
||||
+ "<a href=\"RepTypeUseA.html\" title=\"annotation in typeannos\">@RepTypeUseA</a> "
|
||||
+ "<a href=\"RepTypeUseB.html\" title=\"annotation in typeannos\">@RepTypeUseB</a> "
|
||||
+ "<a href=\"RepTypeUseB.html\" title=\"annotation in typeannos\">@RepTypeUseB</a> [] "
|
||||
+ "<a href=\"RepTypeUseA.html\" title=\"annotation in typeannos\">@RepTypeUseA</a> "
|
||||
+ "<a href=\"RepTypeUseA.html\" title=\"annotation in typeannos\">@RepTypeUseA</a> "
|
||||
+ "<a href=\"RepTypeUseB.html\" title=\"annotation in typeannos\">@RepTypeUseB</a> "
|
||||
+ "<a href=\"RepTypeUseB.html\" title=\"annotation in typeannos\">@RepTypeUseB</a> []"
|
||||
+ "</span> <span class=\"memberName\">sa</span></div>");
|
||||
|
||||
checkOutput("typeannos/RepeatingOnMethod.html", true,
|
||||
"<code>(package private) java.lang.String</code></td>\n<th class=\"colSecond\" scope=\"row\">"
|
||||
@ -608,7 +629,7 @@ public class TestTypeAnnotations extends JavadocTester {
|
||||
|
||||
"<code><span class=\"memberNameLink\"><a href=\""
|
||||
+ "#test5(java.lang.String,java.lang.String...)\">test5</a></span>"
|
||||
+ "​(java.lang.String parameter,\n java.lang.String <a href="
|
||||
+ "​(java.lang.String parameter,\njava.lang.String <a href="
|
||||
+ "\"RepTypeUseA.html\" title=\"annotation in typeannos\">"
|
||||
+ "@RepTypeUseA</a> <a href=\"RepTypeUseA.html\" title="
|
||||
+ "\"annotation in typeannos\">@RepTypeUseA</a> <a href=\"RepTypeUseB.html"
|
||||
@ -616,69 +637,63 @@ public class TestTypeAnnotations extends JavadocTester {
|
||||
+ "\"RepTypeUseB.html\" title=\"annotation in typeannos\">"
|
||||
+ "@RepTypeUseB</a> ... vararg)</code>",
|
||||
|
||||
"<a href=\"RepMethodA.html\" title=\"annotation in typeannos\">"
|
||||
+ "@RepMethodA</a> <a href=\"RepMethodA.html\" title="
|
||||
+ "\"annotation in typeannos\">@RepMethodA</a>\n<a href=\"RepMethodB.html\""
|
||||
+ " title=\"annotation in typeannos\">@RepMethodB</a> <a href="
|
||||
+ "\"RepMethodB.html\" title=\"annotation in typeannos\">"
|
||||
+ "@RepMethodB</a>\njava.lang.String test1()",
|
||||
"<a href=\"RepMethodA.html\" title=\"annotation in typeannos\">@RepMethodA</a> "
|
||||
+ "<a href=\"RepMethodA.html\" title=\"annotation in typeannos\">@RepMethodA</a>\n"
|
||||
+ "<a href=\"RepMethodB.html\" title=\"annotation in typeannos\">@RepMethodB</a> "
|
||||
+ "<a href=\"RepMethodB.html\" title=\"annotation in typeannos\">@RepMethodB</a>\n"
|
||||
+ "</span><span class=\"returnType\">java.lang.String</span> "
|
||||
+ "<span class=\"memberName\">test1</span>()",
|
||||
|
||||
"<a href=\"RepTypeUseA.html\" title=\"annotation in typeannos\">"
|
||||
+ "@RepTypeUseA</a> <a href=\"RepTypeUseA.html\" title="
|
||||
+ "\"annotation in typeannos\">@RepTypeUseA</a> <a href=\"RepTypeUseB.html\" "
|
||||
+ "title=\"annotation in typeannos\">@RepTypeUseB</a> <a href=\"RepTypeUseB.html\" "
|
||||
+ "title=\"annotation in typeannos\">@RepTypeUseB</a> java.lang.String test2()",
|
||||
+ "title=\"annotation in typeannos\">@RepTypeUseB</a> java.lang.String</span>"
|
||||
+ " <span class=\"memberName\">test2</span>()",
|
||||
|
||||
"<a href=\"RepMethodA.html\" title=\"annotation in typeannos\">"
|
||||
+ "@RepMethodA</a> <a href=\"RepMethodA.html\" title="
|
||||
+ "\"annotation in typeannos\">@RepMethodA</a>\n<a href=\"RepMethodB.html\" "
|
||||
+ "title=\"annotation in typeannos\">@RepMethodB</a> <a href="
|
||||
+ "\"RepMethodB.html\" title=\"annotation in typeannos\">"
|
||||
+ "@RepMethodB</a>\n<a href=\"RepTypeUseA.html\" title="
|
||||
+ "\"annotation in typeannos\">@RepTypeUseA</a> <a href=\"RepTypeUseA.html\" "
|
||||
+ "title=\"annotation in typeannos\">@RepTypeUseA</a> <a href="
|
||||
+ "\"RepTypeUseB.html\" title=\"annotation in typeannos\">"
|
||||
+ "@RepTypeUseB</a> <a href=\"RepTypeUseB.html\" title="
|
||||
+ "\"annotation in typeannos\">@RepTypeUseB</a> java.lang.String test3()",
|
||||
"<a href=\"RepMethodA.html\" title=\"annotation in typeannos\">@RepMethodA</a> "
|
||||
+ "<a href=\"RepMethodA.html\" title=\"annotation in typeannos\">@RepMethodA</a>\n"
|
||||
+ "<a href=\"RepMethodB.html\" title=\"annotation in typeannos\">@RepMethodB</a> "
|
||||
+ "<a href=\"RepMethodB.html\" title=\"annotation in typeannos\">@RepMethodB</a>\n"
|
||||
+ "</span><span class=\"returnType\"><a href=\"RepTypeUseA.html\" "
|
||||
+ "title=\"annotation in typeannos\">@RepTypeUseA</a> <a href=\"RepTypeUseA.html\" "
|
||||
+ "title=\"annotation in typeannos\">@RepTypeUseA</a> <a href=\"RepTypeUseB.html\" "
|
||||
+ "title=\"annotation in typeannos\">@RepTypeUseB</a> <a href=\"RepTypeUseB.html\" "
|
||||
+ "title=\"annotation in typeannos\">@RepTypeUseB</a> java.lang.String</span> "
|
||||
+ "<span class=\"memberName\">test3</span>()",
|
||||
|
||||
"<a href=\"RepAllContextsA.html\" title=\"annotation in typeannos\">"
|
||||
+ "@RepAllContextsA</a> <a href=\"RepAllContextsA.html\" "
|
||||
+ "title=\"annotation in typeannos\">@RepAllContextsA</a>\n<a href="
|
||||
+ "\"RepAllContextsB.html\" title=\"annotation in typeannos\">"
|
||||
+ "@RepAllContextsB</a> <a href=\"RepAllContextsB.html\" "
|
||||
+ "title=\"annotation in typeannos\">@RepAllContextsB</a>\n<a href="
|
||||
+ "\"RepAllContextsA.html\" title=\"annotation in typeannos\">"
|
||||
+ "@RepAllContextsA</a> <a href=\"RepAllContextsA.html\" "
|
||||
+ "title=\"annotation in typeannos\">@RepAllContextsA</a> <a href="
|
||||
+ "\"RepAllContextsB.html\" title=\"annotation in typeannos\">"
|
||||
+ "@RepAllContextsB</a> <a href=\"RepAllContextsB.html\" "
|
||||
+ "title=\"annotation in typeannos\">@RepAllContextsB</a> java.lang.String test4()",
|
||||
"<a href=\"RepAllContextsA.html\" title=\"annotation in typeannos\">@RepAllContextsA</a> "
|
||||
+ "<a href=\"RepAllContextsA.html\" title=\"annotation in typeannos\">@RepAllContextsA</a>\n"
|
||||
+ "<a href=\"RepAllContextsB.html\" title=\"annotation in typeannos\">@RepAllContextsB</a> "
|
||||
+ "<a href=\"RepAllContextsB.html\" title=\"annotation in typeannos\">@RepAllContextsB</a>\n"
|
||||
+ "</span><span class=\"returnType\"><a href=\"RepAllContextsA.html\" "
|
||||
+ "title=\"annotation in typeannos\">@RepAllContextsA</a> <a href=\"RepAllContextsA.html\" "
|
||||
+ "title=\"annotation in typeannos\">@RepAllContextsA</a> <a href=\"RepAllContextsB.html\" "
|
||||
+ "title=\"annotation in typeannos\">@RepAllContextsB</a> <a href=\"RepAllContextsB.html\" "
|
||||
+ "title=\"annotation in typeannos\">@RepAllContextsB</a> java.lang.String</span> "
|
||||
+ "<span class=\"memberName\">test4</span>()",
|
||||
|
||||
"java.lang.String test5​(<a href=\"RepTypeUseA.html\" "
|
||||
+ "title=\"annotation in typeannos\">@RepTypeUseA</a> <a href="
|
||||
+ "\"RepTypeUseA.html\" title=\"annotation in typeannos\">"
|
||||
+ "@RepTypeUseA</a> <a href=\"RepTypeUseB.html\" title="
|
||||
+ "\"annotation in typeannos\">@RepTypeUseB</a> <a href=\"RepTypeUseB.html\" "
|
||||
+ "title=\"annotation in typeannos\">@RepTypeUseB</a> RepeatingOnMethod "
|
||||
+ "this,\n <a href=\"RepParameterA.html\" "
|
||||
+ "title=\"annotation in typeannos\">@RepParameterA</a> <a href="
|
||||
+ "\"RepParameterA.html\" title=\"annotation in typeannos\">"
|
||||
+ "@RepParameterA</a> <a href=\"RepParameterB.html\" "
|
||||
+ "title=\"annotation in typeannos\">@RepParameterB</a> <a href="
|
||||
+ "\"RepParameterB.html\" title=\"annotation in typeannos\">"
|
||||
+ "@RepParameterB</a>\n java.lang.String parameter,\n"
|
||||
+ " <a href=\"RepParameterA.html\" title="
|
||||
+ "\"annotation in typeannos\">@RepParameterA</a> <a href=\"RepParameterA.html\""
|
||||
+ " title=\"annotation in typeannos\">@RepParameterA</a> <a href="
|
||||
+ "\"RepParameterB.html\" title=\"annotation in typeannos\">"
|
||||
+ "@RepParameterB</a> <a href=\"RepParameterB.html\" title="
|
||||
+ "\"annotation in typeannos\">@RepParameterB</a>\n "
|
||||
+ "java.lang.String <a href=\"RepTypeUseA.html\" title="
|
||||
+ "\"annotation in typeannos\">@RepTypeUseA</a> <a href=\"RepTypeUseA.html\" "
|
||||
+ "title=\"annotation in typeannos\">@RepTypeUseA</a> <a href="
|
||||
+ "\"RepTypeUseB.html\" title=\"annotation in typeannos\">"
|
||||
+ "@RepTypeUseB</a> <a href=\"RepTypeUseB.html\" title="
|
||||
+ "\"annotation in typeannos\">@RepTypeUseB</a> ... vararg)");
|
||||
"java.lang.String</span> <span class=\"memberName\">test5</span>​("
|
||||
+ "<span class=\"arguments\"><a href=\"RepTypeUseA.html\" "
|
||||
+ "title=\"annotation in typeannos\">@RepTypeUseA</a> "
|
||||
+ "<a href=\"RepTypeUseA.html\" title=\"annotation in typeannos\">@RepTypeUseA</a> "
|
||||
+ "<a href=\"RepTypeUseB.html\" title=\"annotation in typeannos\">@RepTypeUseB</a> "
|
||||
+ "<a href=\"RepTypeUseB.html\" title=\"annotation in typeannos\">@RepTypeUseB</a>"
|
||||
+ " RepeatingOnMethod this,\n"
|
||||
+ "<a href=\"RepParameterA.html\" title=\"annotation in typeannos\">@RepParameterA</a> "
|
||||
+ "<a href=\"RepParameterA.html\" title=\"annotation in typeannos\">@RepParameterA</a> "
|
||||
+ "<a href=\"RepParameterB.html\" title=\"annotation in typeannos\">@RepParameterB</a> "
|
||||
+ "<a href=\"RepParameterB.html\" title=\"annotation in typeannos\">@RepParameterB</a>\n"
|
||||
+ "java.lang.String parameter,\n"
|
||||
+ "<a href=\"RepParameterA.html\" title=\"annotation in typeannos\">@RepParameterA</a> "
|
||||
+ "<a href=\"RepParameterA.html\" title=\"annotation in typeannos\">@RepParameterA</a> "
|
||||
+ "<a href=\"RepParameterB.html\" title=\"annotation in typeannos\">@RepParameterB</a> "
|
||||
+ "<a href=\"RepParameterB.html\" title=\"annotation in typeannos\">@RepParameterB</a>\n"
|
||||
+ "java.lang.String <a href=\"RepTypeUseA.html\" title=\"annotation in typeannos\">"
|
||||
+ "@RepTypeUseA</a> <a href=\"RepTypeUseA.html\" title=\"annotation in typeannos\">"
|
||||
+ "@RepTypeUseA</a> <a href=\"RepTypeUseB.html\" title=\"annotation in typeannos\">"
|
||||
+ "@RepTypeUseB</a> <a href=\"RepTypeUseB.html\" title=\"annotation in typeannos\">"
|
||||
+ "@RepTypeUseB</a> ... vararg)");
|
||||
|
||||
checkOutput("typeannos/RepeatingOnTypeParametersBoundsTypeArgumentsOnMethod.html", true,
|
||||
"<code>(package private) <T> java.lang.String</code></td>\n"
|
||||
@ -699,7 +714,9 @@ public class TestTypeAnnotations extends JavadocTester {
|
||||
+ "<span class=\"memberNameLink\"><a href=\"#"
|
||||
+ "test()\">test</a></span>()</code>",
|
||||
|
||||
"java.lang.String test​(<a href=\"RepTypeUseA.html\" "
|
||||
"<span class=\"returnType\">java.lang.String</span> "
|
||||
+ "<span class=\"memberName\">test</span>"
|
||||
+ "​(<span class=\"arguments\"><a href=\"RepTypeUseA.html\" "
|
||||
+ "title=\"annotation in typeannos\">@RepTypeUseA</a> <a href="
|
||||
+ "\"RepTypeUseA.html\" title=\"annotation in typeannos\">"
|
||||
+ "@RepTypeUseA</a> <a href=\"RepTypeUseB.html\" title="
|
||||
@ -713,11 +730,11 @@ public class TestTypeAnnotations extends JavadocTester {
|
||||
+ "title=\"annotation in typeannos\">@RepTypeUseB</a> T> this)");
|
||||
|
||||
checkOutput("typeannos/RepeatingOnVoidMethodDeclaration.html", true,
|
||||
"<a href=\"RepMethodA.html\" title=\"annotation in typeannos\">"
|
||||
+ "@RepMethodA</a> <a href=\"RepMethodA.html\" title="
|
||||
+ "\"annotation in typeannos\">@RepMethodA</a>\n<a href=\"RepMethodB.html"
|
||||
+ "\" title=\"annotation in typeannos\">@RepMethodB</a> <a href="
|
||||
+ "\"RepMethodB.html\" title=\"annotation in typeannos\">"
|
||||
+ "@RepMethodB</a>\nvoid test()");
|
||||
"<a href=\"RepMethodA.html\" title=\"annotation in typeannos\">@RepMethodA</a> "
|
||||
+ "<a href=\"RepMethodA.html\" title=\"annotation in typeannos\">@RepMethodA</a>\n"
|
||||
+ "<a href=\"RepMethodB.html\" title=\"annotation in typeannos\">@RepMethodB</a> "
|
||||
+ "<a href=\"RepMethodB.html\" title=\"annotation in typeannos\">@RepMethodB</a>\n"
|
||||
+ "</span><span class=\"returnType\">void</span> "
|
||||
+ "<span class=\"memberName\">test</span>()");
|
||||
}
|
||||
}
|
||||
|
@ -54,7 +54,7 @@ public class TestTypeParameters extends JavadocTester {
|
||||
checkExit(Exit.OK);
|
||||
|
||||
checkOutput("pkg/C.html", true,
|
||||
"<td class=\"colFirst\"><code><W extends java.lang.String,​V extends "
|
||||
"<td class=\"colFirst\"><code><W extends java.lang.String,​\nV extends "
|
||||
+ "java.util.List><br>java.lang.Object</code></td>",
|
||||
"<code><T> java.lang.Object</code>");
|
||||
|
||||
|
@ -272,7 +272,7 @@ public class TestVisibleMembers extends JavadocTester {
|
||||
|
||||
checkOrder("p/C.html",
|
||||
"METHOD DETAIL",
|
||||
"public", "void", "method()",
|
||||
"public", "void", "method",
|
||||
"See Also:",
|
||||
"sub()",
|
||||
"sub1()");
|
||||
@ -307,7 +307,7 @@ public class TestVisibleMembers extends JavadocTester {
|
||||
|
||||
checkOrder("p/C.html",
|
||||
"METHOD DETAIL",
|
||||
"public", "void", "method()", "See Also:", "sub()", "I.sub1()",
|
||||
"public", "void", "method", "See Also:", "sub()", "I.sub1()",
|
||||
"public", "void", "m", "Method in C. See", "I.length()"
|
||||
);
|
||||
|
||||
@ -411,10 +411,10 @@ public class TestVisibleMembers extends JavadocTester {
|
||||
|
||||
checkOrder("p/C.html",
|
||||
"METHOD DETAIL",
|
||||
"public", "void", "m()", "Method m in p.B",
|
||||
"public", "void", "n()", "Method n in p.A",
|
||||
"public", "void", "o()", "Description copied from class:", ">A<", "Method o in p.A",
|
||||
"public", "void", "p()", "Method p in p.B",
|
||||
"public", "void", "m", "Method m in p.B",
|
||||
"public", "void", "n", "Method n in p.A",
|
||||
"public", "void", "o", "Description copied from class:", ">A<", "Method o in p.A",
|
||||
"public", "void", "p", "Method p in p.B",
|
||||
"END OF CLASS DATA");
|
||||
|
||||
checkOutput("p/C.html", false,
|
||||
@ -471,10 +471,10 @@ public class TestVisibleMembers extends JavadocTester {
|
||||
|
||||
checkOrder("p/C.html",
|
||||
"METHOD DETAIL",
|
||||
"public", "void", "m()", "Method m in p.B",
|
||||
"public", "void", "n()", "Method n in p.A",
|
||||
"public", "void", "o()", "Description copied from class:", ">A<", "Method o in p.A",
|
||||
"public", "void", "p()", "Method p in p.B",
|
||||
"public", "void", "m", "Method m in p.B",
|
||||
"public", "void", "n", "Method n in p.A",
|
||||
"public", "void", "o", "Description copied from class:", ">A<", "Method o in p.A",
|
||||
"public", "void", "p", "Method p in p.B",
|
||||
"END OF CLASS DATA");
|
||||
|
||||
checkOutput("p/C.html", false,
|
||||
|
Loading…
x
Reference in New Issue
Block a user