mirror of
https://github.com/openjdk/jdk.git
synced 2026-03-07 22:50:49 +00:00
8011288: Erratic/inconsistent indentation of signatures
Reviewed-by: darcy
This commit is contained in:
parent
b2becec2bc
commit
0ac80e7f93
@ -60,17 +60,24 @@ public abstract class AbstractExecutableMemberWriter extends AbstractMemberWrite
|
||||
* @param htmltree the content tree to which the parameters will be added.
|
||||
* @return the display length required to write this information.
|
||||
*/
|
||||
protected int addTypeParameters(ExecutableMemberDoc member, Content htmltree) {
|
||||
protected void addTypeParameters(ExecutableMemberDoc member, Content htmltree) {
|
||||
Content typeParameters = getTypeParameters(member);
|
||||
if (!typeParameters.isEmpty()) {
|
||||
htmltree.addContent(typeParameters);
|
||||
htmltree.addContent(writer.getSpace());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the type parameters for the executable member.
|
||||
*
|
||||
* @param member the member for which to get the type parameters.
|
||||
* @return the type parameters.
|
||||
*/
|
||||
protected Content getTypeParameters(ExecutableMemberDoc member) {
|
||||
LinkInfoImpl linkInfo = new LinkInfoImpl(configuration,
|
||||
LinkInfoImpl.Kind.MEMBER_TYPE_PARAMS, member);
|
||||
Content typeParameters = writer.getTypeParameterLinks(linkInfo);
|
||||
if (linkInfo.displayLength > 0) {
|
||||
Content linkContent = typeParameters;
|
||||
htmltree.addContent(linkContent);
|
||||
htmltree.addContent(writer.getSpace());
|
||||
writer.displayLength += linkInfo.displayLength + 1;
|
||||
}
|
||||
return linkInfo.displayLength;
|
||||
return writer.getTypeParameterLinks(linkInfo);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -98,8 +105,7 @@ public abstract class AbstractExecutableMemberWriter extends AbstractMemberWrite
|
||||
writer.getDocLink(context, cd, (MemberDoc) emd,
|
||||
name, false));
|
||||
Content code = HtmlTree.CODE(strong);
|
||||
writer.displayLength = name.length();
|
||||
addParameters(emd, false, code);
|
||||
addParameters(emd, false, code, name.length() - 1);
|
||||
tdSummary.addContent(code);
|
||||
}
|
||||
|
||||
@ -166,8 +172,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(ExecutableMemberDoc member, Content htmltree) {
|
||||
addParameters(member, true, htmltree);
|
||||
protected void addParameters(ExecutableMemberDoc member, Content htmltree, int indentSize) {
|
||||
addParameters(member, true, htmltree, indentSize);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -178,15 +184,11 @@ public abstract class AbstractExecutableMemberWriter extends AbstractMemberWrite
|
||||
* @param htmltree the content tree to which the parameters information will be added.
|
||||
*/
|
||||
protected void addParameters(ExecutableMemberDoc member,
|
||||
boolean includeAnnotations, Content htmltree) {
|
||||
boolean includeAnnotations, Content htmltree, int indentSize) {
|
||||
htmltree.addContent("(");
|
||||
String sep = "";
|
||||
Parameter[] params = member.parameters();
|
||||
String indent = makeSpace(writer.displayLength);
|
||||
if (configuration.linksource) {
|
||||
//add spaces to offset indentation changes caused by link.
|
||||
indent+= makeSpace(member.name().length());
|
||||
}
|
||||
String indent = makeSpace(indentSize + 1);
|
||||
Type rcvrType = member.receiverType();
|
||||
if (includeAnnotations && rcvrType instanceof AnnotatedType) {
|
||||
AnnotationDesc[] descList = rcvrType.asAnnotatedType().annotations();
|
||||
@ -240,21 +242,16 @@ public abstract class AbstractExecutableMemberWriter extends AbstractMemberWrite
|
||||
* @param member the member to write exceptions for.
|
||||
* @param htmltree the content tree to which the exceptions information will be added.
|
||||
*/
|
||||
protected void addExceptions(ExecutableMemberDoc member, Content htmltree) {
|
||||
protected void addExceptions(ExecutableMemberDoc member, Content htmltree, int indentSize) {
|
||||
Type[] exceptions = member.thrownExceptionTypes();
|
||||
if(exceptions.length > 0) {
|
||||
if (exceptions.length > 0) {
|
||||
LinkInfoImpl memberTypeParam = new LinkInfoImpl(configuration,
|
||||
LinkInfoImpl.Kind.MEMBER, member);
|
||||
int retlen = getReturnTypeLength(member);
|
||||
writer.getTypeParameterLinks(memberTypeParam);
|
||||
retlen += memberTypeParam.displayLength == 0 ?
|
||||
0 : memberTypeParam.displayLength + 1;
|
||||
String indent = makeSpace(modifierString(member).length() +
|
||||
member.name().length() + retlen - 4);
|
||||
String indent = makeSpace(indentSize + 1 - 7);
|
||||
htmltree.addContent(DocletConstants.NL);
|
||||
htmltree.addContent(indent);
|
||||
htmltree.addContent("throws ");
|
||||
indent += " ";
|
||||
indent = makeSpace(indentSize + 1);
|
||||
Content link = writer.getLink(new LinkInfoImpl(configuration,
|
||||
LinkInfoImpl.Kind.MEMBER, exceptions[0]));
|
||||
htmltree.addContent(link);
|
||||
@ -269,24 +266,6 @@ public abstract class AbstractExecutableMemberWriter extends AbstractMemberWrite
|
||||
}
|
||||
}
|
||||
|
||||
protected int getReturnTypeLength(ExecutableMemberDoc member) {
|
||||
if (member instanceof MethodDoc) {
|
||||
MethodDoc method = (MethodDoc)member;
|
||||
Type rettype = method.returnType();
|
||||
if (rettype.isPrimitive()) {
|
||||
return rettype.typeName().length() +
|
||||
rettype.dimension().length();
|
||||
} else {
|
||||
LinkInfoImpl linkInfo = new LinkInfoImpl(configuration,
|
||||
LinkInfoImpl.Kind.MEMBER, rettype);
|
||||
writer.getLink(linkInfo);
|
||||
return linkInfo.displayLength;
|
||||
}
|
||||
} else { // it's a constructordoc
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
protected ClassDoc implementsMethodInIntfac(MethodDoc method,
|
||||
ClassDoc[] intfacs) {
|
||||
for (int i = 0; i < intfacs.length; i++) {
|
||||
|
||||
@ -193,14 +193,13 @@ public abstract class AbstractMemberWriter {
|
||||
protected abstract void addNavDetailLink(boolean link, Content liNav);
|
||||
|
||||
/**
|
||||
* Add the member name to the content tree and modifies the display length.
|
||||
* 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.addContent(name);
|
||||
writer.displayLength += name.length();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -259,7 +258,7 @@ public abstract class AbstractMemberWriter {
|
||||
return "";
|
||||
}
|
||||
StringBuilder sb = new StringBuilder(len);
|
||||
for(int i = 0; i < len; i++) {
|
||||
for (int i = 0; i < len; i++) {
|
||||
sb.append(' ');
|
||||
}
|
||||
return sb.toString();
|
||||
@ -286,11 +285,14 @@ public abstract class AbstractMemberWriter {
|
||||
} else {
|
||||
if (member instanceof ExecutableMemberDoc &&
|
||||
((ExecutableMemberDoc) member).typeParameters().length > 0) {
|
||||
Content typeParameters = ((AbstractExecutableMemberWriter) this).getTypeParameters(
|
||||
(ExecutableMemberDoc) member);
|
||||
code.addContent(typeParameters);
|
||||
//Code to avoid ugly wrapping in member summary table.
|
||||
int displayLength = ((AbstractExecutableMemberWriter) this).addTypeParameters(
|
||||
(ExecutableMemberDoc) member, code);
|
||||
if (displayLength > 10) {
|
||||
if (typeParameters.charCount() > 10) {
|
||||
code.addContent(new HtmlTree(HtmlTag.BR));
|
||||
} else {
|
||||
code.addContent(writer.getSpace());
|
||||
}
|
||||
code.addContent(
|
||||
writer.getLink(new LinkInfoImpl(configuration,
|
||||
|
||||
@ -126,7 +126,6 @@ public class ConstructorWriterImpl extends AbstractExecutableMemberWriter
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
public Content getSignature(ConstructorDoc constructor) {
|
||||
writer.displayLength = 0;
|
||||
Content pre = new HtmlTree(HtmlTag.PRE);
|
||||
writer.addAnnotationInfo(constructor, pre);
|
||||
addModifiers(constructor, pre);
|
||||
@ -136,8 +135,9 @@ public class ConstructorWriterImpl extends AbstractExecutableMemberWriter
|
||||
} else {
|
||||
addName(constructor.name(), pre);
|
||||
}
|
||||
addParameters(constructor, pre);
|
||||
addExceptions(constructor, pre);
|
||||
int indent = pre.charCount();
|
||||
addParameters(constructor, pre, indent);
|
||||
addExceptions(constructor, pre, indent);
|
||||
return pre;
|
||||
}
|
||||
|
||||
|
||||
@ -74,11 +74,6 @@ public class HtmlDocletWriter extends HtmlDocWriter {
|
||||
*/
|
||||
public final DocPath filename;
|
||||
|
||||
/**
|
||||
* The display length used for indentation while generating the class page.
|
||||
*/
|
||||
public int displayLength = 0;
|
||||
|
||||
/**
|
||||
* The global configuration information for this run.
|
||||
*/
|
||||
@ -1121,9 +1116,7 @@ public class HtmlDocletWriter extends HtmlDocWriter {
|
||||
*/
|
||||
public Content getLink(LinkInfoImpl linkInfo) {
|
||||
LinkFactoryImpl factory = new LinkFactoryImpl(this);
|
||||
Content link = factory.getLink(linkInfo);
|
||||
displayLength += linkInfo.displayLength;
|
||||
return link;
|
||||
return factory.getLink(linkInfo);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@ -77,7 +77,6 @@ public class LinkFactoryImpl extends LinkFactory {
|
||||
!classDoc.qualifiedTypeName().equals(classLinkInfo.type.qualifiedTypeName())) :
|
||||
"";
|
||||
Content label = classLinkInfo.getClassLinkLabel(m_writer.configuration);
|
||||
classLinkInfo.displayLength += label.charCount();
|
||||
Configuration configuration = m_writer.configuration;
|
||||
Content link = new ContentBuilder();
|
||||
if (classDoc.isIncluded()) {
|
||||
@ -128,9 +127,7 @@ public class LinkFactoryImpl extends LinkFactory {
|
||||
typeLinkInfo.excludeTypeParameterLinks = linkInfo.excludeTypeParameterLinks;
|
||||
typeLinkInfo.linkToSelf = linkInfo.linkToSelf;
|
||||
typeLinkInfo.isJava5DeclarationLocation = false;
|
||||
Content output = getLink(typeLinkInfo);
|
||||
((LinkInfoImpl) linkInfo).displayLength += typeLinkInfo.displayLength;
|
||||
return output;
|
||||
return getLink(typeLinkInfo);
|
||||
}
|
||||
|
||||
protected Content getTypeAnnotationLink(LinkInfo linkInfo,
|
||||
@ -157,14 +154,12 @@ public class LinkFactoryImpl extends LinkFactory {
|
||||
boolean isFirst = true;
|
||||
for (String anno : annos) {
|
||||
if (!isFirst) {
|
||||
linkInfo.displayLength += 1;
|
||||
links.addContent(" ");
|
||||
}
|
||||
links.addContent(new RawHtml(anno));
|
||||
isFirst = false;
|
||||
}
|
||||
if (!annos.isEmpty()) {
|
||||
linkInfo.displayLength += 1;
|
||||
links.addContent(" ");
|
||||
}
|
||||
|
||||
|
||||
@ -117,7 +117,6 @@ public class MethodWriterImpl extends AbstractExecutableMemberWriter
|
||||
* @return a content object for the signature
|
||||
*/
|
||||
public Content getSignature(MethodDoc method) {
|
||||
writer.displayLength = 0;
|
||||
Content pre = new HtmlTree(HtmlTag.PRE);
|
||||
writer.addAnnotationInfo(method, pre);
|
||||
addModifiers(method, pre);
|
||||
@ -129,8 +128,9 @@ public class MethodWriterImpl extends AbstractExecutableMemberWriter
|
||||
} else {
|
||||
addName(method.name(), pre);
|
||||
}
|
||||
addParameters(method, pre);
|
||||
addExceptions(method, pre);
|
||||
int indent = pre.charCount();
|
||||
addParameters(method, pre, indent);
|
||||
addExceptions(method, pre, indent);
|
||||
return pre;
|
||||
}
|
||||
|
||||
|
||||
@ -99,10 +99,14 @@ public class RawHtml extends Content {
|
||||
|
||||
@Override
|
||||
public int charCount() {
|
||||
return charCount(rawHtmlContent);
|
||||
}
|
||||
|
||||
static int charCount(String htmlText) {
|
||||
State state = State.TEXT;
|
||||
int count = 0;
|
||||
for (int i = 0; i < rawHtmlContent.length(); i++) {
|
||||
char c = rawHtmlContent.charAt(i);
|
||||
for (int i = 0; i < htmlText.length(); i++) {
|
||||
char c = htmlText.charAt(i);
|
||||
switch (state) {
|
||||
case TEXT:
|
||||
switch (c) {
|
||||
|
||||
@ -41,7 +41,7 @@ import com.sun.tools.doclets.internal.toolkit.util.*;
|
||||
*
|
||||
* @author Bhavesh Patel
|
||||
*/
|
||||
public class StringContent extends Content{
|
||||
public class StringContent extends Content {
|
||||
|
||||
private StringBuilder stringContent;
|
||||
|
||||
@ -92,7 +92,7 @@ public class StringContent extends Content{
|
||||
}
|
||||
|
||||
public int charCount() {
|
||||
return stringContent.length();
|
||||
return RawHtml.charCount(stringContent.toString());
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@ -96,8 +96,13 @@ public abstract class Content {
|
||||
return !isEmpty();
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the number of characters of plain text content in this object
|
||||
* (optional operation.)
|
||||
* @return the number of characters of plain text content in this
|
||||
*/
|
||||
public int charCount() {
|
||||
throw new UnsupportedOperationException();
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@ -60,7 +60,6 @@ public abstract class LinkFactory {
|
||||
Content link = newContent();
|
||||
if (type.isPrimitive()) {
|
||||
//Just a primitive.
|
||||
linkInfo.displayLength += type.typeName().length();
|
||||
link.addContent(type.typeName());
|
||||
} else if (type.asAnnotatedType() != null && type.dimension().length() == 0) {
|
||||
link.addContent(getTypeAnnotationLinks(linkInfo));
|
||||
@ -70,19 +69,16 @@ public abstract class LinkFactory {
|
||||
} else if (type.asWildcardType() != null) {
|
||||
//Wildcard type.
|
||||
linkInfo.isTypeBound = true;
|
||||
linkInfo.displayLength += 1;
|
||||
link.addContent("?");
|
||||
WildcardType wildcardType = type.asWildcardType();
|
||||
Type[] extendsBounds = wildcardType.extendsBounds();
|
||||
for (int i = 0; i < extendsBounds.length; i++) {
|
||||
linkInfo.displayLength += i > 0 ? 2 : 9;
|
||||
link.addContent(i > 0 ? ", " : " extends ");
|
||||
setBoundsLinkInfo(linkInfo, extendsBounds[i]);
|
||||
link.addContent(getLink(linkInfo));
|
||||
}
|
||||
Type[] superBounds = wildcardType.superBounds();
|
||||
for (int i = 0; i < superBounds.length; i++) {
|
||||
linkInfo.displayLength += i > 0 ? 2 : 7;
|
||||
link.addContent(i > 0 ? ", " : " super ");
|
||||
setBoundsLinkInfo(linkInfo, superBounds[i]);
|
||||
link.addContent(getLink(linkInfo));
|
||||
@ -101,7 +97,6 @@ public abstract class LinkFactory {
|
||||
link.addContent(getClassLink(linkInfo));
|
||||
} else {
|
||||
//No need to link method type parameters.
|
||||
linkInfo.displayLength += type.typeName().length();
|
||||
link.addContent(type.typeName());
|
||||
}
|
||||
|
||||
@ -109,7 +104,6 @@ public abstract class LinkFactory {
|
||||
if (! linkInfo.excludeTypeBounds) {
|
||||
linkInfo.excludeTypeBounds = true;
|
||||
for (int i = 0; i < bounds.length; i++) {
|
||||
linkInfo.displayLength += i > 0 ? 2 : 9;
|
||||
link.addContent(i > 0 ? " & " : " extends ");
|
||||
setBoundsLinkInfo(linkInfo, bounds[i]);
|
||||
link.addContent(getLink(linkInfo));
|
||||
@ -121,7 +115,6 @@ public abstract class LinkFactory {
|
||||
linkInfo.excludeTypeBoundsLinks) {
|
||||
//Since we are excluding type parameter links, we should not
|
||||
//be linking to the type bound.
|
||||
linkInfo.displayLength += type.typeName().length();
|
||||
link.addContent(type.typeName());
|
||||
link.addContent(getTypeParameterLinks(linkInfo));
|
||||
return link;
|
||||
@ -139,14 +132,11 @@ public abstract class LinkFactory {
|
||||
if (type.dimension().length() > 2) {
|
||||
//Javadoc returns var args as array.
|
||||
//Strip out the first [] from the var arg.
|
||||
linkInfo.displayLength += type.dimension().length()-2;
|
||||
link.addContent(type.dimension().substring(2));
|
||||
}
|
||||
linkInfo.displayLength += 3;
|
||||
link.addContent("...");
|
||||
} else {
|
||||
while (type != null && type.dimension().length() > 0) {
|
||||
linkInfo.displayLength += type.dimension().length();
|
||||
if (type.asAnnotatedType() != null) {
|
||||
linkInfo.type = type;
|
||||
link.addContent(" ");
|
||||
@ -241,16 +231,13 @@ public abstract class LinkFactory {
|
||||
(linkInfo.includeTypeAsSepLink && ! isClassLabel)
|
||||
)
|
||||
&& vars.length > 0) {
|
||||
linkInfo.displayLength += 1;
|
||||
links.addContent("<");
|
||||
for (int i = 0; i < vars.length; i++) {
|
||||
if (i > 0) {
|
||||
linkInfo.displayLength += 1;
|
||||
links.addContent(",");
|
||||
}
|
||||
links.addContent(getTypeParameterLink(linkInfo, vars[i]));
|
||||
}
|
||||
linkInfo.displayLength += 1;
|
||||
links.addContent(">");
|
||||
}
|
||||
return links;
|
||||
@ -263,13 +250,11 @@ public abstract class LinkFactory {
|
||||
AnnotationDesc[] annotations = linkInfo.type.asAnnotatedType().annotations();
|
||||
for (int i = 0; i < annotations.length; i++) {
|
||||
if (i > 0) {
|
||||
linkInfo.displayLength += 1;
|
||||
links.addContent(" ");
|
||||
}
|
||||
links.addContent(getTypeAnnotationLink(linkInfo, annotations[i]));
|
||||
}
|
||||
|
||||
linkInfo.displayLength += 1;
|
||||
links.addContent(" ");
|
||||
return links;
|
||||
}
|
||||
|
||||
@ -91,7 +91,7 @@ public abstract class LinkInfo {
|
||||
public boolean includeTypeInClassLinkLabel = true;
|
||||
|
||||
/**
|
||||
* True if we should include the type as seperate link. False otherwise.
|
||||
* True if we should include the type as separate link. False otherwise.
|
||||
*/
|
||||
public boolean includeTypeAsSepLink = false;
|
||||
|
||||
@ -116,11 +116,6 @@ public abstract class LinkInfo {
|
||||
*/
|
||||
public boolean linkToSelf = true;
|
||||
|
||||
/**
|
||||
* The display length for the link.
|
||||
*/
|
||||
public int displayLength = 0;
|
||||
|
||||
/**
|
||||
* Return an empty instance of a content object.
|
||||
*
|
||||
|
||||
@ -0,0 +1,77 @@
|
||||
/*
|
||||
* Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* 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 8011288
|
||||
* @summary Erratic/inconsistent indentation of signatures
|
||||
* @library ../lib/
|
||||
* @build JavadocTester
|
||||
* @run main TestIndentation
|
||||
*/
|
||||
|
||||
public class TestIndentation extends JavadocTester {
|
||||
|
||||
//Test information.
|
||||
private static final String BUG_ID = "8011288";
|
||||
|
||||
//Javadoc arguments.
|
||||
private static final String[] ARGS = new String[] {
|
||||
"-d", BUG_ID, "-sourcepath", SRC_DIR, "p"
|
||||
};
|
||||
|
||||
//Input for string search tests.
|
||||
private static final String[][] TEST = {
|
||||
{ BUG_ID + FS + "p" + FS + "Indent.html",
|
||||
"<pre>public <T> void m(T t1," },
|
||||
{ BUG_ID + FS + "p" + FS + "Indent.html",
|
||||
NL + " T t2)" },
|
||||
{ BUG_ID + FS + "p" + FS + "Indent.html",
|
||||
NL + " throws java.lang.Exception" }
|
||||
};
|
||||
private static final String[][] NEGATED_TEST = NO_TEST;
|
||||
|
||||
/**
|
||||
* The entry point of the test.
|
||||
* @param args the array of command line arguments.
|
||||
*/
|
||||
public static void main(String[] args) {
|
||||
TestIndentation tester = new TestIndentation();
|
||||
run(tester, ARGS, TEST, NEGATED_TEST);
|
||||
tester.printSummary();
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
public String getBugId() {
|
||||
return BUG_ID;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
public String getBugName() {
|
||||
return getClass().getName();
|
||||
}
|
||||
}
|
||||
28
langtools/test/com/sun/javadoc/testIndentation/p/Indent.java
Normal file
28
langtools/test/com/sun/javadoc/testIndentation/p/Indent.java
Normal file
@ -0,0 +1,28 @@
|
||||
/*
|
||||
* Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* 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 p;
|
||||
|
||||
public class Indent {
|
||||
public <T> void m(T t1, T t2) throws Exception { }
|
||||
}
|
||||
@ -235,8 +235,8 @@ public class TestNewLanguageFeatures extends JavadocTester {
|
||||
"@AnnotationType</a>(<a href=\"../pkg/AnnotationType.html#optional()\">" +
|
||||
"optional</a>=\"Parameter Annotation\",<a " +
|
||||
"href=\"../pkg/AnnotationType.html#required()\">required</a>=1994)" + NL +
|
||||
" int documented," + NL +
|
||||
" int undocmented)</pre>"},
|
||||
" int documented," + NL +
|
||||
" int undocmented)</pre>"},
|
||||
|
||||
//CONSTRUCTOR PARAMS
|
||||
{BUG_ID + FS + "pkg" + FS + "AnnotationTypeUsage.html",
|
||||
@ -245,8 +245,8 @@ public class TestNewLanguageFeatures extends JavadocTester {
|
||||
"@AnnotationType</a>(<a href=\"../pkg/AnnotationType.html#optional()\">" +
|
||||
"optional</a>=\"Constructor Param Annotation\",<a " +
|
||||
"href=\"../pkg/AnnotationType.html#required()\">required</a>=1994)" + NL +
|
||||
" int documented," + NL +
|
||||
" int undocmented)</pre>"},
|
||||
" int documented," + NL +
|
||||
" int undocmented)</pre>"},
|
||||
|
||||
//=================================
|
||||
// ANNOTATION TYPE USAGE TESTING (All Different Types).
|
||||
@ -443,7 +443,7 @@ public class TestNewLanguageFeatures extends JavadocTester {
|
||||
"<td class=\"colFirst\"><code><T extends <a href=\"../" +
|
||||
"../pkg2/ParamTest.html\" title=\"class in pkg2\">ParamTest" +
|
||||
"</a><<a href=\"../../pkg2/Foo3.html\" title=\"class in " +
|
||||
"pkg2\">Foo3</a>>> <br><a href=\"../../pkg2/" +
|
||||
"pkg2\">Foo3</a>>><br><a href=\"../../pkg2/" +
|
||||
"ParamTest.html\" title=\"class in pkg2\">ParamTest</a>" +
|
||||
"<<a href=\"../../pkg2/Foo3.html\" title=\"class in " +
|
||||
"pkg2\">Foo3</a>></code></td>"
|
||||
@ -486,7 +486,7 @@ public class TestNewLanguageFeatures extends JavadocTester {
|
||||
"<td class=\"colFirst\"><code><T extends <a href=\"../../" +
|
||||
"pkg2/ParamTest.html\" title=\"class in pkg2\">ParamTest</a><" +
|
||||
"<a href=\"../../pkg2/Foo3.html\" title=\"class in pkg2\">Foo3" +
|
||||
"</a>>> <br><a href=\"../../pkg2/ParamTest.html\" " +
|
||||
"</a>>><br><a href=\"../../pkg2/ParamTest.html\" " +
|
||||
"title=\"class in pkg2\">ParamTest</a><<a href=\"../../pkg2/" +
|
||||
"Foo3.html\" title=\"class in pkg2\">Foo3</a>></code></td>"
|
||||
},
|
||||
@ -524,7 +524,7 @@ public class TestNewLanguageFeatures extends JavadocTester {
|
||||
"../pkg2/ParamTest2.html\" title=\"class in pkg2\">" +
|
||||
"ParamTest2</a><java.util.List<? extends <a href=\".." +
|
||||
"/../pkg2/Foo4.html\" title=\"class in pkg2\">Foo4</a>>" +
|
||||
">> <br><a href=\"../../pkg2/ParamTest2.html\" " +
|
||||
">><br><a href=\"../../pkg2/ParamTest2.html\" " +
|
||||
"title=\"class in pkg2\">ParamTest2</a><java.util.List" +
|
||||
"<? extends <a href=\"../../pkg2/Foo4.html\" title=\"" +
|
||||
"class in pkg2\">Foo4</a>>></code></td>"
|
||||
@ -569,7 +569,7 @@ public class TestNewLanguageFeatures extends JavadocTester {
|
||||
"../pkg2/ParamTest2.html\" title=\"class in pkg2\">" +
|
||||
"ParamTest2</a><java.util.List<? extends <a href=\".." +
|
||||
"/../pkg2/Foo4.html\" title=\"class in pkg2\">Foo4</a>>" +
|
||||
">> <br><a href=\"../../pkg2/ParamTest2.html\" " +
|
||||
">><br><a href=\"../../pkg2/ParamTest2.html\" " +
|
||||
"title=\"class in pkg2\">ParamTest2</a><java.util.List" +
|
||||
"<? extends <a href=\"../../pkg2/Foo4.html\" title=\"" +
|
||||
"class in pkg2\">Foo4</a>>></code></td>"
|
||||
|
||||
@ -266,14 +266,14 @@ public class TestTypeAnnotations extends JavadocTester {
|
||||
// Test for type annotations on throws (Throws.java).
|
||||
{BUG_ID + FS + "typeannos" + FS + "ThrDefaultUnmodified.html",
|
||||
"<pre>void oneException()" + NL +
|
||||
" throws <a href=\"../typeannos/ThrA.html\" title=\"" +
|
||||
" throws <a href=\"../typeannos/ThrA.html\" title=\"" +
|
||||
"annotation in typeannos\">@ThrA</a> java.lang.Exception</pre>"
|
||||
},
|
||||
{BUG_ID + FS + "typeannos" + FS + "ThrDefaultUnmodified.html",
|
||||
"<pre>void twoExceptions()" + NL +
|
||||
" throws <a href=\"../typeannos/ThrA.html\" title=\"" +
|
||||
" throws <a href=\"../typeannos/ThrA.html\" title=\"" +
|
||||
"annotation in typeannos\">@ThrA</a> java.lang.RuntimeException," + NL +
|
||||
" <a href=\"../typeannos/ThrA.html\" title=\"" +
|
||||
" <a href=\"../typeannos/ThrA.html\" title=\"" +
|
||||
"annotation in typeannos\">@ThrA</a> java.lang.Exception</pre>"
|
||||
},
|
||||
{BUG_ID + FS + "typeannos" + FS + "ThrPublicModified.html",
|
||||
@ -290,16 +290,16 @@ public class TestTypeAnnotations extends JavadocTester {
|
||||
},
|
||||
{BUG_ID + FS + "typeannos" + FS + "ThrWithValue.html",
|
||||
"<pre>void oneException()" + NL +
|
||||
" throws <a href=\"../typeannos/ThrB.html\" title=\"" +
|
||||
" throws <a href=\"../typeannos/ThrB.html\" title=\"" +
|
||||
"annotation in typeannos\">@ThrB</a>(<a href=\"../typeannos/" +
|
||||
"ThrB.html#value()\">value</a>=\"m\") java.lang.Exception</pre>"
|
||||
},
|
||||
{BUG_ID + FS + "typeannos" + FS + "ThrWithValue.html",
|
||||
"<pre>void twoExceptions()" + NL +
|
||||
" throws <a href=\"../typeannos/ThrB.html\" title=\"" +
|
||||
" throws <a href=\"../typeannos/ThrB.html\" title=\"" +
|
||||
"annotation in typeannos\">@ThrB</a>(<a href=\"../typeannos/" +
|
||||
"ThrB.html#value()\">value</a>=\"m\") java.lang.RuntimeException," + NL +
|
||||
" <a href=\"../typeannos/ThrA.html\" title=\"" +
|
||||
" <a href=\"../typeannos/ThrA.html\" title=\"" +
|
||||
"annotation in typeannos\">@ThrA</a> java.lang.Exception</pre>"
|
||||
},
|
||||
|
||||
@ -342,7 +342,7 @@ public class TestTypeAnnotations extends JavadocTester {
|
||||
{BUG_ID + FS + "typeannos" + FS + "DefaultUnmodified.html",
|
||||
"<pre>void withException(<a href=\"../typeannos/RcvrA.html\" " +
|
||||
"title=\"annotation in typeannos\">@RcvrA</a> " +
|
||||
"DefaultUnmodified this)" + NL + " throws java." +
|
||||
"DefaultUnmodified this)" + NL + " throws java." +
|
||||
"lang.Exception</pre>"
|
||||
},
|
||||
{BUG_ID + FS + "typeannos" + FS + "DefaultUnmodified.html",
|
||||
@ -356,8 +356,8 @@ public class TestTypeAnnotations extends JavadocTester {
|
||||
"<pre><T extends java.lang.Runnable> void accept(" +
|
||||
"<a href=\"../typeannos/RcvrA.html\" title=\"annotation in " +
|
||||
"typeannos\">@RcvrA</a> DefaultUnmodified this," + NL +
|
||||
" T r)" + NL +
|
||||
" throws java.lang.Exception</pre>"
|
||||
" T r)" + NL +
|
||||
" throws java.lang.Exception</pre>"
|
||||
},
|
||||
{BUG_ID + FS + "typeannos" + FS + "PublicModified.html",
|
||||
"<pre>public final java.lang.String nonVoid(<a href=\"" +
|
||||
@ -368,16 +368,16 @@ public class TestTypeAnnotations extends JavadocTester {
|
||||
"<pre>public final <T extends java.lang.Runnable> " +
|
||||
"void accept(<a href=\"../typeannos/RcvrA.html\" title=\"" +
|
||||
"annotation in typeannos\">@RcvrA</a> PublicModified this," + NL +
|
||||
" T r)" + NL +
|
||||
" throws java.lang.Exception</pre>"
|
||||
" T r)" + NL +
|
||||
" throws java.lang.Exception</pre>"
|
||||
},
|
||||
{BUG_ID + FS + "typeannos" + FS + "WithValue.html",
|
||||
"<pre><T extends java.lang.Runnable> void accept(" +
|
||||
"<a href=\"../typeannos/RcvrB.html\" title=\"annotation in " +
|
||||
"typeannos\">@RcvrB</a>(<a href=\"../typeannos/RcvrB.html#value()\">" +
|
||||
"value</a>=\"m\") WithValue this," + NL +
|
||||
" T r)" + NL +
|
||||
" throws java.lang.Exception</pre>"
|
||||
" T r)" + NL +
|
||||
" throws java.lang.Exception</pre>"
|
||||
},
|
||||
{BUG_ID + FS + "typeannos" + FS + "WithFinal.html",
|
||||
"<pre>java.lang.String nonVoid(<a href=\"../typeannos/RcvrB." +
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -54,7 +54,7 @@ public class TestTypeParameters extends JavadocTester {
|
||||
private static final String[][] TEST1 = {
|
||||
{BUG_ID + FS + "pkg" + FS + "C.html",
|
||||
"<td class=\"colFirst\"><code><W extends java.lang.String,V extends " +
|
||||
"java.util.List> <br>java.lang.Object</code></td>"
|
||||
"java.util.List><br>java.lang.Object</code></td>"
|
||||
},
|
||||
{BUG_ID + FS + "pkg" + FS + "C.html",
|
||||
"<code><T> java.lang.Object</code>"
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user