This commit is contained in:
Lana Steuck 2015-06-28 16:39:45 -07:00
commit d12f9899d5
21 changed files with 354 additions and 172 deletions

View file

@ -37,6 +37,7 @@ import com.sun.tools.javac.resources.CompilerProperties.Errors;
import com.sun.tools.javac.resources.CompilerProperties.Fragments; import com.sun.tools.javac.resources.CompilerProperties.Fragments;
import com.sun.tools.javac.tree.*; import com.sun.tools.javac.tree.*;
import com.sun.tools.javac.util.*; import com.sun.tools.javac.util.*;
import com.sun.tools.javac.util.JCDiagnostic.DiagnosticFlag;
import com.sun.tools.javac.util.JCDiagnostic.DiagnosticPosition; import com.sun.tools.javac.util.JCDiagnostic.DiagnosticPosition;
import com.sun.tools.javac.util.List; import com.sun.tools.javac.util.List;
@ -3612,6 +3613,18 @@ public class Check {
} }
} }
// Check that packages imported are in scope (JLS 7.4.3, 6.3, 6.5.3.1, 6.5.3.2)
public void checkImportedPackagesObservable(final JCCompilationUnit toplevel) {
for (JCImport imp : toplevel.getImports()) {
if (!imp.staticImport && TreeInfo.name(imp.qualid) == names.asterisk) {
TypeSymbol tsym = ((JCFieldAccess)imp.qualid).selected.type.tsym;
if (tsym.kind == PCK && tsym.members().isEmpty() && !tsym.exists()) {
log.error(DiagnosticFlag.RESOLVE_ERROR, imp.pos, "doesnt.exist", tsym);
}
}
}
}
private boolean checkTypeContainsImportableElement(TypeSymbol tsym, TypeSymbol origin, PackageSymbol packge, Name name, Set<Symbol> processed) { private boolean checkTypeContainsImportableElement(TypeSymbol tsym, TypeSymbol origin, PackageSymbol packge, Name name, Set<Symbol> processed) {
if (tsym == null || !processed.add(tsym)) if (tsym == null || !processed.add(tsym))
return false; return false;

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2010, 2014, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* *
* This code is free software; you can redistribute it and/or modify it * This code is free software; you can redistribute it and/or modify it
@ -1197,10 +1197,13 @@ public class LambdaToMethod extends TreeTranslator {
//if a class is defined within a lambda, the lambda must capture //if a class is defined within a lambda, the lambda must capture
//its enclosing instance (if any) //its enclosing instance (if any)
TranslationContext<?> localContext = context(); TranslationContext<?> localContext = context();
while (localContext != null) { final TypeSymbol outerInstanceSymbol = tree.sym.type.getEnclosingType().tsym;
if (localContext.tree.getTag() == LAMBDA) { while (localContext != null && !localContext.owner.isStatic()) {
if (localContext.tree.hasTag(LAMBDA)) {
JCTree block = capturedDecl(localContext.depth, outerInstanceSymbol);
if (block == null) break;
((LambdaTranslationContext)localContext) ((LambdaTranslationContext)localContext)
.addSymbol(tree.sym.type.getEnclosingType().tsym, CAPTURED_THIS); .addSymbol(outerInstanceSymbol, CAPTURED_THIS);
} }
localContext = localContext.prev; localContext = localContext.prev;
} }
@ -1236,7 +1239,7 @@ public class LambdaToMethod extends TreeTranslator {
} }
} else if (tree.sym.owner.kind == TYP) { } else if (tree.sym.owner.kind == TYP) {
TranslationContext<?> localContext = context(); TranslationContext<?> localContext = context();
while (localContext != null) { while (localContext != null && !localContext.owner.isStatic()) {
if (localContext.tree.hasTag(LAMBDA)) { if (localContext.tree.hasTag(LAMBDA)) {
JCTree block = capturedDecl(localContext.depth, tree.sym); JCTree block = capturedDecl(localContext.depth, tree.sym);
if (block == null) break; if (block == null) break;
@ -1312,10 +1315,15 @@ public class LambdaToMethod extends TreeTranslator {
boolean isLocal = def.isLocal(); boolean isLocal = def.isLocal();
if ((inReferencedClass && isLocal || lambdaNewClassFilter(context(), tree))) { if ((inReferencedClass && isLocal || lambdaNewClassFilter(context(), tree))) {
TranslationContext<?> localContext = context(); TranslationContext<?> localContext = context();
while (localContext != null) { final TypeSymbol outerInstanceSymbol = tree.type.getEnclosingType().tsym;
if (localContext.tree.getTag() == LAMBDA) { while (localContext != null && !localContext.owner.isStatic()) {
if (localContext.tree.hasTag(LAMBDA)) {
if (outerInstanceSymbol != null) {
JCTree block = capturedDecl(localContext.depth, outerInstanceSymbol);
if (block == null) break;
}
((LambdaTranslationContext)localContext) ((LambdaTranslationContext)localContext)
.addSymbol(tree.type.getEnclosingType().tsym, CAPTURED_THIS); .addSymbol(outerInstanceSymbol, CAPTURED_THIS);
} }
localContext = localContext.prev; localContext = localContext.prev;
} }
@ -1404,7 +1412,7 @@ public class LambdaToMethod extends TreeTranslator {
// A select of this or super means, if we are in a lambda, // A select of this or super means, if we are in a lambda,
// we much have an instance context // we much have an instance context
TranslationContext<?> localContext = context(); TranslationContext<?> localContext = context();
while (localContext != null) { while (localContext != null && !localContext.owner.isStatic()) {
if (localContext.tree.hasTag(LAMBDA)) { if (localContext.tree.hasTag(LAMBDA)) {
JCClassDecl clazz = (JCClassDecl)capturedDecl(localContext.depth, tree.sym); JCClassDecl clazz = (JCClassDecl)capturedDecl(localContext.depth, tree.sym);
if (clazz == null) break; if (clazz == null) break;
@ -1579,7 +1587,7 @@ public class LambdaToMethod extends TreeTranslator {
switch (block.tree.getTag()) { switch (block.tree.getTag()) {
case CLASSDEF: case CLASSDEF:
ClassSymbol clazz = ((JCClassDecl)block.tree).sym; ClassSymbol clazz = ((JCClassDecl)block.tree).sym;
if (sym.isMemberOf(clazz, types)) { if (clazz.isSubClass(sym, types) || sym.isMemberOf(clazz, types)) {
return currentDepth > depth ? null : block.tree; return currentDepth > depth ? null : block.tree;
} }
break; break;

View file

@ -218,6 +218,7 @@ public class TypeEnter implements Completer {
resolve.run(); resolve.run();
chk.checkImportsUnique(toplevel); chk.checkImportsUnique(toplevel);
chk.checkImportsResolvable(toplevel); chk.checkImportsResolvable(toplevel);
chk.checkImportedPackagesObservable(toplevel);
toplevel.namedImportScope.finalizeScope(); toplevel.namedImportScope.finalizeScope();
toplevel.starImportScope.finalizeScope(); toplevel.starImportScope.finalizeScope();
} finally { } finally {
@ -323,7 +324,10 @@ public class TypeEnter implements Completer {
chk.importAccessible(sym, packge); chk.importAccessible(sym, packge);
// Import-on-demand java.lang. // Import-on-demand java.lang.
importAll(tree.pos, syms.enterPackage(names.java_lang), env); PackageSymbol javaLang = syms.enterPackage(names.java_lang);
if (javaLang.members().isEmpty() && !javaLang.exists())
throw new FatalError(diags.fragment("fatal.err.no.java.lang"));
importAll(tree.pos, javaLang, env);
// Process the package def and all import clauses. // Process the package def and all import clauses.
if (tree.getPackage() != null) if (tree.getPackage() != null)
@ -414,16 +418,6 @@ public class TypeEnter implements Completer {
private void importAll(int pos, private void importAll(int pos,
final TypeSymbol tsym, final TypeSymbol tsym,
Env<AttrContext> env) { Env<AttrContext> env) {
// Check that packages imported from exist (JLS ???).
if (tsym.kind == PCK && tsym.members().isEmpty() && !tsym.exists()) {
// If we can't find java.lang, exit immediately.
if (((PackageSymbol)tsym).fullname.equals(names.java_lang)) {
JCDiagnostic msg = diags.fragment("fatal.err.no.java.lang");
throw new FatalError(msg);
} else {
log.error(DiagnosticFlag.RESOLVE_ERROR, pos, "doesnt.exist", tsym);
}
}
env.toplevel.starImportScope.importAll(types, tsym.members(), typeImportFilter, false); env.toplevel.starImportScope.importAll(types, tsym.members(), typeImportFilter, false);
} }

View file

@ -910,14 +910,14 @@ public class HtmlDocletWriter extends HtmlDocWriter {
/** /**
* Get the marker anchor which will be added to the documentation tree. * Get the marker anchor which will be added to the documentation tree.
* *
* @param anchorName the anchor name attribute * @param anchorName the anchor name or id attribute
* @param anchorContent the content that should be added to the anchor * @param anchorContent the content that should be added to the anchor
* @return a content tree for the marker anchor * @return a content tree for the marker anchor
*/ */
public Content getMarkerAnchor(String anchorName, Content anchorContent) { public Content getMarkerAnchor(String anchorName, Content anchorContent) {
if (anchorContent == null) if (anchorContent == null)
anchorContent = new Comment(" "); anchorContent = new Comment(" ");
Content markerAnchor = HtmlTree.A_ID(anchorName, anchorContent); Content markerAnchor = HtmlTree.A(configuration.htmlVersion, anchorName, anchorContent);
return markerAnchor; return markerAnchor;
} }

View file

@ -264,7 +264,8 @@ public class SourceToHTMLConverter {
*/ */
private void addLine(Content pre, String line, int currentLineNo) { private void addLine(Content pre, String line, int currentLineNo) {
if (line != null) { if (line != null) {
Content anchor = HtmlTree.A_ID("line." + Integer.toString(currentLineNo), Content anchor = HtmlTree.A(configuration.htmlVersion,
"line." + Integer.toString(currentLineNo),
new StringContent(utils.replaceTabs(configuration, line))); new StringContent(utils.replaceTabs(configuration, line)));
pre.addContent(anchor); pre.addContent(anchor);
pre.addContent(NEW_LINE); pre.addContent(NEW_LINE);

View file

@ -226,15 +226,19 @@ public class HtmlTree extends Content {
} }
/** /**
* Generates an HTML anchor tag with id attribute and content. * Generates an HTML anchor tag with an id or a name attribute and content.
* *
* @param id id for the anchor tag * @param htmlVersion the version of the generated HTML
* @param attr name or id attribute for the anchor tag
* @param body content for the anchor tag * @param body content for the anchor tag
* @return an HtmlTree object * @return an HtmlTree object
*/ */
public static HtmlTree A_ID(String id, Content body) { public static HtmlTree A(HtmlVersion htmlVersion, String attr, Content body) {
HtmlTree htmltree = new HtmlTree(HtmlTag.A); HtmlTree htmltree = new HtmlTree(HtmlTag.A);
htmltree.addAttr(HtmlAttr.ID, nullCheck(id)); htmltree.addAttr((htmlVersion == HtmlVersion.HTML4)
? HtmlAttr.NAME
: HtmlAttr.ID,
nullCheck(attr));
htmltree.addContent(nullCheck(body)); htmltree.addContent(nullCheck(body));
return htmltree; return htmltree;
} }
@ -846,7 +850,8 @@ public class HtmlTree extends Content {
public boolean isValid() { public boolean isValid() {
switch (htmlTag) { switch (htmlTag) {
case A : case A :
return (hasAttr(HtmlAttr.ID) || (hasAttr(HtmlAttr.HREF) && hasContent())); return (hasAttr(HtmlAttr.NAME) || hasAttr(HtmlAttr.ID) || (hasAttr(HtmlAttr.HREF)
&& hasContent()));
case BR : case BR :
return (!hasContent() && (!hasAttrs() || hasAttr(HtmlAttr.CLEAR))); return (!hasContent() && (!hasAttrs() || hasAttr(HtmlAttr.CLEAR)));
case IFRAME : case IFRAME :

View file

@ -22,11 +22,14 @@
# Tiered testing definitions # Tiered testing definitions
# All langtools tests are tier 1 # All langtools tests are tier 1.
tier1 = \ tier1 = \
tools \ tools \
com \ com \
lib lib
# No langtools tests are tier 2 # No langtools tests are tier 2.
tier2 = tier2 =
# No langtools tests are tier 3 either.
tier3 =

View file

@ -23,7 +23,7 @@
/* /*
* @test * @test
* @bug 4638136 7198273 8025633 * @bug 4638136 7198273 8025633 8081854
* @summary Add ability to skip over nav bar for accessibility * @summary Add ability to skip over nav bar for accessibility
* @author dkramer * @author dkramer
* @library ../lib * @library ../lib
@ -50,14 +50,14 @@ public class AccessSkipNav extends JavadocTester {
checkOutput("p1/C1.html", true, checkOutput("p1/C1.html", true,
// Top navbar <a href> // Top navbar <a href>
"<a href=\"#skip.navbar.top\" title=\"Skip navigation links\">Skip navigation links</a>", "<a href=\"#skip.navbar.top\" title=\"Skip navigation links\">Skip navigation links</a>",
// Top navbar <a id> // Top navbar <a name>
"<a id=\"skip.navbar.top\">\n" "<a name=\"skip.navbar.top\">\n"
+ "<!-- -->\n" + "<!-- -->\n"
+ "</a>", + "</a>",
// Bottom navbar <a href> // Bottom navbar <a href>
"<a href=\"#skip.navbar.bottom\" title=\"Skip navigation links\">Skip navigation links</a>", "<a href=\"#skip.navbar.bottom\" title=\"Skip navigation links\">Skip navigation links</a>",
// Bottom navbar <a id> // Bottom navbar <a name>
"<a id=\"skip.navbar.bottom\">\n" "<a name=\"skip.navbar.bottom\">\n"
+ "<!-- -->\n" + "<!-- -->\n"
+ "</a>"); + "</a>");

View file

@ -23,7 +23,7 @@
/* /*
* @test * @test
* @bug 8025633 8025524 * @bug 8025633 8025524 8081854
* @summary Test for valid name attribute in HTML anchors. * @summary Test for valid name attribute in HTML anchors.
* @author Bhavesh Patel * @author Bhavesh Patel
* @library ../lib * @library ../lib
@ -54,15 +54,15 @@ public class TestAnchorNames extends JavadocTester {
// Test some section markers and links to these markers // Test some section markers and links to these markers
checkOutput("pkg1/RegClass.html", true, checkOutput("pkg1/RegClass.html", true,
"<a id=\"skip.navbar.top\">", "<a name=\"skip.navbar.top\">",
"<a href=\"#skip.navbar.top\" title=\"Skip navigation links\">", "<a href=\"#skip.navbar.top\" title=\"Skip navigation links\">",
"<a id=\"nested.class.summary\">", "<a name=\"nested.class.summary\">",
"<a href=\"#nested.class.summary\">", "<a href=\"#nested.class.summary\">",
"<a id=\"method.summary\">", "<a name=\"method.summary\">",
"<a href=\"#method.summary\">", "<a href=\"#method.summary\">",
"<a id=\"field.detail\">", "<a name=\"field.detail\">",
"<a href=\"#field.detail\">", "<a href=\"#field.detail\">",
"<a id=\"constructor.detail\">", "<a name=\"constructor.detail\">",
"<a href=\"#constructor.detail\">"); "<a href=\"#constructor.detail\">");
// Test some members and link to these members // Test some members and link to these members
@ -73,59 +73,59 @@ public class TestAnchorNames extends JavadocTester {
// Test some fields // Test some fields
checkOutput("pkg1/RegClass.html", true, checkOutput("pkg1/RegClass.html", true,
"<a id=\"Z:Z_\">", "<a name=\"Z:Z_\">",
"<a href=\"../pkg1/RegClass.html#Z:Z_\">", "<a href=\"../pkg1/RegClass.html#Z:Z_\">",
"<a id=\"Z:Z_:D\">", "<a name=\"Z:Z_:D\">",
"<a href=\"../pkg1/RegClass.html#Z:Z_:D\">", "<a href=\"../pkg1/RegClass.html#Z:Z_:D\">",
"<a id=\"Z:Z:D_\">", "<a name=\"Z:Z:D_\">",
"<a href=\"../pkg1/RegClass.html#Z:Z:D_\">", "<a href=\"../pkg1/RegClass.html#Z:Z:D_\">",
"<a id=\"Z:Z:Dfield\">", "<a name=\"Z:Z:Dfield\">",
"<a href=\"../pkg1/RegClass.html#Z:Z:Dfield\">", "<a href=\"../pkg1/RegClass.html#Z:Z:Dfield\">",
"<a id=\"fieldInCla:D:D\">", "<a name=\"fieldInCla:D:D\">",
"<a href=\"../pkg1/RegClass.html#fieldInCla:D:D\">", "<a href=\"../pkg1/RegClass.html#fieldInCla:D:D\">",
"<a id=\"S_:D:D:D:D:DINT\">", "<a name=\"S_:D:D:D:D:DINT\">",
"<a href=\"../pkg1/RegClass.html#S_:D:D:D:D:DINT\">", "<a href=\"../pkg1/RegClass.html#S_:D:D:D:D:DINT\">",
"<a id=\"method:D:D\">", "<a name=\"method:D:D\">",
"<a href=\"../pkg1/RegClass.html#method:D:D\">"); "<a href=\"../pkg1/RegClass.html#method:D:D\">");
checkOutput("pkg1/DeprMemClass.html", true, checkOutput("pkg1/DeprMemClass.html", true,
"<a id=\"Z:Z_field_In_Class\">", "<a name=\"Z:Z_field_In_Class\">",
"<a href=\"../pkg1/DeprMemClass.html#Z:Z_field_In_Class\">"); "<a href=\"../pkg1/DeprMemClass.html#Z:Z_field_In_Class\">");
// Test constructor // Test constructor
checkOutput("pkg1/RegClass.html", true, checkOutput("pkg1/RegClass.html", true,
"<a id=\"RegClass-java.lang.String-int-\">", "<a name=\"RegClass-java.lang.String-int-\">",
"<a href=\"../pkg1/RegClass.html#RegClass-java.lang.String-int-\">"); "<a href=\"../pkg1/RegClass.html#RegClass-java.lang.String-int-\">");
// Test some methods // Test some methods
checkOutput("pkg1/RegClass.html", true, checkOutput("pkg1/RegClass.html", true,
"<a id=\"Z:Z_methodInClass-java.lang.String-\">", "<a name=\"Z:Z_methodInClass-java.lang.String-\">",
"<a href=\"../pkg1/RegClass.html#Z:Z_methodInClass-java.lang.String-\">", "<a href=\"../pkg1/RegClass.html#Z:Z_methodInClass-java.lang.String-\">",
"<a id=\"method--\">", "<a name=\"method--\">",
"<a href=\"../pkg1/RegClass.html#method--\">", "<a href=\"../pkg1/RegClass.html#method--\">",
"<a id=\"foo-java.util.Map-\">", "<a name=\"foo-java.util.Map-\">",
"<a href=\"../pkg1/RegClass.html#foo-java.util.Map-\">", "<a href=\"../pkg1/RegClass.html#foo-java.util.Map-\">",
"<a id=\"methodInCla:Ds-java.lang.String:A-\">", "<a name=\"methodInCla:Ds-java.lang.String:A-\">",
"<a href=\"../pkg1/RegClass.html#methodInCla:Ds-java.lang.String:A-\">", "<a href=\"../pkg1/RegClass.html#methodInCla:Ds-java.lang.String:A-\">",
"<a id=\"Z:Z_methodInClas:D-java.lang.String-int-\">", "<a name=\"Z:Z_methodInClas:D-java.lang.String-int-\">",
"<a href=\"../pkg1/RegClass.html#Z:Z_methodInClas:D-java.lang.String-int-\">", "<a href=\"../pkg1/RegClass.html#Z:Z_methodInClas:D-java.lang.String-int-\">",
"<a id=\"methodD-pkg1.RegClass.:DA-\">", "<a name=\"methodD-pkg1.RegClass.:DA-\">",
"<a href=\"../pkg1/RegClass.html#methodD-pkg1.RegClass.:DA-\">", "<a href=\"../pkg1/RegClass.html#methodD-pkg1.RegClass.:DA-\">",
"<a id=\"methodD-pkg1.RegClass.D:A-\">", "<a name=\"methodD-pkg1.RegClass.D:A-\">",
"<a href=\"../pkg1/RegClass.html#methodD-pkg1.RegClass.D:A-\">"); "<a href=\"../pkg1/RegClass.html#methodD-pkg1.RegClass.D:A-\">");
checkOutput("pkg1/DeprMemClass.html", true, checkOutput("pkg1/DeprMemClass.html", true,
"<a id=\"Z:Z:Dmethod_In_Class--\">", "<a name=\"Z:Z:Dmethod_In_Class--\">",
"<a href=\"../pkg1/DeprMemClass.html#Z:Z:Dmethod_In_Class--\">"); "<a href=\"../pkg1/DeprMemClass.html#Z:Z:Dmethod_In_Class--\">");
// Test enum // Test enum
checkOutput("pkg1/RegClass.Te$t_Enum.html", true, checkOutput("pkg1/RegClass.Te$t_Enum.html", true,
"<a id=\"Z:Z:DFLD2\">", "<a name=\"Z:Z:DFLD2\">",
"<a href=\"../pkg1/RegClass.Te$t_Enum.html#Z:Z:DFLD2\">"); "<a href=\"../pkg1/RegClass.Te$t_Enum.html#Z:Z:DFLD2\">");
// Test nested class // Test nested class
checkOutput("pkg1/RegClass._NestedClas$.html", true, checkOutput("pkg1/RegClass._NestedClas$.html", true,
"<a id=\"Z:Z_NestedClas:D--\">", "<a name=\"Z:Z_NestedClas:D--\">",
"<a href=\"../pkg1/RegClass._NestedClas$.html#Z:Z_NestedClas:D--\">"); "<a href=\"../pkg1/RegClass._NestedClas$.html#Z:Z_NestedClas:D--\">");
// Test class use page // Test class use page
@ -144,11 +144,11 @@ public class TestAnchorNames extends JavadocTester {
// Test serialized form page // Test serialized form page
checkOutput("serialized-form.html", true, checkOutput("serialized-form.html", true,
//This is the marker for the link that appears in the pkg1.RegClass.html page //This is the marker for the link that appears in the pkg1.RegClass.html page
"<a id=\"pkg1.RegClass\">"); "<a name=\"pkg1.RegClass\">");
// Test member name index page // Test member name index page
checkOutput("index-all.html", true, checkOutput("index-all.html", true,
"<a id=\"I:Z:Z:D\">", "<a name=\"I:Z:Z:D\">",
"<a href=\"#I:Z:Z:D\">$", "<a href=\"#I:Z:Z:D\">$",
"<a href=\"#I:Z:Z_\">_"); "<a href=\"#I:Z:Z_\">_");

View file

@ -23,7 +23,7 @@
/* /*
* @test * @test
* @bug 8025633 * @bug 8025633 8081854
* @summary Make sure that annotations types with optional elements have * @summary Make sure that annotations types with optional elements have
* element headers * element headers
* @author Mahmood Ali * @author Mahmood Ali
@ -48,6 +48,6 @@ public class TestAnnotationOptional extends JavadocTester {
checkExit(Exit.OK); checkExit(Exit.OK);
checkOutput("pkg/AnnotationOptional.html", true, checkOutput("pkg/AnnotationOptional.html", true,
"<a id=\"annotation.type.element.detail\">"); "<a name=\"annotation.type.element.detail\">");
} }
} }

View file

@ -23,7 +23,7 @@
/* /*
* @test * @test
* @bug 8025524 8031625 * @bug 8025524 8031625 8081854
* @summary Test for constructor name which should be a non-qualified name. * @summary Test for constructor name which should be a non-qualified name.
* @author Bhavesh Patel * @author Bhavesh Patel
* @library ../lib * @library ../lib
@ -59,21 +59,21 @@ public class TestConstructors extends JavadocTester {
+ "<a href=\"../pkg1/Outer.Inner.NestedInner.html#NestedInner-int-\"><code>" + "<a href=\"../pkg1/Outer.Inner.NestedInner.html#NestedInner-int-\"><code>"
+ "NestedInner(int)</code></a>", + "NestedInner(int)</code></a>",
"<a href=\"../pkg1/Outer.html#Outer--\">Outer</a></span>()", "<a href=\"../pkg1/Outer.html#Outer--\">Outer</a></span>()",
"<a id=\"Outer--\">", "<a name=\"Outer--\">",
"<a href=\"../pkg1/Outer.html#Outer-int-\">Outer</a></span>(int&nbsp;i)", "<a href=\"../pkg1/Outer.html#Outer-int-\">Outer</a></span>(int&nbsp;i)",
"<a id=\"Outer-int-\">"); "<a name=\"Outer-int-\">");
checkOutput("pkg1/Outer.Inner.html", true, checkOutput("pkg1/Outer.Inner.html", true,
"<a href=\"../pkg1/Outer.Inner.html#Inner--\">Inner</a></span>()", "<a href=\"../pkg1/Outer.Inner.html#Inner--\">Inner</a></span>()",
"<a id=\"Inner--\">", "<a name=\"Inner--\">",
"<a href=\"../pkg1/Outer.Inner.html#Inner-int-\">Inner</a></span>(int&nbsp;i)", "<a href=\"../pkg1/Outer.Inner.html#Inner-int-\">Inner</a></span>(int&nbsp;i)",
"<a id=\"Inner-int-\">"); "<a name=\"Inner-int-\">");
checkOutput("pkg1/Outer.Inner.NestedInner.html", true, checkOutput("pkg1/Outer.Inner.NestedInner.html", true,
"<a href=\"../pkg1/Outer.Inner.NestedInner.html#NestedInner--\">NestedInner</a></span>()", "<a href=\"../pkg1/Outer.Inner.NestedInner.html#NestedInner--\">NestedInner</a></span>()",
"<a id=\"NestedInner--\">", "<a name=\"NestedInner--\">",
"<a href=\"../pkg1/Outer.Inner.NestedInner.html#NestedInner-int-\">NestedInner</a></span>(int&nbsp;i)", "<a href=\"../pkg1/Outer.Inner.NestedInner.html#NestedInner-int-\">NestedInner</a></span>(int&nbsp;i)",
"<a id=\"NestedInner-int-\">"); "<a name=\"NestedInner-int-\">");
checkOutput("pkg1/Outer.Inner.html", false, checkOutput("pkg1/Outer.Inner.html", false,
"Outer.Inner--", "Outer.Inner--",

View file

@ -23,7 +23,7 @@
/* /*
* @test * @test
* @bug 4663254 8016328 8025633 8026567 * @bug 4663254 8016328 8025633 8026567 8081854
* @summary Verify that spaces do not appear in hrefs and anchors. * @summary Verify that spaces do not appear in hrefs and anchors.
* @author jamieh * @author jamieh
* @library ../lib * @library ../lib
@ -54,11 +54,11 @@ public class TestHref extends JavadocTester {
//Member summary table link. //Member summary table link.
"href=\"../pkg/C1.html#method-int-int-java.util.ArrayList-\"", "href=\"../pkg/C1.html#method-int-int-java.util.ArrayList-\"",
//Anchor test. //Anchor test.
"<a id=\"method-int-int-java.util.ArrayList-\">\n" "<a name=\"method-int-int-java.util.ArrayList-\">\n"
+ "<!-- -->\n" + "<!-- -->\n"
+ "</a>", + "</a>",
//Backward compatibility anchor test."pkg/C1.html", //Backward compatibility anchor test."pkg/C1.html",
"<a id=\"method-int-int-java.util.ArrayList-\">\n" "<a name=\"method-int-int-java.util.ArrayList-\">\n"
+ "<!-- -->\n" + "<!-- -->\n"
+ "</a>"); + "</a>");

View file

@ -23,7 +23,7 @@
/* /*
* @test * @test
* @bug 8072945 * @bug 8072945 8081854
* @summary Test the version of HTML generated by the javadoc tool. * @summary Test the version of HTML generated by the javadoc tool.
* @author bpatel * @author bpatel
* @library ../lib * @library ../lib
@ -1172,7 +1172,7 @@ public class TestHtmlVersion extends JavadocTester {
checkOutput("overview-summary.html", true, checkOutput("overview-summary.html", true,
"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
"<meta name=\"date\"", "<meta name=\"date\"",
"<a id=\"navbar.top.firstrow\">\n" "<a name=\"navbar.top.firstrow\">\n"
+ "<!-- -->\n" + "<!-- -->\n"
+ "</a>", + "</a>",
"<table class=\"overviewSummary\" summary=\"Packages table, listing packages, and an explanation\">\n" "<table class=\"overviewSummary\" summary=\"Packages table, listing packages, and an explanation\">\n"
@ -1194,7 +1194,7 @@ public class TestHtmlVersion extends JavadocTester {
checkOutput("pkg/package-summary.html", true, checkOutput("pkg/package-summary.html", true,
"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
"<meta name=\"date\"", "<meta name=\"date\"",
"<a id=\"navbar.top.firstrow\">\n" "<a name=\"navbar.top.firstrow\">\n"
+ "<!-- -->\n" + "<!-- -->\n"
+ "</a>", + "</a>",
"<table class=\"typeSummary\" summary=\"Interface Summary table, listing interfaces, and an explanation\">", "<table class=\"typeSummary\" summary=\"Interface Summary table, listing interfaces, and an explanation\">",
@ -1208,7 +1208,7 @@ public class TestHtmlVersion extends JavadocTester {
checkOutput("pkg/package-tree.html", true, checkOutput("pkg/package-tree.html", true,
"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
"<meta name=\"date\"", "<meta name=\"date\"",
"<a id=\"navbar.top.firstrow\">\n" "<a name=\"navbar.top.firstrow\">\n"
+ "<!-- -->\n" + "<!-- -->\n"
+ "</a>", + "</a>",
"<li class=\"circle\">"); "<li class=\"circle\">");
@ -1217,7 +1217,7 @@ public class TestHtmlVersion extends JavadocTester {
checkOutput("pkg1/package-use.html", true, checkOutput("pkg1/package-use.html", true,
"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
"<meta name=\"date\"", "<meta name=\"date\"",
"<a id=\"navbar.top.firstrow\">\n" "<a name=\"navbar.top.firstrow\">\n"
+ "<!-- -->\n" + "<!-- -->\n"
+ "</a>", + "</a>",
"<table class=\"useSummary\" summary=\"Use table, listing packages, and an explanation\">"); "<table class=\"useSummary\" summary=\"Use table, listing packages, and an explanation\">");
@ -1234,7 +1234,7 @@ public class TestHtmlVersion extends JavadocTester {
checkOutput("pkg/compact1-package-summary.html", true, checkOutput("pkg/compact1-package-summary.html", true,
"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
"<meta name=\"date\"", "<meta name=\"date\"",
"<a id=\"navbar.top.firstrow\">\n" "<a name=\"navbar.top.firstrow\">\n"
+ "<!-- -->\n" + "<!-- -->\n"
+ "</a>", + "</a>",
"<table class=\"typeSummary\" summary=\"Interface Summary table, listing interfaces, and an explanation\">", "<table class=\"typeSummary\" summary=\"Interface Summary table, listing interfaces, and an explanation\">",
@ -1248,7 +1248,7 @@ public class TestHtmlVersion extends JavadocTester {
checkOutput("compact1-summary.html", true, checkOutput("compact1-summary.html", true,
"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
"<meta name=\"date\"", "<meta name=\"date\"",
"<a id=\"navbar.top.firstrow\">\n" "<a name=\"navbar.top.firstrow\">\n"
+ "<!-- -->\n" + "<!-- -->\n"
+ "</a>", + "</a>",
"<table class=\"typeSummary\" summary=\"Interface Summary table, listing interfaces, and an explanation\">", "<table class=\"typeSummary\" summary=\"Interface Summary table, listing interfaces, and an explanation\">",
@ -1262,7 +1262,7 @@ public class TestHtmlVersion extends JavadocTester {
checkOutput("constant-values.html", true, checkOutput("constant-values.html", true,
"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
"<meta name=\"date\"", "<meta name=\"date\"",
"<a id=\"navbar.top.firstrow\">\n" "<a name=\"navbar.top.firstrow\">\n"
+ "<!-- -->\n" + "<!-- -->\n"
+ "</a>", + "</a>",
"<!-- ========= END OF TOP NAVBAR ========= -->\n" "<!-- ========= END OF TOP NAVBAR ========= -->\n"
@ -1273,7 +1273,7 @@ public class TestHtmlVersion extends JavadocTester {
checkOutput("deprecated-list.html", true, checkOutput("deprecated-list.html", true,
"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
"<meta name=\"date\"", "<meta name=\"date\"",
"<a id=\"navbar.top.firstrow\">\n" "<a name=\"navbar.top.firstrow\">\n"
+ "<!-- -->\n" + "<!-- -->\n"
+ "</a>", + "</a>",
"<!-- ========= END OF TOP NAVBAR ========= -->\n" "<!-- ========= END OF TOP NAVBAR ========= -->\n"
@ -1295,7 +1295,7 @@ public class TestHtmlVersion extends JavadocTester {
checkOutput("serialized-form.html", true, checkOutput("serialized-form.html", true,
"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
"<meta name=\"date\"", "<meta name=\"date\"",
"<a id=\"navbar.top.firstrow\">\n" "<a name=\"navbar.top.firstrow\">\n"
+ "<!-- -->\n" + "<!-- -->\n"
+ "</a>", + "</a>",
"<!-- ========= END OF TOP NAVBAR ========= -->\n" "<!-- ========= END OF TOP NAVBAR ========= -->\n"
@ -1307,7 +1307,7 @@ public class TestHtmlVersion extends JavadocTester {
checkOutput("overview-tree.html", true, checkOutput("overview-tree.html", true,
"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
"<meta name=\"date\"", "<meta name=\"date\"",
"<a id=\"navbar.top.firstrow\">\n" "<a name=\"navbar.top.firstrow\">\n"
+ "<!-- -->\n" + "<!-- -->\n"
+ "</a>", + "</a>",
"<li class=\"circle\">", "<li class=\"circle\">",
@ -1326,7 +1326,7 @@ public class TestHtmlVersion extends JavadocTester {
checkOutput("index-all.html", true, checkOutput("index-all.html", true,
"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
"<meta name=\"date\"", "<meta name=\"date\"",
"<a id=\"navbar.top.firstrow\">\n" "<a name=\"navbar.top.firstrow\">\n"
+ "<!-- -->\n" + "<!-- -->\n"
+ "</a>", + "</a>",
"<!-- ========= END OF TOP NAVBAR ========= -->\n" "<!-- ========= END OF TOP NAVBAR ========= -->\n"
@ -1342,7 +1342,7 @@ public class TestHtmlVersion extends JavadocTester {
checkOutput("help-doc.html", true, checkOutput("help-doc.html", true,
"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
"<meta name=\"date\"", "<meta name=\"date\"",
"<a id=\"navbar.top.firstrow\">\n" "<a name=\"navbar.top.firstrow\">\n"
+ "<!-- -->\n" + "<!-- -->\n"
+ "</a>", + "</a>",
"<!-- ========= END OF TOP NAVBAR ========= -->\n" "<!-- ========= END OF TOP NAVBAR ========= -->\n"
@ -1359,54 +1359,54 @@ public class TestHtmlVersion extends JavadocTester {
checkOutput("pkg/AnotherClass.html", true, checkOutput("pkg/AnotherClass.html", true,
"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
"<meta name=\"date\"", "<meta name=\"date\"",
"<a id=\"navbar.top.firstrow\">\n" "<a name=\"navbar.top.firstrow\">\n"
+ "<!-- -->\n" + "<!-- -->\n"
+ "</a>", + "</a>",
"<!-- ======== START OF CLASS DATA ======== -->\n" "<!-- ======== START OF CLASS DATA ======== -->\n"
+ "<div class=\"header\">", + "<div class=\"header\">",
"<!-- ======== NESTED CLASS SUMMARY ======== -->\n" "<!-- ======== NESTED CLASS SUMMARY ======== -->\n"
+ "<ul class=\"blockList\">\n" + "<ul class=\"blockList\">\n"
+ "<li class=\"blockList\"><a id=\"nested.class.summary\">\n" + "<li class=\"blockList\"><a name=\"nested.class.summary\">\n"
+ "<!-- -->\n" + "<!-- -->\n"
+ "</a>\n" + "</a>\n"
+ "<h3>Nested Class Summary</h3>\n" + "<h3>Nested Class Summary</h3>\n"
+ "<table class=\"memberSummary\" summary=\"Nested Class Summary table, listing nested classes, and an explanation\">", + "<table class=\"memberSummary\" summary=\"Nested Class Summary table, listing nested classes, and an explanation\">",
"<!-- =========== FIELD SUMMARY =========== -->\n" "<!-- =========== FIELD SUMMARY =========== -->\n"
+ "<ul class=\"blockList\">\n" + "<ul class=\"blockList\">\n"
+ "<li class=\"blockList\"><a id=\"field.summary\">\n" + "<li class=\"blockList\"><a name=\"field.summary\">\n"
+ "<!-- -->\n" + "<!-- -->\n"
+ "</a>\n" + "</a>\n"
+ "<h3>Field Summary</h3>\n" + "<h3>Field Summary</h3>\n"
+ "<table class=\"memberSummary\" summary=\"Field Summary table, listing fields, and an explanation\">", + "<table class=\"memberSummary\" summary=\"Field Summary table, listing fields, and an explanation\">",
"<!-- ======== CONSTRUCTOR SUMMARY ======== -->\n" "<!-- ======== CONSTRUCTOR SUMMARY ======== -->\n"
+ "<ul class=\"blockList\">\n" + "<ul class=\"blockList\">\n"
+ "<li class=\"blockList\"><a id=\"constructor.summary\">\n" + "<li class=\"blockList\"><a name=\"constructor.summary\">\n"
+ "<!-- -->\n" + "<!-- -->\n"
+ "</a>\n" + "</a>\n"
+ "<h3>Constructor Summary</h3>\n" + "<h3>Constructor Summary</h3>\n"
+ "<table class=\"memberSummary\" summary=\"Constructor Summary table, listing constructors, and an explanation\">", + "<table class=\"memberSummary\" summary=\"Constructor Summary table, listing constructors, and an explanation\">",
"<!-- ========== METHOD SUMMARY =========== -->\n" "<!-- ========== METHOD SUMMARY =========== -->\n"
+ "<ul class=\"blockList\">\n" + "<ul class=\"blockList\">\n"
+ "<li class=\"blockList\"><a id=\"method.summary\">\n" + "<li class=\"blockList\"><a name=\"method.summary\">\n"
+ "<!-- -->\n" + "<!-- -->\n"
+ "</a>\n" + "</a>\n"
+ "<h3>Method Summary</h3>\n" + "<h3>Method Summary</h3>\n"
+ "<table class=\"memberSummary\" summary=\"Method Summary table, listing methods, and an explanation\">", + "<table class=\"memberSummary\" summary=\"Method Summary table, listing methods, and an explanation\">",
"<!-- ============ FIELD DETAIL =========== -->\n" "<!-- ============ FIELD DETAIL =========== -->\n"
+ "<ul class=\"blockList\">\n" + "<ul class=\"blockList\">\n"
+ "<li class=\"blockList\"><a id=\"field.detail\">\n" + "<li class=\"blockList\"><a name=\"field.detail\">\n"
+ "<!-- -->\n" + "<!-- -->\n"
+ "</a>\n" + "</a>\n"
+ "<h3>Field Detail</h3>", + "<h3>Field Detail</h3>",
"<!-- ========= CONSTRUCTOR DETAIL ======== -->\n" "<!-- ========= CONSTRUCTOR DETAIL ======== -->\n"
+ "<ul class=\"blockList\">\n" + "<ul class=\"blockList\">\n"
+ "<li class=\"blockList\"><a id=\"constructor.detail\">\n" + "<li class=\"blockList\"><a name=\"constructor.detail\">\n"
+ "<!-- -->\n" + "<!-- -->\n"
+ "</a>\n" + "</a>\n"
+ "<h3>Constructor Detail</h3>", + "<h3>Constructor Detail</h3>",
"<!-- ============ METHOD DETAIL ========== -->\n" "<!-- ============ METHOD DETAIL ========== -->\n"
+ "<ul class=\"blockList\">\n" + "<ul class=\"blockList\">\n"
+ "<li class=\"blockList\"><a id=\"method.detail\">\n" + "<li class=\"blockList\"><a name=\"method.detail\">\n"
+ "<!-- -->\n" + "<!-- -->\n"
+ "</a>\n" + "</a>\n"
+ "<h3>Method Detail</h3>"); + "<h3>Method Detail</h3>");
@ -1415,34 +1415,34 @@ public class TestHtmlVersion extends JavadocTester {
checkOutput("pkg/AnotherClass.ModalExclusionType.html", true, checkOutput("pkg/AnotherClass.ModalExclusionType.html", true,
"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
"<meta name=\"date\"", "<meta name=\"date\"",
"<a id=\"navbar.top.firstrow\">\n" "<a name=\"navbar.top.firstrow\">\n"
+ "<!-- -->\n" + "<!-- -->\n"
+ "</a>", + "</a>",
"<!-- ======== START OF CLASS DATA ======== -->\n" "<!-- ======== START OF CLASS DATA ======== -->\n"
+ "<div class=\"header\">", + "<div class=\"header\">",
"<!-- =========== ENUM CONSTANT SUMMARY =========== -->\n" "<!-- =========== ENUM CONSTANT SUMMARY =========== -->\n"
+ "<ul class=\"blockList\">\n" + "<ul class=\"blockList\">\n"
+ "<li class=\"blockList\"><a id=\"enum.constant.summary\">\n" + "<li class=\"blockList\"><a name=\"enum.constant.summary\">\n"
+ "<!-- -->\n" + "<!-- -->\n"
+ "</a>\n" + "</a>\n"
+ "<h3>Enum Constant Summary</h3>\n" + "<h3>Enum Constant Summary</h3>\n"
+ "<table class=\"memberSummary\" summary=\"Enum Constant Summary table, listing enum constants, and an explanation\">", + "<table class=\"memberSummary\" summary=\"Enum Constant Summary table, listing enum constants, and an explanation\">",
"<!-- ========== METHOD SUMMARY =========== -->\n" "<!-- ========== METHOD SUMMARY =========== -->\n"
+ "<ul class=\"blockList\">\n" + "<ul class=\"blockList\">\n"
+ "<li class=\"blockList\"><a id=\"method.summary\">\n" + "<li class=\"blockList\"><a name=\"method.summary\">\n"
+ "<!-- -->\n" + "<!-- -->\n"
+ "</a>\n" + "</a>\n"
+ "<h3>Method Summary</h3>\n" + "<h3>Method Summary</h3>\n"
+ "<table class=\"memberSummary\" summary=\"Method Summary table, listing methods, and an explanation\">", + "<table class=\"memberSummary\" summary=\"Method Summary table, listing methods, and an explanation\">",
"<!-- ============ ENUM CONSTANT DETAIL =========== -->\n" "<!-- ============ ENUM CONSTANT DETAIL =========== -->\n"
+ "<ul class=\"blockList\">\n" + "<ul class=\"blockList\">\n"
+ "<li class=\"blockList\"><a id=\"enum.constant.detail\">\n" + "<li class=\"blockList\"><a name=\"enum.constant.detail\">\n"
+ "<!-- -->\n" + "<!-- -->\n"
+ "</a>\n" + "</a>\n"
+ "<h3>Enum Constant Detail</h3>", + "<h3>Enum Constant Detail</h3>",
"<!-- ============ METHOD DETAIL ========== -->\n" "<!-- ============ METHOD DETAIL ========== -->\n"
+ "<ul class=\"blockList\">\n" + "<ul class=\"blockList\">\n"
+ "<li class=\"blockList\"><a id=\"method.detail\">\n" + "<li class=\"blockList\"><a name=\"method.detail\">\n"
+ "<!-- -->\n" + "<!-- -->\n"
+ "</a>\n" + "</a>\n"
+ "<h3>Method Detail</h3>"); + "<h3>Method Detail</h3>");
@ -1451,21 +1451,21 @@ public class TestHtmlVersion extends JavadocTester {
checkOutput("pkg2/Interface.html", true, checkOutput("pkg2/Interface.html", true,
"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
"<meta name=\"date\"", "<meta name=\"date\"",
"<a id=\"navbar.top.firstrow\">\n" "<a name=\"navbar.top.firstrow\">\n"
+ "<!-- -->\n" + "<!-- -->\n"
+ "</a>", + "</a>",
"<!-- ======== START OF CLASS DATA ======== -->\n" "<!-- ======== START OF CLASS DATA ======== -->\n"
+ "<div class=\"header\">", + "<div class=\"header\">",
"<!-- ========== METHOD SUMMARY =========== -->\n" "<!-- ========== METHOD SUMMARY =========== -->\n"
+ "<ul class=\"blockList\">\n" + "<ul class=\"blockList\">\n"
+ "<li class=\"blockList\"><a id=\"method.summary\">\n" + "<li class=\"blockList\"><a name=\"method.summary\">\n"
+ "<!-- -->\n" + "<!-- -->\n"
+ "</a>\n" + "</a>\n"
+ "<h3>Method Summary</h3>\n" + "<h3>Method Summary</h3>\n"
+ "<table class=\"memberSummary\" summary=\"Method Summary table, listing methods, and an explanation\">", + "<table class=\"memberSummary\" summary=\"Method Summary table, listing methods, and an explanation\">",
"<!-- ============ METHOD DETAIL ========== -->\n" "<!-- ============ METHOD DETAIL ========== -->\n"
+ "<ul class=\"blockList\">\n" + "<ul class=\"blockList\">\n"
+ "<li class=\"blockList\"><a id=\"method.detail\">\n" + "<li class=\"blockList\"><a name=\"method.detail\">\n"
+ "<!-- -->\n" + "<!-- -->\n"
+ "</a>\n" + "</a>\n"
+ "<h3>Method Detail</h3>"); + "<h3>Method Detail</h3>");
@ -1474,20 +1474,20 @@ public class TestHtmlVersion extends JavadocTester {
checkOutput("pkg/TestError.html", true, checkOutput("pkg/TestError.html", true,
"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
"<meta name=\"date\"", "<meta name=\"date\"",
"<a id=\"navbar.top.firstrow\">\n" "<a name=\"navbar.top.firstrow\">\n"
+ "<!-- -->\n" + "<!-- -->\n"
+ "</a>", + "</a>",
"<!-- ======== START OF CLASS DATA ======== -->\n" "<!-- ======== START OF CLASS DATA ======== -->\n"
+ "<div class=\"header\">", + "<div class=\"header\">",
"<!-- ======== CONSTRUCTOR SUMMARY ======== -->\n" "<!-- ======== CONSTRUCTOR SUMMARY ======== -->\n"
+ "<ul class=\"blockList\">\n" + "<ul class=\"blockList\">\n"
+ "<li class=\"blockList\"><a id=\"constructor.summary\">\n" + "<li class=\"blockList\"><a name=\"constructor.summary\">\n"
+ "<!-- -->\n" + "<!-- -->\n"
+ "</a>\n" + "</a>\n"
+ "<h3>Constructor Summary</h3>", + "<h3>Constructor Summary</h3>",
"<!-- ========= CONSTRUCTOR DETAIL ======== -->\n" "<!-- ========= CONSTRUCTOR DETAIL ======== -->\n"
+ "<ul class=\"blockList\">\n" + "<ul class=\"blockList\">\n"
+ "<li class=\"blockList\"><a id=\"constructor.detail\">\n" + "<li class=\"blockList\"><a name=\"constructor.detail\">\n"
+ "<!-- -->\n" + "<!-- -->\n"
+ "</a>\n" + "</a>\n"
+ "<h3>Constructor Detail</h3>"); + "<h3>Constructor Detail</h3>");
@ -1496,20 +1496,20 @@ public class TestHtmlVersion extends JavadocTester {
checkOutput("pkg/TestException.html", true, checkOutput("pkg/TestException.html", true,
"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
"<meta name=\"date\"", "<meta name=\"date\"",
"<a id=\"navbar.top.firstrow\">\n" "<a name=\"navbar.top.firstrow\">\n"
+ "<!-- -->\n" + "<!-- -->\n"
+ "</a>", + "</a>",
"<!-- ======== START OF CLASS DATA ======== -->\n" "<!-- ======== START OF CLASS DATA ======== -->\n"
+ "<div class=\"header\">", + "<div class=\"header\">",
"<!-- ======== CONSTRUCTOR SUMMARY ======== -->\n" "<!-- ======== CONSTRUCTOR SUMMARY ======== -->\n"
+ "<ul class=\"blockList\">\n" + "<ul class=\"blockList\">\n"
+ "<li class=\"blockList\"><a id=\"constructor.summary\">\n" + "<li class=\"blockList\"><a name=\"constructor.summary\">\n"
+ "<!-- -->\n" + "<!-- -->\n"
+ "</a>\n" + "</a>\n"
+ "<h3>Constructor Summary</h3>", + "<h3>Constructor Summary</h3>",
"<!-- ========= CONSTRUCTOR DETAIL ======== -->\n" "<!-- ========= CONSTRUCTOR DETAIL ======== -->\n"
+ "<ul class=\"blockList\">\n" + "<ul class=\"blockList\">\n"
+ "<li class=\"blockList\"><a id=\"constructor.detail\">\n" + "<li class=\"blockList\"><a name=\"constructor.detail\">\n"
+ "<!-- -->\n" + "<!-- -->\n"
+ "</a>\n" + "</a>\n"
+ "<h3>Constructor Detail</h3>"); + "<h3>Constructor Detail</h3>");
@ -1518,28 +1518,28 @@ public class TestHtmlVersion extends JavadocTester {
checkOutput("pkg2/TestAnnotationType.html", true, checkOutput("pkg2/TestAnnotationType.html", true,
"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
"<meta name=\"date\"", "<meta name=\"date\"",
"<a id=\"navbar.top.firstrow\">\n" "<a name=\"navbar.top.firstrow\">\n"
+ "<!-- -->\n" + "<!-- -->\n"
+ "</a>", + "</a>",
"<!-- ======== START OF CLASS DATA ======== -->\n" "<!-- ======== START OF CLASS DATA ======== -->\n"
+ "<div class=\"header\">", + "<div class=\"header\">",
"<!-- =========== ANNOTATION TYPE REQUIRED MEMBER SUMMARY =========== -->\n" "<!-- =========== ANNOTATION TYPE REQUIRED MEMBER SUMMARY =========== -->\n"
+ "<ul class=\"blockList\">\n" + "<ul class=\"blockList\">\n"
+ "<li class=\"blockList\"><a id=\"annotation.type.required.element.summary\">\n" + "<li class=\"blockList\"><a name=\"annotation.type.required.element.summary\">\n"
+ "<!-- -->\n" + "<!-- -->\n"
+ "</a>\n" + "</a>\n"
+ "<h3>Required Element Summary</h3>\n" + "<h3>Required Element Summary</h3>\n"
+ "<table class=\"memberSummary\" summary=\"Required Element Summary table, listing required elements, and an explanation\">", + "<table class=\"memberSummary\" summary=\"Required Element Summary table, listing required elements, and an explanation\">",
"<!-- =========== ANNOTATION TYPE OPTIONAL MEMBER SUMMARY =========== -->\n" "<!-- =========== ANNOTATION TYPE OPTIONAL MEMBER SUMMARY =========== -->\n"
+ "<ul class=\"blockList\">\n" + "<ul class=\"blockList\">\n"
+ "<li class=\"blockList\"><a id=\"annotation.type.optional.element.summary\">\n" + "<li class=\"blockList\"><a name=\"annotation.type.optional.element.summary\">\n"
+ "<!-- -->\n" + "<!-- -->\n"
+ "</a>\n" + "</a>\n"
+ "<h3>Optional Element Summary</h3>\n" + "<h3>Optional Element Summary</h3>\n"
+ "<table class=\"memberSummary\" summary=\"Optional Element Summary table, listing optional elements, and an explanation\">", + "<table class=\"memberSummary\" summary=\"Optional Element Summary table, listing optional elements, and an explanation\">",
"<!-- ============ ANNOTATION TYPE MEMBER DETAIL =========== -->\n" "<!-- ============ ANNOTATION TYPE MEMBER DETAIL =========== -->\n"
+ "<ul class=\"blockList\">\n" + "<ul class=\"blockList\">\n"
+ "<li class=\"blockList\"><a id=\"annotation.type.element.detail\">\n" + "<li class=\"blockList\"><a name=\"annotation.type.element.detail\">\n"
+ "<!-- -->\n" + "<!-- -->\n"
+ "</a>\n" + "</a>\n"
+ "<h3>Element Detail</h3>"); + "<h3>Element Detail</h3>");
@ -1548,13 +1548,13 @@ public class TestHtmlVersion extends JavadocTester {
checkOutput("pkg1/class-use/RegClass.html", true, checkOutput("pkg1/class-use/RegClass.html", true,
"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
"<meta name=\"date\"", "<meta name=\"date\"",
"<a id=\"navbar.top.firstrow\">\n" "<a name=\"navbar.top.firstrow\">\n"
+ "<!-- -->\n" + "<!-- -->\n"
+ "</a>", + "</a>",
"<!-- ========= END OF TOP NAVBAR ========= -->\n" "<!-- ========= END OF TOP NAVBAR ========= -->\n"
+ "<div class=\"header\">", + "<div class=\"header\">",
"<table class=\"useSummary\" summary=\"Use table, listing packages, and an explanation\">", "<table class=\"useSummary\" summary=\"Use table, listing packages, and an explanation\">",
"<li class=\"blockList\"><a id=\"pkg\">\n" "<li class=\"blockList\"><a name=\"pkg\">\n"
+ "<!-- -->\n" + "<!-- -->\n"
+ "</a>\n" + "</a>\n"
+ "<h3>Uses of <a href=\"../../pkg1/RegClass.html\" title=\"class in pkg1\">RegClass</a> in <a href=\"../../pkg/package-summary.html\">pkg</a></h3>\n" + "<h3>Uses of <a href=\"../../pkg1/RegClass.html\" title=\"class in pkg1\">RegClass</a> in <a href=\"../../pkg/package-summary.html\">pkg</a></h3>\n"
@ -1623,7 +1623,7 @@ public class TestHtmlVersion extends JavadocTester {
checkOutput("overview-summary.html", false, checkOutput("overview-summary.html", false,
"<!DOCTYPE HTML>", "<!DOCTYPE HTML>",
"<meta name=\"dc.created\"", "<meta name=\"dc.created\"",
"<a name=\"navbar.top.firstrow\">\n" "<a id=\"navbar.top.firstrow\">\n"
+ "<!-- -->\n" + "<!-- -->\n"
+ "</a>", + "</a>",
"<table class=\"overviewSummary\">\n" "<table class=\"overviewSummary\">\n"
@ -1662,7 +1662,7 @@ public class TestHtmlVersion extends JavadocTester {
checkOutput("pkg/package-summary.html", false, checkOutput("pkg/package-summary.html", false,
"<!DOCTYPE HTML>", "<!DOCTYPE HTML>",
"<meta name=\"dc.created\"", "<meta name=\"dc.created\"",
"<a name=\"navbar.top.firstrow\">\n" "<a id=\"navbar.top.firstrow\">\n"
+ "<!-- -->\n" + "<!-- -->\n"
+ "</a>", + "</a>",
"<table class=\"typeSummary\">", "<table class=\"typeSummary\">",
@ -1681,7 +1681,7 @@ public class TestHtmlVersion extends JavadocTester {
checkOutput("pkg/package-tree.html", false, checkOutput("pkg/package-tree.html", false,
"<!DOCTYPE HTML>", "<!DOCTYPE HTML>",
"<meta name=\"dc.created\"", "<meta name=\"dc.created\"",
"<a name=\"navbar.top.firstrow\">\n" "<a id=\"navbar.top.firstrow\">\n"
+ "<!-- -->\n" + "<!-- -->\n"
+ "</a>", + "</a>",
"<header role=\"banner\">\n" "<header role=\"banner\">\n"
@ -1705,7 +1705,7 @@ public class TestHtmlVersion extends JavadocTester {
checkOutput("pkg1/package-use.html", false, checkOutput("pkg1/package-use.html", false,
"<!DOCTYPE HTML>", "<!DOCTYPE HTML>",
"<meta name=\"dc.created\"", "<meta name=\"dc.created\"",
"<a name=\"navbar.top.firstrow\">\n" "<a id=\"navbar.top.firstrow\">\n"
+ "<!-- -->\n" + "<!-- -->\n"
+ "</a>", + "</a>",
"<table class=\"useSummary\">", "<table class=\"useSummary\">",
@ -1742,7 +1742,7 @@ public class TestHtmlVersion extends JavadocTester {
checkOutput("pkg/compact1-package-summary.html", false, checkOutput("pkg/compact1-package-summary.html", false,
"<!DOCTYPE HTML>", "<!DOCTYPE HTML>",
"<meta name=\"dc.created\"", "<meta name=\"dc.created\"",
"<a name=\"navbar.top.firstrow\">\n" "<a id=\"navbar.top.firstrow\">\n"
+ "<!-- -->\n" + "<!-- -->\n"
+ "</a>", + "</a>",
"<table class=\"typeSummary\">", "<table class=\"typeSummary\">",
@ -1761,7 +1761,7 @@ public class TestHtmlVersion extends JavadocTester {
checkOutput("compact1-summary.html", false, checkOutput("compact1-summary.html", false,
"<!DOCTYPE HTML>", "<!DOCTYPE HTML>",
"<meta name=\"dc.created\"", "<meta name=\"dc.created\"",
"<a name=\"navbar.top.firstrow\">\n" "<a id=\"navbar.top.firstrow\">\n"
+ "<!-- -->\n" + "<!-- -->\n"
+ "</a>", + "</a>",
"<table class=\"typeSummary\">", "<table class=\"typeSummary\">",
@ -1782,7 +1782,7 @@ public class TestHtmlVersion extends JavadocTester {
checkOutput("constant-values.html", false, checkOutput("constant-values.html", false,
"<!DOCTYPE HTML>", "<!DOCTYPE HTML>",
"<meta name=\"dc.created\"", "<meta name=\"dc.created\"",
"<a name=\"navbar.top.firstrow\">\n" "<a id=\"navbar.top.firstrow\">\n"
+ "<!-- -->\n" + "<!-- -->\n"
+ "</a>", + "</a>",
"<table class=\"constantsSummary\">", "<table class=\"constantsSummary\">",
@ -1803,7 +1803,7 @@ public class TestHtmlVersion extends JavadocTester {
checkOutput("deprecated-list.html", false, checkOutput("deprecated-list.html", false,
"<!DOCTYPE HTML>", "<!DOCTYPE HTML>",
"<meta name=\"dc.created\"", "<meta name=\"dc.created\"",
"<a name=\"navbar.top.firstrow\">\n" "<a id=\"navbar.top.firstrow\">\n"
+ "<!-- -->\n" + "<!-- -->\n"
+ "</a>", + "</a>",
"<table class=\"deprecatedSummary\">", "<table class=\"deprecatedSummary\">",
@ -1820,7 +1820,7 @@ public class TestHtmlVersion extends JavadocTester {
checkOutput("serialized-form.html", false, checkOutput("serialized-form.html", false,
"<!DOCTYPE HTML>", "<!DOCTYPE HTML>",
"<meta name=\"dc.created\"", "<meta name=\"dc.created\"",
"<a name=\"navbar.top.firstrow\">\n" "<a id=\"navbar.top.firstrow\">\n"
+ "<!-- -->\n" + "<!-- -->\n"
+ "</a>", + "</a>",
"<header role=\"banner\">\n" "<header role=\"banner\">\n"
@ -1838,7 +1838,7 @@ public class TestHtmlVersion extends JavadocTester {
checkOutput("overview-tree.html", false, checkOutput("overview-tree.html", false,
"<!DOCTYPE HTML>", "<!DOCTYPE HTML>",
"<meta name=\"dc.created\"", "<meta name=\"dc.created\"",
"<a name=\"navbar.top.firstrow\">\n" "<a id=\"navbar.top.firstrow\">\n"
+ "<!-- -->\n" + "<!-- -->\n"
+ "</a>", + "</a>",
"<header role=\"banner\">\n" "<header role=\"banner\">\n"
@ -1862,7 +1862,7 @@ public class TestHtmlVersion extends JavadocTester {
checkOutput("index-all.html", false, checkOutput("index-all.html", false,
"<!DOCTYPE HTML>", "<!DOCTYPE HTML>",
"<meta name=\"dc.created\"", "<meta name=\"dc.created\"",
"<a name=\"navbar.top.firstrow\">\n" "<a id=\"navbar.top.firstrow\">\n"
+ "<!-- -->\n" + "<!-- -->\n"
+ "</a>", + "</a>",
"<header role=\"banner\">\n" "<header role=\"banner\">\n"
@ -1884,7 +1884,7 @@ public class TestHtmlVersion extends JavadocTester {
checkOutput("help-doc.html", false, checkOutput("help-doc.html", false,
"<!DOCTYPE HTML>", "<!DOCTYPE HTML>",
"<meta name=\"dc.created\"", "<meta name=\"dc.created\"",
"<a name=\"navbar.top.firstrow\">\n" "<a id=\"navbar.top.firstrow\">\n"
+ "<!-- -->\n" + "<!-- -->\n"
+ "</a>", + "</a>",
"<header role=\"banner\">\n" "<header role=\"banner\">\n"
@ -1906,7 +1906,7 @@ public class TestHtmlVersion extends JavadocTester {
checkOutput("pkg/AnotherClass.html", false, checkOutput("pkg/AnotherClass.html", false,
"<!DOCTYPE HTML>", "<!DOCTYPE HTML>",
"<meta name=\"dc.created\"", "<meta name=\"dc.created\"",
"<a name=\"navbar.top.firstrow\">\n" "<a id=\"navbar.top.firstrow\">\n"
+ "<!-- -->\n" + "<!-- -->\n"
+ "</a>", + "</a>",
"<header role=\"banner\">\n" "<header role=\"banner\">\n"
@ -1916,46 +1916,46 @@ public class TestHtmlVersion extends JavadocTester {
+ "<div class=\"header\">", + "<div class=\"header\">",
"<section role=\"region\">\n" "<section role=\"region\">\n"
+ "<ul class=\"blockList\">\n" + "<ul class=\"blockList\">\n"
+ "<li class=\"blockList\"><a name=\"nested.class.summary\">\n" + "<li class=\"blockList\"><a id=\"nested.class.summary\">\n"
+ "<!-- -->\n" + "<!-- -->\n"
+ "</a>\n" + "</a>\n"
+ "<h3>Nested Class Summary</h3>\n" + "<h3>Nested Class Summary</h3>\n"
+ "<table class=\"memberSummary\">", + "<table class=\"memberSummary\">",
"<section role=\"region\">\n" "<section role=\"region\">\n"
+ "<ul class=\"blockList\">\n" + "<ul class=\"blockList\">\n"
+ "<li class=\"blockList\"><a name=\"field.summary\">\n" + "<li class=\"blockList\"><a id=\"field.summary\">\n"
+ "<!-- -->\n" + "<!-- -->\n"
+ "</a>\n" + "</a>\n"
+ "<h3>Field Summary</h3>\n" + "<h3>Field Summary</h3>\n"
+ "<table class=\"memberSummary\">", + "<table class=\"memberSummary\">",
"<section role=\"region\">\n" "<section role=\"region\">\n"
+ "<ul class=\"blockList\">\n" + "<ul class=\"blockList\">\n"
+ "<li class=\"blockList\"><a name=\"constructor.summary\">\n" + "<li class=\"blockList\"><a id=\"constructor.summary\">\n"
+ "<!-- -->\n" + "<!-- -->\n"
+ "</a>\n" + "</a>\n"
+ "<h3>Constructor Summary</h3>\n" + "<h3>Constructor Summary</h3>\n"
+ "<table class=\"memberSummary\">", + "<table class=\"memberSummary\">",
"<section role=\"region\">\n" "<section role=\"region\">\n"
+ "<ul class=\"blockList\">\n" + "<ul class=\"blockList\">\n"
+ "<li class=\"blockList\"><a name=\"method.summary\">\n" + "<li class=\"blockList\"><a id=\"method.summary\">\n"
+ "<!-- -->\n" + "<!-- -->\n"
+ "</a>\n" + "</a>\n"
+ "<h3>Method Summary</h3>", + "<h3>Method Summary</h3>",
"<section role=\"region\">\n" "<section role=\"region\">\n"
+ "<ul class=\"blockList\">\n" + "<ul class=\"blockList\">\n"
+ "<li class=\"blockList\"><a name=\"field.detail\">\n" + "<li class=\"blockList\"><a id=\"field.detail\">\n"
+ "<!-- -->\n" + "<!-- -->\n"
+ "</a>\n" + "</a>\n"
+ "<h3>Field Detail</h3>", + "<h3>Field Detail</h3>",
"<section role=\"region\">\n" "<section role=\"region\">\n"
+ "<ul class=\"blockList\">\n" + "<ul class=\"blockList\">\n"
+ "<li class=\"blockList\"><a name=\"constructor.detail\">\n" + "<li class=\"blockList\"><a id=\"constructor.detail\">\n"
+ "<!-- -->\n" + "<!-- -->\n"
+ "</a>\n" + "</a>\n"
+ "<h3>Constructor Detail</h3>", + "<h3>Constructor Detail</h3>",
"<section role=\"region\">\n" "<section role=\"region\">\n"
+ "<ul class=\"blockList\">\n" + "<ul class=\"blockList\">\n"
+ "<li class=\"blockList\"><a name=\"method.detail\">\n" + "<li class=\"blockList\"><a id=\"method.detail\">\n"
+ "<!-- -->\n" + "<!-- -->\n"
+ "</a>\n" + "</a>\n"
+ "<h3>Method Detail</h3>", + "<h3>Method Detail</h3>",
@ -1967,7 +1967,7 @@ public class TestHtmlVersion extends JavadocTester {
checkOutput("pkg/AnotherClass.ModalExclusionType.html", false, checkOutput("pkg/AnotherClass.ModalExclusionType.html", false,
"<!DOCTYPE HTML>", "<!DOCTYPE HTML>",
"<meta name=\"dc.created\"", "<meta name=\"dc.created\"",
"<a name=\"navbar.top.firstrow\">\n" "<a id=\"navbar.top.firstrow\">\n"
+ "<!-- -->\n" + "<!-- -->\n"
+ "</a>", + "</a>",
"<header role=\"banner\">\n" "<header role=\"banner\">\n"
@ -1977,27 +1977,27 @@ public class TestHtmlVersion extends JavadocTester {
+ "<div class=\"header\">", + "<div class=\"header\">",
"<section role=\"region\">\n" "<section role=\"region\">\n"
+ "<ul class=\"blockList\">\n" + "<ul class=\"blockList\">\n"
+ "<li class=\"blockList\"><a name=\"enum.constant.summary\">\n" + "<li class=\"blockList\"><a id=\"enum.constant.summary\">\n"
+ "<!-- -->\n" + "<!-- -->\n"
+ "</a>\n" + "</a>\n"
+ "<h3>Enum Constant Summary</h3>\n" + "<h3>Enum Constant Summary</h3>\n"
+ "<table class=\"memberSummary\">", + "<table class=\"memberSummary\">",
"<section role=\"region\">\n" "<section role=\"region\">\n"
+ "<ul class=\"blockList\">\n" + "<ul class=\"blockList\">\n"
+ "<li class=\"blockList\"><a name=\"method.summary\">\n" + "<li class=\"blockList\"><a id=\"method.summary\">\n"
+ "<!-- -->\n" + "<!-- -->\n"
+ "</a>\n" + "</a>\n"
+ "<h3>Method Summary</h3>\n" + "<h3>Method Summary</h3>\n"
+ "<table class=\"memberSummary\">", + "<table class=\"memberSummary\">",
"<section role=\"region\">\n" "<section role=\"region\">\n"
+ "<ul class=\"blockList\">\n" + "<ul class=\"blockList\">\n"
+ "<li class=\"blockList\"><a name=\"enum.constant.detail\">\n" + "<li class=\"blockList\"><a id=\"enum.constant.detail\">\n"
+ "<!-- -->\n" + "<!-- -->\n"
+ "</a>\n" + "</a>\n"
+ "<h3>Enum Constant Detail</h3>", + "<h3>Enum Constant Detail</h3>",
"<section role=\"region\">\n" "<section role=\"region\">\n"
+ "<ul class=\"blockList\">\n" + "<ul class=\"blockList\">\n"
+ "<li class=\"blockList\"><a name=\"method.detail\">\n" + "<li class=\"blockList\"><a id=\"method.detail\">\n"
+ "<!-- -->\n" + "<!-- -->\n"
+ "</a>\n" + "</a>\n"
+ "<h3>Method Detail</h3>", + "<h3>Method Detail</h3>",
@ -2009,7 +2009,7 @@ public class TestHtmlVersion extends JavadocTester {
checkOutput("pkg2/Interface.html", false, checkOutput("pkg2/Interface.html", false,
"<!DOCTYPE HTML>", "<!DOCTYPE HTML>",
"<meta name=\"dc.created\"", "<meta name=\"dc.created\"",
"<a name=\"navbar.top.firstrow\">\n" "<a id=\"navbar.top.firstrow\">\n"
+ "<!-- -->\n" + "<!-- -->\n"
+ "</a>", + "</a>",
"<header role=\"banner\">\n" "<header role=\"banner\">\n"
@ -2019,14 +2019,14 @@ public class TestHtmlVersion extends JavadocTester {
+ "<div class=\"header\">", + "<div class=\"header\">",
"<section role=\"region\">\n" "<section role=\"region\">\n"
+ "<ul class=\"blockList\">\n" + "<ul class=\"blockList\">\n"
+ "<li class=\"blockList\"><a name=\"method.summary\">\n" + "<li class=\"blockList\"><a id=\"method.summary\">\n"
+ "<!-- -->\n" + "<!-- -->\n"
+ "</a>\n" + "</a>\n"
+ "<h3>Method Summary</h3>\n" + "<h3>Method Summary</h3>\n"
+ "<table class=\"memberSummary\">", + "<table class=\"memberSummary\">",
"<section role=\"region\">\n" "<section role=\"region\">\n"
+ "<ul class=\"blockList\">\n" + "<ul class=\"blockList\">\n"
+ "<li class=\"blockList\"><a name=\"method.detail\">\n" + "<li class=\"blockList\"><a id=\"method.detail\">\n"
+ "<!-- -->\n" + "<!-- -->\n"
+ "</a>\n" + "</a>\n"
+ "<h3>Method Detail</h3>", + "<h3>Method Detail</h3>",
@ -2038,7 +2038,7 @@ public class TestHtmlVersion extends JavadocTester {
checkOutput("pkg/TestError.html", false, checkOutput("pkg/TestError.html", false,
"<!DOCTYPE HTML>", "<!DOCTYPE HTML>",
"<meta name=\"dc.created\"", "<meta name=\"dc.created\"",
"<a name=\"navbar.top.firstrow\">\n" "<a id=\"navbar.top.firstrow\">\n"
+ "<!-- -->\n" + "<!-- -->\n"
+ "</a>", + "</a>",
"<header role=\"banner\">\n" "<header role=\"banner\">\n"
@ -2048,13 +2048,13 @@ public class TestHtmlVersion extends JavadocTester {
+ "<div class=\"header\">", + "<div class=\"header\">",
"<section role=\"region\">\n" "<section role=\"region\">\n"
+ "<ul class=\"blockList\">\n" + "<ul class=\"blockList\">\n"
+ "<li class=\"blockList\"><a name=\"constructor.summary\">\n" + "<li class=\"blockList\"><a id=\"constructor.summary\">\n"
+ "<!-- -->\n" + "<!-- -->\n"
+ "</a>\n" + "</a>\n"
+ "<h3>Constructor Summary</h3>", + "<h3>Constructor Summary</h3>",
"<section role=\"region\">\n" "<section role=\"region\">\n"
+ "<ul class=\"blockList\">\n" + "<ul class=\"blockList\">\n"
+ "<li class=\"blockList\"><a name=\"constructor.detail\">\n" + "<li class=\"blockList\"><a id=\"constructor.detail\">\n"
+ "<!-- -->\n" + "<!-- -->\n"
+ "</a>\n" + "</a>\n"
+ "<h3>Constructor Detail</h3>", + "<h3>Constructor Detail</h3>",
@ -2066,7 +2066,7 @@ public class TestHtmlVersion extends JavadocTester {
checkOutput("pkg/TestException.html", false, checkOutput("pkg/TestException.html", false,
"<!DOCTYPE HTML>", "<!DOCTYPE HTML>",
"<meta name=\"dc.created\"", "<meta name=\"dc.created\"",
"<a name=\"navbar.top.firstrow\">\n" "<a id=\"navbar.top.firstrow\">\n"
+ "<!-- -->\n" + "<!-- -->\n"
+ "</a>", + "</a>",
"<header role=\"banner\">\n" "<header role=\"banner\">\n"
@ -2076,13 +2076,13 @@ public class TestHtmlVersion extends JavadocTester {
+ "<div class=\"header\">", + "<div class=\"header\">",
"<section role=\"region\">\n" "<section role=\"region\">\n"
+ "<ul class=\"blockList\">\n" + "<ul class=\"blockList\">\n"
+ "<li class=\"blockList\"><a name=\"constructor.summary\">\n" + "<li class=\"blockList\"><a id=\"constructor.summary\">\n"
+ "<!-- -->\n" + "<!-- -->\n"
+ "</a>\n" + "</a>\n"
+ "<h3>Constructor Summary</h3>", + "<h3>Constructor Summary</h3>",
"<section role=\"region\">\n" "<section role=\"region\">\n"
+ "<ul class=\"blockList\">\n" + "<ul class=\"blockList\">\n"
+ "<li class=\"blockList\"><a name=\"constructor.detail\">\n" + "<li class=\"blockList\"><a id=\"constructor.detail\">\n"
+ "<!-- -->\n" + "<!-- -->\n"
+ "</a>\n" + "</a>\n"
+ "<h3>Constructor Detail</h3>", + "<h3>Constructor Detail</h3>",
@ -2094,7 +2094,7 @@ public class TestHtmlVersion extends JavadocTester {
checkOutput("pkg2/TestAnnotationType.html", false, checkOutput("pkg2/TestAnnotationType.html", false,
"<!DOCTYPE HTML>", "<!DOCTYPE HTML>",
"<meta name=\"dc.created\"", "<meta name=\"dc.created\"",
"<a name=\"navbar.top.firstrow\">\n" "<a id=\"navbar.top.firstrow\">\n"
+ "<!-- -->\n" + "<!-- -->\n"
+ "</a>", + "</a>",
"<header role=\"banner\">\n" "<header role=\"banner\">\n"
@ -2104,21 +2104,21 @@ public class TestHtmlVersion extends JavadocTester {
+ "<div class=\"header\">", + "<div class=\"header\">",
"<section role=\"region\">\n" "<section role=\"region\">\n"
+ "<ul class=\"blockList\">\n" + "<ul class=\"blockList\">\n"
+ "<li class=\"blockList\"><a name=\"annotation.type.required.element.summary\">\n" + "<li class=\"blockList\"><a id=\"annotation.type.required.element.summary\">\n"
+ "<!-- -->\n" + "<!-- -->\n"
+ "</a>\n" + "</a>\n"
+ "<h3>Required Element Summary</h3>\n" + "<h3>Required Element Summary</h3>\n"
+ "<table class=\"memberSummary\">", + "<table class=\"memberSummary\">",
"<section role=\"region\">\n" "<section role=\"region\">\n"
+ "<ul class=\"blockList\">\n" + "<ul class=\"blockList\">\n"
+ "<li class=\"blockList\"><a name=\"annotation.type.optional.element.summary\">\n" + "<li class=\"blockList\"><a id=\"annotation.type.optional.element.summary\">\n"
+ "<!-- -->\n" + "<!-- -->\n"
+ "</a>\n" + "</a>\n"
+ "<h3>Optional Element Summary</h3>\n" + "<h3>Optional Element Summary</h3>\n"
+ "<table class=\"memberSummary\">", + "<table class=\"memberSummary\">",
"<section role=\"region\">\n" "<section role=\"region\">\n"
+ "<ul class=\"blockList\">\n" + "<ul class=\"blockList\">\n"
+ "<li class=\"blockList\"><a name=\"annotation.type.element.detail\">\n" + "<li class=\"blockList\"><a id=\"annotation.type.element.detail\">\n"
+ "<!-- -->\n" + "<!-- -->\n"
+ "</a>\n" + "</a>\n"
+ "<h3>Element Detail</h3>", + "<h3>Element Detail</h3>",
@ -2130,7 +2130,7 @@ public class TestHtmlVersion extends JavadocTester {
checkOutput("pkg1/class-use/RegClass.html", false, checkOutput("pkg1/class-use/RegClass.html", false,
"<!DOCTYPE HTML>", "<!DOCTYPE HTML>",
"<meta name=\"dc.created\"", "<meta name=\"dc.created\"",
"<a name=\"navbar.top.firstrow\">\n" "<a id=\"navbar.top.firstrow\">\n"
+ "<!-- -->\n" + "<!-- -->\n"
+ "</a>", + "</a>",
"<header role=\"banner\">\n" "<header role=\"banner\">\n"
@ -2139,7 +2139,7 @@ public class TestHtmlVersion extends JavadocTester {
"<main role=\"main\">\n" "<main role=\"main\">\n"
+ "<div class=\"header\">", + "<div class=\"header\">",
"<table class=\"useSummary\">", "<table class=\"useSummary\">",
"<section role=\"region\"><a name=\"pkg\">\n" "<section role=\"region\"><a id=\"pkg\">\n"
+ "<!-- -->\n" + "<!-- -->\n"
+ "</a>\n" + "</a>\n"
+ "<h3>Uses of <a href=\"../../pkg1/RegClass.html\" title=\"class in pkg1\">RegClass</a> in <a href=\"../../pkg/package-summary.html\">pkg</a></h3>\n" + "<h3>Uses of <a href=\"../../pkg1/RegClass.html\" title=\"class in pkg1\">RegClass</a> in <a href=\"../../pkg/package-summary.html\">pkg</a></h3>\n"

View file

@ -23,7 +23,7 @@
/* /*
* @test * @test
* @bug 7112427 8012295 8025633 8026567 8061305 * @bug 7112427 8012295 8025633 8026567 8061305 8081854
* @summary Test of the JavaFX doclet features. * @summary Test of the JavaFX doclet features.
* @author jvalenta * @author jvalenta
* @library ../lib * @library ../lib
@ -100,11 +100,11 @@ public class TestJavaFX extends JavadocTester {
"pkg2"); "pkg2");
checkExit(Exit.OK); checkExit(Exit.OK);
checkOutput("pkg2/Test.html", true, checkOutput("pkg2/Test.html", true,
"<li class=\"blockList\"><a id=\"property.detail\">\n" "<li class=\"blockList\"><a name=\"property.detail\">\n"
+ "<!-- -->\n" + "<!-- -->\n"
+ "</a>\n" + "</a>\n"
+ "<h3>Property Detail</h3>\n" + "<h3>Property Detail</h3>\n"
+ "<a id=\"betaProperty\">\n" + "<a name=\"betaProperty\">\n"
+ "<!-- -->\n" + "<!-- -->\n"
+ "</a>\n" + "</a>\n"
+ "<ul class=\"blockList\">\n" + "<ul class=\"blockList\">\n"
@ -113,7 +113,7 @@ public class TestJavaFX extends JavadocTester {
+ "<pre>public&nbsp;java.lang.Object betaProperty</pre>\n" + "<pre>public&nbsp;java.lang.Object betaProperty</pre>\n"
+ "</li>\n" + "</li>\n"
+ "</ul>\n" + "</ul>\n"
+ "<a id=\"gammaProperty\">\n" + "<a name=\"gammaProperty\">\n"
+ "<!-- -->\n" + "<!-- -->\n"
+ "</a>\n" + "</a>\n"
+ "<ul class=\"blockList\">\n" + "<ul class=\"blockList\">\n"
@ -123,7 +123,7 @@ public class TestJavaFX extends JavadocTester {
+ "java.lang.String&gt; gammaProperty</pre>\n" + "java.lang.String&gt; gammaProperty</pre>\n"
+ "</li>\n" + "</li>\n"
+ "</ul>\n" + "</ul>\n"
+ "<a id=\"deltaProperty\">\n" + "<a name=\"deltaProperty\">\n"
+ "<!-- -->\n" + "<!-- -->\n"
+ "</a>\n" + "</a>\n"
+ "<ul class=\"blockListLast\">\n" + "<ul class=\"blockListLast\">\n"

View file

@ -23,7 +23,7 @@
/* /*
* @test * @test
* @bug 4521661 * @bug 4521661 8081854
* @summary Test to make sure that there is a link with a proper anchor * @summary Test to make sure that there is a link with a proper anchor
* from a serializable class to serialized-form.html. * from a serializable class to serialized-form.html.
* @author jamieh * @author jamieh
@ -48,7 +48,7 @@ public class TestLinkToSerialForm extends JavadocTester {
checkExit(Exit.OK); checkExit(Exit.OK);
checkOutput("serialized-form.html", true, checkOutput("serialized-form.html", true,
"<a id=\"pkg.C\">"); "<a name=\"pkg.C\">");
checkOutput("pkg/C.html", true, checkOutput("pkg/C.html", true,
"<a href=\"../serialized-form.html#pkg.C\">"); "<a href=\"../serialized-form.html#pkg.C\">");
} }

View file

@ -23,7 +23,7 @@
/* /*
* @test * @test
* @bug 4951228 6290760 8025633 8026567 * @bug 4951228 6290760 8025633 8026567 8081854
* @summary Test the case where the overriden method returns a different * @summary Test the case where the overriden method returns a different
* type than the method in the child class. Make sure the * type than the method in the child class. Make sure the
* documentation is inherited but the return type isn't. * documentation is inherited but the return type isn't.
@ -59,9 +59,9 @@ public class TestMemberSummary extends JavadocTester {
// Legacy anchor dimensions (6290760) // Legacy anchor dimensions (6290760)
checkOutput("pkg2/A.html", true, checkOutput("pkg2/A.html", true,
"<a id=\"f-java.lang.Object:A-\">\n" "<a name=\"f-java.lang.Object:A-\">\n"
+ "<!-- -->\n" + "<!-- -->\n"
+ "</a><a id=\"f-T:A-\">\n" + "</a><a name=\"f-T:A-\">\n"
+ "<!-- -->\n" + "<!-- -->\n"
+ "</a>"); + "</a>");
} }

View file

@ -23,7 +23,7 @@
/* /*
* @test * @test
* @bug 4131628 4664607 7025314 8023700 7198273 8025633 8026567 * @bug 4131628 4664607 7025314 8023700 7198273 8025633 8026567 8081854
* @summary Make sure the Next/Prev Class links iterate through all types. * @summary Make sure the Next/Prev Class links iterate through all types.
* Make sure the navagation is 2 columns, not 3. * Make sure the navagation is 2 columns, not 3.
* @author jamieh * @author jamieh
@ -64,7 +64,7 @@ public class TestNavigation extends JavadocTester {
"<li>Next&nbsp;Class</li>", "<li>Next&nbsp;Class</li>",
// Test for 4664607 // Test for 4664607
"<div class=\"skipNav\"><a href=\"#skip.navbar.top\" title=\"Skip navigation links\">Skip navigation links</a></div>\n" "<div class=\"skipNav\"><a href=\"#skip.navbar.top\" title=\"Skip navigation links\">Skip navigation links</a></div>\n"
+ "<a id=\"navbar.top.firstrow\">\n" + "<a name=\"navbar.top.firstrow\">\n"
+ "<!-- -->\n" + "<!-- -->\n"
+ "</a>"); + "</a>");
} }

View file

@ -23,7 +23,7 @@
/* /*
* @test * @test
* @bug 4927167 4974929 7010344 8025633 * @bug 4927167 4974929 7010344 8025633 8081854
* @summary When the type parameters are more than 10 characters in length, * @summary When the type parameters are more than 10 characters in length,
* make sure there is a line break between type params and return type * make sure there is a line break between type params and return type
* in member summary. Also, test for type parameter links in package-summary and * in member summary. Also, test for type parameter links in package-summary and
@ -68,7 +68,7 @@ public class TestTypeParameters extends JavadocTester {
// Nested type parameters // Nested type parameters
checkOutput("pkg/C.html", true, checkOutput("pkg/C.html", true,
"<a id=\"formatDetails-java.util.Collection-java.util.Collection-\">\n" "<a name=\"formatDetails-java.util.Collection-java.util.Collection-\">\n"
+ "<!-- -->\n" + "<!-- -->\n"
+ "</a>"); + "</a>");
} }

View file

@ -23,7 +23,7 @@
/* /*
* @test * @test
* @bug 4496290 4985072 7006178 7068595 8016328 8050031 8048351 * @bug 4496290 4985072 7006178 7068595 8016328 8050031 8048351 8081854
* @summary A simple test to ensure class-use files are correct. * @summary A simple test to ensure class-use files are correct.
* @author jamieh * @author jamieh
* @library ../lib * @library ../lib
@ -136,7 +136,7 @@ public class TestUseOption extends JavadocTester {
+ "UsedInC</a> in <a href=\"../package-summary.html\">&lt;Unnamed&gt;</a>" + "UsedInC</a> in <a href=\"../package-summary.html\">&lt;Unnamed&gt;</a>"
); );
checkOutput("class-use/UsedInC.html", true, checkOutput("class-use/UsedInC.html", true,
"<li class=\"blockList\"><a id=\"unnamed.package\">" "<li class=\"blockList\"><a name=\"unnamed.package\">"
); );
checkOutput("package-use.html", true, checkOutput("package-use.html", true,
"<td class=\"colOne\">" "<td class=\"colOne\">"

View file

@ -0,0 +1,34 @@
/*
* Copyright (c) 2015, 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 4869999
* @summary Verify that the compiler does not prematurely decide a package is not observable.
* @compile ImportsObservable.java
*/
import javax.*;
import javax.swing.*;
public class ImportsObservable {
}

View file

@ -0,0 +1,124 @@
/*
* Copyright (c) 2015, 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 8076538
* @summary Verify error at runtime due to incorrect classification of a lambda as being instance capturing
* @run main NestedCapture04
*/
public class NestedCapture04 {
public static interface Ftype {
int get(int v);
}
public static class A {
static int counter = 0;
}
public static Ftype x0;
public static void main(String[] args) throws Throwable {
doit();
}
public static Object doit() throws Throwable {
Ftype x0_ =
(int y0) -> {
A.counter++;
Ftype x1 = (int y1) -> {
A.counter++;
class Cltype2 {
Cltype2 meth(Cltype2 w) {
A.counter++;
class Cltype3 {
class Inclass3 {
public int iv;
Inclass3() { iv = 0; }
Inclass3 clmeth(Inclass3 a) {
A.counter++;
class Cltype4 {
Cltype4 (Cltype4 z) {
Ftype x5 = (int y5) -> {
A.counter++;
class Cltype6 {
Cltype6 meth(Cltype6 w) {
A.counter++;
class Cltype7 {
class Inclass7 {
public int iv;
Inclass7() { iv = 0; }
Inclass7 clmeth(Inclass7 a) {
A.counter++;
class Cltype8 {
Cltype8 (Cltype8 z) {
Ftype x9 = (int y9) -> {
A.counter++;
return y9;
};
x9.get(2);
if ( z == null) {
A.counter++;
return;
}
A.counter+=100;
}
}
Cltype8 v = new Cltype8(null);
return a;
}
}
}
Cltype7.Inclass7 c = new Cltype7().new Inclass7();
c.clmeth((Cltype7.Inclass7)null);
return w;
}
}
Cltype6 v = new Cltype6().meth(new Cltype6());
return y5;
};
x5.get(2);
if ( z == null) {
A.counter++;
return;
}
A.counter+=100;
}
}
Cltype4 v = new Cltype4(null);
return a;
}
}
}
Cltype3.Inclass3 c = new Cltype3().new Inclass3();
c.clmeth((Cltype3.Inclass3)null);
return w;
}
}
Cltype2 v = new Cltype2().meth(new Cltype2());
return y1;
};
x1.get(2);
return y0;
};
return x0 = x0_;
}
}