Merge
authorlana
Sun, 28 Jun 2015 16:39:45 -0700
changeset 31300 cf6355e77564
parent 31295 689103ee872c (current diff)
parent 31299 81ce5febcae8 (diff)
child 31301 0aaa77710f37
Merge
--- a/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Check.java	Thu Jun 25 10:21:41 2015 -0700
+++ b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Check.java	Sun Jun 28 16:39:45 2015 -0700
@@ -37,6 +37,7 @@
 import com.sun.tools.javac.resources.CompilerProperties.Fragments;
 import com.sun.tools.javac.tree.*;
 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.List;
 
@@ -3612,6 +3613,18 @@
         }
     }
 
+    // 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) {
         if (tsym == null || !processed.add(tsym))
             return false;
--- a/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java	Thu Jun 25 10:21:41 2015 -0700
+++ b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java	Sun Jun 28 16:39:45 2015 -0700
@@ -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.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -1197,10 +1197,13 @@
                         //if a class is defined within a lambda, the lambda must capture
                         //its enclosing instance (if any)
                         TranslationContext<?> localContext = context();
-                        while (localContext != null) {
-                            if (localContext.tree.getTag() == LAMBDA) {
+                        final TypeSymbol outerInstanceSymbol = tree.sym.type.getEnclosingType().tsym;
+                        while (localContext != null && !localContext.owner.isStatic()) {
+                            if (localContext.tree.hasTag(LAMBDA)) {
+                                JCTree block = capturedDecl(localContext.depth, outerInstanceSymbol);
+                                if (block == null) break;
                                 ((LambdaTranslationContext)localContext)
-                                        .addSymbol(tree.sym.type.getEnclosingType().tsym, CAPTURED_THIS);
+                                        .addSymbol(outerInstanceSymbol, CAPTURED_THIS);
                             }
                             localContext = localContext.prev;
                         }
@@ -1236,7 +1239,7 @@
                     }
                 } else if (tree.sym.owner.kind == TYP) {
                     TranslationContext<?> localContext = context();
-                    while (localContext != null) {
+                    while (localContext != null  && !localContext.owner.isStatic()) {
                         if (localContext.tree.hasTag(LAMBDA)) {
                             JCTree block = capturedDecl(localContext.depth, tree.sym);
                             if (block == null) break;
@@ -1312,10 +1315,15 @@
             boolean isLocal = def.isLocal();
             if ((inReferencedClass && isLocal || lambdaNewClassFilter(context(), tree))) {
                 TranslationContext<?> localContext = context();
-                while (localContext != null) {
-                    if (localContext.tree.getTag() == LAMBDA) {
+                final TypeSymbol outerInstanceSymbol = tree.type.getEnclosingType().tsym;
+                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)
-                                .addSymbol(tree.type.getEnclosingType().tsym, CAPTURED_THIS);
+                                .addSymbol(outerInstanceSymbol, CAPTURED_THIS);
                     }
                     localContext = localContext.prev;
                 }
@@ -1404,7 +1412,7 @@
                 // A select of this or super means, if we are in a lambda,
                 // we much have an instance context
                 TranslationContext<?> localContext = context();
-                while (localContext != null) {
+                while (localContext != null  && !localContext.owner.isStatic()) {
                     if (localContext.tree.hasTag(LAMBDA)) {
                         JCClassDecl clazz = (JCClassDecl)capturedDecl(localContext.depth, tree.sym);
                         if (clazz == null) break;
@@ -1579,7 +1587,7 @@
                 switch (block.tree.getTag()) {
                     case CLASSDEF:
                         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;
                         }
                         break;
--- a/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/TypeEnter.java	Thu Jun 25 10:21:41 2015 -0700
+++ b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/TypeEnter.java	Sun Jun 28 16:39:45 2015 -0700
@@ -218,6 +218,7 @@
             resolve.run();
             chk.checkImportsUnique(toplevel);
             chk.checkImportsResolvable(toplevel);
+            chk.checkImportedPackagesObservable(toplevel);
             toplevel.namedImportScope.finalizeScope();
             toplevel.starImportScope.finalizeScope();
         } finally {
@@ -323,7 +324,10 @@
                                          chk.importAccessible(sym, packge);
 
                 // 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.
                 if (tree.getPackage() != null)
@@ -414,16 +418,6 @@
         private void importAll(int pos,
                                final TypeSymbol tsym,
                                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);
         }
 
--- a/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java	Thu Jun 25 10:21:41 2015 -0700
+++ b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java	Sun Jun 28 16:39:45 2015 -0700
@@ -910,14 +910,14 @@
     /**
      * 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
      * @return a content tree for the marker anchor
      */
     public Content getMarkerAnchor(String anchorName, Content anchorContent) {
         if (anchorContent == null)
             anchorContent = new Comment(" ");
-        Content markerAnchor = HtmlTree.A_ID(anchorName, anchorContent);
+        Content markerAnchor = HtmlTree.A(configuration.htmlVersion, anchorName, anchorContent);
         return markerAnchor;
     }
 
--- a/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/SourceToHTMLConverter.java	Thu Jun 25 10:21:41 2015 -0700
+++ b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/SourceToHTMLConverter.java	Sun Jun 28 16:39:45 2015 -0700
@@ -264,7 +264,8 @@
      */
     private void addLine(Content pre, String line, int currentLineNo) {
         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)));
             pre.addContent(anchor);
             pre.addContent(NEW_LINE);
--- a/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlTree.java	Thu Jun 25 10:21:41 2015 -0700
+++ b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlTree.java	Sun Jun 28 16:39:45 2015 -0700
@@ -226,15 +226,19 @@
     }
 
     /**
-     * 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
      * @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.addAttr(HtmlAttr.ID, nullCheck(id));
+        htmltree.addAttr((htmlVersion == HtmlVersion.HTML4)
+                ? HtmlAttr.NAME
+                : HtmlAttr.ID,
+                nullCheck(attr));
         htmltree.addContent(nullCheck(body));
         return htmltree;
     }
@@ -846,7 +850,8 @@
     public boolean isValid() {
         switch (htmlTag) {
             case A :
-                return (hasAttr(HtmlAttr.ID) || (hasAttr(HtmlAttr.HREF) && hasContent()));
+                return (hasAttr(HtmlAttr.NAME) || hasAttr(HtmlAttr.ID) || (hasAttr(HtmlAttr.HREF)
+                        && hasContent()));
             case BR :
                 return (!hasContent() && (!hasAttrs() || hasAttr(HtmlAttr.CLEAR)));
             case IFRAME :
--- a/langtools/test/TEST.groups	Thu Jun 25 10:21:41 2015 -0700
+++ b/langtools/test/TEST.groups	Sun Jun 28 16:39:45 2015 -0700
@@ -22,11 +22,14 @@
 
 # Tiered testing definitions
 
-# All langtools tests are tier 1
+# All langtools tests are tier 1.
 tier1 = \
     tools \
     com \
     lib
 
-# No langtools tests are tier 2
+# No langtools tests are tier 2.
 tier2 = 
+
+# No langtools tests are tier 3 either.
+tier3 = 
--- a/langtools/test/com/sun/javadoc/AccessSkipNav/AccessSkipNav.java	Thu Jun 25 10:21:41 2015 -0700
+++ b/langtools/test/com/sun/javadoc/AccessSkipNav/AccessSkipNav.java	Sun Jun 28 16:39:45 2015 -0700
@@ -23,7 +23,7 @@
 
 /*
  * @test
- * @bug 4638136 7198273 8025633
+ * @bug 4638136 7198273 8025633 8081854
  * @summary  Add ability to skip over nav bar for accessibility
  * @author dkramer
  * @library ../lib
@@ -50,14 +50,14 @@
         checkOutput("p1/C1.html", true,
                 // Top navbar <a href>
                 "<a href=\"#skip.navbar.top\" title=\"Skip navigation links\">Skip navigation links</a>",
-                // Top navbar <a id>
-                "<a id=\"skip.navbar.top\">\n"
+                // Top navbar <a name>
+                "<a name=\"skip.navbar.top\">\n"
                 + "<!--   -->\n"
                 + "</a>",
                 // Bottom navbar <a href>
                 "<a href=\"#skip.navbar.bottom\" title=\"Skip navigation links\">Skip navigation links</a>",
-                // Bottom navbar <a id>
-                "<a id=\"skip.navbar.bottom\">\n"
+                // Bottom navbar <a name>
+                "<a name=\"skip.navbar.bottom\">\n"
                 + "<!--   -->\n"
                 + "</a>");
 
--- a/langtools/test/com/sun/javadoc/testAnchorNames/TestAnchorNames.java	Thu Jun 25 10:21:41 2015 -0700
+++ b/langtools/test/com/sun/javadoc/testAnchorNames/TestAnchorNames.java	Sun Jun 28 16:39:45 2015 -0700
@@ -23,7 +23,7 @@
 
 /*
  * @test
- * @bug 8025633 8025524
+ * @bug 8025633 8025524 8081854
  * @summary Test for valid name attribute in HTML anchors.
  * @author Bhavesh Patel
  * @library ../lib
@@ -54,15 +54,15 @@
 
         // Test some section markers and links to these markers
         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 id=\"nested.class.summary\">",
+                "<a name=\"nested.class.summary\">",
                 "<a href=\"#nested.class.summary\">",
-                "<a id=\"method.summary\">",
+                "<a name=\"method.summary\">",
                 "<a href=\"#method.summary\">",
-                "<a id=\"field.detail\">",
+                "<a name=\"field.detail\">",
                 "<a href=\"#field.detail\">",
-                "<a id=\"constructor.detail\">",
+                "<a name=\"constructor.detail\">",
                 "<a href=\"#constructor.detail\">");
 
         // Test some members and link to these members
@@ -73,59 +73,59 @@
 
         // Test some fields
         checkOutput("pkg1/RegClass.html", true,
-                "<a id=\"Z:Z_\">",
+                "<a name=\"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 id=\"Z:Z:D_\">",
+                "<a name=\"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 id=\"fieldInCla:D:D\">",
+                "<a name=\"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 id=\"method:D:D\">",
+                "<a name=\"method:D:D\">",
                 "<a href=\"../pkg1/RegClass.html#method:D:D\">");
 
         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\">");
 
         // Test constructor
         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-\">");
 
         // Test some methods
         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 id=\"method--\">",
+                "<a name=\"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 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 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 id=\"methodD-pkg1.RegClass.:DA-\">",
+                "<a name=\"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-\">");
 
         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--\">");
 
         // Test enum
         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\">");
 
         // Test nested class
         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--\">");
 
         // Test class use page
@@ -144,11 +144,11 @@
         // Test serialized form page
         checkOutput("serialized-form.html", true,
                 //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
         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_\">_");
 
--- a/langtools/test/com/sun/javadoc/testAnnotationOptional/TestAnnotationOptional.java	Thu Jun 25 10:21:41 2015 -0700
+++ b/langtools/test/com/sun/javadoc/testAnnotationOptional/TestAnnotationOptional.java	Sun Jun 28 16:39:45 2015 -0700
@@ -23,7 +23,7 @@
 
 /*
  * @test
- * @bug 8025633
+ * @bug 8025633 8081854
  * @summary  Make sure that annotations types with optional elements have
  *           element headers
  * @author   Mahmood Ali
@@ -48,6 +48,6 @@
         checkExit(Exit.OK);
 
         checkOutput("pkg/AnnotationOptional.html", true,
-            "<a id=\"annotation.type.element.detail\">");
+            "<a name=\"annotation.type.element.detail\">");
     }
 }
--- a/langtools/test/com/sun/javadoc/testConstructors/TestConstructors.java	Thu Jun 25 10:21:41 2015 -0700
+++ b/langtools/test/com/sun/javadoc/testConstructors/TestConstructors.java	Sun Jun 28 16:39:45 2015 -0700
@@ -23,7 +23,7 @@
 
 /*
  * @test
- * @bug 8025524 8031625
+ * @bug 8025524 8031625 8081854
  * @summary Test for constructor name which should be a non-qualified name.
  * @author Bhavesh Patel
  * @library ../lib
@@ -59,21 +59,21 @@
                 + "<a href=\"../pkg1/Outer.Inner.NestedInner.html#NestedInner-int-\"><code>"
                 + "NestedInner(int)</code></a>",
                 "<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 id=\"Outer-int-\">");
+                "<a name=\"Outer-int-\">");
 
         checkOutput("pkg1/Outer.Inner.html", true,
                 "<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 id=\"Inner-int-\">");
+                "<a name=\"Inner-int-\">");
 
         checkOutput("pkg1/Outer.Inner.NestedInner.html", true,
                 "<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 id=\"NestedInner-int-\">");
+                "<a name=\"NestedInner-int-\">");
 
         checkOutput("pkg1/Outer.Inner.html", false,
                 "Outer.Inner--",
--- a/langtools/test/com/sun/javadoc/testHref/TestHref.java	Thu Jun 25 10:21:41 2015 -0700
+++ b/langtools/test/com/sun/javadoc/testHref/TestHref.java	Sun Jun 28 16:39:45 2015 -0700
@@ -23,7 +23,7 @@
 
 /*
  * @test
- * @bug      4663254 8016328 8025633 8026567
+ * @bug      4663254 8016328 8025633 8026567 8081854
  * @summary  Verify that spaces do not appear in hrefs and anchors.
  * @author   jamieh
  * @library  ../lib
@@ -54,11 +54,11 @@
                 //Member summary table link.
                 "href=\"../pkg/C1.html#method-int-int-java.util.ArrayList-\"",
                 //Anchor test.
-                "<a id=\"method-int-int-java.util.ArrayList-\">\n"
+                "<a name=\"method-int-int-java.util.ArrayList-\">\n"
                 + "<!--   -->\n"
                 + "</a>",
                 //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"
                 + "</a>");
 
--- a/langtools/test/com/sun/javadoc/testHtmlVersion/TestHtmlVersion.java	Thu Jun 25 10:21:41 2015 -0700
+++ b/langtools/test/com/sun/javadoc/testHtmlVersion/TestHtmlVersion.java	Sun Jun 28 16:39:45 2015 -0700
@@ -23,7 +23,7 @@
 
 /*
  * @test
- * @bug 8072945
+ * @bug 8072945 8081854
  * @summary Test the version of HTML generated by the javadoc tool.
  * @author bpatel
  * @library ../lib
@@ -1172,7 +1172,7 @@
         checkOutput("overview-summary.html", true,
                 "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
                 "<meta name=\"date\"",
-                "<a id=\"navbar.top.firstrow\">\n"
+                "<a name=\"navbar.top.firstrow\">\n"
                 + "<!--   -->\n"
                 + "</a>",
                 "<table class=\"overviewSummary\" summary=\"Packages table, listing packages, and an explanation\">\n"
@@ -1194,7 +1194,7 @@
         checkOutput("pkg/package-summary.html", true,
                 "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
                 "<meta name=\"date\"",
-                "<a id=\"navbar.top.firstrow\">\n"
+                "<a name=\"navbar.top.firstrow\">\n"
                 + "<!--   -->\n"
                 + "</a>",
                 "<table class=\"typeSummary\" summary=\"Interface Summary table, listing interfaces, and an explanation\">",
@@ -1208,7 +1208,7 @@
         checkOutput("pkg/package-tree.html", true,
                 "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
                 "<meta name=\"date\"",
-                "<a id=\"navbar.top.firstrow\">\n"
+                "<a name=\"navbar.top.firstrow\">\n"
                 + "<!--   -->\n"
                 + "</a>",
                 "<li class=\"circle\">");
@@ -1217,7 +1217,7 @@
         checkOutput("pkg1/package-use.html", true,
                 "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
                 "<meta name=\"date\"",
-                "<a id=\"navbar.top.firstrow\">\n"
+                "<a name=\"navbar.top.firstrow\">\n"
                 + "<!--   -->\n"
                 + "</a>",
                 "<table class=\"useSummary\" summary=\"Use table, listing packages, and an explanation\">");
@@ -1234,7 +1234,7 @@
         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\">",
                 "<meta name=\"date\"",
-                "<a id=\"navbar.top.firstrow\">\n"
+                "<a name=\"navbar.top.firstrow\">\n"
                 + "<!--   -->\n"
                 + "</a>",
                 "<table class=\"typeSummary\" summary=\"Interface Summary table, listing interfaces, and an explanation\">",
@@ -1248,7 +1248,7 @@
         checkOutput("compact1-summary.html", true,
                 "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
                 "<meta name=\"date\"",
-                "<a id=\"navbar.top.firstrow\">\n"
+                "<a name=\"navbar.top.firstrow\">\n"
                 + "<!--   -->\n"
                 + "</a>",
                 "<table class=\"typeSummary\" summary=\"Interface Summary table, listing interfaces, and an explanation\">",
@@ -1262,7 +1262,7 @@
         checkOutput("constant-values.html", true,
                 "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
                 "<meta name=\"date\"",
-                "<a id=\"navbar.top.firstrow\">\n"
+                "<a name=\"navbar.top.firstrow\">\n"
                 + "<!--   -->\n"
                 + "</a>",
                 "<!-- ========= END OF TOP NAVBAR ========= -->\n"
@@ -1273,7 +1273,7 @@
         checkOutput("deprecated-list.html", true,
                 "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
                 "<meta name=\"date\"",
-                "<a id=\"navbar.top.firstrow\">\n"
+                "<a name=\"navbar.top.firstrow\">\n"
                 + "<!--   -->\n"
                 + "</a>",
                 "<!-- ========= END OF TOP NAVBAR ========= -->\n"
@@ -1295,7 +1295,7 @@
         checkOutput("serialized-form.html", true,
                 "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
                 "<meta name=\"date\"",
-                "<a id=\"navbar.top.firstrow\">\n"
+                "<a name=\"navbar.top.firstrow\">\n"
                 + "<!--   -->\n"
                 + "</a>",
                 "<!-- ========= END OF TOP NAVBAR ========= -->\n"
@@ -1307,7 +1307,7 @@
         checkOutput("overview-tree.html", true,
                 "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
                 "<meta name=\"date\"",
-                "<a id=\"navbar.top.firstrow\">\n"
+                "<a name=\"navbar.top.firstrow\">\n"
                 + "<!--   -->\n"
                 + "</a>",
                 "<li class=\"circle\">",
@@ -1326,7 +1326,7 @@
         checkOutput("index-all.html", true,
                 "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
                 "<meta name=\"date\"",
-                "<a id=\"navbar.top.firstrow\">\n"
+                "<a name=\"navbar.top.firstrow\">\n"
                 + "<!--   -->\n"
                 + "</a>",
                 "<!-- ========= END OF TOP NAVBAR ========= -->\n"
@@ -1342,7 +1342,7 @@
         checkOutput("help-doc.html", true,
                 "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
                 "<meta name=\"date\"",
-                "<a id=\"navbar.top.firstrow\">\n"
+                "<a name=\"navbar.top.firstrow\">\n"
                 + "<!--   -->\n"
                 + "</a>",
                 "<!-- ========= END OF TOP NAVBAR ========= -->\n"
@@ -1359,54 +1359,54 @@
         checkOutput("pkg/AnotherClass.html", true,
                 "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
                 "<meta name=\"date\"",
-                "<a id=\"navbar.top.firstrow\">\n"
+                "<a name=\"navbar.top.firstrow\">\n"
                 + "<!--   -->\n"
                 + "</a>",
                 "<!-- ======== START OF CLASS DATA ======== -->\n"
                 + "<div class=\"header\">",
                 "<!-- ======== NESTED CLASS SUMMARY ======== -->\n"
                 + "<ul class=\"blockList\">\n"
-                + "<li class=\"blockList\"><a id=\"nested.class.summary\">\n"
+                + "<li class=\"blockList\"><a name=\"nested.class.summary\">\n"
                 + "<!--   -->\n"
                 + "</a>\n"
                 + "<h3>Nested Class Summary</h3>\n"
                 + "<table class=\"memberSummary\" summary=\"Nested Class Summary table, listing nested classes, and an explanation\">",
                 "<!-- =========== FIELD SUMMARY =========== -->\n"
                 + "<ul class=\"blockList\">\n"
-                + "<li class=\"blockList\"><a id=\"field.summary\">\n"
+                + "<li class=\"blockList\"><a name=\"field.summary\">\n"
                 + "<!--   -->\n"
                 + "</a>\n"
                 + "<h3>Field Summary</h3>\n"
                 + "<table class=\"memberSummary\" summary=\"Field Summary table, listing fields, and an explanation\">",
                 "<!-- ======== CONSTRUCTOR SUMMARY ======== -->\n"
                 + "<ul class=\"blockList\">\n"
-                + "<li class=\"blockList\"><a id=\"constructor.summary\">\n"
+                + "<li class=\"blockList\"><a name=\"constructor.summary\">\n"
                 + "<!--   -->\n"
                 + "</a>\n"
                 + "<h3>Constructor Summary</h3>\n"
                 + "<table class=\"memberSummary\" summary=\"Constructor Summary table, listing constructors, and an explanation\">",
                 "<!-- ========== METHOD SUMMARY =========== -->\n"
                 + "<ul class=\"blockList\">\n"
-                + "<li class=\"blockList\"><a id=\"method.summary\">\n"
+                + "<li class=\"blockList\"><a name=\"method.summary\">\n"
                 + "<!--   -->\n"
                 + "</a>\n"
                 + "<h3>Method Summary</h3>\n"
                 + "<table class=\"memberSummary\" summary=\"Method Summary table, listing methods, and an explanation\">",
                 "<!-- ============ FIELD DETAIL =========== -->\n"
                 + "<ul class=\"blockList\">\n"
-                + "<li class=\"blockList\"><a id=\"field.detail\">\n"
+                + "<li class=\"blockList\"><a name=\"field.detail\">\n"
                 + "<!--   -->\n"
                 + "</a>\n"
                 + "<h3>Field Detail</h3>",
                 "<!-- ========= CONSTRUCTOR DETAIL ======== -->\n"
                 + "<ul class=\"blockList\">\n"
-                + "<li class=\"blockList\"><a id=\"constructor.detail\">\n"
+                + "<li class=\"blockList\"><a name=\"constructor.detail\">\n"
                 + "<!--   -->\n"
                 + "</a>\n"
                 + "<h3>Constructor Detail</h3>",
                 "<!-- ============ METHOD DETAIL ========== -->\n"
                 + "<ul class=\"blockList\">\n"
-                + "<li class=\"blockList\"><a id=\"method.detail\">\n"
+                + "<li class=\"blockList\"><a name=\"method.detail\">\n"
                 + "<!--   -->\n"
                 + "</a>\n"
                 + "<h3>Method Detail</h3>");
@@ -1415,34 +1415,34 @@
         checkOutput("pkg/AnotherClass.ModalExclusionType.html", true,
                 "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
                 "<meta name=\"date\"",
-                "<a id=\"navbar.top.firstrow\">\n"
+                "<a name=\"navbar.top.firstrow\">\n"
                 + "<!--   -->\n"
                 + "</a>",
                 "<!-- ======== START OF CLASS DATA ======== -->\n"
                 + "<div class=\"header\">",
                 "<!-- =========== ENUM CONSTANT SUMMARY =========== -->\n"
                 + "<ul class=\"blockList\">\n"
-                + "<li class=\"blockList\"><a id=\"enum.constant.summary\">\n"
+                + "<li class=\"blockList\"><a name=\"enum.constant.summary\">\n"
                 + "<!--   -->\n"
                 + "</a>\n"
                 + "<h3>Enum Constant Summary</h3>\n"
                 + "<table class=\"memberSummary\" summary=\"Enum Constant Summary table, listing enum constants, and an explanation\">",
                 "<!-- ========== METHOD SUMMARY =========== -->\n"
                 + "<ul class=\"blockList\">\n"
-                + "<li class=\"blockList\"><a id=\"method.summary\">\n"
+                + "<li class=\"blockList\"><a name=\"method.summary\">\n"
                 + "<!--   -->\n"
                 + "</a>\n"
                 + "<h3>Method Summary</h3>\n"
                 + "<table class=\"memberSummary\" summary=\"Method Summary table, listing methods, and an explanation\">",
                 "<!-- ============ ENUM CONSTANT DETAIL =========== -->\n"
                 + "<ul class=\"blockList\">\n"
-                + "<li class=\"blockList\"><a id=\"enum.constant.detail\">\n"
+                + "<li class=\"blockList\"><a name=\"enum.constant.detail\">\n"
                 + "<!--   -->\n"
                 + "</a>\n"
                 + "<h3>Enum Constant Detail</h3>",
                 "<!-- ============ METHOD DETAIL ========== -->\n"
                 + "<ul class=\"blockList\">\n"
-                + "<li class=\"blockList\"><a id=\"method.detail\">\n"
+                + "<li class=\"blockList\"><a name=\"method.detail\">\n"
                 + "<!--   -->\n"
                 + "</a>\n"
                 + "<h3>Method Detail</h3>");
@@ -1451,21 +1451,21 @@
         checkOutput("pkg2/Interface.html", true,
                 "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
                 "<meta name=\"date\"",
-                "<a id=\"navbar.top.firstrow\">\n"
+                "<a name=\"navbar.top.firstrow\">\n"
                 + "<!--   -->\n"
                 + "</a>",
                 "<!-- ======== START OF CLASS DATA ======== -->\n"
                 + "<div class=\"header\">",
                 "<!-- ========== METHOD SUMMARY =========== -->\n"
                 + "<ul class=\"blockList\">\n"
-                + "<li class=\"blockList\"><a id=\"method.summary\">\n"
+                + "<li class=\"blockList\"><a name=\"method.summary\">\n"
                 + "<!--   -->\n"
                 + "</a>\n"
                 + "<h3>Method Summary</h3>\n"
                 + "<table class=\"memberSummary\" summary=\"Method Summary table, listing methods, and an explanation\">",
                 "<!-- ============ METHOD DETAIL ========== -->\n"
                 + "<ul class=\"blockList\">\n"
-                + "<li class=\"blockList\"><a id=\"method.detail\">\n"
+                + "<li class=\"blockList\"><a name=\"method.detail\">\n"
                 + "<!--   -->\n"
                 + "</a>\n"
                 + "<h3>Method Detail</h3>");
@@ -1474,20 +1474,20 @@
         checkOutput("pkg/TestError.html", true,
                 "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
                 "<meta name=\"date\"",
-                "<a id=\"navbar.top.firstrow\">\n"
+                "<a name=\"navbar.top.firstrow\">\n"
                 + "<!--   -->\n"
                 + "</a>",
                 "<!-- ======== START OF CLASS DATA ======== -->\n"
                 + "<div class=\"header\">",
                 "<!-- ======== CONSTRUCTOR SUMMARY ======== -->\n"
                 + "<ul class=\"blockList\">\n"
-                + "<li class=\"blockList\"><a id=\"constructor.summary\">\n"
+                + "<li class=\"blockList\"><a name=\"constructor.summary\">\n"
                 + "<!--   -->\n"
                 + "</a>\n"
                 + "<h3>Constructor Summary</h3>",
                 "<!-- ========= CONSTRUCTOR DETAIL ======== -->\n"
                 + "<ul class=\"blockList\">\n"
-                + "<li class=\"blockList\"><a id=\"constructor.detail\">\n"
+                + "<li class=\"blockList\"><a name=\"constructor.detail\">\n"
                 + "<!--   -->\n"
                 + "</a>\n"
                 + "<h3>Constructor Detail</h3>");
@@ -1496,20 +1496,20 @@
         checkOutput("pkg/TestException.html", true,
                 "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
                 "<meta name=\"date\"",
-                "<a id=\"navbar.top.firstrow\">\n"
+                "<a name=\"navbar.top.firstrow\">\n"
                 + "<!--   -->\n"
                 + "</a>",
                 "<!-- ======== START OF CLASS DATA ======== -->\n"
                 + "<div class=\"header\">",
                 "<!-- ======== CONSTRUCTOR SUMMARY ======== -->\n"
                 + "<ul class=\"blockList\">\n"
-                + "<li class=\"blockList\"><a id=\"constructor.summary\">\n"
+                + "<li class=\"blockList\"><a name=\"constructor.summary\">\n"
                 + "<!--   -->\n"
                 + "</a>\n"
                 + "<h3>Constructor Summary</h3>",
                 "<!-- ========= CONSTRUCTOR DETAIL ======== -->\n"
                 + "<ul class=\"blockList\">\n"
-                + "<li class=\"blockList\"><a id=\"constructor.detail\">\n"
+                + "<li class=\"blockList\"><a name=\"constructor.detail\">\n"
                 + "<!--   -->\n"
                 + "</a>\n"
                 + "<h3>Constructor Detail</h3>");
@@ -1518,28 +1518,28 @@
         checkOutput("pkg2/TestAnnotationType.html", true,
                 "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
                 "<meta name=\"date\"",
-                "<a id=\"navbar.top.firstrow\">\n"
+                "<a name=\"navbar.top.firstrow\">\n"
                 + "<!--   -->\n"
                 + "</a>",
                 "<!-- ======== START OF CLASS DATA ======== -->\n"
                 + "<div class=\"header\">",
                 "<!-- =========== ANNOTATION TYPE REQUIRED MEMBER SUMMARY =========== -->\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"
                 + "</a>\n"
                 + "<h3>Required Element Summary</h3>\n"
                 + "<table class=\"memberSummary\" summary=\"Required Element Summary table, listing required elements, and an explanation\">",
                 "<!-- =========== ANNOTATION TYPE OPTIONAL MEMBER SUMMARY =========== -->\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"
                 + "</a>\n"
                 + "<h3>Optional Element Summary</h3>\n"
                 + "<table class=\"memberSummary\" summary=\"Optional Element Summary table, listing optional elements, and an explanation\">",
                 "<!-- ============ ANNOTATION TYPE MEMBER DETAIL =========== -->\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"
                 + "</a>\n"
                 + "<h3>Element Detail</h3>");
@@ -1548,13 +1548,13 @@
         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\">",
                 "<meta name=\"date\"",
-                "<a id=\"navbar.top.firstrow\">\n"
+                "<a name=\"navbar.top.firstrow\">\n"
                 + "<!--   -->\n"
                 + "</a>",
                 "<!-- ========= END OF TOP NAVBAR ========= -->\n"
                 + "<div class=\"header\">",
                 "<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"
                 + "</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"
@@ -1623,7 +1623,7 @@
         checkOutput("overview-summary.html", false,
                 "<!DOCTYPE HTML>",
                 "<meta name=\"dc.created\"",
-                "<a name=\"navbar.top.firstrow\">\n"
+                "<a id=\"navbar.top.firstrow\">\n"
                 + "<!--   -->\n"
                 + "</a>",
                 "<table class=\"overviewSummary\">\n"
@@ -1662,7 +1662,7 @@
         checkOutput("pkg/package-summary.html", false,
                 "<!DOCTYPE HTML>",
                 "<meta name=\"dc.created\"",
-                "<a name=\"navbar.top.firstrow\">\n"
+                "<a id=\"navbar.top.firstrow\">\n"
                 + "<!--   -->\n"
                 + "</a>",
                 "<table class=\"typeSummary\">",
@@ -1681,7 +1681,7 @@
         checkOutput("pkg/package-tree.html", false,
                 "<!DOCTYPE HTML>",
                 "<meta name=\"dc.created\"",
-                "<a name=\"navbar.top.firstrow\">\n"
+                "<a id=\"navbar.top.firstrow\">\n"
                 + "<!--   -->\n"
                 + "</a>",
                 "<header role=\"banner\">\n"
@@ -1705,7 +1705,7 @@
         checkOutput("pkg1/package-use.html", false,
                 "<!DOCTYPE HTML>",
                 "<meta name=\"dc.created\"",
-                "<a name=\"navbar.top.firstrow\">\n"
+                "<a id=\"navbar.top.firstrow\">\n"
                 + "<!--   -->\n"
                 + "</a>",
                 "<table class=\"useSummary\">",
@@ -1742,7 +1742,7 @@
         checkOutput("pkg/compact1-package-summary.html", false,
                 "<!DOCTYPE HTML>",
                 "<meta name=\"dc.created\"",
-                "<a name=\"navbar.top.firstrow\">\n"
+                "<a id=\"navbar.top.firstrow\">\n"
                 + "<!--   -->\n"
                 + "</a>",
                 "<table class=\"typeSummary\">",
@@ -1761,7 +1761,7 @@
         checkOutput("compact1-summary.html", false,
                 "<!DOCTYPE HTML>",
                 "<meta name=\"dc.created\"",
-                "<a name=\"navbar.top.firstrow\">\n"
+                "<a id=\"navbar.top.firstrow\">\n"
                 + "<!--   -->\n"
                 + "</a>",
                 "<table class=\"typeSummary\">",
@@ -1782,7 +1782,7 @@
         checkOutput("constant-values.html", false,
                 "<!DOCTYPE HTML>",
                 "<meta name=\"dc.created\"",
-                "<a name=\"navbar.top.firstrow\">\n"
+                "<a id=\"navbar.top.firstrow\">\n"
                 + "<!--   -->\n"
                 + "</a>",
                 "<table class=\"constantsSummary\">",
@@ -1803,7 +1803,7 @@
         checkOutput("deprecated-list.html", false,
                 "<!DOCTYPE HTML>",
                 "<meta name=\"dc.created\"",
-                "<a name=\"navbar.top.firstrow\">\n"
+                "<a id=\"navbar.top.firstrow\">\n"
                 + "<!--   -->\n"
                 + "</a>",
                 "<table class=\"deprecatedSummary\">",
@@ -1820,7 +1820,7 @@
         checkOutput("serialized-form.html", false,
                 "<!DOCTYPE HTML>",
                 "<meta name=\"dc.created\"",
-                "<a name=\"navbar.top.firstrow\">\n"
+                "<a id=\"navbar.top.firstrow\">\n"
                 + "<!--   -->\n"
                 + "</a>",
                 "<header role=\"banner\">\n"
@@ -1838,7 +1838,7 @@
         checkOutput("overview-tree.html", false,
                 "<!DOCTYPE HTML>",
                 "<meta name=\"dc.created\"",
-                "<a name=\"navbar.top.firstrow\">\n"
+                "<a id=\"navbar.top.firstrow\">\n"
                 + "<!--   -->\n"
                 + "</a>",
                 "<header role=\"banner\">\n"
@@ -1862,7 +1862,7 @@
         checkOutput("index-all.html", false,
                 "<!DOCTYPE HTML>",
                 "<meta name=\"dc.created\"",
-                "<a name=\"navbar.top.firstrow\">\n"
+                "<a id=\"navbar.top.firstrow\">\n"
                 + "<!--   -->\n"
                 + "</a>",
                 "<header role=\"banner\">\n"
@@ -1884,7 +1884,7 @@
         checkOutput("help-doc.html", false,
                 "<!DOCTYPE HTML>",
                 "<meta name=\"dc.created\"",
-                "<a name=\"navbar.top.firstrow\">\n"
+                "<a id=\"navbar.top.firstrow\">\n"
                 + "<!--   -->\n"
                 + "</a>",
                 "<header role=\"banner\">\n"
@@ -1906,7 +1906,7 @@
         checkOutput("pkg/AnotherClass.html", false,
                 "<!DOCTYPE HTML>",
                 "<meta name=\"dc.created\"",
-                "<a name=\"navbar.top.firstrow\">\n"
+                "<a id=\"navbar.top.firstrow\">\n"
                 + "<!--   -->\n"
                 + "</a>",
                 "<header role=\"banner\">\n"
@@ -1916,46 +1916,46 @@
                 + "<div class=\"header\">",
                 "<section role=\"region\">\n"
                 + "<ul class=\"blockList\">\n"
-                + "<li class=\"blockList\"><a name=\"nested.class.summary\">\n"
+                + "<li class=\"blockList\"><a id=\"nested.class.summary\">\n"
                 + "<!--   -->\n"
                 + "</a>\n"
                 + "<h3>Nested Class Summary</h3>\n"
                 + "<table class=\"memberSummary\">",
                 "<section role=\"region\">\n"
                 + "<ul class=\"blockList\">\n"
-                + "<li class=\"blockList\"><a name=\"field.summary\">\n"
+                + "<li class=\"blockList\"><a id=\"field.summary\">\n"
                 + "<!--   -->\n"
                 + "</a>\n"
                 + "<h3>Field Summary</h3>\n"
                 + "<table class=\"memberSummary\">",
                 "<section role=\"region\">\n"
                 + "<ul class=\"blockList\">\n"
-                + "<li class=\"blockList\"><a name=\"constructor.summary\">\n"
+                + "<li class=\"blockList\"><a id=\"constructor.summary\">\n"
                 + "<!--   -->\n"
                 + "</a>\n"
                 + "<h3>Constructor Summary</h3>\n"
                 + "<table class=\"memberSummary\">",
                 "<section role=\"region\">\n"
                 + "<ul class=\"blockList\">\n"
-                + "<li class=\"blockList\"><a name=\"method.summary\">\n"
+                + "<li class=\"blockList\"><a id=\"method.summary\">\n"
                 + "<!--   -->\n"
                 + "</a>\n"
                 + "<h3>Method Summary</h3>",
                 "<section role=\"region\">\n"
                 + "<ul class=\"blockList\">\n"
-                + "<li class=\"blockList\"><a name=\"field.detail\">\n"
+                + "<li class=\"blockList\"><a id=\"field.detail\">\n"
                 + "<!--   -->\n"
                 + "</a>\n"
                 + "<h3>Field Detail</h3>",
                 "<section role=\"region\">\n"
                 + "<ul class=\"blockList\">\n"
-                + "<li class=\"blockList\"><a name=\"constructor.detail\">\n"
+                + "<li class=\"blockList\"><a id=\"constructor.detail\">\n"
                 + "<!--   -->\n"
                 + "</a>\n"
                 + "<h3>Constructor Detail</h3>",
                 "<section role=\"region\">\n"
                 + "<ul class=\"blockList\">\n"
-                + "<li class=\"blockList\"><a name=\"method.detail\">\n"
+                + "<li class=\"blockList\"><a id=\"method.detail\">\n"
                 + "<!--   -->\n"
                 + "</a>\n"
                 + "<h3>Method Detail</h3>",
@@ -1967,7 +1967,7 @@
         checkOutput("pkg/AnotherClass.ModalExclusionType.html", false,
                 "<!DOCTYPE HTML>",
                 "<meta name=\"dc.created\"",
-                "<a name=\"navbar.top.firstrow\">\n"
+                "<a id=\"navbar.top.firstrow\">\n"
                 + "<!--   -->\n"
                 + "</a>",
                 "<header role=\"banner\">\n"
@@ -1977,27 +1977,27 @@
                 + "<div class=\"header\">",
                 "<section role=\"region\">\n"
                 + "<ul class=\"blockList\">\n"
-                + "<li class=\"blockList\"><a name=\"enum.constant.summary\">\n"
+                + "<li class=\"blockList\"><a id=\"enum.constant.summary\">\n"
                 + "<!--   -->\n"
                 + "</a>\n"
                 + "<h3>Enum Constant Summary</h3>\n"
                 + "<table class=\"memberSummary\">",
                 "<section role=\"region\">\n"
                 + "<ul class=\"blockList\">\n"
-                + "<li class=\"blockList\"><a name=\"method.summary\">\n"
+                + "<li class=\"blockList\"><a id=\"method.summary\">\n"
                 + "<!--   -->\n"
                 + "</a>\n"
                 + "<h3>Method Summary</h3>\n"
                 + "<table class=\"memberSummary\">",
                 "<section role=\"region\">\n"
                 + "<ul class=\"blockList\">\n"
-                + "<li class=\"blockList\"><a name=\"enum.constant.detail\">\n"
+                + "<li class=\"blockList\"><a id=\"enum.constant.detail\">\n"
                 + "<!--   -->\n"
                 + "</a>\n"
                 + "<h3>Enum Constant Detail</h3>",
                 "<section role=\"region\">\n"
                 + "<ul class=\"blockList\">\n"
-                + "<li class=\"blockList\"><a name=\"method.detail\">\n"
+                + "<li class=\"blockList\"><a id=\"method.detail\">\n"
                 + "<!--   -->\n"
                 + "</a>\n"
                 + "<h3>Method Detail</h3>",
@@ -2009,7 +2009,7 @@
         checkOutput("pkg2/Interface.html", false,
                 "<!DOCTYPE HTML>",
                 "<meta name=\"dc.created\"",
-                "<a name=\"navbar.top.firstrow\">\n"
+                "<a id=\"navbar.top.firstrow\">\n"
                 + "<!--   -->\n"
                 + "</a>",
                 "<header role=\"banner\">\n"
@@ -2019,14 +2019,14 @@
                 + "<div class=\"header\">",
                 "<section role=\"region\">\n"
                 + "<ul class=\"blockList\">\n"
-                + "<li class=\"blockList\"><a name=\"method.summary\">\n"
+                + "<li class=\"blockList\"><a id=\"method.summary\">\n"
                 + "<!--   -->\n"
                 + "</a>\n"
                 + "<h3>Method Summary</h3>\n"
                 + "<table class=\"memberSummary\">",
                 "<section role=\"region\">\n"
                 + "<ul class=\"blockList\">\n"
-                + "<li class=\"blockList\"><a name=\"method.detail\">\n"
+                + "<li class=\"blockList\"><a id=\"method.detail\">\n"
                 + "<!--   -->\n"
                 + "</a>\n"
                 + "<h3>Method Detail</h3>",
@@ -2038,7 +2038,7 @@
         checkOutput("pkg/TestError.html", false,
                 "<!DOCTYPE HTML>",
                 "<meta name=\"dc.created\"",
-                "<a name=\"navbar.top.firstrow\">\n"
+                "<a id=\"navbar.top.firstrow\">\n"
                 + "<!--   -->\n"
                 + "</a>",
                 "<header role=\"banner\">\n"
@@ -2048,13 +2048,13 @@
                 + "<div class=\"header\">",
                 "<section role=\"region\">\n"
                 + "<ul class=\"blockList\">\n"
-                + "<li class=\"blockList\"><a name=\"constructor.summary\">\n"
+                + "<li class=\"blockList\"><a id=\"constructor.summary\">\n"
                 + "<!--   -->\n"
                 + "</a>\n"
                 + "<h3>Constructor Summary</h3>",
                 "<section role=\"region\">\n"
                 + "<ul class=\"blockList\">\n"
-                + "<li class=\"blockList\"><a name=\"constructor.detail\">\n"
+                + "<li class=\"blockList\"><a id=\"constructor.detail\">\n"
                 + "<!--   -->\n"
                 + "</a>\n"
                 + "<h3>Constructor Detail</h3>",
@@ -2066,7 +2066,7 @@
         checkOutput("pkg/TestException.html", false,
                 "<!DOCTYPE HTML>",
                 "<meta name=\"dc.created\"",
-                "<a name=\"navbar.top.firstrow\">\n"
+                "<a id=\"navbar.top.firstrow\">\n"
                 + "<!--   -->\n"
                 + "</a>",
                 "<header role=\"banner\">\n"
@@ -2076,13 +2076,13 @@
                 + "<div class=\"header\">",
                 "<section role=\"region\">\n"
                 + "<ul class=\"blockList\">\n"
-                + "<li class=\"blockList\"><a name=\"constructor.summary\">\n"
+                + "<li class=\"blockList\"><a id=\"constructor.summary\">\n"
                 + "<!--   -->\n"
                 + "</a>\n"
                 + "<h3>Constructor Summary</h3>",
                 "<section role=\"region\">\n"
                 + "<ul class=\"blockList\">\n"
-                + "<li class=\"blockList\"><a name=\"constructor.detail\">\n"
+                + "<li class=\"blockList\"><a id=\"constructor.detail\">\n"
                 + "<!--   -->\n"
                 + "</a>\n"
                 + "<h3>Constructor Detail</h3>",
@@ -2094,7 +2094,7 @@
         checkOutput("pkg2/TestAnnotationType.html", false,
                 "<!DOCTYPE HTML>",
                 "<meta name=\"dc.created\"",
-                "<a name=\"navbar.top.firstrow\">\n"
+                "<a id=\"navbar.top.firstrow\">\n"
                 + "<!--   -->\n"
                 + "</a>",
                 "<header role=\"banner\">\n"
@@ -2104,21 +2104,21 @@
                 + "<div class=\"header\">",
                 "<section role=\"region\">\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"
                 + "</a>\n"
                 + "<h3>Required Element Summary</h3>\n"
                 + "<table class=\"memberSummary\">",
                 "<section role=\"region\">\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"
                 + "</a>\n"
                 + "<h3>Optional Element Summary</h3>\n"
                 + "<table class=\"memberSummary\">",
                 "<section role=\"region\">\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"
                 + "</a>\n"
                 + "<h3>Element Detail</h3>",
@@ -2130,7 +2130,7 @@
         checkOutput("pkg1/class-use/RegClass.html", false,
                 "<!DOCTYPE HTML>",
                 "<meta name=\"dc.created\"",
-                "<a name=\"navbar.top.firstrow\">\n"
+                "<a id=\"navbar.top.firstrow\">\n"
                 + "<!--   -->\n"
                 + "</a>",
                 "<header role=\"banner\">\n"
@@ -2139,7 +2139,7 @@
                 "<main role=\"main\">\n"
                 + "<div class=\"header\">",
                 "<table class=\"useSummary\">",
-                "<section role=\"region\"><a name=\"pkg\">\n"
+                "<section role=\"region\"><a id=\"pkg\">\n"
                 + "<!--   -->\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"
--- a/langtools/test/com/sun/javadoc/testJavaFX/TestJavaFX.java	Thu Jun 25 10:21:41 2015 -0700
+++ b/langtools/test/com/sun/javadoc/testJavaFX/TestJavaFX.java	Sun Jun 28 16:39:45 2015 -0700
@@ -23,7 +23,7 @@
 
 /*
  * @test
- * @bug 7112427 8012295 8025633 8026567 8061305
+ * @bug 7112427 8012295 8025633 8026567 8061305 8081854
  * @summary Test of the JavaFX doclet features.
  * @author jvalenta
  * @library ../lib
@@ -100,11 +100,11 @@
                 "pkg2");
         checkExit(Exit.OK);
         checkOutput("pkg2/Test.html", true,
-                "<li class=\"blockList\"><a id=\"property.detail\">\n"
+                "<li class=\"blockList\"><a name=\"property.detail\">\n"
                 + "<!--   -->\n"
                 + "</a>\n"
                 + "<h3>Property Detail</h3>\n"
-                + "<a id=\"betaProperty\">\n"
+                + "<a name=\"betaProperty\">\n"
                 + "<!--   -->\n"
                 + "</a>\n"
                 + "<ul class=\"blockList\">\n"
@@ -113,7 +113,7 @@
                 + "<pre>public&nbsp;java.lang.Object betaProperty</pre>\n"
                 + "</li>\n"
                 + "</ul>\n"
-                + "<a id=\"gammaProperty\">\n"
+                + "<a name=\"gammaProperty\">\n"
                 + "<!--   -->\n"
                 + "</a>\n"
                 + "<ul class=\"blockList\">\n"
@@ -123,7 +123,7 @@
                 + "java.lang.String&gt; gammaProperty</pre>\n"
                 + "</li>\n"
                 + "</ul>\n"
-                + "<a id=\"deltaProperty\">\n"
+                + "<a name=\"deltaProperty\">\n"
                 + "<!--   -->\n"
                 + "</a>\n"
                 + "<ul class=\"blockListLast\">\n"
--- a/langtools/test/com/sun/javadoc/testLinkToSerialForm/TestLinkToSerialForm.java	Thu Jun 25 10:21:41 2015 -0700
+++ b/langtools/test/com/sun/javadoc/testLinkToSerialForm/TestLinkToSerialForm.java	Sun Jun 28 16:39:45 2015 -0700
@@ -23,7 +23,7 @@
 
 /*
  * @test
- * @bug 4521661
+ * @bug 4521661 8081854
  * @summary Test to make sure that there is a link with a proper anchor
  * from a serializable class to serialized-form.html.
  * @author jamieh
@@ -48,7 +48,7 @@
         checkExit(Exit.OK);
 
         checkOutput("serialized-form.html", true,
-                "<a id=\"pkg.C\">");
+                "<a name=\"pkg.C\">");
         checkOutput("pkg/C.html", true,
                 "<a href=\"../serialized-form.html#pkg.C\">");
     }
--- a/langtools/test/com/sun/javadoc/testMemberSummary/TestMemberSummary.java	Thu Jun 25 10:21:41 2015 -0700
+++ b/langtools/test/com/sun/javadoc/testMemberSummary/TestMemberSummary.java	Sun Jun 28 16:39:45 2015 -0700
@@ -23,7 +23,7 @@
 
 /*
  * @test
- * @bug      4951228 6290760 8025633 8026567
+ * @bug      4951228 6290760 8025633 8026567 8081854
  * @summary  Test the case where the overriden method returns a different
  *           type than the method in the child class.  Make sure the
  *           documentation is inherited but the return type isn't.
@@ -59,9 +59,9 @@
 
         // Legacy anchor dimensions (6290760)
         checkOutput("pkg2/A.html", true,
-                "<a id=\"f-java.lang.Object:A-\">\n"
+                "<a name=\"f-java.lang.Object:A-\">\n"
                 + "<!--   -->\n"
-                + "</a><a id=\"f-T:A-\">\n"
+                + "</a><a name=\"f-T:A-\">\n"
                 + "<!--   -->\n"
                 + "</a>");
     }
--- a/langtools/test/com/sun/javadoc/testNavigation/TestNavigation.java	Thu Jun 25 10:21:41 2015 -0700
+++ b/langtools/test/com/sun/javadoc/testNavigation/TestNavigation.java	Sun Jun 28 16:39:45 2015 -0700
@@ -23,7 +23,7 @@
 
 /*
  * @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.
  *           Make sure the navagation is 2 columns, not 3.
  * @author   jamieh
@@ -64,7 +64,7 @@
                 "<li>Next&nbsp;Class</li>",
                 // Test for 4664607
                 "<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"
                 + "</a>");
     }
--- a/langtools/test/com/sun/javadoc/testTypeParams/TestTypeParameters.java	Thu Jun 25 10:21:41 2015 -0700
+++ b/langtools/test/com/sun/javadoc/testTypeParams/TestTypeParameters.java	Sun Jun 28 16:39:45 2015 -0700
@@ -23,7 +23,7 @@
 
 /*
  * @test
- * @bug      4927167 4974929 7010344 8025633
+ * @bug      4927167 4974929 7010344 8025633 8081854
  * @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
  *           in member summary. Also, test for type parameter links in package-summary and
@@ -68,7 +68,7 @@
 
         // Nested type parameters
         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"
                 + "</a>");
     }
--- a/langtools/test/com/sun/javadoc/testUseOption/TestUseOption.java	Thu Jun 25 10:21:41 2015 -0700
+++ b/langtools/test/com/sun/javadoc/testUseOption/TestUseOption.java	Sun Jun 28 16:39:45 2015 -0700
@@ -23,7 +23,7 @@
 
 /*
  * @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.
  * @author jamieh
  * @library ../lib
@@ -136,7 +136,7 @@
                 + "UsedInC</a> in <a href=\"../package-summary.html\">&lt;Unnamed&gt;</a>"
         );
         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,
                 "<td class=\"colOne\">"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/importChecks/ImportsObservable.java	Sun Jun 28 16:39:45 2015 -0700
@@ -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 {
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/lambda/NestedCapture04.java	Sun Jun 28 16:39:45 2015 -0700
@@ -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_;
+    }
+}