Merge

Tue, 23 Oct 2012 09:42:48 -0700

author
lana
date
Tue, 23 Oct 2012 09:42:48 -0700
changeset 1367
5dde04b8bbb3
parent 1355
b47bb81ba962
parent 1366
12cf6bfd8c05
child 1368
669468143a5e

Merge

     1.1 --- a/src/share/classes/com/sun/javadoc/Tag.java	Thu Oct 18 11:09:45 2012 -0700
     1.2 +++ b/src/share/classes/com/sun/javadoc/Tag.java	Tue Oct 23 09:42:48 2012 -0700
     1.3 @@ -70,14 +70,14 @@
     1.4       * than one tag of a given kind:
     1.5       * <p>
     1.6       * <table border="1" cellpadding="4" cellspacing="0">
     1.7 -     * <tr><th><tt> kind()  </th>  <th><tt> name()      </th></tr>
     1.8 -     * <tr><td><tt> @throws </td>  <td><tt> @throws     </td></tr>
     1.9 -     * <tr><td><tt> @throws </td>  <td><tt> @exception  </td></tr>
    1.10 -     * <tr><td><tt> @see    </td>  <td><tt> @see        </td></tr>
    1.11 -     * <tr><td><tt> @see    </td>  <td><tt> @link       </td></tr>
    1.12 -     * <tr><td><tt> @see    </td>  <td><tt> @linkplain  </td></tr>
    1.13 -     * <tr><td><tt> @serial </td>  <td><tt> @serial     </td></tr>
    1.14 -     * <tr><td><tt> @serial </td>  <td><tt> @serialData </td></tr>
    1.15 +     * <tr><th><tt> kind()  </tt></th>  <th><tt> name()      </tt></th></tr>
    1.16 +     * <tr><td><tt> @throws </tt></td>  <td><tt> @throws     </tt></td></tr>
    1.17 +     * <tr><td><tt> @throws </tt></td>  <td><tt> @exception  </tt></td></tr>
    1.18 +     * <tr><td><tt> @see    </tt></td>  <td><tt> @see        </tt></td></tr>
    1.19 +     * <tr><td><tt> @see    </tt></td>  <td><tt> @link       </tt></td></tr>
    1.20 +     * <tr><td><tt> @see    </tt></td>  <td><tt> @linkplain  </tt></td></tr>
    1.21 +     * <tr><td><tt> @serial </tt></td>  <td><tt> @serial     </tt></td></tr>
    1.22 +     * <tr><td><tt> @serial </tt></td>  <td><tt> @serialData </tt></td></tr>
    1.23       * </table>
    1.24       */
    1.25      String kind();
     2.1 --- a/src/share/classes/com/sun/source/tree/CompilationUnitTree.java	Thu Oct 18 11:09:45 2012 -0700
     2.2 +++ b/src/share/classes/com/sun/source/tree/CompilationUnitTree.java	Tue Oct 23 09:42:48 2012 -0700
     2.3 @@ -1,5 +1,5 @@
     2.4  /*
     2.5 - * Copyright (c) 2005, 2006, Oracle and/or its affiliates. All rights reserved.
     2.6 + * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
     2.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     2.8   *
     2.9   * This code is free software; you can redistribute it and/or modify it
    2.10 @@ -27,7 +27,6 @@
    2.11  
    2.12  import java.util.List;
    2.13  import javax.tools.JavaFileObject;
    2.14 -import com.sun.source.tree.LineMap;
    2.15  
    2.16  /**
    2.17   * Represents the abstract syntax tree for compilation units (source
     3.1 --- a/src/share/classes/com/sun/source/tree/Scope.java	Thu Oct 18 11:09:45 2012 -0700
     3.2 +++ b/src/share/classes/com/sun/source/tree/Scope.java	Tue Oct 23 09:42:48 2012 -0700
     3.3 @@ -1,5 +1,5 @@
     3.4  /*
     3.5 - * Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved.
     3.6 + * Copyright (c) 2006, 2012, Oracle and/or its affiliates. All rights reserved.
     3.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     3.8   *
     3.9   * This code is free software; you can redistribute it and/or modify it
    3.10 @@ -25,11 +25,9 @@
    3.11  
    3.12  package com.sun.source.tree;
    3.13  
    3.14 -import com.sun.source.tree.Tree;
    3.15  import javax.lang.model.element.Element;
    3.16  import javax.lang.model.element.ExecutableElement;
    3.17  import javax.lang.model.element.TypeElement;
    3.18 -import javax.lang.model.type.DeclaredType;
    3.19  
    3.20  /**
    3.21   * Interface for determining locally available program elements, such as
     4.1 --- a/src/share/classes/com/sun/source/util/TaskEvent.java	Thu Oct 18 11:09:45 2012 -0700
     4.2 +++ b/src/share/classes/com/sun/source/util/TaskEvent.java	Tue Oct 23 09:42:48 2012 -0700
     4.3 @@ -1,5 +1,5 @@
     4.4  /*
     4.5 - * Copyright (c) 2005, 2006, Oracle and/or its affiliates. All rights reserved.
     4.6 + * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
     4.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4.8   *
     4.9   * This code is free software; you can redistribute it and/or modify it
    4.10 @@ -25,10 +25,11 @@
    4.11  
    4.12  package com.sun.source.util;
    4.13  
    4.14 -import com.sun.source.tree.CompilationUnitTree;
    4.15  import javax.lang.model.element.TypeElement;
    4.16  import javax.tools.JavaFileObject;
    4.17  
    4.18 +import com.sun.source.tree.CompilationUnitTree;
    4.19 +
    4.20  /**
    4.21   * Provides details about work that has been done by the JDK Java Compiler, javac.
    4.22   *
     5.1 --- a/src/share/classes/com/sun/source/util/TreePath.java	Thu Oct 18 11:09:45 2012 -0700
     5.2 +++ b/src/share/classes/com/sun/source/util/TreePath.java	Tue Oct 23 09:42:48 2012 -0700
     5.3 @@ -1,5 +1,5 @@
     5.4  /*
     5.5 - * Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved.
     5.6 + * Copyright (c) 2006, 2012, Oracle and/or its affiliates. All rights reserved.
     5.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     5.8   *
     5.9   * This code is free software; you can redistribute it and/or modify it
    5.10 @@ -25,8 +25,9 @@
    5.11  
    5.12  package com.sun.source.util;
    5.13  
    5.14 +import java.util.Iterator;
    5.15 +
    5.16  import com.sun.source.tree.*;
    5.17 -import java.util.Iterator;
    5.18  
    5.19  /**
    5.20   * A path of tree nodes, typically used to represent the sequence of ancestor
     6.1 --- a/src/share/classes/com/sun/tools/classfile/BootstrapMethods_attribute.java	Thu Oct 18 11:09:45 2012 -0700
     6.2 +++ b/src/share/classes/com/sun/tools/classfile/BootstrapMethods_attribute.java	Tue Oct 23 09:42:48 2012 -0700
     6.3 @@ -1,5 +1,5 @@
     6.4  /*
     6.5 - * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
     6.6 + * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
     6.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     6.8   *
     6.9   * This code is free software; you can redistribute it and/or modify it
    6.10 @@ -28,8 +28,8 @@
    6.11  import java.io.IOException;
    6.12  
    6.13  /**
    6.14 - * See JVMS <TBD>
    6.15 - * http://cr.openjdk.java.net/~jrose/pres/indy-javadoc-mlvm/
    6.16 + * See JVMS 4.7.21
    6.17 + * http://docs.oracle.com/javase/specs/jvms/se7/html/jvms-4.html#jvms-4.7.21
    6.18   *
    6.19   *  <p><b>This is NOT part of any supported API.
    6.20   *  If you write code that depends on this, you do so at your own risk.
     7.1 --- a/src/share/classes/com/sun/tools/classfile/ClassTranslator.java	Thu Oct 18 11:09:45 2012 -0700
     7.2 +++ b/src/share/classes/com/sun/tools/classfile/ClassTranslator.java	Tue Oct 23 09:42:48 2012 -0700
     7.3 @@ -1,5 +1,5 @@
     7.4  /*
     7.5 - * Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved.
     7.6 + * Copyright (c) 2008, 2012, Oracle and/or its affiliates. All rights reserved.
     7.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     7.8   *
     7.9   * This code is free software; you can redistribute it and/or modify it
    7.10 @@ -25,6 +25,8 @@
    7.11  
    7.12  package com.sun.tools.classfile;
    7.13  
    7.14 +import java.util.Map;
    7.15 +
    7.16  import com.sun.tools.classfile.ConstantPool.CONSTANT_Class_info;
    7.17  import com.sun.tools.classfile.ConstantPool.CONSTANT_Double_info;
    7.18  import com.sun.tools.classfile.ConstantPool.CONSTANT_Fieldref_info;
    7.19 @@ -40,7 +42,6 @@
    7.20  import com.sun.tools.classfile.ConstantPool.CONSTANT_String_info;
    7.21  import com.sun.tools.classfile.ConstantPool.CONSTANT_Utf8_info;
    7.22  import com.sun.tools.classfile.ConstantPool.CPInfo;
    7.23 -import java.util.Map;
    7.24  
    7.25  /**
    7.26   * Rewrites a class file using a map of translations.
     8.1 --- a/src/share/classes/com/sun/tools/classfile/Dependencies.java	Thu Oct 18 11:09:45 2012 -0700
     8.2 +++ b/src/share/classes/com/sun/tools/classfile/Dependencies.java	Tue Oct 23 09:42:48 2012 -0700
     8.3 @@ -1,5 +1,5 @@
     8.4  /*
     8.5 - * Copyright (c) 2009, 2011, Oracle and/or its affiliates. All rights reserved.
     8.6 + * Copyright (c) 2009, 2012, Oracle and/or its affiliates. All rights reserved.
     8.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     8.8   *
     8.9   * This code is free software; you can redistribute it and/or modify it
    8.10 @@ -33,8 +33,8 @@
    8.11  import java.util.Set;
    8.12  import java.util.regex.Pattern;
    8.13  
    8.14 +import com.sun.tools.classfile.Dependency.Filter;
    8.15  import com.sun.tools.classfile.Dependency.Finder;
    8.16 -import com.sun.tools.classfile.Dependency.Filter;
    8.17  import com.sun.tools.classfile.Dependency.Location;
    8.18  import com.sun.tools.classfile.Type.ArrayType;
    8.19  import com.sun.tools.classfile.Type.ClassSigType;
    8.20 @@ -43,7 +43,6 @@
    8.21  import com.sun.tools.classfile.Type.SimpleType;
    8.22  import com.sun.tools.classfile.Type.TypeParamType;
    8.23  import com.sun.tools.classfile.Type.WildcardType;
    8.24 -
    8.25  import static com.sun.tools.classfile.ConstantPool.*;
    8.26  
    8.27  /**
    8.28 @@ -99,7 +98,7 @@
    8.29           * Get the ClassFile object for a specified class.
    8.30           * @param className the name of the class to be returned.
    8.31           * @return the ClassFile for the given class
    8.32 -         * @throws Dependencies#ClassFileNotFoundException if the classfile cannot be
    8.33 +         * @throws Dependencies.ClassFileNotFoundException if the classfile cannot be
    8.34           *   found
    8.35           */
    8.36          public ClassFile getClassFile(String className)
     9.1 --- a/src/share/classes/com/sun/tools/classfile/Descriptor.java	Thu Oct 18 11:09:45 2012 -0700
     9.2 +++ b/src/share/classes/com/sun/tools/classfile/Descriptor.java	Tue Oct 23 09:42:48 2012 -0700
     9.3 @@ -1,5 +1,5 @@
     9.4  /*
     9.5 - * Copyright (c) 2007, 2009, Oracle and/or its affiliates. All rights reserved.
     9.6 + * Copyright (c) 2007, 2012, Oracle and/or its affiliates. All rights reserved.
     9.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     9.8   *
     9.9   * This code is free software; you can redistribute it and/or modify it
    9.10 @@ -114,7 +114,7 @@
    9.11      private String parse(String desc, int start, int end)
    9.12              throws InvalidDescriptor {
    9.13          int p = start;
    9.14 -        StringBuffer sb = new StringBuffer();
    9.15 +        StringBuilder sb = new StringBuilder();
    9.16          int dims = 0;
    9.17          count = 0;
    9.18  
    10.1 --- a/src/share/classes/com/sun/tools/classfile/Instruction.java	Thu Oct 18 11:09:45 2012 -0700
    10.2 +++ b/src/share/classes/com/sun/tools/classfile/Instruction.java	Tue Oct 23 09:42:48 2012 -0700
    10.3 @@ -1,5 +1,5 @@
    10.4  /*
    10.5 - * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
    10.6 + * Copyright (c) 2009, 2012, Oracle and/or its affiliates. All rights reserved.
    10.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    10.8   *
    10.9   * This code is free software; you can redistribute it and/or modify it
   10.10 @@ -103,7 +103,7 @@
   10.11          R visitConstantPoolRefAndValue(Instruction instr, int index, int value, P p);
   10.12          /** See {@link Kind#LOCAL}. */
   10.13          R visitLocal(Instruction instr, int index, P p);
   10.14 -        /** See {@link Kind#LOCAL_UBYTE}. */
   10.15 +        /** See {@link Kind#LOCAL_BYTE}. */
   10.16          R visitLocalAndValue(Instruction instr, int index, int value, P p);
   10.17          /** See {@link Kind#DYNAMIC}. */
   10.18          R visitLookupSwitch(Instruction instr, int default_, int npairs, int[] matches, int[] offsets, P p);
    11.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/AbstractExecutableMemberWriter.java	Thu Oct 18 11:09:45 2012 -0700
    11.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/AbstractExecutableMemberWriter.java	Tue Oct 23 09:42:48 2012 -0700
    11.3 @@ -1,5 +1,5 @@
    11.4  /*
    11.5 - * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
    11.6 + * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
    11.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    11.8   *
    11.9   * This code is free software; you can redistribute it and/or modify it
   11.10 @@ -33,6 +33,11 @@
   11.11  /**
   11.12   * Print method and constructor info.
   11.13   *
   11.14 + *  <p><b>This is NOT part of any supported API.
   11.15 + *  If you write code that depends on this, you do so at your own risk.
   11.16 + *  This code and its internal interfaces are subject to change or
   11.17 + *  deletion without notice.</b>
   11.18 + *
   11.19   * @author Robert Field
   11.20   * @author Atul M Dambalkar
   11.21   * @author Bhavesh Patel (Modified)
   11.22 @@ -81,7 +86,7 @@
   11.23       * Add the summary link for the member.
   11.24       *
   11.25       * @param context the id of the context where the link will be printed
   11.26 -     * @param classDoc the classDoc that we should link to
   11.27 +     * @param cd the classDoc that we should link to
   11.28       * @param member the member being linked to
   11.29       * @param tdSummary the content tree to which the link will be added
   11.30       */
   11.31 @@ -101,7 +106,7 @@
   11.32      /**
   11.33       * Add the inherited summary link for the member.
   11.34       *
   11.35 -     * @param classDoc the classDoc that we should link to
   11.36 +     * @param cd the classDoc that we should link to
   11.37       * @param member the member being linked to
   11.38       * @param linksTree the content tree to which the link will be added
   11.39       */
   11.40 @@ -138,7 +143,7 @@
   11.41       * Add all the parameters for the executable member.
   11.42       *
   11.43       * @param member the member to write parameters for.
   11.44 -     * @param tree the content tree to which the parameters information will be added.
   11.45 +     * @param htmltree the content tree to which the parameters information will be added.
   11.46       */
   11.47      protected void addParameters(ExecutableMemberDoc member, Content htmltree) {
   11.48          addParameters(member, true, htmltree);
   11.49 @@ -149,7 +154,7 @@
   11.50       *
   11.51       * @param member the member to write parameters for.
   11.52       * @param includeAnnotations true if annotation information needs to be added.
   11.53 -     * @param tree the content tree to which the parameters information will be added.
   11.54 +     * @param htmltree the content tree to which the parameters information will be added.
   11.55       */
   11.56      protected void addParameters(ExecutableMemberDoc member,
   11.57              boolean includeAnnotations, Content htmltree) {
   11.58 @@ -276,7 +281,7 @@
   11.59       * @return the 1.4.x style anchor for the ExecutableMemberDoc.
   11.60       */
   11.61      protected String getErasureAnchor(ExecutableMemberDoc emd) {
   11.62 -        StringBuffer buf = new StringBuffer(emd.name() + "(");
   11.63 +        StringBuilder buf = new StringBuilder(emd.name() + "(");
   11.64          Parameter[] params = emd.parameters();
   11.65          boolean foundTypeVariable = false;
   11.66          for (int i = 0; i < params.length; i++) {
    12.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/AbstractIndexWriter.java	Thu Oct 18 11:09:45 2012 -0700
    12.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/AbstractIndexWriter.java	Tue Oct 23 09:42:48 2012 -0700
    12.3 @@ -1,5 +1,5 @@
    12.4  /*
    12.5 - * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved.
    12.6 + * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved.
    12.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    12.8   *
    12.9   * This code is free software; you can redistribute it and/or modify it
   12.10 @@ -29,9 +29,9 @@
   12.11  import java.util.*;
   12.12  
   12.13  import com.sun.javadoc.*;
   12.14 -import com.sun.tools.doclets.internal.toolkit.util.*;
   12.15  import com.sun.tools.doclets.formats.html.markup.*;
   12.16  import com.sun.tools.doclets.internal.toolkit.*;
   12.17 +import com.sun.tools.doclets.internal.toolkit.util.*;
   12.18  
   12.19  /**
   12.20   * Generate Index for all the Member Names with Indexing in
   12.21 @@ -39,6 +39,11 @@
   12.22   * {@link SplitIndexWriter}. It uses the functionality from
   12.23   * {@link HtmlDocletWriter} to generate the Index Contents.
   12.24   *
   12.25 + *  <p><b>This is NOT part of any supported API.
   12.26 + *  If you write code that depends on this, you do so at your own risk.
   12.27 + *  This code and its internal interfaces are subject to change or
   12.28 + *  deletion without notice.</b>
   12.29 + *
   12.30   * @see    IndexBuilder
   12.31   * @author Atul M Dambalkar
   12.32   * @author Bhavesh Patel (Modified)
    13.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/AbstractMemberWriter.java	Thu Oct 18 11:09:45 2012 -0700
    13.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/AbstractMemberWriter.java	Tue Oct 23 09:42:48 2012 -0700
    13.3 @@ -1,5 +1,5 @@
    13.4  /*
    13.5 - * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
    13.6 + * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
    13.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    13.8   *
    13.9   * This code is free software; you can redistribute it and/or modify it
   13.10 @@ -25,17 +25,23 @@
   13.11  
   13.12  package com.sun.tools.doclets.formats.html;
   13.13  
   13.14 +import java.lang.reflect.Modifier;
   13.15  import java.util.*;
   13.16 -import java.lang.reflect.Modifier;
   13.17 +
   13.18  import com.sun.javadoc.*;
   13.19  import com.sun.tools.doclets.formats.html.markup.*;
   13.20  import com.sun.tools.doclets.internal.toolkit.*;
   13.21 +import com.sun.tools.doclets.internal.toolkit.taglets.*;
   13.22  import com.sun.tools.doclets.internal.toolkit.util.*;
   13.23 -import com.sun.tools.doclets.internal.toolkit.taglets.*;
   13.24  
   13.25  /**
   13.26   * The base class for member writers.
   13.27   *
   13.28 + *  <p><b>This is NOT part of any supported API.
   13.29 + *  If you write code that depends on this, you do so at your own risk.
   13.30 + *  This code and its internal interfaces are subject to change or
   13.31 + *  deletion without notice.</b>
   13.32 + *
   13.33   * @author Robert Field
   13.34   * @author Atul M Dambalkar
   13.35   * @author Jamie Ho (Re-write)
   13.36 @@ -181,23 +187,6 @@
   13.37       */
   13.38      protected abstract void addNavDetailLink(boolean link, Content liNav);
   13.39  
   13.40 -    /***  ***/
   13.41 -
   13.42 -    protected void print(String str) {
   13.43 -        writer.print(str);
   13.44 -        writer.displayLength += str.length();
   13.45 -    }
   13.46 -
   13.47 -    protected void print(char ch) {
   13.48 -        writer.print(ch);
   13.49 -        writer.displayLength++;
   13.50 -    }
   13.51 -
   13.52 -    protected void strong(String str) {
   13.53 -        writer.strong(str);
   13.54 -        writer.displayLength += str.length();
   13.55 -    }
   13.56 -
   13.57      /**
   13.58       * Add the member name to the content tree and modifies the display length.
   13.59       *
   13.60 @@ -257,7 +246,7 @@
   13.61          if (len <= 0) {
   13.62              return "";
   13.63          }
   13.64 -        StringBuffer sb = new StringBuffer(len);
   13.65 +        StringBuilder sb = new StringBuilder(len);
   13.66          for(int i = 0; i < len; i++) {
   13.67              sb.append(' ');
   13.68      }
   13.69 @@ -304,23 +293,6 @@
   13.70          tdSummaryType.addContent(code);
   13.71      }
   13.72  
   13.73 -    private void printModifier(ProgramElementDoc member) {
   13.74 -        if (member.isProtected()) {
   13.75 -            print("protected ");
   13.76 -        } else if (member.isPrivate()) {
   13.77 -            print("private ");
   13.78 -        } else if (!member.isPublic()) { // Package private
   13.79 -            writer.printText("doclet.Package_private");
   13.80 -            print(" ");
   13.81 -        }
   13.82 -        if (member.isMethod() && ((MethodDoc)member).isAbstract()) {
   13.83 -            print("abstract ");
   13.84 -        }
   13.85 -        if (member.isStatic()) {
   13.86 -            print("static");
   13.87 -        }
   13.88 -    }
   13.89 -
   13.90      /**
   13.91       * Add the modifier for the member.
   13.92       *
   13.93 @@ -364,7 +336,7 @@
   13.94       * Add the comment for the given member.
   13.95       *
   13.96       * @param member the member being documented.
   13.97 -     * @param contentTree the content tree to which the comment will be added.
   13.98 +     * @param htmltree the content tree to which the comment will be added.
   13.99       */
  13.100      protected void addComment(ProgramElementDoc member, Content htmltree) {
  13.101          if (member.inlineTags().length > 0) {
    14.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/AbstractPackageIndexWriter.java	Thu Oct 18 11:09:45 2012 -0700
    14.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/AbstractPackageIndexWriter.java	Tue Oct 23 09:42:48 2012 -0700
    14.3 @@ -1,5 +1,5 @@
    14.4  /*
    14.5 - * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved.
    14.6 + * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved.
    14.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    14.8   *
    14.9   * This code is free software; you can redistribute it and/or modify it
   14.10 @@ -36,6 +36,11 @@
   14.11   * Frame and Non-Frame format. This will be sub-classed by to
   14.12   * generate overview-frame.html as well as overview-summary.html.
   14.13   *
   14.14 + *  <p><b>This is NOT part of any supported API.
   14.15 + *  If you write code that depends on this, you do so at your own risk.
   14.16 + *  This code and its internal interfaces are subject to change or
   14.17 + *  deletion without notice.</b>
   14.18 + *
   14.19   * @author Atul M Dambalkar
   14.20   * @author Bhavesh Patel (Modified)
   14.21   */
    15.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/AbstractTreeWriter.java	Thu Oct 18 11:09:45 2012 -0700
    15.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/AbstractTreeWriter.java	Tue Oct 23 09:42:48 2012 -0700
    15.3 @@ -1,5 +1,5 @@
    15.4  /*
    15.5 - * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved.
    15.6 + * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved.
    15.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    15.8   *
    15.9   * This code is free software; you can redistribute it and/or modify it
   15.10 @@ -27,10 +27,11 @@
   15.11  
   15.12  import java.io.*;
   15.13  import java.util.*;
   15.14 +
   15.15 +import com.sun.javadoc.*;
   15.16 +import com.sun.tools.doclets.formats.html.markup.*;
   15.17 +import com.sun.tools.doclets.internal.toolkit.*;
   15.18  import com.sun.tools.doclets.internal.toolkit.util.*;
   15.19 -import com.sun.tools.doclets.internal.toolkit.*;
   15.20 -import com.sun.tools.doclets.formats.html.markup.*;
   15.21 -import com.sun.javadoc.*;
   15.22  
   15.23  /**
   15.24   * Abstract class to print the class hierarchy page for all the Classes. This
   15.25 @@ -38,6 +39,11 @@
   15.26   * generate the Package Tree and global Tree(for all the classes and packages)
   15.27   * pages.
   15.28   *
   15.29 + *  <p><b>This is NOT part of any supported API.
   15.30 + *  If you write code that depends on this, you do so at your own risk.
   15.31 + *  This code and its internal interfaces are subject to change or
   15.32 + *  deletion without notice.</b>
   15.33 + *
   15.34   * @author Atul M Dambalkar
   15.35   */
   15.36  public abstract class AbstractTreeWriter extends HtmlDocletWriter {
    16.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/AllClassesFrameWriter.java	Thu Oct 18 11:09:45 2012 -0700
    16.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/AllClassesFrameWriter.java	Tue Oct 23 09:42:48 2012 -0700
    16.3 @@ -1,5 +1,5 @@
    16.4  /*
    16.5 - * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved.
    16.6 + * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved.
    16.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    16.8   *
    16.9   * This code is free software; you can redistribute it and/or modify it
   16.10 @@ -29,9 +29,9 @@
   16.11  import java.util.*;
   16.12  
   16.13  import com.sun.javadoc.*;
   16.14 +import com.sun.tools.doclets.formats.html.markup.*;
   16.15  import com.sun.tools.doclets.internal.toolkit.*;
   16.16  import com.sun.tools.doclets.internal.toolkit.util.*;
   16.17 -import com.sun.tools.doclets.formats.html.markup.*;
   16.18  
   16.19  /**
   16.20   * Generate the file with list of all the classes in this run. This page will be
   16.21 @@ -39,6 +39,11 @@
   16.22   * the left-hand top frame. The name of the generated file is
   16.23   * "allclasses-frame.html".
   16.24   *
   16.25 + *  <p><b>This is NOT part of any supported API.
   16.26 + *  If you write code that depends on this, you do so at your own risk.
   16.27 + *  This code and its internal interfaces are subject to change or
   16.28 + *  deletion without notice.</b>
   16.29 + *
   16.30   * @author Atul M Dambalkar
   16.31   * @author Doug Kramer
   16.32   * @author Bhavesh Patel (Modified)
    17.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/AnnotationTypeOptionalMemberWriterImpl.java	Thu Oct 18 11:09:45 2012 -0700
    17.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/AnnotationTypeOptionalMemberWriterImpl.java	Tue Oct 23 09:42:48 2012 -0700
    17.3 @@ -1,5 +1,5 @@
    17.4  /*
    17.5 - * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
    17.6 + * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
    17.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    17.8   *
    17.9   * This code is free software; you can redistribute it and/or modify it
   17.10 @@ -34,6 +34,11 @@
   17.11  /**
   17.12   * Writes annotation type optional member documentation in HTML format.
   17.13   *
   17.14 + *  <p><b>This is NOT part of any supported API.
   17.15 + *  If you write code that depends on this, you do so at your own risk.
   17.16 + *  This code and its internal interfaces are subject to change or
   17.17 + *  deletion without notice.</b>
   17.18 + *
   17.19   * @author Jamie Ho
   17.20   * @author Bhavesh Patel (Modified)
   17.21   */
    18.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/AnnotationTypeRequiredMemberWriterImpl.java	Thu Oct 18 11:09:45 2012 -0700
    18.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/AnnotationTypeRequiredMemberWriterImpl.java	Tue Oct 23 09:42:48 2012 -0700
    18.3 @@ -1,5 +1,5 @@
    18.4  /*
    18.5 - * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
    18.6 + * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
    18.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    18.8   *
    18.9   * This code is free software; you can redistribute it and/or modify it
   18.10 @@ -34,6 +34,11 @@
   18.11  /**
   18.12   * Writes annotation type required member documentation in HTML format.
   18.13   *
   18.14 + *  <p><b>This is NOT part of any supported API.
   18.15 + *  If you write code that depends on this, you do so at your own risk.
   18.16 + *  This code and its internal interfaces are subject to change or
   18.17 + *  deletion without notice.</b>
   18.18 + *
   18.19   * @author Jamie Ho
   18.20   * @author Bhavesh Patel (Modified)
   18.21   */
    19.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/AnnotationTypeWriterImpl.java	Thu Oct 18 11:09:45 2012 -0700
    19.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/AnnotationTypeWriterImpl.java	Tue Oct 23 09:42:48 2012 -0700
    19.3 @@ -1,5 +1,5 @@
    19.4  /*
    19.5 - * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
    19.6 + * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
    19.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    19.8   *
    19.9   * This code is free software; you can redistribute it and/or modify it
   19.10 @@ -25,14 +25,22 @@
   19.11  
   19.12  package com.sun.tools.doclets.formats.html;
   19.13  
   19.14 +import java.io.IOException;
   19.15 +
   19.16  import com.sun.javadoc.*;
   19.17 +import com.sun.tools.doclets.formats.html.markup.*;
   19.18  import com.sun.tools.doclets.internal.toolkit.*;
   19.19 +import com.sun.tools.doclets.internal.toolkit.builders.*;
   19.20  import com.sun.tools.doclets.internal.toolkit.util.*;
   19.21 -import com.sun.tools.doclets.internal.toolkit.builders.*;
   19.22 -import com.sun.tools.doclets.formats.html.markup.*;
   19.23  
   19.24  /**
   19.25   * Generate the Class Information Page.
   19.26 + *
   19.27 + *  <p><b>This is NOT part of any supported API.
   19.28 + *  If you write code that depends on this, you do so at your own risk.
   19.29 + *  This code and its internal interfaces are subject to change or
   19.30 + *  deletion without notice.</b>
   19.31 + *
   19.32   * @see com.sun.javadoc.ClassDoc
   19.33   * @see java.util.Collections
   19.34   * @see java.util.List
   19.35 @@ -187,7 +195,7 @@
   19.36      /**
   19.37       * {@inheritDoc}
   19.38       */
   19.39 -    public void printDocument(Content contentTree) {
   19.40 +    public void printDocument(Content contentTree) throws IOException {
   19.41          printHtmlDocument(configuration.metakeywords.getMetaKeywords(annotationType),
   19.42                  true, contentTree);
   19.43      }
    20.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/ClassUseWriter.java	Thu Oct 18 11:09:45 2012 -0700
    20.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/ClassUseWriter.java	Tue Oct 23 09:42:48 2012 -0700
    20.3 @@ -27,14 +27,20 @@
    20.4  
    20.5  import java.io.*;
    20.6  import java.util.*;
    20.7 +
    20.8  import com.sun.javadoc.*;
    20.9 -import com.sun.tools.doclets.internal.toolkit.util.*;
   20.10  import com.sun.tools.doclets.formats.html.markup.*;
   20.11  import com.sun.tools.doclets.internal.toolkit.*;
   20.12 +import com.sun.tools.doclets.internal.toolkit.util.*;
   20.13  
   20.14  /**
   20.15   * Generate class usage information.
   20.16   *
   20.17 + *  <p><b>This is NOT part of any supported API.
   20.18 + *  If you write code that depends on this, you do so at your own risk.
   20.19 + *  This code and its internal interfaces are subject to change or
   20.20 + *  deletion without notice.</b>
   20.21 + *
   20.22   * @author Robert G. Field
   20.23   * @author Bhavesh Patel (Modified)
   20.24   */
    21.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/ClassWriterImpl.java	Thu Oct 18 11:09:45 2012 -0700
    21.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/ClassWriterImpl.java	Tue Oct 23 09:42:48 2012 -0700
    21.3 @@ -1,5 +1,5 @@
    21.4  /*
    21.5 - * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
    21.6 + * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
    21.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    21.8   *
    21.9   * This code is free software; you can redistribute it and/or modify it
   21.10 @@ -25,17 +25,24 @@
   21.11  
   21.12  package com.sun.tools.doclets.formats.html;
   21.13  
   21.14 +import java.io.IOException;
   21.15  import java.util.*;
   21.16  
   21.17  import com.sun.javadoc.*;
   21.18 +import com.sun.tools.doclets.formats.html.markup.*;
   21.19  import com.sun.tools.doclets.internal.toolkit.*;
   21.20 -import com.sun.tools.doclets.internal.toolkit.util.*;
   21.21  import com.sun.tools.doclets.internal.toolkit.builders.*;
   21.22  import com.sun.tools.doclets.internal.toolkit.taglets.*;
   21.23 -import com.sun.tools.doclets.formats.html.markup.*;
   21.24 +import com.sun.tools.doclets.internal.toolkit.util.*;
   21.25  
   21.26  /**
   21.27   * Generate the Class Information Page.
   21.28 + *
   21.29 + *  <p><b>This is NOT part of any supported API.
   21.30 + *  If you write code that depends on this, you do so at your own risk.
   21.31 + *  This code and its internal interfaces are subject to change or
   21.32 + *  deletion without notice.</b>
   21.33 + *
   21.34   * @see com.sun.javadoc.ClassDoc
   21.35   * @see java.util.Collections
   21.36   * @see java.util.List
   21.37 @@ -196,7 +203,7 @@
   21.38      /**
   21.39       * {@inheritDoc}
   21.40       */
   21.41 -    public void printDocument(Content contentTree) {
   21.42 +    public void printDocument(Content contentTree) throws IOException {
   21.43          printHtmlDocument(configuration.metakeywords.getMetaKeywords(classDoc),
   21.44                  true, contentTree);
   21.45      }
    22.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/ConfigurationImpl.java	Thu Oct 18 11:09:45 2012 -0700
    22.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/ConfigurationImpl.java	Tue Oct 23 09:42:48 2012 -0700
    22.3 @@ -25,14 +25,14 @@
    22.4  
    22.5  package com.sun.tools.doclets.formats.html;
    22.6  
    22.7 +import java.io.*;
    22.8 +import java.net.*;
    22.9 +import java.util.*;
   22.10 +
   22.11 +import com.sun.javadoc.*;
   22.12  import com.sun.tools.doclets.internal.toolkit.*;
   22.13  import com.sun.tools.doclets.internal.toolkit.util.*;
   22.14  
   22.15 -import com.sun.javadoc.*;
   22.16 -import java.util.*;
   22.17 -import java.io.*;
   22.18 -import java.net.*;
   22.19 -
   22.20  /**
   22.21   * Configure the output based on the command line options.
   22.22   * <p>
   22.23 @@ -188,8 +188,8 @@
   22.24      // ClassWriter.
   22.25  
   22.26      /**
   22.27 -     * Constructor. Initialises resource for the
   22.28 -     * {@link com.sun.tools.doclets.MessageRetriever}.
   22.29 +     * Constructor. Initializes resource for the
   22.30 +     * {@link com.sun.tools.doclets.internal.toolkit.util.MessageRetriever MessageRetriever}.
   22.31       */
   22.32      private ConfigurationImpl() {
   22.33          standardmessage = new MessageRetriever(this,
    23.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/ConstantsSummaryWriterImpl.java	Thu Oct 18 11:09:45 2012 -0700
    23.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/ConstantsSummaryWriterImpl.java	Tue Oct 23 09:42:48 2012 -0700
    23.3 @@ -1,5 +1,5 @@
    23.4  /*
    23.5 - * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved.
    23.6 + * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved.
    23.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    23.8   *
    23.9   * This code is free software; you can redistribute it and/or modify it
   23.10 @@ -27,14 +27,20 @@
   23.11  
   23.12  import java.io.*;
   23.13  import java.util.*;
   23.14 +
   23.15  import com.sun.javadoc.*;
   23.16 +import com.sun.tools.doclets.formats.html.markup.*;
   23.17  import com.sun.tools.doclets.internal.toolkit.*;
   23.18  import com.sun.tools.doclets.internal.toolkit.util.*;
   23.19 -import com.sun.tools.doclets.formats.html.markup.*;
   23.20  
   23.21  /**
   23.22   * Write the Constants Summary Page in HTML format.
   23.23   *
   23.24 + *  <p><b>This is NOT part of any supported API.
   23.25 + *  If you write code that depends on this, you do so at your own risk.
   23.26 + *  This code and its internal interfaces are subject to change or
   23.27 + *  deletion without notice.</b>
   23.28 + *
   23.29   * @author Jamie Ho
   23.30   * @author Bhavesh Patel (Modified)
   23.31   * @since 1.4
   23.32 @@ -297,7 +303,7 @@
   23.33      /**
   23.34       * {@inheritDoc}
   23.35       */
   23.36 -    public void printDocument(Content contentTree) {
   23.37 +    public void printDocument(Content contentTree) throws IOException {
   23.38          printHtmlDocument(null, true, contentTree);
   23.39      }
   23.40  }
    24.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/ConstructorWriterImpl.java	Thu Oct 18 11:09:45 2012 -0700
    24.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/ConstructorWriterImpl.java	Tue Oct 23 09:42:48 2012 -0700
    24.3 @@ -1,5 +1,5 @@
    24.4  /*
    24.5 - * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
    24.6 + * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
    24.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    24.8   *
    24.9   * This code is free software; you can redistribute it and/or modify it
   24.10 @@ -36,6 +36,11 @@
   24.11  /**
   24.12   * Writes constructor documentation.
   24.13   *
   24.14 + *  <p><b>This is NOT part of any supported API.
   24.15 + *  If you write code that depends on this, you do so at your own risk.
   24.16 + *  This code and its internal interfaces are subject to change or
   24.17 + *  deletion without notice.</b>
   24.18 + *
   24.19   * @author Robert Field
   24.20   * @author Atul M Dambalkar
   24.21   * @author Bhavesh Patel (Modified)
    25.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/DeprecatedListWriter.java	Thu Oct 18 11:09:45 2012 -0700
    25.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/DeprecatedListWriter.java	Tue Oct 23 09:42:48 2012 -0700
    25.3 @@ -1,5 +1,5 @@
    25.4  /*
    25.5 - * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
    25.6 + * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
    25.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    25.8   *
    25.9   * This code is free software; you can redistribute it and/or modify it
   25.10 @@ -26,15 +26,20 @@
   25.11  package com.sun.tools.doclets.formats.html;
   25.12  
   25.13  import java.io.*;
   25.14 +
   25.15 +import com.sun.tools.doclets.formats.html.markup.*;
   25.16  import com.sun.tools.doclets.internal.toolkit.*;
   25.17 -import com.sun.tools.doclets.internal.toolkit.util.DeprecatedAPIListBuilder;
   25.18  import com.sun.tools.doclets.internal.toolkit.util.*;
   25.19 -import com.sun.tools.doclets.formats.html.markup.*;
   25.20  
   25.21  /**
   25.22   * Generate File to list all the deprecated classes and class members with the
   25.23   * appropriate links.
   25.24   *
   25.25 + *  <p><b>This is NOT part of any supported API.
   25.26 + *  If you write code that depends on this, you do so at your own risk.
   25.27 + *  This code and its internal interfaces are subject to change or
   25.28 + *  deletion without notice.</b>
   25.29 + *
   25.30   * @see java.util.List
   25.31   * @author Atul M Dambalkar
   25.32   * @author Bhavesh Patel (Modified)
   25.33 @@ -208,7 +213,7 @@
   25.34       *
   25.35       * @param builder the deprecated list builder
   25.36       * @param type the type of list being documented
   25.37 -     * @param contentTree the content tree to which the anchor will be added
   25.38 +     * @param htmlTree the content tree to which the anchor will be added
   25.39       */
   25.40      private void addAnchor(DeprecatedAPIListBuilder builder, int type, Content htmlTree) {
   25.41          if (builder.hasDocumentation(type)) {
    26.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/EnumConstantWriterImpl.java	Thu Oct 18 11:09:45 2012 -0700
    26.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/EnumConstantWriterImpl.java	Tue Oct 23 09:42:48 2012 -0700
    26.3 @@ -1,5 +1,5 @@
    26.4  /*
    26.5 - * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
    26.6 + * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
    26.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    26.8   *
    26.9   * This code is free software; you can redistribute it and/or modify it
   26.10 @@ -35,6 +35,11 @@
   26.11  /**
   26.12   * Writes enum constant documentation in HTML format.
   26.13   *
   26.14 + *  <p><b>This is NOT part of any supported API.
   26.15 + *  If you write code that depends on this, you do so at your own risk.
   26.16 + *  This code and its internal interfaces are subject to change or
   26.17 + *  deletion without notice.</b>
   26.18 + *
   26.19   * @author Jamie Ho
   26.20   * @author Bhavesh Patel (Modified)
   26.21   */
    27.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/FieldWriterImpl.java	Thu Oct 18 11:09:45 2012 -0700
    27.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/FieldWriterImpl.java	Tue Oct 23 09:42:48 2012 -0700
    27.3 @@ -1,5 +1,5 @@
    27.4  /*
    27.5 - * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
    27.6 + * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
    27.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    27.8   *
    27.9   * This code is free software; you can redistribute it and/or modify it
   27.10 @@ -35,6 +35,11 @@
   27.11  /**
   27.12   * Writes field documentation in HTML format.
   27.13   *
   27.14 + *  <p><b>This is NOT part of any supported API.
   27.15 + *  If you write code that depends on this, you do so at your own risk.
   27.16 + *  This code and its internal interfaces are subject to change or
   27.17 + *  deletion without notice.</b>
   27.18 + *
   27.19   * @author Robert Field
   27.20   * @author Atul M Dambalkar
   27.21   * @author Jamie Ho (rewrite)
    28.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/FrameOutputWriter.java	Thu Oct 18 11:09:45 2012 -0700
    28.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/FrameOutputWriter.java	Tue Oct 23 09:42:48 2012 -0700
    28.3 @@ -1,5 +1,5 @@
    28.4  /*
    28.5 - * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
    28.6 + * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
    28.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    28.8   *
    28.9   * This code is free software; you can redistribute it and/or modify it
   28.10 @@ -26,9 +26,10 @@
   28.11  package com.sun.tools.doclets.formats.html;
   28.12  
   28.13  import java.io.*;
   28.14 +
   28.15 +import com.sun.tools.doclets.formats.html.markup.*;
   28.16 +import com.sun.tools.doclets.internal.toolkit.*;
   28.17  import com.sun.tools.doclets.internal.toolkit.util.*;
   28.18 -import com.sun.tools.doclets.internal.toolkit.*;
   28.19 -import com.sun.tools.doclets.formats.html.markup.*;
   28.20  
   28.21  /**
   28.22   * Generate the documentation in the Html "frame" format in the browser. The
   28.23 @@ -40,6 +41,11 @@
   28.24   * right-hand frame will have overview or package summary or class file. Also
   28.25   * take care of browsers which do not support Html frames.
   28.26   *
   28.27 + *  <p><b>This is NOT part of any supported API.
   28.28 + *  If you write code that depends on this, you do so at your own risk.
   28.29 + *  This code and its internal interfaces are subject to change or
   28.30 + *  deletion without notice.</b>
   28.31 + *
   28.32   * @author Atul M Dambalkar
   28.33   */
   28.34  public class FrameOutputWriter extends HtmlDocletWriter {
   28.35 @@ -89,7 +95,7 @@
   28.36       * Generate the contants in the "index.html" file. Print the frame details
   28.37       * as well as warning if browser is not supporting the Html frames.
   28.38       */
   28.39 -    protected void generateFrameFile() {
   28.40 +    protected void generateFrameFile() throws IOException {
   28.41          Content frameset = getFrameDetails();
   28.42          if (configuration.windowtitle.length() > 0) {
   28.43              printFramesetDocument(configuration.windowtitle, configuration.notimestamp,
    29.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/HelpWriter.java	Thu Oct 18 11:09:45 2012 -0700
    29.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/HelpWriter.java	Tue Oct 23 09:42:48 2012 -0700
    29.3 @@ -26,14 +26,20 @@
    29.4  package com.sun.tools.doclets.formats.html;
    29.5  
    29.6  import java.io.*;
    29.7 +
    29.8 +import com.sun.tools.doclets.formats.html.markup.*;
    29.9 +import com.sun.tools.doclets.internal.toolkit.*;
   29.10  import com.sun.tools.doclets.internal.toolkit.util.*;
   29.11 -import com.sun.tools.doclets.internal.toolkit.*;
   29.12 -import com.sun.tools.doclets.formats.html.markup.*;
   29.13  
   29.14  /**
   29.15   * Generate the Help File for the generated API documentation. The help file
   29.16   * contents are helpful for browsing the generated documentation.
   29.17   *
   29.18 + *  <p><b>This is NOT part of any supported API.
   29.19 + *  If you write code that depends on this, you do so at your own risk.
   29.20 + *  This code and its internal interfaces are subject to change or
   29.21 + *  deletion without notice.</b>
   29.22 + *
   29.23   * @author Atul M Dambalkar
   29.24   */
   29.25  public class HelpWriter extends HtmlDocletWriter {
   29.26 @@ -73,7 +79,7 @@
   29.27      /**
   29.28       * Generate the help file contents.
   29.29       */
   29.30 -    protected void generateHelpFile() {
   29.31 +    protected void generateHelpFile() throws IOException {
   29.32          String title = configuration.getText("doclet.Window_Help_title");
   29.33          Content body = getBody(true, getWindowTitle(title));
   29.34          addTop(body);
    30.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/HtmlDoclet.java	Thu Oct 18 11:09:45 2012 -0700
    30.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/HtmlDoclet.java	Tue Oct 23 09:42:48 2012 -0700
    30.3 @@ -1,5 +1,5 @@
    30.4  /*
    30.5 - * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
    30.6 + * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
    30.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    30.8   *
    30.9   * This code is free software; you can redistribute it and/or modify it
   30.10 @@ -24,17 +24,22 @@
   30.11   */
   30.12  package com.sun.tools.doclets.formats.html;
   30.13  
   30.14 +import java.io.*;
   30.15 +import java.util.*;
   30.16 +
   30.17 +import com.sun.javadoc.*;
   30.18  import com.sun.tools.doclets.internal.toolkit.*;
   30.19  import com.sun.tools.doclets.internal.toolkit.builders.*;
   30.20  import com.sun.tools.doclets.internal.toolkit.util.*;
   30.21  
   30.22 -import com.sun.javadoc.*;
   30.23 -import java.util.*;
   30.24 -import java.io.*;
   30.25 -
   30.26  /**
   30.27   * The class with "start" method, calls individual Writers.
   30.28   *
   30.29 + *  <p><b>This is NOT part of any supported API.
   30.30 + *  If you write code that depends on this, you do so at your own risk.
   30.31 + *  This code and its internal interfaces are subject to change or
   30.32 + *  deletion without notice.</b>
   30.33 + *
   30.34   * @author Atul M Dambalkar
   30.35   * @author Robert Field
   30.36   * @author Jamie Ho
    31.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java	Thu Oct 18 11:09:45 2012 -0700
    31.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java	Tue Oct 23 09:42:48 2012 -0700
    31.3 @@ -32,14 +32,19 @@
    31.4  import com.sun.javadoc.*;
    31.5  import com.sun.tools.doclets.formats.html.markup.*;
    31.6  import com.sun.tools.doclets.internal.toolkit.*;
    31.7 +import com.sun.tools.doclets.internal.toolkit.taglets.*;
    31.8  import com.sun.tools.doclets.internal.toolkit.util.*;
    31.9 -import com.sun.tools.doclets.internal.toolkit.taglets.*;
   31.10  
   31.11  /**
   31.12   * Class for the Html Format Code Generation specific to JavaDoc.
   31.13   * This Class contains methods related to the Html Code Generation which
   31.14   * are used extensively while generating the entire documentation.
   31.15   *
   31.16 + *  <p><b>This is NOT part of any supported API.
   31.17 + *  If you write code that depends on this, you do so at your own risk.
   31.18 + *  This code and its internal interfaces are subject to change or
   31.19 + *  deletion without notice.</b>
   31.20 + *
   31.21   * @since 1.2
   31.22   * @author Atul M Dambalkar
   31.23   * @author Robert Field
   31.24 @@ -201,33 +206,6 @@
   31.25      }
   31.26  
   31.27      /**
   31.28 -     * Print Html Hyper Link, with target frame.  This
   31.29 -     * link will only appear if page is not in a frame.
   31.30 -     *
   31.31 -     * @param link String name of the file.
   31.32 -     * @param where Position in the file
   31.33 -     * @param target Name of the target frame.
   31.34 -     * @param label Tag for the link.
   31.35 -     * @param strong Whether the label should be strong or not?
   31.36 -     */
   31.37 -    public void printNoFramesTargetHyperLink(String link, String where,
   31.38 -                                               String target, String label,
   31.39 -                                               boolean strong) {
   31.40 -        script();
   31.41 -        println("  <!--");
   31.42 -        println("  if(window==top) {");
   31.43 -        println("    document.writeln('"
   31.44 -            + getHyperLinkString(link, where, label, strong, "", "", target) + "');");
   31.45 -        println("  }");
   31.46 -        println("  //-->");
   31.47 -        scriptEnd();
   31.48 -        noScript();
   31.49 -        println("  " + getHyperLinkString(link, where, label, strong, "", "", target));
   31.50 -        noScriptEnd();
   31.51 -        println(DocletConstants.NL);
   31.52 -    }
   31.53 -
   31.54 -    /**
   31.55       * Get the script to show or hide the All classes link.
   31.56       *
   31.57       * @param id id of the element to show or hide
   31.58 @@ -324,14 +302,6 @@
   31.59          return new TagletWriterImpl(this, isFirstSentence);
   31.60      }
   31.61  
   31.62 -    protected void printTagsInfoHeader() {
   31.63 -        dl();
   31.64 -    }
   31.65 -
   31.66 -    protected void printTagsInfoFooter() {
   31.67 -        dlEnd();
   31.68 -    }
   31.69 -
   31.70      /**
   31.71       * Get Package link, with target frame.
   31.72       *
   31.73 @@ -346,66 +316,6 @@
   31.74      }
   31.75  
   31.76      /**
   31.77 -     * Print the html file header. Also print Html page title and stylesheet
   31.78 -     * default properties.
   31.79 -     *
   31.80 -     * @param title         String window title to go in the &lt;TITLE&gt; tag
   31.81 -     * @param metakeywords  Array of String keywords for META tag.  Each element
   31.82 -     *                      of the array is assigned to a separate META tag.
   31.83 -     *                      Pass in null for no array.
   31.84 -     * @param includeScript boolean true if printing windowtitle script.
   31.85 -     *             False for files that appear in the left-hand frames.
   31.86 -     */
   31.87 -    public void printHtmlHeader(String title, String[] metakeywords,
   31.88 -            boolean includeScript) {
   31.89 -        println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 " +
   31.90 -                    "Transitional//EN\" " +
   31.91 -                    "\"http://www.w3.org/TR/html4/loose.dtd\">");
   31.92 -        println("<!--NewPage-->");
   31.93 -        html();
   31.94 -        head();
   31.95 -        if (! configuration.notimestamp) {
   31.96 -            print("<!-- Generated by javadoc (build " + ConfigurationImpl.BUILD_DATE + ") on ");
   31.97 -            print(today());
   31.98 -            println(" -->");
   31.99 -        }
  31.100 -        if (configuration.charset.length() > 0) {
  31.101 -            println("<META http-equiv=\"Content-Type\" content=\"text/html; "
  31.102 -                        + "charset=" + configuration.charset + "\">");
  31.103 -        }
  31.104 -        if ( configuration.windowtitle.length() > 0 ) {
  31.105 -            title += " (" + configuration.windowtitle  + ")";
  31.106 -        }
  31.107 -        title(title);
  31.108 -        println(title);
  31.109 -        titleEnd();
  31.110 -        println("");
  31.111 -        if (! configuration.notimestamp) {
  31.112 -                SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
  31.113 -                println("<META NAME=\"date\" "
  31.114 -                                    + "CONTENT=\"" + dateFormat.format(new Date()) + "\">");
  31.115 -        }
  31.116 -        if ( metakeywords != null ) {
  31.117 -            for ( int i=0; i < metakeywords.length; i++ ) {
  31.118 -                println("<META NAME=\"keywords\" "
  31.119 -                            + "CONTENT=\"" + metakeywords[i] + "\">");
  31.120 -            }
  31.121 -        }
  31.122 -        println("");
  31.123 -        printStyleSheetProperties();
  31.124 -        println("");
  31.125 -        // Don't print windowtitle script for overview-frame, allclasses-frame
  31.126 -        // and package-frame
  31.127 -        if (includeScript) {
  31.128 -            printWinTitleScript(title);
  31.129 -        }
  31.130 -        println("");
  31.131 -        headEnd();
  31.132 -        println("");
  31.133 -        body("white", includeScript);
  31.134 -    }
  31.135 -
  31.136 -    /**
  31.137       * Generates the HTML document tree and prints it out.
  31.138       *
  31.139       * @param metakeywords Array of String keywords for META tag. Each element
  31.140 @@ -416,13 +326,12 @@
  31.141       * @param body the body htmltree to be included in the document
  31.142       */
  31.143      public void printHtmlDocument(String[] metakeywords, boolean includeScript,
  31.144 -            Content body) {
  31.145 +            Content body) throws IOException {
  31.146          Content htmlDocType = DocType.Transitional();
  31.147          Content htmlComment = new Comment(configuration.getText("doclet.New_Page"));
  31.148          Content head = new HtmlTree(HtmlTag.HEAD);
  31.149          if (!configuration.notimestamp) {
  31.150 -            Content headComment = new Comment("Generated by javadoc (version " +
  31.151 -                    ConfigurationImpl.BUILD_DATE + ") on " + today());
  31.152 +            Content headComment = new Comment(getGeneratedByString());
  31.153              head.addContent(headComment);
  31.154          }
  31.155          if (configuration.charset.length() > 0) {
  31.156 @@ -447,7 +356,7 @@
  31.157                  head, body);
  31.158          Content htmlDocument = new HtmlDocument(htmlDocType,
  31.159                  htmlComment, htmlTree);
  31.160 -        print(htmlDocument.toString());
  31.161 +        write(htmlDocument);
  31.162      }
  31.163  
  31.164      /**
  31.165 @@ -464,26 +373,6 @@
  31.166      }
  31.167  
  31.168      /**
  31.169 -     * Print user specified header and the footer.
  31.170 -     *
  31.171 -     * @param header if true print the user provided header else print the
  31.172 -     * user provided footer.
  31.173 -     */
  31.174 -    public void printUserHeaderFooter(boolean header) {
  31.175 -        em();
  31.176 -        if (header) {
  31.177 -            print(replaceDocRootDir(configuration.header));
  31.178 -        } else {
  31.179 -            if (configuration.footer.length() != 0) {
  31.180 -                print(replaceDocRootDir(configuration.footer));
  31.181 -            } else {
  31.182 -                print(replaceDocRootDir(configuration.header));
  31.183 -            }
  31.184 -        }
  31.185 -        emEnd();
  31.186 -    }
  31.187 -
  31.188 -    /**
  31.189       * Get user specified header and the footer.
  31.190       *
  31.191       * @param header if true print the user provided header else print the
  31.192 @@ -506,14 +395,6 @@
  31.193      }
  31.194  
  31.195      /**
  31.196 -     * Print the user specified top.
  31.197 -     */
  31.198 -    public void printTop() {
  31.199 -        print(replaceDocRootDir(configuration.top));
  31.200 -        hr();
  31.201 -    }
  31.202 -
  31.203 -    /**
  31.204       * Adds the user specified top.
  31.205       *
  31.206       * @param body the content tree to which user specified top will be added
  31.207 @@ -524,14 +405,6 @@
  31.208      }
  31.209  
  31.210      /**
  31.211 -     * Print the user specified bottom.
  31.212 -     */
  31.213 -    public void printBottom() {
  31.214 -        hr();
  31.215 -        print(replaceDocRootDir(configuration.bottom));
  31.216 -    }
  31.217 -
  31.218 -    /**
  31.219       * Adds the user specified bottom.
  31.220       *
  31.221       * @param body the content tree to which user specified bottom will be added
  31.222 @@ -544,128 +417,6 @@
  31.223      }
  31.224  
  31.225      /**
  31.226 -     * Print the navigation bar for the Html page at the top and and the bottom.
  31.227 -     *
  31.228 -     * @param header If true print navigation bar at the top of the page else
  31.229 -     * print the nevigation bar at the bottom.
  31.230 -     */
  31.231 -    protected void navLinks(boolean header) {
  31.232 -        println("");
  31.233 -        if (!configuration.nonavbar) {
  31.234 -            if (header) {
  31.235 -                println(DocletConstants.NL + "<!-- ========= START OF TOP NAVBAR ======= -->");
  31.236 -                anchor("navbar_top");
  31.237 -                println();
  31.238 -                print(getHyperLinkString("", "skip-navbar_top", "", false, "",
  31.239 -                    configuration.getText("doclet.Skip_navigation_links"), ""));
  31.240 -            } else {
  31.241 -                println(DocletConstants.NL + "<!-- ======= START OF BOTTOM NAVBAR ====== -->");
  31.242 -                anchor("navbar_bottom");
  31.243 -                println();
  31.244 -                print(getHyperLinkString("", "skip-navbar_bottom", "", false, "",
  31.245 -                    configuration.getText("doclet.Skip_navigation_links"), ""));
  31.246 -            }
  31.247 -            table(0, "100%", 1, 0);
  31.248 -            tr();
  31.249 -            tdColspanBgcolorStyle(2, "#EEEEFF", "NavBarCell1");
  31.250 -            println("");
  31.251 -            if (header) {
  31.252 -                anchor("navbar_top_firstrow");
  31.253 -            } else {
  31.254 -                anchor("navbar_bottom_firstrow");
  31.255 -            }
  31.256 -            table(0, 0, 3);
  31.257 -            print("  ");
  31.258 -            trAlignVAlign("center", "top");
  31.259 -
  31.260 -            if (configuration.createoverview) {
  31.261 -                navLinkContents();
  31.262 -            }
  31.263 -
  31.264 -            if (configuration.packages.length == 1) {
  31.265 -                navLinkPackage(configuration.packages[0]);
  31.266 -            } else if (configuration.packages.length > 1) {
  31.267 -                navLinkPackage();
  31.268 -            }
  31.269 -
  31.270 -            navLinkClass();
  31.271 -
  31.272 -            if(configuration.classuse) {
  31.273 -                navLinkClassUse();
  31.274 -            }
  31.275 -            if(configuration.createtree) {
  31.276 -                navLinkTree();
  31.277 -            }
  31.278 -            if(!(configuration.nodeprecated ||
  31.279 -                     configuration.nodeprecatedlist)) {
  31.280 -                navLinkDeprecated();
  31.281 -            }
  31.282 -            if(configuration.createindex) {
  31.283 -                navLinkIndex();
  31.284 -            }
  31.285 -            if (!configuration.nohelp) {
  31.286 -                navLinkHelp();
  31.287 -            }
  31.288 -            print("  ");
  31.289 -            trEnd();
  31.290 -            tableEnd();
  31.291 -            tdEnd();
  31.292 -
  31.293 -            tdAlignVAlignRowspan("right", "top", 3);
  31.294 -
  31.295 -            printUserHeaderFooter(header);
  31.296 -            tdEnd();
  31.297 -            trEnd();
  31.298 -            println("");
  31.299 -
  31.300 -            tr();
  31.301 -            tdBgcolorStyle("white", "NavBarCell2");
  31.302 -            font("-2");
  31.303 -            space();
  31.304 -            navLinkPrevious();
  31.305 -            space();
  31.306 -            println("");
  31.307 -            space();
  31.308 -            navLinkNext();
  31.309 -            fontEnd();
  31.310 -            tdEnd();
  31.311 -
  31.312 -            tdBgcolorStyle("white", "NavBarCell2");
  31.313 -            font("-2");
  31.314 -            print("  ");
  31.315 -            navShowLists();
  31.316 -            print("  ");
  31.317 -            space();
  31.318 -            println("");
  31.319 -            space();
  31.320 -            navHideLists(filename);
  31.321 -            print("  ");
  31.322 -            space();
  31.323 -            println("");
  31.324 -            space();
  31.325 -            navLinkClassIndex();
  31.326 -            fontEnd();
  31.327 -            tdEnd();
  31.328 -
  31.329 -            trEnd();
  31.330 -
  31.331 -            printSummaryDetailLinks();
  31.332 -
  31.333 -            tableEnd();
  31.334 -            if (header) {
  31.335 -                aName("skip-navbar_top");
  31.336 -                aEnd();
  31.337 -                println(DocletConstants.NL + "<!-- ========= END OF TOP NAVBAR ========= -->");
  31.338 -            } else {
  31.339 -                aName("skip-navbar_bottom");
  31.340 -                aEnd();
  31.341 -                println(DocletConstants.NL + "<!-- ======== END OF BOTTOM NAVBAR ======= -->");
  31.342 -            }
  31.343 -            println("");
  31.344 -        }
  31.345 -    }
  31.346 -
  31.347 -    /**
  31.348       * Adds the navigation bar for the Html page at the top and and the bottom.
  31.349       *
  31.350       * @param header If true print navigation bar at the top of the page else
  31.351 @@ -757,14 +508,6 @@
  31.352      }
  31.353  
  31.354      /**
  31.355 -     * Print the word "NEXT" to indicate that no link is available.  Override
  31.356 -     * this method to customize next link.
  31.357 -     */
  31.358 -    protected void navLinkNext() {
  31.359 -        navLinkNext(null);
  31.360 -    }
  31.361 -
  31.362 -    /**
  31.363       * Get the word "NEXT" to indicate that no link is available.  Override
  31.364       * this method to customize next link.
  31.365       *
  31.366 @@ -775,14 +518,6 @@
  31.367      }
  31.368  
  31.369      /**
  31.370 -     * Print the word "PREV" to indicate that no link is available.  Override
  31.371 -     * this method to customize prev link.
  31.372 -     */
  31.373 -    protected void navLinkPrevious() {
  31.374 -        navLinkPrevious(null);
  31.375 -    }
  31.376 -
  31.377 -    /**
  31.378       * Get the word "PREV" to indicate that no link is available.  Override
  31.379       * this method to customize prev link.
  31.380       *
  31.381 @@ -795,26 +530,10 @@
  31.382      /**
  31.383       * Do nothing. This is the default method.
  31.384       */
  31.385 -    protected void printSummaryDetailLinks() {
  31.386 -    }
  31.387 -
  31.388 -    /**
  31.389 -     * Do nothing. This is the default method.
  31.390 -     */
  31.391      protected void addSummaryDetailLinks(Content navDiv) {
  31.392      }
  31.393  
  31.394      /**
  31.395 -     * Print link to the "overview-summary.html" page.
  31.396 -     */
  31.397 -    protected void navLinkContents() {
  31.398 -        navCellStart();
  31.399 -        printHyperLink(relativePath + "overview-summary.html", "",
  31.400 -                       configuration.getText("doclet.Overview"), true, "NavBarFont1");
  31.401 -        navCellEnd();
  31.402 -    }
  31.403 -
  31.404 -    /**
  31.405       * Get link to the "overview-summary.html" page.
  31.406       *
  31.407       * @return a content tree for the link
  31.408 @@ -827,46 +546,6 @@
  31.409      }
  31.410  
  31.411      /**
  31.412 -     * Description for a cell in the navigation bar.
  31.413 -     */
  31.414 -    protected void navCellStart() {
  31.415 -        print("  ");
  31.416 -        tdBgcolorStyle("#EEEEFF", "NavBarCell1");
  31.417 -        print("    ");
  31.418 -    }
  31.419 -
  31.420 -    /**
  31.421 -     * Description for a cell in the navigation bar, but with reverse
  31.422 -     * high-light effect.
  31.423 -     */
  31.424 -    protected void navCellRevStart() {
  31.425 -        print("  ");
  31.426 -        tdBgcolorStyle("#FFFFFF", "NavBarCell1Rev");
  31.427 -        print(" ");
  31.428 -        space();
  31.429 -    }
  31.430 -
  31.431 -    /**
  31.432 -     * Closing tag for navigation bar cell.
  31.433 -     */
  31.434 -    protected void navCellEnd() {
  31.435 -        space();
  31.436 -        tdEnd();
  31.437 -    }
  31.438 -
  31.439 -    /**
  31.440 -     * Print link to the "package-summary.html" page for the package passed.
  31.441 -     *
  31.442 -     * @param pkg Package to which link will be generated.
  31.443 -     */
  31.444 -    protected void navLinkPackage(PackageDoc pkg) {
  31.445 -        navCellStart();
  31.446 -        printPackageLink(pkg, configuration.getText("doclet.Package"), true,
  31.447 -            "NavBarFont1");
  31.448 -        navCellEnd();
  31.449 -    }
  31.450 -
  31.451 -    /**
  31.452       * Get link to the "package-summary.html" page for the package passed.
  31.453       *
  31.454       * @param pkg Package to which link will be generated
  31.455 @@ -880,18 +559,6 @@
  31.456      }
  31.457  
  31.458      /**
  31.459 -     * Print the word "Package" in the navigation bar cell, to indicate that
  31.460 -     * link is not available here.
  31.461 -     */
  31.462 -    protected void navLinkPackage() {
  31.463 -        navCellStart();
  31.464 -        fontStyle("NavBarFont1");
  31.465 -        printText("doclet.Package");
  31.466 -        fontEnd();
  31.467 -        navCellEnd();
  31.468 -    }
  31.469 -
  31.470 -    /**
  31.471       * Get the word "Package" , to indicate that link is not available here.
  31.472       *
  31.473       * @return a content tree for the link
  31.474 @@ -902,18 +569,6 @@
  31.475      }
  31.476  
  31.477      /**
  31.478 -     * Print the word "Use" in the navigation bar cell, to indicate that link
  31.479 -     * is not available.
  31.480 -     */
  31.481 -    protected void navLinkClassUse() {
  31.482 -        navCellStart();
  31.483 -        fontStyle("NavBarFont1");
  31.484 -        printText("doclet.navClassUse");
  31.485 -        fontEnd();
  31.486 -        navCellEnd();
  31.487 -    }
  31.488 -
  31.489 -    /**
  31.490       * Get the word "Use", to indicate that link is not available.
  31.491       *
  31.492       * @return a content tree for the link
  31.493 @@ -924,20 +579,6 @@
  31.494      }
  31.495  
  31.496      /**
  31.497 -     * Print link for previous file.
  31.498 -     *
  31.499 -     * @param prev File name for the prev link.
  31.500 -     */
  31.501 -    public void navLinkPrevious(String prev) {
  31.502 -        String tag = configuration.getText("doclet.Prev");
  31.503 -        if (prev != null) {
  31.504 -            printHyperLink(prev, "", tag, true) ;
  31.505 -        } else {
  31.506 -            print(tag);
  31.507 -        }
  31.508 -    }
  31.509 -
  31.510 -    /**
  31.511       * Get link for previous file.
  31.512       *
  31.513       * @param prev File name for the prev link
  31.514 @@ -954,21 +595,6 @@
  31.515      }
  31.516  
  31.517      /**
  31.518 -     * Print link for next file.  If next is null, just print the label
  31.519 -     * without linking it anywhere.
  31.520 -     *
  31.521 -     * @param next File name for the next link.
  31.522 -     */
  31.523 -    public void navLinkNext(String next) {
  31.524 -        String tag = configuration.getText("doclet.Next");
  31.525 -        if (next != null) {
  31.526 -            printHyperLink(next, "", tag, true);
  31.527 -        } else {
  31.528 -            print(tag);
  31.529 -        }
  31.530 -    }
  31.531 -
  31.532 -    /**
  31.533       * Get link for next file.  If next is null, just print the label
  31.534       * without linking it anywhere.
  31.535       *
  31.536 @@ -986,16 +612,6 @@
  31.537      }
  31.538  
  31.539      /**
  31.540 -     * Print "FRAMES" link, to switch to the frame version of the output.
  31.541 -     *
  31.542 -     * @param link File to be linked, "index.html".
  31.543 -     */
  31.544 -    protected void navShowLists(String link) {
  31.545 -        print(getHyperLinkString(link + "?" + path + filename, "",
  31.546 -            configuration.getText("doclet.FRAMES"), true, "", "", "_top"));
  31.547 -    }
  31.548 -
  31.549 -    /**
  31.550       * Get "FRAMES" link, to switch to the frame version of the output.
  31.551       *
  31.552       * @param link File to be linked, "index.html"
  31.553 @@ -1009,13 +625,6 @@
  31.554      }
  31.555  
  31.556      /**
  31.557 -     * Print "FRAMES" link, to switch to the frame version of the output.
  31.558 -     */
  31.559 -    protected void navShowLists() {
  31.560 -        navShowLists(relativePath + "index.html");
  31.561 -    }
  31.562 -
  31.563 -    /**
  31.564       * Get "FRAMES" link, to switch to the frame version of the output.
  31.565       *
  31.566       * @return a content tree for the link
  31.567 @@ -1025,16 +634,6 @@
  31.568      }
  31.569  
  31.570      /**
  31.571 -     * Print "NO FRAMES" link, to switch to the non-frame version of the output.
  31.572 -     *
  31.573 -     * @param link File to be linked.
  31.574 -     */
  31.575 -    protected void navHideLists(String link) {
  31.576 -        print(getHyperLinkString(link, "", configuration.getText("doclet.NO_FRAMES"),
  31.577 -            true, "", "", "_top"));
  31.578 -    }
  31.579 -
  31.580 -    /**
  31.581       * Get "NO FRAMES" link, to switch to the non-frame version of the output.
  31.582       *
  31.583       * @param link File to be linked
  31.584 @@ -1047,25 +646,6 @@
  31.585      }
  31.586  
  31.587      /**
  31.588 -     * Print "Tree" link in the navigation bar. If there is only one package
  31.589 -     * specified on the command line, then the "Tree" link will be to the
  31.590 -     * only "package-tree.html" file otherwise it will be to the
  31.591 -     * "overview-tree.html" file.
  31.592 -     */
  31.593 -    protected void navLinkTree() {
  31.594 -        navCellStart();
  31.595 -        PackageDoc[] packages = configuration.root.specifiedPackages();
  31.596 -        if (packages.length == 1 && configuration.root.specifiedClasses().length == 0) {
  31.597 -            printHyperLink(pathString(packages[0], "package-tree.html"), "",
  31.598 -                           configuration.getText("doclet.Tree"), true, "NavBarFont1");
  31.599 -        } else {
  31.600 -            printHyperLink(relativePath + "overview-tree.html", "",
  31.601 -                           configuration.getText("doclet.Tree"), true, "NavBarFont1");
  31.602 -        }
  31.603 -        navCellEnd();
  31.604 -    }
  31.605 -
  31.606 -    /**
  31.607       * Get "Tree" link in the navigation bar. If there is only one package
  31.608       * specified on the command line, then the "Tree" link will be to the
  31.609       * only "package-tree.html" file otherwise it will be to the
  31.610 @@ -1102,18 +682,6 @@
  31.611      }
  31.612  
  31.613      /**
  31.614 -     * Print the word "Class" in the navigation bar cell, to indicate that
  31.615 -     * class link is not available.
  31.616 -     */
  31.617 -    protected void navLinkClass() {
  31.618 -        navCellStart();
  31.619 -        fontStyle("NavBarFont1");
  31.620 -        printText("doclet.Class");
  31.621 -        fontEnd();
  31.622 -        navCellEnd();
  31.623 -    }
  31.624 -
  31.625 -    /**
  31.626       * Get the word "Class", to indicate that class link is not available.
  31.627       *
  31.628       * @return a content tree for the link
  31.629 @@ -1124,16 +692,6 @@
  31.630      }
  31.631  
  31.632      /**
  31.633 -     * Print "Deprecated" API link in the navigation bar.
  31.634 -     */
  31.635 -    protected void navLinkDeprecated() {
  31.636 -        navCellStart();
  31.637 -        printHyperLink(relativePath + "deprecated-list.html", "",
  31.638 -                       configuration.getText("doclet.navDeprecated"), true, "NavBarFont1");
  31.639 -        navCellEnd();
  31.640 -    }
  31.641 -
  31.642 -    /**
  31.643       * Get "Deprecated" API link in the navigation bar.
  31.644       *
  31.645       * @return a content tree for the link
  31.646 @@ -1146,17 +704,6 @@
  31.647      }
  31.648  
  31.649      /**
  31.650 -     * Print link for generated index. If the user has used "-splitindex"
  31.651 -     * command line option, then link to file "index-files/index-1.html" is
  31.652 -     * generated otherwise link to file "index-all.html" is generated.
  31.653 -     */
  31.654 -    protected void navLinkClassIndex() {
  31.655 -        printNoFramesTargetHyperLink(relativePath +
  31.656 -                AllClassesFrameWriter.OUTPUT_FILE_NAME_NOFRAMES,
  31.657 -            "", "", configuration.getText("doclet.All_Classes"), true);
  31.658 -    }
  31.659 -
  31.660 -    /**
  31.661       * Get link for generated index. If the user has used "-splitindex"
  31.662       * command line option, then link to file "index-files/index-1.html" is
  31.663       * generated otherwise link to file "index-all.html" is generated.
  31.664 @@ -1170,20 +717,6 @@
  31.665          Content li = HtmlTree.LI(allClassesContent);
  31.666          return li;
  31.667      }
  31.668 -    /**
  31.669 -     * Print link for generated class index.
  31.670 -     */
  31.671 -    protected void navLinkIndex() {
  31.672 -        navCellStart();
  31.673 -        printHyperLink(relativePath +
  31.674 -                           (configuration.splitindex?
  31.675 -                                DirectoryManager.getPath("index-files") +
  31.676 -                                fileseparator: "") +
  31.677 -                           (configuration.splitindex?
  31.678 -                                "index-1.html" : "index-all.html"), "",
  31.679 -                       configuration.getText("doclet.Index"), true, "NavBarFont1");
  31.680 -        navCellEnd();
  31.681 -    }
  31.682  
  31.683      /**
  31.684       * Get link for generated class index.
  31.685 @@ -1200,27 +733,6 @@
  31.686      }
  31.687  
  31.688      /**
  31.689 -     * Print help file link. If user has provided a help file, then generate a
  31.690 -     * link to the user given file, which is already copied to current or
  31.691 -     * destination directory.
  31.692 -     */
  31.693 -    protected void navLinkHelp() {
  31.694 -        String helpfilenm = configuration.helpfile;
  31.695 -        if (helpfilenm.equals("")) {
  31.696 -            helpfilenm = "help-doc.html";
  31.697 -        } else {
  31.698 -            int lastsep;
  31.699 -            if ((lastsep = helpfilenm.lastIndexOf(File.separatorChar)) != -1) {
  31.700 -                helpfilenm = helpfilenm.substring(lastsep + 1);
  31.701 -            }
  31.702 -        }
  31.703 -        navCellStart();
  31.704 -        printHyperLink(relativePath + helpfilenm, "",
  31.705 -                       configuration.getText("doclet.Help"), true, "NavBarFont1");
  31.706 -        navCellEnd();
  31.707 -    }
  31.708 -
  31.709 -    /**
  31.710       * Get help file link. If user has provided a help file, then generate a
  31.711       * link to the user given file, which is already copied to current or
  31.712       * destination directory.
  31.713 @@ -1244,87 +756,6 @@
  31.714      }
  31.715  
  31.716      /**
  31.717 -     * Print the word "Detail" in the navigation bar. No link is available.
  31.718 -     */
  31.719 -    protected void navDetail() {
  31.720 -        printText("doclet.Detail");
  31.721 -    }
  31.722 -
  31.723 -    /**
  31.724 -     * Print the word "Summary" in the navigation bar. No link is available.
  31.725 -     */
  31.726 -    protected void navSummary() {
  31.727 -        printText("doclet.Summary");
  31.728 -    }
  31.729 -
  31.730 -    /**
  31.731 -     * Print the Html table tag for the index summary tables. The table tag
  31.732 -     * printed is
  31.733 -     * {@code <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"> }
  31.734 -     */
  31.735 -    public void tableIndexSummary() {
  31.736 -        table(1, "100%", 3, 0);
  31.737 -    }
  31.738 -
  31.739 -    /**
  31.740 -     * Print the Html table tag for the index summary tables.
  31.741 -     *
  31.742 -     * @param summary the summary for the table tag summary attribute.
  31.743 -     */
  31.744 -    public void tableIndexSummary(String summary) {
  31.745 -        table(1, "100%", 3, 0, summary);
  31.746 -    }
  31.747 -
  31.748 -    /**
  31.749 -     * Same as {@link #tableIndexSummary()}.
  31.750 -     */
  31.751 -    public void tableIndexDetail() {
  31.752 -        table(1, "100%", 3, 0);
  31.753 -    }
  31.754 -
  31.755 -    /**
  31.756 -     * Print Html tag for table elements. The tag printed is
  31.757 -     * &lt;TD ALIGN="right" VALIGN="top" WIDTH="1%"&gt;.
  31.758 -     */
  31.759 -    public void tdIndex() {
  31.760 -        print("<TD ALIGN=\"right\" VALIGN=\"top\" WIDTH=\"1%\">");
  31.761 -    }
  31.762 -
  31.763 -    /**
  31.764 -     * Print table caption.
  31.765 -     */
  31.766 -    public void tableCaptionStart() {
  31.767 -        captionStyle("TableCaption");
  31.768 -    }
  31.769 -
  31.770 -    /**
  31.771 -     * Print table sub-caption.
  31.772 -     */
  31.773 -    public void tableSubCaptionStart() {
  31.774 -        captionStyle("TableSubCaption");
  31.775 -    }
  31.776 -
  31.777 -    /**
  31.778 -     * Print table caption end tags.
  31.779 -     */
  31.780 -    public void tableCaptionEnd() {
  31.781 -        captionEnd();
  31.782 -    }
  31.783 -
  31.784 -    /**
  31.785 -     * Print summary table header.
  31.786 -     */
  31.787 -    public void summaryTableHeader(String[] header, String scope) {
  31.788 -        tr();
  31.789 -        for ( int i=0; i < header.length; i++ ) {
  31.790 -            thScopeNoWrap("TableHeader", scope);
  31.791 -            print(header[i]);
  31.792 -            thEnd();
  31.793 -        }
  31.794 -        trEnd();
  31.795 -    }
  31.796 -
  31.797 -    /**
  31.798       * Get summary table header.
  31.799       *
  31.800       * @param header the header for the table
  31.801 @@ -1407,7 +838,7 @@
  31.802      /**
  31.803       * Returns a package name label.
  31.804       *
  31.805 -     * @param parsedName the package name
  31.806 +     * @param packageName the package name
  31.807       * @return the package name content
  31.808       */
  31.809      public Content getPackageLabel(String packageName) {
  31.810 @@ -1453,144 +884,6 @@
  31.811      }
  31.812  
  31.813      /**
  31.814 -     * Prine table header information about color, column span and the font.
  31.815 -     *
  31.816 -     * @param color Background color.
  31.817 -     * @param span  Column span.
  31.818 -     */
  31.819 -    public void tableHeaderStart(String color, int span) {
  31.820 -        trBgcolorStyle(color, "TableHeadingColor");
  31.821 -        thAlignColspan("left", span);
  31.822 -        font("+2");
  31.823 -    }
  31.824 -
  31.825 -    /**
  31.826 -     * Print table header for the inherited members summary tables. Print the
  31.827 -     * background color information.
  31.828 -     *
  31.829 -     * @param color Background color.
  31.830 -     */
  31.831 -    public void tableInheritedHeaderStart(String color) {
  31.832 -        trBgcolorStyle(color, "TableSubHeadingColor");
  31.833 -        thAlign("left");
  31.834 -    }
  31.835 -
  31.836 -    /**
  31.837 -     * Print "Use" table header. Print the background color and the column span.
  31.838 -     *
  31.839 -     * @param color Background color.
  31.840 -     */
  31.841 -    public void tableUseInfoHeaderStart(String color) {
  31.842 -        trBgcolorStyle(color, "TableSubHeadingColor");
  31.843 -        thAlignColspan("left", 2);
  31.844 -    }
  31.845 -
  31.846 -    /**
  31.847 -     * Print table header with the background color with default column span 2.
  31.848 -     *
  31.849 -     * @param color Background color.
  31.850 -     */
  31.851 -    public void tableHeaderStart(String color) {
  31.852 -        tableHeaderStart(color, 2);
  31.853 -    }
  31.854 -
  31.855 -    /**
  31.856 -     * Print table header with the column span, with the default color #CCCCFF.
  31.857 -     *
  31.858 -     * @param span Column span.
  31.859 -     */
  31.860 -    public void tableHeaderStart(int span) {
  31.861 -        tableHeaderStart("#CCCCFF", span);
  31.862 -    }
  31.863 -
  31.864 -    /**
  31.865 -     * Print table header with default column span 2 and default color #CCCCFF.
  31.866 -     */
  31.867 -    public void tableHeaderStart() {
  31.868 -        tableHeaderStart(2);
  31.869 -    }
  31.870 -
  31.871 -    /**
  31.872 -     * Print table header end tags for font, column and row.
  31.873 -     */
  31.874 -    public void tableHeaderEnd() {
  31.875 -        fontEnd();
  31.876 -        thEnd();
  31.877 -        trEnd();
  31.878 -    }
  31.879 -
  31.880 -    /**
  31.881 -     * Print table header end tags in inherited tables for column and row.
  31.882 -     */
  31.883 -    public void tableInheritedHeaderEnd() {
  31.884 -        thEnd();
  31.885 -        trEnd();
  31.886 -    }
  31.887 -
  31.888 -    /**
  31.889 -     * Print the summary table row cell attribute width.
  31.890 -     *
  31.891 -     * @param width Width of the table cell.
  31.892 -     */
  31.893 -    public void summaryRow(int width) {
  31.894 -        if (width != 0) {
  31.895 -            tdWidth(width + "%");
  31.896 -        } else {
  31.897 -            td();
  31.898 -        }
  31.899 -    }
  31.900 -
  31.901 -    /**
  31.902 -     * Print the summary table row cell end tag.
  31.903 -     */
  31.904 -    public void summaryRowEnd() {
  31.905 -        tdEnd();
  31.906 -    }
  31.907 -
  31.908 -    /**
  31.909 -     * Print the heading in Html {@literal <H2>} format.
  31.910 -     *
  31.911 -     * @param str The Header string.
  31.912 -     */
  31.913 -    public void printIndexHeading(String str) {
  31.914 -        h2();
  31.915 -        print(str);
  31.916 -        h2End();
  31.917 -    }
  31.918 -
  31.919 -    /**
  31.920 -     * Print Html tag &lt;FRAMESET=arg&gt;.
  31.921 -     *
  31.922 -     * @param arg Argument for the tag.
  31.923 -     */
  31.924 -    public void frameSet(String arg) {
  31.925 -        println("<FRAMESET " + arg + ">");
  31.926 -    }
  31.927 -
  31.928 -    /**
  31.929 -     * Print Html closing tag &lt;/FRAMESET&gt;.
  31.930 -     */
  31.931 -    public void frameSetEnd() {
  31.932 -        println("</FRAMESET>");
  31.933 -    }
  31.934 -
  31.935 -    /**
  31.936 -     * Print Html tag &lt;FRAME=arg&gt;.
  31.937 -     *
  31.938 -     * @param arg Argument for the tag.
  31.939 -     */
  31.940 -    public void frame(String arg) {
  31.941 -        println("<FRAME " + arg + ">");
  31.942 -    }
  31.943 -
  31.944 -    /**
  31.945 -     * Print Html closing tag &lt;/FRAME&gt;.
  31.946 -     */
  31.947 -    public void frameEnd() {
  31.948 -        println("</FRAME>");
  31.949 -    }
  31.950 -
  31.951 -    /**
  31.952       * Return path to the class page for a classdoc. For example, the class
  31.953       * name is "java.lang.Object" and if the current file getting generated is
  31.954       * "java/io/File.html", then the path string to the class, returned is
  31.955 @@ -1623,36 +916,12 @@
  31.956       * @param name File name, to which path string is.
  31.957       */
  31.958      protected String pathString(PackageDoc pd, String name) {
  31.959 -        StringBuffer buf = new StringBuffer(relativePath);
  31.960 +        StringBuilder buf = new StringBuilder(relativePath);
  31.961          buf.append(DirectoryManager.getPathToPackage(pd, name));
  31.962          return buf.toString();
  31.963      }
  31.964  
  31.965      /**
  31.966 -     * Print the link to the given package.
  31.967 -     *
  31.968 -     * @param pkg the package to link to.
  31.969 -     * @param label the label for the link.
  31.970 -     * @param isStrong true if the label should be strong.
  31.971 -     */
  31.972 -    public void printPackageLink(PackageDoc pkg, String label, boolean isStrong) {
  31.973 -        print(getPackageLinkString(pkg, label, isStrong));
  31.974 -    }
  31.975 -
  31.976 -    /**
  31.977 -     * Print the link to the given package.
  31.978 -     *
  31.979 -     * @param pkg the package to link to.
  31.980 -     * @param label the label for the link.
  31.981 -     * @param isStrong true if the label should be strong.
  31.982 -     * @param style  the font of the package link label.
  31.983 -     */
  31.984 -    public void printPackageLink(PackageDoc pkg, String label, boolean isStrong,
  31.985 -            String style) {
  31.986 -        print(getPackageLinkString(pkg, label, isStrong, style));
  31.987 -    }
  31.988 -
  31.989 -    /**
  31.990       * Return the link to the given package.
  31.991       *
  31.992       * @param pkg the package to link to.
  31.993 @@ -1735,21 +1004,6 @@
  31.994          return (cd.isInterface())?  italicsText(name): name;
  31.995      }
  31.996  
  31.997 -    public void printSrcLink(ProgramElementDoc d, String label) {
  31.998 -        if (d == null) {
  31.999 -            return;
 31.1000 -        }
 31.1001 -        ClassDoc cd = d.containingClass();
 31.1002 -        if (cd == null) {
 31.1003 -            //d must be a class doc since in has no containing class.
 31.1004 -            cd = (ClassDoc) d;
 31.1005 -        }
 31.1006 -        String href = relativePath + DocletConstants.SOURCE_OUTPUT_DIR_NAME
 31.1007 -            + DirectoryManager.getDirectoryPath(cd.containingPackage())
 31.1008 -            + cd.name() + ".html#" + SourceToHTMLConverter.getAnchorName(d);
 31.1009 -        printHyperLink(href, "", label, true);
 31.1010 -    }
 31.1011 -
 31.1012      /**
 31.1013       * Add the link to the content tree.
 31.1014       *
 31.1015 @@ -1799,13 +1053,6 @@
 31.1016              factory.getTypeParameterLinks(linkInfo, false)).toString();
 31.1017      }
 31.1018  
 31.1019 -    /**
 31.1020 -     * Print the link to the given class.
 31.1021 -     */
 31.1022 -    public void printLink(LinkInfoImpl linkInfo) {
 31.1023 -        print(getLink(linkInfo));
 31.1024 -    }
 31.1025 -
 31.1026      /*************************************************************
 31.1027       * Return a class cross link to external class documentation.
 31.1028       * The name must be fully qualified to determine which package
 31.1029 @@ -1829,7 +1076,7 @@
 31.1030          while((periodIndex = packageName.lastIndexOf('.')) != -1) {
 31.1031              className = packageName.substring(periodIndex + 1, packageName.length()) +
 31.1032                  (className.length() > 0 ? "." + className : "");
 31.1033 -            String defaultLabel = code ? getCode() + className + getCodeEnd() : className;
 31.1034 +            String defaultLabel = code ? codeText(className) : className;
 31.1035              packageName = packageName.substring(0, periodIndex);
 31.1036              if (getCrossPackageLink(packageName) != null) {
 31.1037                  //The package exists in external documentation, so link to the external
 31.1038 @@ -1937,30 +1184,6 @@
 31.1039          addPreQualifiedClassLink(context, cd, true, contentTree);
 31.1040      }
 31.1041  
 31.1042 -    public void printText(String key) {
 31.1043 -        print(configuration.getText(key));
 31.1044 -    }
 31.1045 -
 31.1046 -    public void printText(String key, String a1) {
 31.1047 -        print(configuration.getText(key, a1));
 31.1048 -    }
 31.1049 -
 31.1050 -    public void printText(String key, String a1, String a2) {
 31.1051 -        print(configuration.getText(key, a1, a2));
 31.1052 -    }
 31.1053 -
 31.1054 -    public void strongText(String key) {
 31.1055 -        strong(configuration.getText(key));
 31.1056 -    }
 31.1057 -
 31.1058 -    public void strongText(String key, String a1) {
 31.1059 -        strong(configuration.getText(key, a1));
 31.1060 -    }
 31.1061 -
 31.1062 -    public void strongText(String key, String a1, String a2) {
 31.1063 -        strong(configuration.getText(key, a1, a2));
 31.1064 -    }
 31.1065 -
 31.1066      /**
 31.1067       * Get the link for the given member.
 31.1068       *
 31.1069 @@ -1974,22 +1197,6 @@
 31.1070      }
 31.1071  
 31.1072      /**
 31.1073 -     * Print the link for the given member.
 31.1074 -     *
 31.1075 -     * @param context the id of the context where the link will be printed.
 31.1076 -     * @param classDoc the classDoc that we should link to.  This is not
 31.1077 -     *                 necessarily equal to doc.containingClass().  We may be
 31.1078 -     *                 inheriting comments.
 31.1079 -     * @param doc the member being linked to.
 31.1080 -     * @param label the label for the link.
 31.1081 -     * @param strong true if the link should be strong.
 31.1082 -     */
 31.1083 -    public void printDocLink(int context, ClassDoc classDoc, MemberDoc doc,
 31.1084 -            String label, boolean strong) {
 31.1085 -        print(getDocLink(context, classDoc, doc, label, strong));
 31.1086 -    }
 31.1087 -
 31.1088 -    /**
 31.1089       * Return the link for the given member.
 31.1090       *
 31.1091       * @param context the id of the context where the link will be printed.
 31.1092 @@ -2060,10 +1267,6 @@
 31.1093          }
 31.1094      }
 31.1095  
 31.1096 -    public void anchor(ExecutableMemberDoc emd) {
 31.1097 -        anchor(getAnchor(emd));
 31.1098 -    }
 31.1099 -
 31.1100      public String getAnchor(ExecutableMemberDoc emd) {
 31.1101          StringBuilder signature = new StringBuilder(emd.signature());
 31.1102          StringBuilder signatureParsed = new StringBuilder();
 31.1103 @@ -2086,66 +1289,61 @@
 31.1104          if (! (tagName.startsWith("@link") || tagName.equals("@see"))) {
 31.1105              return "";
 31.1106          }
 31.1107 -        StringBuffer result = new StringBuffer();
 31.1108 -        boolean isplaintext = tagName.toLowerCase().equals("@linkplain");
 31.1109 -        String label = see.label();
 31.1110 -        label = (label.length() > 0)?
 31.1111 -            ((isplaintext) ? label :
 31.1112 -                 getCode() + label + getCodeEnd()):"";
 31.1113 +
 31.1114          String seetext = replaceDocRootDir(see.text());
 31.1115  
 31.1116          //Check if @see is an href or "string"
 31.1117          if (seetext.startsWith("<") || seetext.startsWith("\"")) {
 31.1118 -            result.append(seetext);
 31.1119 -            return result.toString();
 31.1120 +            return seetext;
 31.1121          }
 31.1122  
 31.1123 +        boolean plain = tagName.equalsIgnoreCase("@linkplain");
 31.1124 +        String label = plainOrCodeText(plain, see.label());
 31.1125 +
 31.1126          //The text from the @see tag.  We will output this text when a label is not specified.
 31.1127 -        String text = (isplaintext) ? seetext : getCode() + seetext + getCodeEnd();
 31.1128 +        String text = plainOrCodeText(plain, seetext);
 31.1129  
 31.1130          ClassDoc refClass = see.referencedClass();
 31.1131          String refClassName = see.referencedClassName();
 31.1132          MemberDoc refMem = see.referencedMember();
 31.1133          String refMemName = see.referencedMemberName();
 31.1134 +
 31.1135          if (refClass == null) {
 31.1136              //@see is not referencing an included class
 31.1137              PackageDoc refPackage = see.referencedPackage();
 31.1138              if (refPackage != null && refPackage.isIncluded()) {
 31.1139                  //@see is referencing an included package
 31.1140 -                String packageName = isplaintext ? refPackage.name() :
 31.1141 -                    getCode() + refPackage.name() + getCodeEnd();
 31.1142 -                result.append(getPackageLinkString(refPackage,
 31.1143 -                    label.length() == 0 ? packageName : label, false));
 31.1144 +                if (label.isEmpty())
 31.1145 +                    label = plainOrCodeText(plain, refPackage.name());
 31.1146 +                return getPackageLinkString(refPackage, label, false);
 31.1147              } else {
 31.1148                  //@see is not referencing an included class or package.  Check for cross links.
 31.1149                  String classCrossLink, packageCrossLink = getCrossPackageLink(refClassName);
 31.1150                  if (packageCrossLink != null) {
 31.1151                      //Package cross link found
 31.1152 -                    result.append(getHyperLinkString(packageCrossLink, "",
 31.1153 -                        (label.length() == 0)? text : label, false));
 31.1154 +                    return getHyperLinkString(packageCrossLink, "",
 31.1155 +                        (label.isEmpty() ? text : label), false);
 31.1156                  } else if ((classCrossLink = getCrossClassLink(refClassName,
 31.1157 -                        refMemName, label, false, "", ! isplaintext)) != null) {
 31.1158 -                    //Class cross link found (possiblly to a member in the class)
 31.1159 -                    result.append(classCrossLink);
 31.1160 +                        refMemName, label, false, "", !plain)) != null) {
 31.1161 +                    //Class cross link found (possibly to a member in the class)
 31.1162 +                    return classCrossLink;
 31.1163                  } else {
 31.1164                      //No cross link found so print warning
 31.1165                      configuration.getDocletSpecificMsg().warning(see.position(), "doclet.see.class_or_package_not_found",
 31.1166                              tagName, seetext);
 31.1167 -                    result.append((label.length() == 0)? text: label);
 31.1168 +                    return (label.isEmpty() ? text: label);
 31.1169                  }
 31.1170              }
 31.1171          } else if (refMemName == null) {
 31.1172              // Must be a class reference since refClass is not null and refMemName is null.
 31.1173 -            if (label.length() == 0) {
 31.1174 -                label = (isplaintext) ? refClass.name() : getCode() + refClass.name() + getCodeEnd();
 31.1175 -                result.append(getLink(new LinkInfoImpl(refClass, label)));
 31.1176 -            } else {
 31.1177 -                result.append(getLink(new LinkInfoImpl(refClass, label)));
 31.1178 +            if (label.isEmpty()) {
 31.1179 +                label = plainOrCodeText(plain, refClass.name());
 31.1180              }
 31.1181 +            return getLink(new LinkInfoImpl(refClass, label));
 31.1182          } else if (refMem == null) {
 31.1183              // Must be a member reference since refClass is not null and refMemName is not null.
 31.1184              // However, refMem is null, so this referenced member does not exist.
 31.1185 -            result.append((label.length() == 0)? text: label);
 31.1186 +            return (label.isEmpty() ? text: label);
 31.1187          } else {
 31.1188              // Must be a member reference since refClass is not null and refMemName is not null.
 31.1189              // refMem is not null, so this @see tag must be referencing a valid member.
 31.1190 @@ -2177,17 +1375,16 @@
 31.1191                      refMemName += ((ExecutableMemberDoc)refMem).signature();
 31.1192                  }
 31.1193              }
 31.1194 -            text = (isplaintext) ?
 31.1195 -                refMemName : getCode() + Util.escapeHtmlChars(refMemName) + getCodeEnd();
 31.1196  
 31.1197 -            result.append(getDocLink(LinkInfoImpl.CONTEXT_SEE_TAG, containing,
 31.1198 -                refMem, (label.length() == 0)? text: label, false));
 31.1199 +            text = plainOrCodeText(plain, Util.escapeHtmlChars(refMemName));
 31.1200 +
 31.1201 +            return getDocLink(LinkInfoImpl.CONTEXT_SEE_TAG, containing,
 31.1202 +                refMem, (label.isEmpty() ? text: label), false);
 31.1203          }
 31.1204 -        return result.toString();
 31.1205      }
 31.1206  
 31.1207 -    public void printInlineComment(Doc doc, Tag tag) {
 31.1208 -        printCommentTags(doc, tag.inlineTags(), false, false);
 31.1209 +    private String plainOrCodeText(boolean plain, String text) {
 31.1210 +        return (plain || text.isEmpty()) ? text : codeText(text);
 31.1211      }
 31.1212  
 31.1213      /**
 31.1214 @@ -2201,10 +1398,6 @@
 31.1215          addCommentTags(doc, tag.inlineTags(), false, false, htmltree);
 31.1216      }
 31.1217  
 31.1218 -    public void printInlineDeprecatedComment(Doc doc, Tag tag) {
 31.1219 -        printCommentTags(doc, tag.inlineTags(), true, false);
 31.1220 -    }
 31.1221 -
 31.1222      /**
 31.1223       * Add the inline deprecated comment.
 31.1224       *
 31.1225 @@ -2216,10 +1409,6 @@
 31.1226          addCommentTags(doc, tag.inlineTags(), true, false, htmltree);
 31.1227      }
 31.1228  
 31.1229 -    public void printSummaryComment(Doc doc) {
 31.1230 -        printSummaryComment(doc, doc.firstSentenceTags());
 31.1231 -    }
 31.1232 -
 31.1233      /**
 31.1234       * Adds the summary content.
 31.1235       *
 31.1236 @@ -2230,10 +1419,6 @@
 31.1237          addSummaryComment(doc, doc.firstSentenceTags(), htmltree);
 31.1238      }
 31.1239  
 31.1240 -    public void printSummaryComment(Doc doc, Tag[] firstSentenceTags) {
 31.1241 -        printCommentTags(doc, firstSentenceTags, false, true);
 31.1242 -    }
 31.1243 -
 31.1244      /**
 31.1245       * Adds the summary content.
 31.1246       *
 31.1247 @@ -2245,23 +1430,10 @@
 31.1248          addCommentTags(doc, firstSentenceTags, false, true, htmltree);
 31.1249      }
 31.1250  
 31.1251 -    public void printSummaryDeprecatedComment(Doc doc) {
 31.1252 -        printCommentTags(doc, doc.firstSentenceTags(), true, true);
 31.1253 -    }
 31.1254 -
 31.1255 -    public void printSummaryDeprecatedComment(Doc doc, Tag tag) {
 31.1256 -        printCommentTags(doc, tag.firstSentenceTags(), true, true);
 31.1257 -    }
 31.1258 -
 31.1259      public void addSummaryDeprecatedComment(Doc doc, Tag tag, Content htmltree) {
 31.1260          addCommentTags(doc, tag.firstSentenceTags(), true, true, htmltree);
 31.1261      }
 31.1262  
 31.1263 -    public void printInlineComment(Doc doc) {
 31.1264 -        printCommentTags(doc, doc.inlineTags(), false, false);
 31.1265 -        p();
 31.1266 -    }
 31.1267 -
 31.1268      /**
 31.1269       * Adds the inline comment.
 31.1270       *
 31.1271 @@ -2272,27 +1444,6 @@
 31.1272          addCommentTags(doc, doc.inlineTags(), false, false, htmltree);
 31.1273      }
 31.1274  
 31.1275 -    public void printInlineDeprecatedComment(Doc doc) {
 31.1276 -        printCommentTags(doc, doc.inlineTags(), true, false);
 31.1277 -    }
 31.1278 -
 31.1279 -    private void printCommentTags(Doc doc, Tag[] tags, boolean depr, boolean first) {
 31.1280 -        if(configuration.nocomment){
 31.1281 -            return;
 31.1282 -        }
 31.1283 -        if (depr) {
 31.1284 -            italic();
 31.1285 -        }
 31.1286 -        String result = commentTagsToString(null, doc, tags, first);
 31.1287 -        print(result);
 31.1288 -        if (depr) {
 31.1289 -            italicEnd();
 31.1290 -        }
 31.1291 -        if (tags.length == 0) {
 31.1292 -            space();
 31.1293 -        }
 31.1294 -    }
 31.1295 -
 31.1296      /**
 31.1297       * Adds the comment tags.
 31.1298       *
 31.1299 @@ -2385,7 +1536,7 @@
 31.1300                      text = removeNonInlineHtmlTags(text);
 31.1301                  }
 31.1302                  StringTokenizer lines = new StringTokenizer(text, "\r\n", true);
 31.1303 -                StringBuffer textBuff = new StringBuffer();
 31.1304 +                StringBuilder textBuff = new StringBuilder();
 31.1305                  while (lines.hasMoreTokens()) {
 31.1306                      StringBuilder line = new StringBuilder(lines.nextToken());
 31.1307                      Util.replaceTabs(configuration.sourcetab, line);
 31.1308 @@ -2454,7 +1605,7 @@
 31.1309          //Redirect all relative links.
 31.1310          int end, begin = text.toLowerCase().indexOf("<a");
 31.1311          if(begin >= 0){
 31.1312 -            StringBuffer textBuff = new StringBuffer(text);
 31.1313 +            StringBuilder textBuff = new StringBuilder(text);
 31.1314  
 31.1315              while(begin >=0){
 31.1316                  if (textBuff.length() > begin + 2 && ! Character.isWhitespace(textBuff.charAt(begin+2))) {
 31.1317 @@ -2557,22 +1708,6 @@
 31.1318          }
 31.1319      }
 31.1320  
 31.1321 -    public void printStyleSheetProperties() {
 31.1322 -        String filename = configuration.stylesheetfile;
 31.1323 -        if (filename.length() > 0) {
 31.1324 -            File stylefile = new File(filename);
 31.1325 -            String parent = stylefile.getParent();
 31.1326 -            filename = (parent == null)?
 31.1327 -                filename:
 31.1328 -                filename.substring(parent.length() + 1);
 31.1329 -        } else {
 31.1330 -            filename = "stylesheet.css";
 31.1331 -        }
 31.1332 -        filename = relativePath + filename;
 31.1333 -        link("REL =\"stylesheet\" TYPE=\"text/css\" HREF=\"" +
 31.1334 -                 filename + "\" " + "TITLE=\"Style\"");
 31.1335 -    }
 31.1336 -
 31.1337      /**
 31.1338       * Returns a link to the stylesheet file.
 31.1339       *
 31.1340 @@ -2604,15 +1739,6 @@
 31.1341      }
 31.1342  
 31.1343      /**
 31.1344 -     * Write the annotatation types for the given packageDoc.
 31.1345 -     *
 31.1346 -     * @param packageDoc the package to write annotations for.
 31.1347 -     */
 31.1348 -    public void writeAnnotationInfo(PackageDoc packageDoc) {
 31.1349 -        writeAnnotationInfo(packageDoc, packageDoc.annotations());
 31.1350 -    }
 31.1351 -
 31.1352 -    /**
 31.1353       * Adds the annotatation types for the given packageDoc.
 31.1354       *
 31.1355       * @param packageDoc the package to write annotations for.
 31.1356 @@ -2624,18 +1750,9 @@
 31.1357      }
 31.1358  
 31.1359      /**
 31.1360 -     * Write the annotatation types for the given doc.
 31.1361 -     *
 31.1362 -     * @param doc the doc to write annotations for.
 31.1363 -     */
 31.1364 -    public void writeAnnotationInfo(ProgramElementDoc doc) {
 31.1365 -        writeAnnotationInfo(doc, doc.annotations());
 31.1366 -    }
 31.1367 -
 31.1368 -    /**
 31.1369       * Adds the annotatation types for the given doc.
 31.1370       *
 31.1371 -     * @param packageDoc the package to write annotations for
 31.1372 +     * @param doc the package to write annotations for
 31.1373       * @param htmltree the content tree to which the annotation types will be added
 31.1374       */
 31.1375      public void addAnnotationInfo(ProgramElementDoc doc, Content htmltree) {
 31.1376 @@ -2643,17 +1760,6 @@
 31.1377      }
 31.1378  
 31.1379      /**
 31.1380 -     * Write the annotatation types for the given doc and parameter.
 31.1381 -     *
 31.1382 -     * @param indent the number of spaced to indent the parameters.
 31.1383 -     * @param doc the doc to write annotations for.
 31.1384 -     * @param param the parameter to write annotations for.
 31.1385 -     */
 31.1386 -    public boolean writeAnnotationInfo(int indent, Doc doc, Parameter param) {
 31.1387 -        return writeAnnotationInfo(indent, doc, param.annotations(), false);
 31.1388 -    }
 31.1389 -
 31.1390 -    /**
 31.1391       * Add the annotatation types for the given doc and parameter.
 31.1392       *
 31.1393       * @param indent the number of spaces to indent the parameters.
 31.1394 @@ -2667,16 +1773,6 @@
 31.1395      }
 31.1396  
 31.1397      /**
 31.1398 -     * Write the annotatation types for the given doc.
 31.1399 -     *
 31.1400 -     * @param doc the doc to write annotations for.
 31.1401 -     * @param descList the array of {@link AnnotationDesc}.
 31.1402 -     */
 31.1403 -    private void writeAnnotationInfo(Doc doc, AnnotationDesc[] descList) {
 31.1404 -        writeAnnotationInfo(0, doc, descList, true);
 31.1405 -    }
 31.1406 -
 31.1407 -    /**
 31.1408       * Adds the annotatation types for the given doc.
 31.1409       *
 31.1410       * @param doc the doc to write annotations for.
 31.1411 @@ -2690,26 +1786,6 @@
 31.1412      }
 31.1413  
 31.1414      /**
 31.1415 -     * Write the annotatation types for the given doc.
 31.1416 -     *
 31.1417 -     * @param indent the number of extra spaces to indent the annotations.
 31.1418 -     * @param doc the doc to write annotations for.
 31.1419 -     * @param descList the array of {@link AnnotationDesc}.
 31.1420 -     */
 31.1421 -    private boolean writeAnnotationInfo(int indent, Doc doc, AnnotationDesc[] descList, boolean lineBreak) {
 31.1422 -        List<String> annotations = getAnnotations(indent, descList, lineBreak);
 31.1423 -        if (annotations.size() == 0) {
 31.1424 -            return false;
 31.1425 -        }
 31.1426 -        fontNoNewLine("-1");
 31.1427 -        for (Iterator<String> iter = annotations.iterator(); iter.hasNext();) {
 31.1428 -            print(iter.next());
 31.1429 -        }
 31.1430 -        fontEnd();
 31.1431 -        return true;
 31.1432 -    }
 31.1433 -
 31.1434 -    /**
 31.1435       * Adds the annotatation types for the given doc.
 31.1436       *
 31.1437       * @param indent the number of extra spaces to indent the annotations.
 31.1438 @@ -2744,13 +1820,13 @@
 31.1439       */
 31.1440      private List<String> getAnnotations(int indent, AnnotationDesc[] descList, boolean linkBreak) {
 31.1441          List<String> results = new ArrayList<String>();
 31.1442 -        StringBuffer annotation;
 31.1443 +        StringBuilder annotation;
 31.1444          for (int i = 0; i < descList.length; i++) {
 31.1445              AnnotationTypeDoc annotationDoc = descList[i].annotationType();
 31.1446              if (! Util.isDocumentedAnnotation(annotationDoc)){
 31.1447                  continue;
 31.1448              }
 31.1449 -            annotation = new StringBuffer();
 31.1450 +            annotation = new StringBuilder();
 31.1451              LinkInfoImpl linkInfo = new LinkInfoImpl(
 31.1452                  LinkInfoImpl.CONTEXT_ANNOTATION, annotationDoc);
 31.1453              linkInfo.label = "@" + annotationDoc.name();
 31.1454 @@ -2815,9 +1891,9 @@
 31.1455              List<String> list = getAnnotations(0,
 31.1456                  new AnnotationDesc[]{(AnnotationDesc) annotationValue.value()},
 31.1457                      false);
 31.1458 -            StringBuffer buf = new StringBuffer();
 31.1459 -            for (Iterator<String> iter = list.iterator(); iter.hasNext(); ) {
 31.1460 -                buf.append(iter.next());
 31.1461 +            StringBuilder buf = new StringBuilder();
 31.1462 +            for (String s: list) {
 31.1463 +                buf.append(s);
 31.1464              }
 31.1465              return buf.toString();
 31.1466          } else if (annotationValue.value() instanceof MemberDoc) {
    32.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/HtmlSerialFieldWriter.java	Thu Oct 18 11:09:45 2012 -0700
    32.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/HtmlSerialFieldWriter.java	Tue Oct 23 09:42:48 2012 -0700
    32.3 @@ -1,5 +1,5 @@
    32.4  /*
    32.5 - * Copyright (c) 1998, 2011, Oracle and/or its affiliates. All rights reserved.
    32.6 + * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved.
    32.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    32.8   *
    32.9   * This code is free software; you can redistribute it and/or modify it
   32.10 @@ -28,15 +28,20 @@
   32.11  import java.util.*;
   32.12  
   32.13  import com.sun.javadoc.*;
   32.14 +import com.sun.tools.doclets.formats.html.markup.*;
   32.15  import com.sun.tools.doclets.internal.toolkit.*;
   32.16  import com.sun.tools.doclets.internal.toolkit.taglets.*;
   32.17 -import com.sun.tools.doclets.formats.html.markup.*;
   32.18  
   32.19  /**
   32.20   * Generate serialized form for serializable fields.
   32.21   * Documentation denoted by the tags <code>serial</code> and
   32.22   * <code>serialField</code> is processed.
   32.23   *
   32.24 + *  <p><b>This is NOT part of any supported API.
   32.25 + *  If you write code that depends on this, you do so at your own risk.
   32.26 + *  This code and its internal interfaces are subject to change or
   32.27 + *  deletion without notice.</b>
   32.28 + *
   32.29   * @author Joe Fialli
   32.30   * @author Bhavesh Patel (Modified)
   32.31   */
   32.32 @@ -55,18 +60,6 @@
   32.33          return Arrays.asList(cd.serializableFields());
   32.34      }
   32.35  
   32.36 -    protected void printTypeLinkNoDimension(Type type) {
   32.37 -        ClassDoc cd = type.asClassDoc();
   32.38 -        //Linking to package private classes in serialized for causes
   32.39 -        //broken links.  Don't link to them.
   32.40 -        if (type.isPrimitive() || cd.isPackagePrivate()) {
   32.41 -            print(type.typeName());
   32.42 -        } else {
   32.43 -            writer.printLink(new LinkInfoImpl(
   32.44 -                LinkInfoImpl.CONTEXT_SERIAL_MEMBER, type));
   32.45 -        }
   32.46 -    }
   32.47 -
   32.48      /**
   32.49       * Return the header for serializable fields section.
   32.50       *
   32.51 @@ -121,10 +114,10 @@
   32.52      /**
   32.53       * Add the member header.
   32.54       *
   32.55 -     * @param fieldsType the class document to be listed
   32.56 -     * @param fieldTypeStr the string for the filed type to be documented
   32.57 +     * @param fieldType the class document to be listed
   32.58 +     * @param fieldTypeStr the string for the field type to be documented
   32.59       * @param fieldDimensions the dimensions of the field string to be added
   32.60 -     * @param firldName name of the field to be added
   32.61 +     * @param fieldName name of the field to be added
   32.62       * @param contentTree the content tree to which the member header will be added
   32.63       */
   32.64      public void addMemberHeader(ClassDoc fieldType, String fieldTypeStr,
    33.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/HtmlSerialMethodWriter.java	Thu Oct 18 11:09:45 2012 -0700
    33.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/HtmlSerialMethodWriter.java	Tue Oct 23 09:42:48 2012 -0700
    33.3 @@ -1,5 +1,5 @@
    33.4  /*
    33.5 - * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved.
    33.6 + * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved.
    33.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    33.8   *
    33.9   * This code is free software; you can redistribute it and/or modify it
   33.10 @@ -26,14 +26,19 @@
   33.11  package com.sun.tools.doclets.formats.html;
   33.12  
   33.13  import com.sun.javadoc.*;
   33.14 +import com.sun.tools.doclets.formats.html.markup.*;
   33.15  import com.sun.tools.doclets.internal.toolkit.*;
   33.16  import com.sun.tools.doclets.internal.toolkit.taglets.*;
   33.17 -import com.sun.tools.doclets.formats.html.markup.*;
   33.18  
   33.19  /**
   33.20   * Generate serialized form for Serializable/Externalizable methods.
   33.21   * Documentation denoted by the <code>serialData</code> tag is processed.
   33.22   *
   33.23 + *  <p><b>This is NOT part of any supported API.
   33.24 + *  If you write code that depends on this, you do so at your own risk.
   33.25 + *  This code and its internal interfaces are subject to change or
   33.26 + *  deletion without notice.</b>
   33.27 + *
   33.28   * @author Joe Fialli
   33.29   * @author Bhavesh Patel (Modified)
   33.30   */
   33.31 @@ -161,14 +166,4 @@
   33.32                  method.containingClass().qualifiedName(), method.name());
   33.33          }
   33.34      }
   33.35 -
   33.36 -    protected void printTypeLinkNoDimension(Type type) {
   33.37 -        ClassDoc cd = type.asClassDoc();
   33.38 -        if (type.isPrimitive() || cd.isPackagePrivate()) {
   33.39 -            print(type.typeName());
   33.40 -        } else {
   33.41 -            writer.printLink(new LinkInfoImpl(
   33.42 -                LinkInfoImpl.CONTEXT_SERIAL_MEMBER,type));
   33.43 -        }
   33.44 -    }
   33.45  }
    34.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/LinkFactoryImpl.java	Thu Oct 18 11:09:45 2012 -0700
    34.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/LinkFactoryImpl.java	Tue Oct 23 09:42:48 2012 -0700
    34.3 @@ -1,5 +1,5 @@
    34.4  /*
    34.5 - * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
    34.6 + * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
    34.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    34.8   *
    34.9   * This code is free software; you can redistribute it and/or modify it
   34.10 @@ -25,14 +25,19 @@
   34.11  
   34.12  package com.sun.tools.doclets.formats.html;
   34.13  
   34.14 -import com.sun.tools.doclets.internal.toolkit.util.links.*;
   34.15  import com.sun.javadoc.*;
   34.16  import com.sun.tools.doclets.internal.toolkit.*;
   34.17  import com.sun.tools.doclets.internal.toolkit.util.*;
   34.18 +import com.sun.tools.doclets.internal.toolkit.util.links.*;
   34.19  
   34.20  /**
   34.21   * A factory that returns a link given the information about it.
   34.22   *
   34.23 + *  <p><b>This is NOT part of any supported API.
   34.24 + *  If you write code that depends on this, you do so at your own risk.
   34.25 + *  This code and its internal interfaces are subject to change or
   34.26 + *  deletion without notice.</b>
   34.27 + *
   34.28   * @author Jamie Ho
   34.29   * @since 1.5
   34.30   */
   34.31 @@ -66,7 +71,7 @@
   34.32                      classLinkInfo.type != null &&
   34.33                      !classDoc.qualifiedTypeName().equals(classLinkInfo.type.qualifiedTypeName())) :
   34.34              "";
   34.35 -        StringBuffer label = new StringBuffer(
   34.36 +        StringBuilder label = new StringBuilder(
   34.37              classLinkInfo.getClassLinkLabel(m_writer.configuration));
   34.38          classLinkInfo.displayLength += label.length();
   34.39          Configuration configuration = ConfigurationImpl.getInstance();
   34.40 @@ -155,7 +160,6 @@
   34.41       * "../../java/lang/Object.html"
   34.42       *
   34.43       * @param linkInfo the information about the link.
   34.44 -     * @param fileName the file name, to which path string is.
   34.45       */
   34.46      private String pathString(LinkInfoImpl linkInfo) {
   34.47          if (linkInfo.context == LinkInfoImpl.PACKAGE_FRAME) {
   34.48 @@ -163,7 +167,7 @@
   34.49              //with 1.4.2 output.
   34.50              return linkInfo.classDoc.name() + ".html";
   34.51          }
   34.52 -        StringBuffer buf = new StringBuffer(m_writer.relativePath);
   34.53 +        StringBuilder buf = new StringBuilder(m_writer.relativePath);
   34.54          buf.append(DirectoryManager.getPathToPackage(
   34.55              linkInfo.classDoc.containingPackage(),
   34.56              linkInfo.classDoc.name() + ".html"));
    35.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/LinkInfoImpl.java	Thu Oct 18 11:09:45 2012 -0700
    35.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/LinkInfoImpl.java	Tue Oct 23 09:42:48 2012 -0700
    35.3 @@ -1,5 +1,5 @@
    35.4  /*
    35.5 - * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
    35.6 + * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
    35.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    35.8   *
    35.9   * This code is free software; you can redistribute it and/or modify it
   35.10 @@ -30,6 +30,12 @@
   35.11  import com.sun.tools.doclets.internal.toolkit.util.*;
   35.12  import com.sun.tools.doclets.internal.toolkit.util.links.*;
   35.13  
   35.14 +/**
   35.15 + *  <p><b>This is NOT part of any supported API.
   35.16 + *  If you write code that depends on this, you do so at your own risk.
   35.17 + *  This code and its internal interfaces are subject to change or
   35.18 + *  deletion without notice.</b>
   35.19 + */
   35.20  public class LinkInfoImpl extends LinkInfo {
   35.21  
   35.22      /**
    36.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/LinkOutputImpl.java	Thu Oct 18 11:09:45 2012 -0700
    36.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/LinkOutputImpl.java	Tue Oct 23 09:42:48 2012 -0700
    36.3 @@ -1,5 +1,5 @@
    36.4  /*
    36.5 - * Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved.
    36.6 + * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
    36.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    36.8   *
    36.9   * This code is free software; you can redistribute it and/or modify it
   36.10 @@ -30,6 +30,11 @@
   36.11  /**
   36.12   * Stores output of a link.
   36.13   *
   36.14 + *  <p><b>This is NOT part of any supported API.
   36.15 + *  If you write code that depends on this, you do so at your own risk.
   36.16 + *  This code and its internal interfaces are subject to change or
   36.17 + *  deletion without notice.</b>
   36.18 + *
   36.19   * @author Jamie Ho
   36.20   * @since 1.5
   36.21   */
   36.22 @@ -38,13 +43,13 @@
   36.23      /**
   36.24       * The output of the link.
   36.25       */
   36.26 -    public StringBuffer output;
   36.27 +    public StringBuilder output;
   36.28  
   36.29      /**
   36.30       * Construct a new LinkOutputImpl.
   36.31       */
   36.32      public LinkOutputImpl() {
   36.33 -        output = new StringBuffer();
   36.34 +        output = new StringBuilder();
   36.35      }
   36.36  
   36.37      /**
    37.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/MethodWriterImpl.java	Thu Oct 18 11:09:45 2012 -0700
    37.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/MethodWriterImpl.java	Tue Oct 23 09:42:48 2012 -0700
    37.3 @@ -1,5 +1,5 @@
    37.4  /*
    37.5 - * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
    37.6 + * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
    37.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    37.8   *
    37.9   * This code is free software; you can redistribute it and/or modify it
   37.10 @@ -35,6 +35,11 @@
   37.11  /**
   37.12   * Writes method documentation in HTML format.
   37.13   *
   37.14 + *  <p><b>This is NOT part of any supported API.
   37.15 + *  If you write code that depends on this, you do so at your own risk.
   37.16 + *  This code and its internal interfaces are subject to change or
   37.17 + *  deletion without notice.</b>
   37.18 + *
   37.19   * @author Robert Field
   37.20   * @author Atul M Dambalkar
   37.21   * @author Jamie Ho (rewrite)
    38.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/NestedClassWriterImpl.java	Thu Oct 18 11:09:45 2012 -0700
    38.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/NestedClassWriterImpl.java	Tue Oct 23 09:42:48 2012 -0700
    38.3 @@ -1,5 +1,5 @@
    38.4  /*
    38.5 - * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
    38.6 + * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
    38.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    38.8   *
    38.9   * This code is free software; you can redistribute it and/or modify it
   38.10 @@ -36,6 +36,11 @@
   38.11  /**
   38.12   * Writes nested class documentation in HTML format.
   38.13   *
   38.14 + *  <p><b>This is NOT part of any supported API.
   38.15 + *  If you write code that depends on this, you do so at your own risk.
   38.16 + *  This code and its internal interfaces are subject to change or
   38.17 + *  deletion without notice.</b>
   38.18 + *
   38.19   * @author Robert Field
   38.20   * @author Atul M Dambalkar
   38.21   * @author Jamie Ho (rewrite)
    39.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/PackageFrameWriter.java	Thu Oct 18 11:09:45 2012 -0700
    39.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/PackageFrameWriter.java	Tue Oct 23 09:42:48 2012 -0700
    39.3 @@ -1,5 +1,5 @@
    39.4  /*
    39.5 - * Copyright (c) 1998, 2011, Oracle and/or its affiliates. All rights reserved.
    39.6 + * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved.
    39.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    39.8   *
    39.9   * This code is free software; you can redistribute it and/or modify it
   39.10 @@ -27,16 +27,22 @@
   39.11  
   39.12  import java.io.*;
   39.13  import java.util.*;
   39.14 +
   39.15  import com.sun.javadoc.*;
   39.16 +import com.sun.tools.doclets.formats.html.markup.*;
   39.17 +import com.sun.tools.doclets.internal.toolkit.*;
   39.18  import com.sun.tools.doclets.internal.toolkit.util.*;
   39.19 -import com.sun.tools.doclets.internal.toolkit.*;
   39.20 -import com.sun.tools.doclets.formats.html.markup.*;
   39.21  
   39.22  /**
   39.23   * Class to generate file for each package contents in the left-hand bottom
   39.24   * frame. This will list all the Class Kinds in the package. A click on any
   39.25   * class-kind will update the right-hand frame with the clicked class-kind page.
   39.26   *
   39.27 + *  <p><b>This is NOT part of any supported API.
   39.28 + *  If you write code that depends on this, you do so at your own risk.
   39.29 + *  This code and its internal interfaces are subject to change or
   39.30 + *  deletion without notice.</b>
   39.31 + *
   39.32   * @author Atul M Dambalkar
   39.33   * @author Bhavesh Patel (Modified)
   39.34   */
    40.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/PackageIndexFrameWriter.java	Thu Oct 18 11:09:45 2012 -0700
    40.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/PackageIndexFrameWriter.java	Tue Oct 23 09:42:48 2012 -0700
    40.3 @@ -1,5 +1,5 @@
    40.4  /*
    40.5 - * Copyright (c) 1998, 2011, Oracle and/or its affiliates. All rights reserved.
    40.6 + * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved.
    40.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    40.8   *
    40.9   * This code is free software; you can redistribute it and/or modify it
   40.10 @@ -26,16 +26,22 @@
   40.11  package com.sun.tools.doclets.formats.html;
   40.12  
   40.13  import java.io.*;
   40.14 +
   40.15  import com.sun.javadoc.*;
   40.16 +import com.sun.tools.doclets.formats.html.markup.*;
   40.17  import com.sun.tools.doclets.internal.toolkit.*;
   40.18  import com.sun.tools.doclets.internal.toolkit.util.*;
   40.19 -import com.sun.tools.doclets.formats.html.markup.*;
   40.20  
   40.21  /**
   40.22   * Generate the package index for the left-hand frame in the generated output.
   40.23   * A click on the package name in this frame will update the page in the bottom
   40.24   * left hand frame with the listing of contents of the clicked package.
   40.25   *
   40.26 + *  <p><b>This is NOT part of any supported API.
   40.27 + *  If you write code that depends on this, you do so at your own risk.
   40.28 + *  This code and its internal interfaces are subject to change or
   40.29 + *  deletion without notice.</b>
   40.30 + *
   40.31   * @author Atul M Dambalkar
   40.32   */
   40.33  public class PackageIndexFrameWriter extends AbstractPackageIndexWriter {
    41.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/PackageIndexWriter.java	Thu Oct 18 11:09:45 2012 -0700
    41.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/PackageIndexWriter.java	Tue Oct 23 09:42:48 2012 -0700
    41.3 @@ -1,5 +1,5 @@
    41.4  /*
    41.5 - * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
    41.6 + * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
    41.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    41.8   *
    41.9   * This code is free software; you can redistribute it and/or modify it
   41.10 @@ -27,16 +27,22 @@
   41.11  
   41.12  import java.io.*;
   41.13  import java.util.*;
   41.14 +
   41.15  import com.sun.javadoc.*;
   41.16 +import com.sun.tools.doclets.formats.html.markup.*;
   41.17  import com.sun.tools.doclets.internal.toolkit.*;
   41.18  import com.sun.tools.doclets.internal.toolkit.util.*;
   41.19 -import com.sun.tools.doclets.formats.html.markup.*;
   41.20  
   41.21  /**
   41.22   * Generate the package index page "overview-summary.html" for the right-hand
   41.23   * frame. A click on the package name on this page will update the same frame
   41.24   * with the "pacakge-summary.html" file for the clicked package.
   41.25   *
   41.26 + *  <p><b>This is NOT part of any supported API.
   41.27 + *  If you write code that depends on this, you do so at your own risk.
   41.28 + *  This code and its internal interfaces are subject to change or
   41.29 + *  deletion without notice.</b>
   41.30 + *
   41.31   * @author Atul M Dambalkar
   41.32   * @author Bhavesh Patel (Modified)
   41.33   */
   41.34 @@ -228,7 +234,7 @@
   41.35       * Adds the lower navigation bar and the bottom text
   41.36       * (from the -bottom option) at the bottom of page.
   41.37       *
   41.38 -     * @param the documentation tree to which the navigation bar footer will be added
   41.39 +     * @param body the documentation tree to which the navigation bar footer will be added
   41.40       */
   41.41      protected void addNavigationBarFooter(Content body) {
   41.42          addNavLinks(false, body);
    42.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/PackageTreeWriter.java	Thu Oct 18 11:09:45 2012 -0700
    42.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/PackageTreeWriter.java	Tue Oct 23 09:42:48 2012 -0700
    42.3 @@ -1,5 +1,5 @@
    42.4  /*
    42.5 - * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved.
    42.6 + * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved.
    42.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    42.8   *
    42.9   * This code is free software; you can redistribute it and/or modify it
   42.10 @@ -28,14 +28,19 @@
   42.11  import java.io.*;
   42.12  
   42.13  import com.sun.javadoc.*;
   42.14 -import com.sun.tools.doclets.internal.toolkit.util.*;
   42.15  import com.sun.tools.doclets.formats.html.markup.*;
   42.16  import com.sun.tools.doclets.internal.toolkit.*;
   42.17 +import com.sun.tools.doclets.internal.toolkit.util.*;
   42.18  
   42.19  /**
   42.20   * Class to generate Tree page for a package. The name of the file generated is
   42.21   * "package-tree.html" and it is generated in the respective package directory.
   42.22   *
   42.23 + *  <p><b>This is NOT part of any supported API.
   42.24 + *  If you write code that depends on this, you do so at your own risk.
   42.25 + *  This code and its internal interfaces are subject to change or
   42.26 + *  deletion without notice.</b>
   42.27 + *
   42.28   * @author Atul M Dambalkar
   42.29   * @author Bhavesh Patel (Modified)
   42.30   */
    43.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/PackageUseWriter.java	Thu Oct 18 11:09:45 2012 -0700
    43.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/PackageUseWriter.java	Tue Oct 23 09:42:48 2012 -0700
    43.3 @@ -1,5 +1,5 @@
    43.4  /*
    43.5 - * Copyright (c) 1998, 2011, Oracle and/or its affiliates. All rights reserved.
    43.6 + * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved.
    43.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    43.8   *
    43.9   * This code is free software; you can redistribute it and/or modify it
   43.10 @@ -27,14 +27,20 @@
   43.11  
   43.12  import java.io.*;
   43.13  import java.util.*;
   43.14 +
   43.15  import com.sun.javadoc.*;
   43.16 -import com.sun.tools.doclets.internal.toolkit.util.*;
   43.17  import com.sun.tools.doclets.formats.html.markup.*;
   43.18  import com.sun.tools.doclets.internal.toolkit.*;
   43.19 +import com.sun.tools.doclets.internal.toolkit.util.*;
   43.20  
   43.21  /**
   43.22   * Generate package usage information.
   43.23   *
   43.24 + *  <p><b>This is NOT part of any supported API.
   43.25 + *  If you write code that depends on this, you do so at your own risk.
   43.26 + *  This code and its internal interfaces are subject to change or
   43.27 + *  deletion without notice.</b>
   43.28 + *
   43.29   * @author Robert G. Field
   43.30   * @author Bhavesh Patel (Modified)
   43.31   */
    44.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/PackageWriterImpl.java	Thu Oct 18 11:09:45 2012 -0700
    44.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/PackageWriterImpl.java	Tue Oct 23 09:42:48 2012 -0700
    44.3 @@ -1,5 +1,5 @@
    44.4  /*
    44.5 - * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
    44.6 + * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
    44.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    44.8   *
    44.9   * This code is free software; you can redistribute it and/or modify it
   44.10 @@ -27,16 +27,22 @@
   44.11  
   44.12  import java.io.*;
   44.13  import java.util.*;
   44.14 +
   44.15  import com.sun.javadoc.*;
   44.16 +import com.sun.tools.doclets.formats.html.markup.*;
   44.17  import com.sun.tools.doclets.internal.toolkit.*;
   44.18  import com.sun.tools.doclets.internal.toolkit.util.*;
   44.19 -import com.sun.tools.doclets.formats.html.markup.*;
   44.20  
   44.21  /**
   44.22   * Class to generate file for each package contents in the right-hand
   44.23   * frame. This will list all the Class Kinds in the package. A click on any
   44.24   * class-kind will update the frame with the clicked class-kind page.
   44.25   *
   44.26 + *  <p><b>This is NOT part of any supported API.
   44.27 + *  If you write code that depends on this, you do so at your own risk.
   44.28 + *  This code and its internal interfaces are subject to change or
   44.29 + *  deletion without notice.</b>
   44.30 + *
   44.31   * @author Atul M Dambalkar
   44.32   * @author Bhavesh Patel (Modified)
   44.33   */
   44.34 @@ -248,7 +254,7 @@
   44.35      /**
   44.36       * {@inheritDoc}
   44.37       */
   44.38 -    public void printDocument(Content contentTree) {
   44.39 +    public void printDocument(Content contentTree) throws IOException {
   44.40          printHtmlDocument(configuration.metakeywords.getMetaKeywords(packageDoc),
   44.41                  true, contentTree);
   44.42      }
    45.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/SerializedFormWriterImpl.java	Thu Oct 18 11:09:45 2012 -0700
    45.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/SerializedFormWriterImpl.java	Tue Oct 23 09:42:48 2012 -0700
    45.3 @@ -1,5 +1,5 @@
    45.4  /*
    45.5 - * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved.
    45.6 + * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved.
    45.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    45.8   *
    45.9   * This code is free software; you can redistribute it and/or modify it
   45.10 @@ -29,14 +29,20 @@
   45.11  import com.sun.javadoc.*;
   45.12  import com.sun.tools.doclets.formats.html.markup.*;
   45.13  import com.sun.tools.doclets.internal.toolkit.*;
   45.14 +import com.sun.tools.doclets.internal.toolkit.util.DocletAbortException;
   45.15  
   45.16  /**
   45.17   * Generate the Serialized Form Information Page.
   45.18   *
   45.19 + *  <p><b>This is NOT part of any supported API.
   45.20 + *  If you write code that depends on this, you do so at your own risk.
   45.21 + *  This code and its internal interfaces are subject to change or
   45.22 + *  deletion without notice.</b>
   45.23 + *
   45.24   * @author Atul M Dambalkar
   45.25   */
   45.26  public class SerializedFormWriterImpl extends SubWriterHolderWriter
   45.27 -    implements com.sun.tools.doclets.internal.toolkit.SerializedFormWriter {
   45.28 +    implements SerializedFormWriter {
   45.29  
   45.30      private static final String FILE_NAME = "serialized-form.html";
   45.31  
   45.32 @@ -49,23 +55,6 @@
   45.33      }
   45.34  
   45.35      /**
   45.36 -     * Writes the given header.
   45.37 -     *
   45.38 -     * @param header the header to write.
   45.39 -     */
   45.40 -    public void writeHeader(String header) {
   45.41 -        printHtmlHeader(header, null, true);
   45.42 -        printTop();
   45.43 -        navLinks(true);
   45.44 -        hr();
   45.45 -        center();
   45.46 -        h1();
   45.47 -        print(header);
   45.48 -        h1End();
   45.49 -        centerEnd();
   45.50 -    }
   45.51 -
   45.52 -    /**
   45.53       * Get the given header.
   45.54       *
   45.55       * @param header the header to write
   45.56 @@ -225,20 +214,10 @@
   45.57      /**
   45.58       * {@inheritDoc}
   45.59       */
   45.60 -    public void printDocument(Content serializedTree) {
   45.61 +    public void printDocument(Content serializedTree) throws IOException {
   45.62          printHtmlDocument(null, true, serializedTree);
   45.63      }
   45.64  
   45.65 -    private void tableHeader() {
   45.66 -        tableIndexSummary();
   45.67 -        trBgcolorStyle("#CCCCFF", "TableSubHeadingColor");
   45.68 -    }
   45.69 -
   45.70 -    private void tableFooter() {
   45.71 -        fontEnd();
   45.72 -        thEnd(); trEnd(); tableEnd();
   45.73 -    }
   45.74 -
   45.75      /**
   45.76       * Return an instance of a SerialFieldWriter.
   45.77       *
    46.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/SingleIndexWriter.java	Thu Oct 18 11:09:45 2012 -0700
    46.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/SingleIndexWriter.java	Tue Oct 23 09:42:48 2012 -0700
    46.3 @@ -1,5 +1,5 @@
    46.4  /*
    46.5 - * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved.
    46.6 + * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved.
    46.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    46.8   *
    46.9   * This code is free software; you can redistribute it and/or modify it
   46.10 @@ -26,15 +26,21 @@
   46.11  package com.sun.tools.doclets.formats.html;
   46.12  
   46.13  import java.io.*;
   46.14 -import com.sun.tools.doclets.internal.toolkit.util.*;
   46.15 +
   46.16  import com.sun.tools.doclets.formats.html.markup.*;
   46.17  import com.sun.tools.doclets.internal.toolkit.*;
   46.18 +import com.sun.tools.doclets.internal.toolkit.util.*;
   46.19  
   46.20  /**
   46.21   * Generate only one index file for all the Member Names with Indexing in
   46.22   * Unicode Order. The name of the generated file is "index-all.html" and it is
   46.23   * generated in current or the destination directory.
   46.24   *
   46.25 + *  <p><b>This is NOT part of any supported API.
   46.26 + *  If you write code that depends on this, you do so at your own risk.
   46.27 + *  This code and its internal interfaces are subject to change or
   46.28 + *  deletion without notice.</b>
   46.29 + *
   46.30   * @see java.lang.Character
   46.31   * @author Atul M Dambalkar
   46.32   * @author Bhavesh Patel (Modified)
    47.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/SourceToHTMLConverter.java	Thu Oct 18 11:09:45 2012 -0700
    47.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/SourceToHTMLConverter.java	Tue Oct 23 09:42:48 2012 -0700
    47.3 @@ -1,5 +1,5 @@
    47.4  /*
    47.5 - * Copyright (c) 2001, 2011, Oracle and/or its affiliates. All rights reserved.
    47.6 + * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved.
    47.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    47.8   *
    47.9   * This code is free software; you can redistribute it and/or modify it
   47.10 @@ -35,9 +35,10 @@
   47.11  /**
   47.12   * Converts Java Source Code to HTML.
   47.13   *
   47.14 - * This code is not part of an API.
   47.15 - * It is implementation that is subject to change.
   47.16 - * Do not use it as an API
   47.17 + *  <p><b>This is NOT part of any supported API.
   47.18 + *  If you write code that depends on this, you do so at your own risk.
   47.19 + *  This code and its internal interfaces are subject to change or
   47.20 + *  deletion without notice.</b>
   47.21   *
   47.22   * @author Jamie Ho
   47.23   * @author Bhavesh Patel (Modified)
    48.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/SplitIndexWriter.java	Thu Oct 18 11:09:45 2012 -0700
    48.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/SplitIndexWriter.java	Tue Oct 23 09:42:48 2012 -0700
    48.3 @@ -1,5 +1,5 @@
    48.4  /*
    48.5 - * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved.
    48.6 + * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved.
    48.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    48.8   *
    48.9   * This code is free software; you can redistribute it and/or modify it
   48.10 @@ -26,15 +26,21 @@
   48.11  package com.sun.tools.doclets.formats.html;
   48.12  
   48.13  import java.io.*;
   48.14 -import com.sun.tools.doclets.internal.toolkit.util.*;
   48.15 +
   48.16  import com.sun.tools.doclets.formats.html.markup.*;
   48.17  import com.sun.tools.doclets.internal.toolkit.*;
   48.18 +import com.sun.tools.doclets.internal.toolkit.util.*;
   48.19  
   48.20  /**
   48.21   * Generate Separate Index Files for all the member names with Indexing in
   48.22   * Unicode Order. This will create "index-files" directory in the current or
   48.23   * destination directory and will generate separate file for each unicode index.
   48.24   *
   48.25 + *  <p><b>This is NOT part of any supported API.
   48.26 + *  If you write code that depends on this, you do so at your own risk.
   48.27 + *  This code and its internal interfaces are subject to change or
   48.28 + *  deletion without notice.</b>
   48.29 + *
   48.30   * @see java.lang.Character
   48.31   * @author Atul M Dambalkar
   48.32   * @author Bhavesh Patel (Modified)
    49.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/SubWriterHolderWriter.java	Thu Oct 18 11:09:45 2012 -0700
    49.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/SubWriterHolderWriter.java	Tue Oct 23 09:42:48 2012 -0700
    49.3 @@ -1,5 +1,5 @@
    49.4  /*
    49.5 - * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
    49.6 + * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
    49.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    49.8   *
    49.9   * This code is free software; you can redistribute it and/or modify it
   49.10 @@ -26,10 +26,11 @@
   49.11  package com.sun.tools.doclets.formats.html;
   49.12  
   49.13  import java.io.*;
   49.14 +
   49.15  import com.sun.javadoc.*;
   49.16 +import com.sun.tools.doclets.formats.html.markup.*;
   49.17  import com.sun.tools.doclets.internal.toolkit.*;
   49.18  import com.sun.tools.doclets.internal.toolkit.util.*;
   49.19 -import com.sun.tools.doclets.formats.html.markup.*;
   49.20  
   49.21  /**
   49.22   * This abstract class exists to provide functionality needed in the
   49.23 @@ -39,6 +40,11 @@
   49.24   * can not be used effectively to change formatting.  The concrete
   49.25   * class subclass of this class can be subclassed to change formatting.
   49.26   *
   49.27 + *  <p><b>This is NOT part of any supported API.
   49.28 + *  If you write code that depends on this, you do so at your own risk.
   49.29 + *  This code and its internal interfaces are subject to change or
   49.30 + *  deletion without notice.</b>
   49.31 + *
   49.32   * @see AbstractMemberWriter
   49.33   * @see ClassWriterImpl
   49.34   *
   49.35 @@ -60,18 +66,6 @@
   49.36          super(configuration, path, filename, relpath);
   49.37      }
   49.38  
   49.39 -    public void printTypeSummaryHeader() {
   49.40 -        tdIndex();
   49.41 -        font("-1");
   49.42 -        code();
   49.43 -    }
   49.44 -
   49.45 -    public void printTypeSummaryFooter() {
   49.46 -        codeEnd();
   49.47 -        fontEnd();
   49.48 -        tdEnd();
   49.49 -    }
   49.50 -
   49.51      /**
   49.52       * Add the summary header.
   49.53       *
   49.54 @@ -99,14 +93,6 @@
   49.55          return table;
   49.56      }
   49.57  
   49.58 -    public void printTableHeadingBackground(String str) {
   49.59 -        tableIndexDetail();
   49.60 -        tableHeaderStart("#CCCCFF", 1);
   49.61 -        strong(str);
   49.62 -        tableHeaderEnd();
   49.63 -        tableEnd();
   49.64 -    }
   49.65 -
   49.66      /**
   49.67       * Add the inherited summary header.
   49.68       *
   49.69 @@ -120,19 +106,6 @@
   49.70          mw.addInheritedSummaryLabel(cd, inheritedTree);
   49.71      }
   49.72  
   49.73 -    public void printSummaryFooter(AbstractMemberWriter mw, ClassDoc cd) {
   49.74 -        tableEnd();
   49.75 -        space();
   49.76 -    }
   49.77 -
   49.78 -    public void printInheritedSummaryFooter(AbstractMemberWriter mw, ClassDoc cd) {
   49.79 -        codeEnd();
   49.80 -        summaryRowEnd();
   49.81 -        trEnd();
   49.82 -        tableEnd();
   49.83 -        space();
   49.84 -    }
   49.85 -
   49.86      /**
   49.87       * Add the index comment.
   49.88       *
   49.89 @@ -143,24 +116,6 @@
   49.90          addIndexComment(member, member.firstSentenceTags(), contentTree);
   49.91      }
   49.92  
   49.93 -    protected void printIndexComment(Doc member, Tag[] firstSentenceTags) {
   49.94 -        Tag[] deprs = member.tags("deprecated");
   49.95 -        if (Util.isDeprecated((ProgramElementDoc) member)) {
   49.96 -            strongText("doclet.Deprecated");
   49.97 -            space();
   49.98 -            if (deprs.length > 0) {
   49.99 -                printInlineDeprecatedComment(member, deprs[0]);
  49.100 -            }
  49.101 -            return;
  49.102 -        } else {
  49.103 -            ClassDoc cd = ((ProgramElementDoc)member).containingClass();
  49.104 -            if (cd != null && Util.isDeprecated(cd)) {
  49.105 -                strongText("doclet.Deprecated"); space();
  49.106 -            }
  49.107 -        }
  49.108 -        printSummaryComment(member, firstSentenceTags);
  49.109 -    }
  49.110 -
  49.111      /**
  49.112       * Add the index comment.
  49.113       *
  49.114 @@ -217,18 +172,6 @@
  49.115          addSummaryLinkComment(mw, member, member.firstSentenceTags(), contentTree);
  49.116      }
  49.117  
  49.118 -    public void printSummaryLinkComment(AbstractMemberWriter mw,
  49.119 -                                        ProgramElementDoc member,
  49.120 -                                        Tag[] firstSentenceTags) {
  49.121 -        codeEnd();
  49.122 -        println();
  49.123 -        br();
  49.124 -        printNbsps();
  49.125 -        printIndexComment(member, firstSentenceTags);
  49.126 -        summaryRowEnd();
  49.127 -        trEnd();
  49.128 -    }
  49.129 -
  49.130      /**
  49.131       * Add the summary link comment.
  49.132       *
  49.133 @@ -259,13 +202,6 @@
  49.134          mw.addInheritedSummaryLink(cd, member, linksTree);
  49.135      }
  49.136  
  49.137 -    public void printMemberHeader() {
  49.138 -        hr();
  49.139 -    }
  49.140 -
  49.141 -    public void printMemberFooter() {
  49.142 -    }
  49.143 -
  49.144      /**
  49.145       * Get the document content header tree
  49.146       *
    50.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/TagletOutputImpl.java	Thu Oct 18 11:09:45 2012 -0700
    50.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/TagletOutputImpl.java	Tue Oct 23 09:42:48 2012 -0700
    50.3 @@ -1,5 +1,5 @@
    50.4  /*
    50.5 - * Copyright (c) 2003, 2009, Oracle and/or its affiliates. All rights reserved.
    50.6 + * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
    50.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    50.8   *
    50.9   * This code is free software; you can redistribute it and/or modify it
   50.10 @@ -30,13 +30,18 @@
   50.11  /**
   50.12   * The output for HTML taglets.
   50.13   *
   50.14 + *  <p><b>This is NOT part of any supported API.
   50.15 + *  If you write code that depends on this, you do so at your own risk.
   50.16 + *  This code and its internal interfaces are subject to change or
   50.17 + *  deletion without notice.</b>
   50.18 + *
   50.19   * @since 1.5
   50.20   * @author Jamie Ho
   50.21   */
   50.22  
   50.23  public class TagletOutputImpl implements TagletOutput {
   50.24  
   50.25 -    private StringBuffer output;
   50.26 +    private StringBuilder output;
   50.27  
   50.28      public TagletOutputImpl(String o) {
   50.29          setOutput(o);
   50.30 @@ -46,7 +51,7 @@
   50.31       * {@inheritDoc}
   50.32       */
   50.33      public void setOutput (Object o) {
   50.34 -        output = new StringBuffer(o == null ? "" : (String) o);
   50.35 +        output = new StringBuilder(o == null ? "" : (String) o);
   50.36      }
   50.37  
   50.38      /**
    51.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/TagletWriterImpl.java	Thu Oct 18 11:09:45 2012 -0700
    51.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/TagletWriterImpl.java	Tue Oct 23 09:42:48 2012 -0700
    51.3 @@ -1,5 +1,5 @@
    51.4  /*
    51.5 - * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
    51.6 + * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
    51.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    51.8   *
    51.9   * This code is free software; you can redistribute it and/or modify it
   51.10 @@ -34,6 +34,11 @@
   51.11  /**
   51.12   * The taglet writer that writes HTML.
   51.13   *
   51.14 + *  <p><b>This is NOT part of any supported API.
   51.15 + *  If you write code that depends on this, you do so at your own risk.
   51.16 + *  This code and its internal interfaces are subject to change or
   51.17 + *  deletion without notice.</b>
   51.18 + *
   51.19   * @since 1.5
   51.20   * @author Jamie Ho
   51.21   * @author Bhavesh Patel (Modified)
   51.22 @@ -69,7 +74,7 @@
   51.23       * {@inheritDoc}
   51.24       */
   51.25      public TagletOutput deprecatedTagOutput(Doc doc) {
   51.26 -        StringBuffer output = new StringBuffer();
   51.27 +        StringBuilder output = new StringBuilder();
   51.28          Tag[] deprs = doc.tags("deprecated");
   51.29          if (doc instanceof ClassDoc) {
   51.30              if (Util.isDeprecated((ProgramElementDoc) doc)) {
   51.31 @@ -120,9 +125,9 @@
   51.32       * {@inheritDoc}
   51.33       */
   51.34      public TagletOutput getParamHeader(String header) {
   51.35 -        StringBuffer result = new StringBuffer();
   51.36 +        StringBuilder result = new StringBuilder();
   51.37          result.append("<dt>");
   51.38 -        result.append("<span class=\"strong\">" +  header + "</span></dt>");
   51.39 +        result.append("<span class=\"strong\">").append(header).append("</span></dt>");
   51.40          return new TagletOutputImpl(result.toString());
   51.41      }
   51.42  
    52.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/TreeWriter.java	Thu Oct 18 11:09:45 2012 -0700
    52.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/TreeWriter.java	Tue Oct 23 09:42:48 2012 -0700
    52.3 @@ -1,5 +1,5 @@
    52.4  /*
    52.5 - * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
    52.6 + * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
    52.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    52.8   *
    52.9   * This code is free software; you can redistribute it and/or modify it
   52.10 @@ -28,9 +28,9 @@
   52.11  import java.io.*;
   52.12  
   52.13  import com.sun.javadoc.*;
   52.14 -import com.sun.tools.doclets.internal.toolkit.util.*;
   52.15  import com.sun.tools.doclets.formats.html.markup.*;
   52.16  import com.sun.tools.doclets.internal.toolkit.*;
   52.17 +import com.sun.tools.doclets.internal.toolkit.util.*;
   52.18  
   52.19  /**
   52.20   * Generate Class Hierarchy page for all the Classes in this run.  Use
   52.21 @@ -38,6 +38,11 @@
   52.22   * the generated file is "overview-tree.html" and it is generated in the
   52.23   * current or the destination directory.
   52.24   *
   52.25 + *  <p><b>This is NOT part of any supported API.
   52.26 + *  If you write code that depends on this, you do so at your own risk.
   52.27 + *  This code and its internal interfaces are subject to change or
   52.28 + *  deletion without notice.</b>
   52.29 + *
   52.30   * @author Atul M Dambalkar
   52.31   * @author Bhavesh Patel (Modified)
   52.32   */
    53.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/WriterFactoryImpl.java	Thu Oct 18 11:09:45 2012 -0700
    53.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/WriterFactoryImpl.java	Tue Oct 23 09:42:48 2012 -0700
    53.3 @@ -1,5 +1,5 @@
    53.4  /*
    53.5 - * Copyright (c) 2003, 2008, Oracle and/or its affiliates. All rights reserved.
    53.6 + * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
    53.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    53.8   *
    53.9   * This code is free software; you can redistribute it and/or modify it
   53.10 @@ -25,13 +25,18 @@
   53.11  
   53.12  package com.sun.tools.doclets.formats.html;
   53.13  
   53.14 +import com.sun.javadoc.*;
   53.15  import com.sun.tools.doclets.internal.toolkit.*;
   53.16  import com.sun.tools.doclets.internal.toolkit.util.*;
   53.17 -import com.sun.javadoc.*;
   53.18  
   53.19  /**
   53.20   * The factory that returns HTML writers.
   53.21   *
   53.22 + *  <p><b>This is NOT part of any supported API.
   53.23 + *  If you write code that depends on this, you do so at your own risk.
   53.24 + *  This code and its internal interfaces are subject to change or
   53.25 + *  deletion without notice.</b>
   53.26 + *
   53.27   * @author Jamie Ho
   53.28   * @since 1.5
   53.29   */
    54.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/markup/Comment.java	Thu Oct 18 11:09:45 2012 -0700
    54.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/markup/Comment.java	Tue Oct 23 09:42:48 2012 -0700
    54.3 @@ -1,5 +1,5 @@
    54.4  /*
    54.5 - * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
    54.6 + * Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved.
    54.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    54.8   *
    54.9   * This code is free software; you can redistribute it and/or modify it
   54.10 @@ -25,15 +25,23 @@
   54.11  
   54.12  package com.sun.tools.doclets.formats.html.markup;
   54.13  
   54.14 +import java.io.IOException;
   54.15 +import java.io.Writer;
   54.16 +
   54.17  import com.sun.tools.doclets.internal.toolkit.Content;
   54.18  import com.sun.tools.doclets.internal.toolkit.util.*;
   54.19  
   54.20  /**
   54.21   * Class for generating a comment for HTML pages of javadoc output.
   54.22   *
   54.23 + *  <p><b>This is NOT part of any supported API.
   54.24 + *  If you write code that depends on this, you do so at your own risk.
   54.25 + *  This code and its internal interfaces are subject to change or
   54.26 + *  deletion without notice.</b>
   54.27 + *
   54.28   * @author Bhavesh Patel
   54.29   */
   54.30 -public class Comment extends Content{
   54.31 +public class Comment extends Content {
   54.32  
   54.33      private String commentText;
   54.34  
   54.35 @@ -80,11 +88,13 @@
   54.36      /**
   54.37       * {@inheritDoc}
   54.38       */
   54.39 -    public void write(StringBuilder contentBuilder) {
   54.40 -        if (!endsWithNewLine(contentBuilder))
   54.41 -            contentBuilder.append(DocletConstants.NL);
   54.42 -        contentBuilder.append("<!-- ");
   54.43 -        contentBuilder.append(commentText);
   54.44 -        contentBuilder.append(" -->" + DocletConstants.NL);
   54.45 +    @Override
   54.46 +    public boolean write(Writer out, boolean atNewline) throws IOException {
   54.47 +        if (!atNewline)
   54.48 +            out.write(DocletConstants.NL);
   54.49 +        out.write("<!-- ");
   54.50 +        out.write(commentText);
   54.51 +        out.write(" -->" + DocletConstants.NL);
   54.52 +        return true;
   54.53      }
   54.54  }
    55.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/markup/DocType.java	Thu Oct 18 11:09:45 2012 -0700
    55.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/markup/DocType.java	Tue Oct 23 09:42:48 2012 -0700
    55.3 @@ -1,5 +1,5 @@
    55.4  /*
    55.5 - * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
    55.6 + * Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved.
    55.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    55.8   *
    55.9   * This code is free software; you can redistribute it and/or modify it
   55.10 @@ -25,12 +25,20 @@
   55.11  
   55.12  package com.sun.tools.doclets.formats.html.markup;
   55.13  
   55.14 +import java.io.IOException;
   55.15 +import java.io.Writer;
   55.16 +
   55.17  import com.sun.tools.doclets.internal.toolkit.Content;
   55.18  import com.sun.tools.doclets.internal.toolkit.util.*;
   55.19  
   55.20  /**
   55.21   * Class for generating document type for HTML pages of javadoc output.
   55.22   *
   55.23 + *  <p><b>This is NOT part of any supported API.
   55.24 + *  If you write code that depends on this, you do so at your own risk.
   55.25 + *  This code and its internal interfaces are subject to change or
   55.26 + *  deletion without notice.</b>
   55.27 + *
   55.28   * @author Bhavesh Patel
   55.29   */
   55.30  public class DocType extends Content{
   55.31 @@ -107,7 +115,9 @@
   55.32      /**
   55.33       * {@inheritDoc}
   55.34       */
   55.35 -    public void write(StringBuilder contentBuilder) {
   55.36 -        contentBuilder.append(docType);
   55.37 +    @Override
   55.38 +    public boolean write(Writer out, boolean atNewline) throws IOException {
   55.39 +        out.write(docType);
   55.40 +        return true; // guaranteed by constructor
   55.41      }
   55.42  }
    56.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlAttr.java	Thu Oct 18 11:09:45 2012 -0700
    56.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlAttr.java	Tue Oct 23 09:42:48 2012 -0700
    56.3 @@ -1,5 +1,5 @@
    56.4  /*
    56.5 - * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
    56.6 + * Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved.
    56.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    56.8   *
    56.9   * This code is free software; you can redistribute it and/or modify it
   56.10 @@ -28,6 +28,11 @@
   56.11  /**
   56.12   * Enum representing HTML tag attributes.
   56.13   *
   56.14 + *  <p><b>This is NOT part of any supported API.
   56.15 + *  If you write code that depends on this, you do so at your own risk.
   56.16 + *  This code and its internal interfaces are subject to change or
   56.17 + *  deletion without notice.</b>
   56.18 + *
   56.19   * @author Bhavesh Patel
   56.20   */
   56.21  public enum HtmlAttr {
    57.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlConstants.java	Thu Oct 18 11:09:45 2012 -0700
    57.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlConstants.java	Tue Oct 23 09:42:48 2012 -0700
    57.3 @@ -1,5 +1,5 @@
    57.4  /*
    57.5 - * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
    57.6 + * Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved.
    57.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    57.8   *
    57.9   * This code is free software; you can redistribute it and/or modify it
   57.10 @@ -30,6 +30,11 @@
   57.11  /**
   57.12   * Stores constants for Html Doclet.
   57.13   *
   57.14 + *  <p><b>This is NOT part of any supported API.
   57.15 + *  If you write code that depends on this, you do so at your own risk.
   57.16 + *  This code and its internal interfaces are subject to change or
   57.17 + *  deletion without notice.</b>
   57.18 + *
   57.19   * @author Bhavesh Patel
   57.20   */
   57.21  public class HtmlConstants {
    58.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlDocWriter.java	Thu Oct 18 11:09:45 2012 -0700
    58.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlDocWriter.java	Tue Oct 23 09:42:48 2012 -0700
    58.3 @@ -1,5 +1,5 @@
    58.4  /*
    58.5 - * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
    58.6 + * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
    58.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    58.8   *
    58.9   * This code is free software; you can redistribute it and/or modify it
   58.10 @@ -29,6 +29,7 @@
   58.11  import java.util.*;
   58.12  
   58.13  import com.sun.javadoc.*;
   58.14 +import com.sun.tools.doclets.formats.html.ConfigurationImpl;
   58.15  import com.sun.tools.doclets.internal.toolkit.*;
   58.16  
   58.17  
   58.18 @@ -38,6 +39,11 @@
   58.19   * are used by the Sub-Classes in the package com.sun.tools.doclets.standard
   58.20   * and com.sun.tools.doclets.oneone.
   58.21   *
   58.22 + *  <p><b>This is NOT part of any supported API.
   58.23 + *  If you write code that depends on this, you do so at your own risk.
   58.24 + *  This code and its internal interfaces are subject to change or
   58.25 + *  deletion without notice.</b>
   58.26 + *
   58.27   * @since 1.2
   58.28   * @author Atul M Dambalkar
   58.29   * @author Robert Field
   58.30 @@ -77,48 +83,6 @@
   58.31      public abstract Configuration configuration();
   58.32  
   58.33      /**
   58.34 -     * Print Html Hyper Link.
   58.35 -     *
   58.36 -     * @param link String name of the file.
   58.37 -     * @param where Position of the link in the file. Character '#' is not
   58.38 -     * needed.
   58.39 -     * @param label Tag for the link.
   58.40 -     * @param strong  Boolean that sets label to strong.
   58.41 -     */
   58.42 -    public void printHyperLink(String link, String where,
   58.43 -                               String label, boolean strong) {
   58.44 -        print(getHyperLinkString(link, where, label, strong, "", "", ""));
   58.45 -    }
   58.46 -
   58.47 -    /**
   58.48 -     * Print Html Hyper Link.
   58.49 -     *
   58.50 -     * @param link String name of the file.
   58.51 -     * @param where Position of the link in the file. Character '#' is not
   58.52 -     * needed.
   58.53 -     * @param label Tag for the link.
   58.54 -     */
   58.55 -    public void printHyperLink(String link, String where, String label) {
   58.56 -        printHyperLink(link, where, label, false);
   58.57 -    }
   58.58 -
   58.59 -    /**
   58.60 -     * Print Html Hyper Link.
   58.61 -     *
   58.62 -     * @param link       String name of the file.
   58.63 -     * @param where      Position of the link in the file. Character '#' is not
   58.64 -     * needed.
   58.65 -     * @param label      Tag for the link.
   58.66 -     * @param strong       Boolean that sets label to strong.
   58.67 -     * @param stylename  String style of text defined in style sheet.
   58.68 -     */
   58.69 -    public void printHyperLink(String link, String where,
   58.70 -                               String label, boolean strong,
   58.71 -                               String stylename) {
   58.72 -        print(getHyperLinkString(link, where, label, strong, stylename, "", ""));
   58.73 -    }
   58.74 -
   58.75 -    /**
   58.76       * Return Html Hyper Link string.
   58.77       *
   58.78       * @param link       String name of the file.
   58.79 @@ -180,7 +144,7 @@
   58.80      public String getHyperLinkString(String link, String where,
   58.81                                 String label, boolean strong,
   58.82                                 String stylename, String title, String target) {
   58.83 -        StringBuffer retlink = new StringBuffer();
   58.84 +        StringBuilder retlink = new StringBuilder();
   58.85          retlink.append("<a href=\"");
   58.86          retlink.append(link);
   58.87          if (where != null && where.length() != 0) {
   58.88 @@ -189,10 +153,10 @@
   58.89          }
   58.90          retlink.append("\"");
   58.91          if (title != null && title.length() != 0) {
   58.92 -            retlink.append(" title=\"" + title + "\"");
   58.93 +            retlink.append(" title=\"").append(title).append("\"");
   58.94          }
   58.95          if (target != null && target.length() != 0) {
   58.96 -            retlink.append(" target=\"" + target + "\"");
   58.97 +            retlink.append(" target=\"").append(target).append("\"");
   58.98          }
   58.99          retlink.append(">");
  58.100          if (stylename != null && stylename.length() != 0) {
  58.101 @@ -263,15 +227,6 @@
  58.102      }
  58.103  
  58.104      /**
  58.105 -     * Print the name of the package, this class is in.
  58.106 -     *
  58.107 -     * @param cd    ClassDoc.
  58.108 -     */
  58.109 -    public void printPkgName(ClassDoc cd) {
  58.110 -        print(getPkgName(cd));
  58.111 -    }
  58.112 -
  58.113 -    /**
  58.114       * Get the name of the package, this class is in.
  58.115       *
  58.116       * @param cd    ClassDoc.
  58.117 @@ -285,27 +240,6 @@
  58.118          return "";
  58.119      }
  58.120  
  58.121 -    /**
  58.122 -     * Keep track of member details list. Print the definition list start tag
  58.123 -     * if it is not printed yet.
  58.124 -     */
  58.125 -    public void printMemberDetailsListStartTag () {
  58.126 -        if (!getMemberDetailsListPrinted()) {
  58.127 -            dl();
  58.128 -            memberDetailsListPrinted = true;
  58.129 -        }
  58.130 -    }
  58.131 -
  58.132 -    /**
  58.133 -     * Print the definition list end tag if the list start tag was printed.
  58.134 -     */
  58.135 -    public void printMemberDetailsListEndTag () {
  58.136 -        if (getMemberDetailsListPrinted()) {
  58.137 -            dlEnd();
  58.138 -            memberDetailsListPrinted = false;
  58.139 -        }
  58.140 -    }
  58.141 -
  58.142      public boolean getMemberDetailsListPrinted() {
  58.143          return memberDetailsListPrinted;
  58.144      }
  58.145 @@ -319,12 +253,12 @@
  58.146       * @param frameset the frameset to be added to the HTML document
  58.147       */
  58.148      public void printFramesetDocument(String title, boolean noTimeStamp,
  58.149 -            Content frameset) {
  58.150 +            Content frameset) throws IOException {
  58.151          Content htmlDocType = DocType.Frameset();
  58.152          Content htmlComment = new Comment(configuration.getText("doclet.New_Page"));
  58.153          Content head = new HtmlTree(HtmlTag.HEAD);
  58.154          if (! noTimeStamp) {
  58.155 -            Content headComment = new Comment("Generated by javadoc on " + today());
  58.156 +            Content headComment = new Comment(getGeneratedByString());
  58.157              head.addContent(headComment);
  58.158          }
  58.159          if (configuration.charset.length() > 0) {
  58.160 @@ -339,7 +273,7 @@
  58.161                  head, frameset);
  58.162          Content htmlDocument = new HtmlDocument(htmlDocType,
  58.163                  htmlComment, htmlTree);
  58.164 -        print(htmlDocument.toString());
  58.165 +        write(htmlDocument);
  58.166      }
  58.167  
  58.168      /**
  58.169 @@ -356,46 +290,9 @@
  58.170          return space;
  58.171      }
  58.172  
  58.173 -    /**
  58.174 -     * Print the closing &lt;/body&gt; and &lt;/html&gt; tags.
  58.175 -     */
  58.176 -    public void printBodyHtmlEnd() {
  58.177 -        println();
  58.178 -        bodyEnd();
  58.179 -        htmlEnd();
  58.180 -    }
  58.181 -
  58.182 -    /**
  58.183 -     * Calls {@link #printBodyHtmlEnd()} method.
  58.184 -     */
  58.185 -    public void printFooter() {
  58.186 -        printBodyHtmlEnd();
  58.187 -    }
  58.188 -
  58.189 -    /**
  58.190 -     * Print closing &lt;/html&gt; tag.
  58.191 -     */
  58.192 -    public void printFrameFooter() {
  58.193 -        htmlEnd();
  58.194 -    }
  58.195 -
  58.196 -    /**
  58.197 -     * Print ten non-breaking spaces("&#38;nbsp;").
  58.198 -     */
  58.199 -    public void printNbsps() {
  58.200 -        print("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;");
  58.201 -    }
  58.202 -
  58.203 -    /**
  58.204 -     * Get the day and date information for today, depending upon user option.
  58.205 -     *
  58.206 -     * @return String Today.
  58.207 -     * @see java.util.Calendar
  58.208 -     * @see java.util.GregorianCalendar
  58.209 -     * @see java.util.TimeZone
  58.210 -     */
  58.211 -    public String today() {
  58.212 +    protected String getGeneratedByString() {
  58.213          Calendar calendar = new GregorianCalendar(TimeZone.getDefault());
  58.214 -        return calendar.getTime().toString();
  58.215 +        Date today = calendar.getTime();
  58.216 +        return "Generated by javadoc ("+ ConfigurationImpl.BUILD_DATE + ") on " + today;
  58.217      }
  58.218  }
    59.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlDocument.java	Thu Oct 18 11:09:45 2012 -0700
    59.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlDocument.java	Tue Oct 23 09:42:48 2012 -0700
    59.3 @@ -1,5 +1,5 @@
    59.4  /*
    59.5 - * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
    59.6 + * Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved.
    59.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    59.8   *
    59.9   * This code is free software; you can redistribute it and/or modify it
   59.10 @@ -25,13 +25,21 @@
   59.11  
   59.12  package com.sun.tools.doclets.formats.html.markup;
   59.13  
   59.14 +import java.io.IOException;
   59.15 +import java.io.Writer;
   59.16  import java.util.*;
   59.17 +
   59.18  import com.sun.tools.doclets.internal.toolkit.Content;
   59.19  import com.sun.tools.doclets.internal.toolkit.util.*;
   59.20  
   59.21  /**
   59.22   * Class for generating an HTML document for javadoc output.
   59.23   *
   59.24 + *  <p><b>This is NOT part of any supported API.
   59.25 + *  If you write code that depends on this, you do so at your own risk.
   59.26 + *  This code and its internal interfaces are subject to change or
   59.27 + *  deletion without notice.</b>
   59.28 + *
   59.29   * @author Bhavesh Patel
   59.30   */
   59.31  public class HtmlDocument extends Content {
   59.32 @@ -69,7 +77,7 @@
   59.33       *
   59.34       * @param htmlContent html content to be added
   59.35       */
   59.36 -    public void addContent(Content htmlContent) {
   59.37 +    public final void addContent(Content htmlContent) {
   59.38          if (htmlContent.isValid())
   59.39              docContent.add(htmlContent);
   59.40      }
   59.41 @@ -96,8 +104,9 @@
   59.42      /**
   59.43       * {@inheritDoc}
   59.44       */
   59.45 -    public void write(StringBuilder contentBuilder) {
   59.46 +    public boolean write(Writer out,  boolean atNewline) throws IOException {
   59.47          for (Content c : docContent)
   59.48 -            c.write(contentBuilder);
   59.49 +            atNewline = c.write(out, atNewline);
   59.50 +        return atNewline;
   59.51      }
   59.52  }
    60.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlStyle.java	Thu Oct 18 11:09:45 2012 -0700
    60.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlStyle.java	Tue Oct 23 09:42:48 2012 -0700
    60.3 @@ -1,5 +1,5 @@
    60.4  /*
    60.5 - * Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved.
    60.6 + * Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved.
    60.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    60.8   *
    60.9   * This code is free software; you can redistribute it and/or modify it
   60.10 @@ -28,6 +28,11 @@
   60.11  /**
   60.12   * Enum representing HTML styles. The name map to values in the CSS file.
   60.13   *
   60.14 + *  <p><b>This is NOT part of any supported API.
   60.15 + *  If you write code that depends on this, you do so at your own risk.
   60.16 + *  This code and its internal interfaces are subject to change or
   60.17 + *  deletion without notice.</b>
   60.18 + *
   60.19   * @author Bhavesh Patel
   60.20   */
   60.21  public enum HtmlStyle {
    61.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlTag.java	Thu Oct 18 11:09:45 2012 -0700
    61.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlTag.java	Tue Oct 23 09:42:48 2012 -0700
    61.3 @@ -1,5 +1,5 @@
    61.4  /*
    61.5 - * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
    61.6 + * Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved.
    61.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    61.8   *
    61.9   * This code is free software; you can redistribute it and/or modify it
   61.10 @@ -28,6 +28,11 @@
   61.11  /**
   61.12   * Enum representing HTML tags.
   61.13   *
   61.14 + *  <p><b>This is NOT part of any supported API.
   61.15 + *  If you write code that depends on this, you do so at your own risk.
   61.16 + *  This code and its internal interfaces are subject to change or
   61.17 + *  deletion without notice.</b>
   61.18 + *
   61.19   * @author Bhavesh Patel
   61.20   */
   61.21  public enum HtmlTag {
    62.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlTree.java	Thu Oct 18 11:09:45 2012 -0700
    62.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlTree.java	Tue Oct 23 09:42:48 2012 -0700
    62.3 @@ -1,5 +1,5 @@
    62.4  /*
    62.5 - * Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved.
    62.6 + * Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved.
    62.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    62.8   *
    62.9   * This code is free software; you can redistribute it and/or modify it
   62.10 @@ -25,13 +25,21 @@
   62.11  
   62.12  package com.sun.tools.doclets.formats.html.markup;
   62.13  
   62.14 +import java.io.IOException;
   62.15 +import java.io.Writer;
   62.16  import java.util.*;
   62.17 +
   62.18  import com.sun.tools.doclets.internal.toolkit.Content;
   62.19  import com.sun.tools.doclets.internal.toolkit.util.*;
   62.20  
   62.21  /**
   62.22   * Class for generating HTML tree for javadoc output.
   62.23   *
   62.24 + *  <p><b>This is NOT part of any supported API.
   62.25 + *  If you write code that depends on this, you do so at your own risk.
   62.26 + *  This code and its internal interfaces are subject to change or
   62.27 + *  deletion without notice.</b>
   62.28 + *
   62.29   * @author Bhavesh Patel
   62.30   */
   62.31  public class HtmlTree extends Content {
   62.32 @@ -423,9 +431,9 @@
   62.33      /**
   62.34       * Generates a META tag with the http-equiv, content and charset attributes.
   62.35       *
   62.36 -     * @param http-equiv http equiv attribute for the META tag
   62.37 +     * @param httpEquiv http equiv attribute for the META tag
   62.38       * @param content type of content
   62.39 -     * @param charset character set used
   62.40 +     * @param charSet character set used
   62.41       * @return an HtmlTree object for the META tag
   62.42       */
   62.43      public static HtmlTree META(String httpEquiv, String content, String charSet) {
   62.44 @@ -751,35 +759,41 @@
   62.45      /**
   62.46       * {@inheritDoc}
   62.47       */
   62.48 -    public void write(StringBuilder contentBuilder) {
   62.49 -        if (!isInline() && !endsWithNewLine(contentBuilder))
   62.50 -            contentBuilder.append(DocletConstants.NL);
   62.51 +    @Override
   62.52 +    public boolean write(Writer out, boolean atNewline) throws IOException {
   62.53 +        if (!isInline() && !atNewline)
   62.54 +            out.write(DocletConstants.NL);
   62.55          String tagString = htmlTag.toString();
   62.56 -        contentBuilder.append("<");
   62.57 -        contentBuilder.append(tagString);
   62.58 +        out.write("<");
   62.59 +        out.write(tagString);
   62.60          Iterator<HtmlAttr> iterator = attrs.keySet().iterator();
   62.61          HtmlAttr key;
   62.62          String value = "";
   62.63          while (iterator.hasNext()) {
   62.64              key = iterator.next();
   62.65              value = attrs.get(key);
   62.66 -            contentBuilder.append(" ");
   62.67 -            contentBuilder.append(key.toString());
   62.68 +            out.write(" ");
   62.69 +            out.write(key.toString());
   62.70              if (!value.isEmpty()) {
   62.71 -                contentBuilder.append("=\"");
   62.72 -                contentBuilder.append(value);
   62.73 -                contentBuilder.append("\"");
   62.74 +                out.write("=\"");
   62.75 +                out.write(value);
   62.76 +                out.write("\"");
   62.77              }
   62.78          }
   62.79 -        contentBuilder.append(">");
   62.80 +        out.write(">");
   62.81 +        boolean nl = false;
   62.82          for (Content c : content)
   62.83 -            c.write(contentBuilder);
   62.84 +            nl = c.write(out, nl);
   62.85          if (htmlTag.endTagRequired()) {
   62.86 -            contentBuilder.append("</");
   62.87 -            contentBuilder.append(tagString);
   62.88 -            contentBuilder.append(">");
   62.89 +            out.write("</");
   62.90 +            out.write(tagString);
   62.91 +            out.write(">");
   62.92          }
   62.93 -        if (!isInline())
   62.94 -            contentBuilder.append(DocletConstants.NL);
   62.95 +        if (!isInline()) {
   62.96 +            out.write(DocletConstants.NL);
   62.97 +            return true;
   62.98 +        } else {
   62.99 +            return false;
  62.100 +        }
  62.101      }
  62.102  }
    63.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlWriter.java	Thu Oct 18 11:09:45 2012 -0700
    63.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlWriter.java	Tue Oct 23 09:42:48 2012 -0700
    63.3 @@ -1,5 +1,5 @@
    63.4  /*
    63.5 - * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
    63.6 + * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
    63.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    63.8   *
    63.9   * This code is free software; you can redistribute it and/or modify it
   63.10 @@ -32,14 +32,19 @@
   63.11  
   63.12  /**
   63.13   * Class for the Html format code generation.
   63.14 - * Initilizes PrintWriter with FileWriter, to enable print
   63.15 + * Initializes PrintWriter with FileWriter, to enable print
   63.16   * related methods to generate the code to the named File through FileWriter.
   63.17   *
   63.18 + *  <p><b>This is NOT part of any supported API.
   63.19 + *  If you write code that depends on this, you do so at your own risk.
   63.20 + *  This code and its internal interfaces are subject to change or
   63.21 + *  deletion without notice.</b>
   63.22 + *
   63.23   * @since 1.2
   63.24   * @author Atul M Dambalkar
   63.25   * @author Bhavesh Patel (Modified)
   63.26   */
   63.27 -public class HtmlWriter extends PrintWriter {
   63.28 +public class HtmlWriter {
   63.29  
   63.30      /**
   63.31       * Name of the file, to which this writer is writing to.
   63.32 @@ -148,6 +153,8 @@
   63.33  
   63.34      public final Content descfrmInterfaceLabel;
   63.35  
   63.36 +    private final Writer writer;
   63.37 +
   63.38      /**
   63.39       * Constructor.
   63.40       *
   63.41 @@ -158,13 +165,13 @@
   63.42       * @param docencoding Encoding to be used for this file.
   63.43       * @exception IOException Exception raised by the FileWriter is passed on
   63.44       * to next level.
   63.45 -     * @exception UnSupportedEncodingException Exception raised by the
   63.46 +     * @exception UnsupportedEncodingException Exception raised by the
   63.47       * OutputStreamWriter is passed on to next level.
   63.48       */
   63.49      public HtmlWriter(Configuration configuration,
   63.50                        String path, String filename, String docencoding)
   63.51                        throws IOException, UnsupportedEncodingException {
   63.52 -        super(Util.genWriter(configuration, path, filename, docencoding));
   63.53 +        writer = Util.genWriter(configuration, path, filename, docencoding);
   63.54          this.configuration = configuration;
   63.55          htmlFilename = filename;
   63.56          this.memberDetailsListPrinted = false;
   63.57 @@ -213,6 +220,14 @@
   63.58          descfrmInterfaceLabel = getResource("doclet.Description_From_Interface");
   63.59      }
   63.60  
   63.61 +    public void write(Content c) throws IOException {
   63.62 +        c.write(writer, true);
   63.63 +    }
   63.64 +
   63.65 +    public void close() throws IOException {
   63.66 +        writer.close();
   63.67 +    }
   63.68 +
   63.69      /**
   63.70       * Get the configuration string as a content.
   63.71       *
   63.72 @@ -247,38 +262,6 @@
   63.73      }
   63.74  
   63.75      /**
   63.76 -     * Print &lt;HTML&gt; tag. Add a newline character at the end.
   63.77 -     */
   63.78 -    public void html() {
   63.79 -        println("<HTML lang=\"" + configuration.getLocale().getLanguage() + "\">");
   63.80 -    }
   63.81 -
   63.82 -    /**
   63.83 -     * Print &lt;/HTML&gt; tag. Add a newline character at the end.
   63.84 -     */
   63.85 -    public void htmlEnd() {
   63.86 -        println("</HTML>");
   63.87 -    }
   63.88 -
   63.89 -    /**
   63.90 -     * Print the script code to be embeded before the  &lt;/HEAD&gt; tag.
   63.91 -     */
   63.92 -    protected void printWinTitleScript(String winTitle){
   63.93 -        if(winTitle != null && winTitle.length() > 0) {
   63.94 -            script();
   63.95 -            println("function windowTitle()");
   63.96 -            println("{");
   63.97 -            println("    if (location.href.indexOf('is-external=true') == -1) {");
   63.98 -            println("        parent.document.title=\"" + winTitle + "\";");
   63.99 -            println("    }");
  63.100 -            println("}");
  63.101 -            scriptEnd();
  63.102 -            noScript();
  63.103 -            noScriptEnd();
  63.104 -        }
  63.105 -    }
  63.106 -
  63.107 -    /**
  63.108       * Returns an HtmlTree for the SCRIPT tag.
  63.109       *
  63.110       * @return an HtmlTree for the SCRIPT tag
  63.111 @@ -321,64 +304,6 @@
  63.112      }
  63.113  
  63.114      /**
  63.115 -     * Print the Javascript &lt;SCRIPT&gt; start tag with its type
  63.116 -     * attribute.
  63.117 -     */
  63.118 -    public void script() {
  63.119 -        println("<SCRIPT type=\"text/javascript\">");
  63.120 -    }
  63.121 -
  63.122 -    /**
  63.123 -     * Print the Javascript &lt;/SCRIPT&gt; end tag.
  63.124 -     */
  63.125 -    public void scriptEnd() {
  63.126 -        println("</SCRIPT>");
  63.127 -    }
  63.128 -
  63.129 -    /**
  63.130 -     * Print the Javascript &lt;NOSCRIPT&gt; start tag.
  63.131 -     */
  63.132 -    public void noScript() {
  63.133 -        println("<NOSCRIPT>");
  63.134 -    }
  63.135 -
  63.136 -    /**
  63.137 -     * Print the Javascript &lt;/NOSCRIPT&gt; end tag.
  63.138 -     */
  63.139 -    public void noScriptEnd() {
  63.140 -        println("</NOSCRIPT>");
  63.141 -    }
  63.142 -
  63.143 -    /**
  63.144 -     * Return the Javascript call to be embedded in the &lt;BODY&gt; tag.
  63.145 -     * Return nothing if winTitle is empty.
  63.146 -     * @return the Javascript call to be embedded in the &lt;BODY&gt; tag.
  63.147 -     */
  63.148 -    protected String getWindowTitleOnload(){
  63.149 -        if(winTitle != null && winTitle.length() > 0) {
  63.150 -            return " onload=\"windowTitle();\"";
  63.151 -        } else {
  63.152 -            return "";
  63.153 -        }
  63.154 -    }
  63.155 -
  63.156 -    /**
  63.157 -     * Print &lt;BODY BGCOLOR="bgcolor"&gt;, including JavaScript
  63.158 -     * "onload" call to load windowtitle script.  This script shows the name
  63.159 -     * of the document in the window title bar when frames are on.
  63.160 -     *
  63.161 -     * @param bgcolor Background color.
  63.162 -     * @param includeScript  boolean set true if printing windowtitle script
  63.163 -     */
  63.164 -    public void body(String bgcolor, boolean includeScript) {
  63.165 -        print("<BODY BGCOLOR=\"" + bgcolor + "\"");
  63.166 -        if (includeScript) {
  63.167 -            print(getWindowTitleOnload());
  63.168 -        }
  63.169 -        println(">");
  63.170 -    }
  63.171 -
  63.172 -    /**
  63.173       * Returns an HtmlTree for the BODY tag.
  63.174       *
  63.175       * @param includeScript  set true if printing windowtitle script
  63.176 @@ -401,31 +326,6 @@
  63.177      }
  63.178  
  63.179      /**
  63.180 -     * Print &lt;/BODY&gt; tag. Add a newline character at the end.
  63.181 -     */
  63.182 -    public void bodyEnd() {
  63.183 -        println("</BODY>");
  63.184 -    }
  63.185 -
  63.186 -    /**
  63.187 -     * Print &lt;TITLE&gt; tag. Add a newline character at the end.
  63.188 -     */
  63.189 -    public void title() {
  63.190 -        println("<TITLE>");
  63.191 -    }
  63.192 -
  63.193 -    /**
  63.194 -     * Print &lt;TITLE&gt; tag. Add a newline character at the end.
  63.195 -     *
  63.196 -     * @param winTitle The title of this document.
  63.197 -     */
  63.198 -    public void title(String winTitle) {
  63.199 -        // Set window title string which is later printed
  63.200 -        this.winTitle = winTitle;
  63.201 -        title();
  63.202 -    }
  63.203 -
  63.204 -    /**
  63.205       * Returns an HtmlTree for the TITLE tag.
  63.206       *
  63.207       * @return an HtmlTree for the TITLE tag
  63.208 @@ -436,295 +336,6 @@
  63.209      }
  63.210  
  63.211      /**
  63.212 -     * Print &lt;/TITLE&gt; tag. Add a newline character at the end.
  63.213 -     */
  63.214 -    public void titleEnd() {
  63.215 -        println("</TITLE>");
  63.216 -    }
  63.217 -
  63.218 -    /**
  63.219 -     * Print &lt;UL&gt; tag. Add a newline character at the end.
  63.220 -     */
  63.221 -    public void ul() {
  63.222 -        println("<UL>");
  63.223 -    }
  63.224 -
  63.225 -    /**
  63.226 -     * Print &lt;/UL&gt; tag. Add a newline character at the end.
  63.227 -     */
  63.228 -    public void ulEnd() {
  63.229 -        println("</UL>");
  63.230 -    }
  63.231 -
  63.232 -    /**
  63.233 -     * Print &lt;LI&gt; tag.
  63.234 -     */
  63.235 -    public void li() {
  63.236 -        print("<LI>");
  63.237 -    }
  63.238 -
  63.239 -    /**
  63.240 -     * Print &lt;LI TYPE="type"&gt; tag.
  63.241 -     *
  63.242 -     * @param type Type string.
  63.243 -     */
  63.244 -    public void li(String type) {
  63.245 -        print("<LI TYPE=\"" + type + "\">");
  63.246 -    }
  63.247 -
  63.248 -    /**
  63.249 -     * Print &lt;H1&gt; tag. Add a newline character at the end.
  63.250 -     */
  63.251 -    public void h1() {
  63.252 -        println("<H1>");
  63.253 -    }
  63.254 -
  63.255 -    /**
  63.256 -     * Print &lt;/H1&gt; tag. Add a newline character at the end.
  63.257 -     */
  63.258 -    public void h1End() {
  63.259 -        println("</H1>");
  63.260 -    }
  63.261 -
  63.262 -    /**
  63.263 -     * Print text with &lt;H1&gt; tag. Also adds &lt;/H1&gt; tag. Add a newline character
  63.264 -     * at the end of the text.
  63.265 -     *
  63.266 -     * @param text Text to be printed with &lt;H1&gt; format.
  63.267 -     */
  63.268 -    public void h1(String text) {
  63.269 -        h1();
  63.270 -        println(text);
  63.271 -        h1End();
  63.272 -    }
  63.273 -
  63.274 -    /**
  63.275 -     * Print &lt;H2&gt; tag. Add a newline character at the end.
  63.276 -     */
  63.277 -    public void h2() {
  63.278 -        println("<H2>");
  63.279 -    }
  63.280 -
  63.281 -    /**
  63.282 -     * Print text with &lt;H2&gt; tag. Also adds &lt;/H2&gt; tag. Add a newline character
  63.283 -     *  at the end of the text.
  63.284 -     *
  63.285 -     * @param text Text to be printed with &lt;H2&gt; format.
  63.286 -     */
  63.287 -    public void h2(String text) {
  63.288 -        h2();
  63.289 -        println(text);
  63.290 -        h2End();
  63.291 -    }
  63.292 -
  63.293 -    /**
  63.294 -     * Print &lt;/H2&gt; tag. Add a newline character at the end.
  63.295 -     */
  63.296 -    public void h2End() {
  63.297 -        println("</H2>");
  63.298 -    }
  63.299 -
  63.300 -    /**
  63.301 -     * Print &lt;H3&gt; tag. Add a newline character at the end.
  63.302 -     */
  63.303 -    public void h3() {
  63.304 -        println("<H3>");
  63.305 -    }
  63.306 -
  63.307 -    /**
  63.308 -     * Print text with &lt;H3&gt; tag. Also adds &lt;/H3&gt; tag. Add a newline character
  63.309 -     *  at the end of the text.
  63.310 -     *
  63.311 -     * @param text Text to be printed with &lt;H3&gt; format.
  63.312 -     */
  63.313 -    public void h3(String text) {
  63.314 -        h3();
  63.315 -        println(text);
  63.316 -        h3End();
  63.317 -    }
  63.318 -
  63.319 -    /**
  63.320 -     * Print &lt;/H3&gt; tag. Add a newline character at the end.
  63.321 -     */
  63.322 -    public void h3End() {
  63.323 -        println("</H3>");
  63.324 -    }
  63.325 -
  63.326 -    /**
  63.327 -     * Print &lt;H4&gt; tag. Add a newline character at the end.
  63.328 -     */
  63.329 -    public void h4() {
  63.330 -        println("<H4>");
  63.331 -    }
  63.332 -
  63.333 -    /**
  63.334 -     * Print &lt;/H4&gt; tag. Add a newline character at the end.
  63.335 -     */
  63.336 -    public void h4End() {
  63.337 -        println("</H4>");
  63.338 -    }
  63.339 -
  63.340 -    /**
  63.341 -     * Print text with &lt;H4&gt; tag. Also adds &lt;/H4&gt; tag. Add a newline character
  63.342 -     * at the end of the text.
  63.343 -     *
  63.344 -     * @param text Text to be printed with &lt;H4&gt; format.
  63.345 -     */
  63.346 -    public void h4(String text) {
  63.347 -        h4();
  63.348 -        println(text);
  63.349 -        h4End();
  63.350 -    }
  63.351 -
  63.352 -    /**
  63.353 -     * Print &lt;H5&gt; tag. Add a newline character at the end.
  63.354 -     */
  63.355 -    public void h5() {
  63.356 -        println("<H5>");
  63.357 -    }
  63.358 -
  63.359 -    /**
  63.360 -     * Print &lt;/H5&gt; tag. Add a newline character at the end.
  63.361 -     */
  63.362 -    public void h5End() {
  63.363 -        println("</H5>");
  63.364 -    }
  63.365 -
  63.366 -    /**
  63.367 -     * Print HTML &lt;IMG SRC="imggif" WIDTH="width" HEIGHT="height" ALT="imgname&gt;
  63.368 -     * tag. It prepends the "images" directory name to the "imggif". This
  63.369 -     * method is used for oneone format generation. Add a newline character
  63.370 -     * at the end.
  63.371 -     *
  63.372 -     * @param imggif   Image GIF file.
  63.373 -     * @param imgname  Image name.
  63.374 -     * @param width    Width of the image.
  63.375 -     * @param height   Height of the image.
  63.376 -     */
  63.377 -    public void img(String imggif, String imgname, int width, int height) {
  63.378 -        println("<IMG SRC=\"images/" + imggif + ".gif\""
  63.379 -              + " WIDTH=\"" + width + "\" HEIGHT=\"" + height
  63.380 -              + "\" ALT=\"" + imgname + "\">");
  63.381 -    }
  63.382 -
  63.383 -    /**
  63.384 -     * Print &lt;MENU&gt; tag. Add a newline character at the end.
  63.385 -     */
  63.386 -    public void menu() {
  63.387 -        println("<MENU>");
  63.388 -    }
  63.389 -
  63.390 -    /**
  63.391 -     * Print &lt;/MENU&gt; tag. Add a newline character at the end.
  63.392 -     */
  63.393 -    public void menuEnd() {
  63.394 -        println("</MENU>");
  63.395 -    }
  63.396 -
  63.397 -    /**
  63.398 -     * Print &lt;PRE&gt; tag. Add a newline character at the end.
  63.399 -     */
  63.400 -    public void pre() {
  63.401 -        println("<PRE>");
  63.402 -    }
  63.403 -
  63.404 -    /**
  63.405 -     * Print &lt;PRE&gt; tag without adding new line character at th eend.
  63.406 -     */
  63.407 -    public void preNoNewLine() {
  63.408 -        print("<PRE>");
  63.409 -    }
  63.410 -
  63.411 -    /**
  63.412 -     * Print &lt;/PRE&gt; tag. Add a newline character at the end.
  63.413 -     */
  63.414 -    public void preEnd() {
  63.415 -        println("</PRE>");
  63.416 -    }
  63.417 -
  63.418 -    /**
  63.419 -     * Print &lt;HR&gt; tag. Add a newline character at the end.
  63.420 -     */
  63.421 -    public void hr() {
  63.422 -        println("<HR>");
  63.423 -    }
  63.424 -
  63.425 -    /**
  63.426 -     * Print &lt;HR SIZE="size" WIDTH="widthpercent%"&gt; tag. Add a newline
  63.427 -     * character at the end.
  63.428 -     *
  63.429 -     * @param size           Size of the ruler.
  63.430 -     * @param widthPercent   Percentage Width of the ruler
  63.431 -     */
  63.432 -    public void hr(int size, int widthPercent) {
  63.433 -        println("<HR SIZE=\"" + size + "\" WIDTH=\"" + widthPercent + "%\">");
  63.434 -    }
  63.435 -
  63.436 -    /**
  63.437 -     * Print &lt;HR SIZE="size" NOSHADE&gt; tag. Add a newline character at the end.
  63.438 -     *
  63.439 -     * @param size           Size of the ruler.
  63.440 -     * @param noshade        noshade string.
  63.441 -     */
  63.442 -    public void hr(int size, String noshade) {
  63.443 -        println("<HR SIZE=\"" + size + "\" NOSHADE>");
  63.444 -    }
  63.445 -
  63.446 -    /**
  63.447 -     * Get the "&lt;STRONG&gt;" string.
  63.448 -     *
  63.449 -     * @return String Return String "&lt;STRONG&gt;";
  63.450 -     */
  63.451 -    public String getStrong() {
  63.452 -        return "<STRONG>";
  63.453 -    }
  63.454 -
  63.455 -    /**
  63.456 -     * Get the "&lt;/STRONG&gt;" string.
  63.457 -     *
  63.458 -     * @return String Return String "&lt;/STRONG&gt;";
  63.459 -     */
  63.460 -    public String getStrongEnd() {
  63.461 -        return "</STRONG>";
  63.462 -    }
  63.463 -
  63.464 -    /**
  63.465 -     * Print &lt;STRONG&gt; tag.
  63.466 -     */
  63.467 -    public void strong() {
  63.468 -        print("<STRONG>");
  63.469 -    }
  63.470 -
  63.471 -    /**
  63.472 -     * Print &lt;/STRONG&gt; tag.
  63.473 -     */
  63.474 -    public void strongEnd() {
  63.475 -        print("</STRONG>");
  63.476 -    }
  63.477 -
  63.478 -    /**
  63.479 -     * Print text passed, in strong format using &lt;STRONG&gt; and &lt;/STRONG&gt; tags.
  63.480 -     *
  63.481 -     * @param text String to be printed in between &lt;STRONG&gt; and &lt;/STRONG&gt; tags.
  63.482 -     */
  63.483 -    public void strong(String text) {
  63.484 -        strong();
  63.485 -        print(text);
  63.486 -        strongEnd();
  63.487 -    }
  63.488 -
  63.489 -    /**
  63.490 -     * Print text passed, in Italics using &lt;I&gt; and &lt;/I&gt; tags.
  63.491 -     *
  63.492 -     * @param text String to be printed in between &lt;I&gt; and &lt;/I&gt; tags.
  63.493 -     */
  63.494 -    public void italics(String text) {
  63.495 -        print("<I>");
  63.496 -        print(text);
  63.497 -        println("</I>");
  63.498 -    }
  63.499 -
  63.500 -    /**
  63.501       * Return, text passed, with Italics &lt;i&gt; and &lt;/i&gt; tags, surrounding it.
  63.502       * So if the text passed is "Hi", then string returned will be "&lt;i&gt;Hi&lt;/i&gt;".
  63.503       *
  63.504 @@ -739,690 +350,16 @@
  63.505      }
  63.506  
  63.507      /**
  63.508 -     * Print "&#38;nbsp;", non-breaking space.
  63.509 -     */
  63.510 -    public void space() {
  63.511 -        print("&nbsp;");
  63.512 -    }
  63.513 -
  63.514 -    /**
  63.515       * Return "&#38;nbsp;", non-breaking space.
  63.516       */
  63.517      public Content getSpace() {
  63.518          return RawHtml.nbsp;
  63.519      }
  63.520  
  63.521 -    /**
  63.522 -     * Print &lt;DL&gt; tag. Add a newline character at the end.
  63.523 -     */
  63.524 -    public void dl() {
  63.525 -        println("<DL>");
  63.526 -    }
  63.527 -
  63.528 -    /**
  63.529 -     * Print &lt;/DL&gt; tag. Add a newline character at the end.
  63.530 -     */
  63.531 -    public void dlEnd() {
  63.532 -        println("</DL>");
  63.533 -    }
  63.534 -
  63.535 -    /**
  63.536 -     * Print &lt;DT&gt; tag.
  63.537 -     */
  63.538 -    public void dt() {
  63.539 -        print("<DT>");
  63.540 -    }
  63.541 -
  63.542 -    /**
  63.543 -     * Print &lt;/DT&gt; tag.
  63.544 -     */
  63.545 -    public void dtEnd() {
  63.546 -        print("</DT>");
  63.547 -    }
  63.548 -
  63.549 -    /**
  63.550 -     * Print &lt;DD&gt; tag.
  63.551 -     */
  63.552 -    public void dd() {
  63.553 -        print("<DD>");
  63.554 -    }
  63.555 -
  63.556 -    /**
  63.557 -     * Print &lt;/DD&gt; tag. Add a newline character at the end.
  63.558 -     */
  63.559 -    public void ddEnd() {
  63.560 -        println("</DD>");
  63.561 -    }
  63.562 -
  63.563 -    /**
  63.564 -     * Print &lt;SUP&gt; tag. Add a newline character at the end.
  63.565 -     */
  63.566 -    public void sup() {
  63.567 -        println("<SUP>");
  63.568 -    }
  63.569 -
  63.570 -    /**
  63.571 -     * Print &lt;/SUP&gt; tag. Add a newline character at the end.
  63.572 -     */
  63.573 -    public void supEnd() {
  63.574 -        println("</SUP>");
  63.575 -    }
  63.576 -
  63.577 -    /**
  63.578 -     * Print &lt;FONT SIZE="size"&gt; tag. Add a newline character at the end.
  63.579 -     *
  63.580 -     * @param size String size.
  63.581 -     */
  63.582 -    public void font(String size) {
  63.583 -        println("<FONT SIZE=\"" + size + "\">");
  63.584 -    }
  63.585 -
  63.586 -    /**
  63.587 -     * Print &lt;FONT SIZE="size"&gt; tag.
  63.588 -     *
  63.589 -     * @param size String size.
  63.590 -     */
  63.591 -    public void fontNoNewLine(String size) {
  63.592 -        print("<FONT SIZE=\"" + size + "\">");
  63.593 -    }
  63.594 -
  63.595 -    /**
  63.596 -     * Print &lt;FONT CLASS="stylename"&gt; tag. Add a newline character at the end.
  63.597 -     *
  63.598 -     * @param stylename String stylename.
  63.599 -     */
  63.600 -    public void fontStyle(String stylename) {
  63.601 -        print("<FONT CLASS=\"" + stylename + "\">");
  63.602 -    }
  63.603 -
  63.604 -    /**
  63.605 -     * Print &lt;FONT SIZE="size" CLASS="stylename"&gt; tag. Add a newline character
  63.606 -     * at the end.
  63.607 -     *
  63.608 -     * @param size String size.
  63.609 -     * @param stylename String stylename.
  63.610 -     */
  63.611 -    public void fontSizeStyle(String size, String stylename) {
  63.612 -        println("<FONT size=\"" + size + "\" CLASS=\"" + stylename + "\">");
  63.613 -    }
  63.614 -
  63.615 -    /**
  63.616 -     * Print &lt;/FONT&gt; tag.
  63.617 -     */
  63.618 -    public void fontEnd() {
  63.619 -        print("</FONT>");
  63.620 -    }
  63.621 -
  63.622 -    /**
  63.623 -     * Get the "&lt;FONT COLOR="color"&gt;" string.
  63.624 -     *
  63.625 -     * @param color String color.
  63.626 -     * @return String Return String "&lt;FONT COLOR="color"&gt;".
  63.627 -     */
  63.628 -    public String getFontColor(String color) {
  63.629 -        return "<FONT COLOR=\"" + color + "\">";
  63.630 -    }
  63.631 -
  63.632 -    /**
  63.633 -     * Get the "&lt;/FONT&gt;" string.
  63.634 -     *
  63.635 -     * @return String Return String "&lt;/FONT&gt;";
  63.636 -     */
  63.637 -    public String getFontEnd() {
  63.638 -        return "</FONT>";
  63.639 -    }
  63.640 -
  63.641 -    /**
  63.642 -     * Print &lt;CENTER&gt; tag. Add a newline character at the end.
  63.643 -     */
  63.644 -    public void center() {
  63.645 -        println("<CENTER>");
  63.646 -    }
  63.647 -
  63.648 -    /**
  63.649 -     * Print &lt;/CENTER&gt; tag. Add a newline character at the end.
  63.650 -     */
  63.651 -    public void centerEnd() {
  63.652 -        println("</CENTER>");
  63.653 -    }
  63.654 -
  63.655 -    /**
  63.656 -     * Print anchor &lt;A NAME="name"&gt; tag.
  63.657 -     *
  63.658 -     * @param name Name String.
  63.659 -     */
  63.660 -    public void aName(String name) {
  63.661 -        print("<A NAME=\"" + name + "\">");
  63.662 -    }
  63.663 -
  63.664 -    /**
  63.665 -     * Print &lt;/A&gt; tag.
  63.666 -     */
  63.667 -    public void aEnd() {
  63.668 -        print("</A>");
  63.669 -    }
  63.670 -
  63.671 -    /**
  63.672 -     * Print &lt;I&gt; tag.
  63.673 -     */
  63.674 -    public void italic() {
  63.675 -        print("<I>");
  63.676 -    }
  63.677 -
  63.678 -    /**
  63.679 -     * Print &lt;/I&gt; tag.
  63.680 -     */
  63.681 -    public void italicEnd() {
  63.682 -        print("</I>");
  63.683 -    }
  63.684 -
  63.685 -    /**
  63.686 -     * Print contents within anchor &lt;A NAME="name"&gt; tags.
  63.687 -     *
  63.688 -     * @param name String name.
  63.689 -     * @param content String contents.
  63.690 -     */
  63.691 -    public void anchor(String name, String content) {
  63.692 -        aName(name);
  63.693 -        print(content);
  63.694 -        aEnd();
  63.695 -    }
  63.696 -
  63.697 -    /**
  63.698 -     * Print anchor &lt;A NAME="name"&gt; and &lt;/A&gt;tags. Print comment string
  63.699 -     * "&lt;!-- --&gt;" within those tags.
  63.700 -     *
  63.701 -     * @param name String name.
  63.702 -     */
  63.703 -    public void anchor(String name) {
  63.704 -        anchor(name, "<!-- -->");
  63.705 -    }
  63.706 -
  63.707 -    /**
  63.708 -     * Print newline and then print &lt;P&gt; tag. Add a newline character at the
  63.709 -     * end.
  63.710 -     */
  63.711 -    public void p() {
  63.712 -        println();
  63.713 -        println("<P>");
  63.714 -    }
  63.715 -
  63.716 -    /**
  63.717 -     * Print newline and then print &lt;/P&gt; tag. Add a newline character at the
  63.718 -     * end.
  63.719 -     */
  63.720 -    public void pEnd() {
  63.721 -        println();
  63.722 -        println("</P>");
  63.723 -    }
  63.724 -
  63.725 -    /**
  63.726 -     * Print newline and then print &lt;BR&gt; tag. Add a newline character at the
  63.727 -     * end.
  63.728 -     */
  63.729 -    public void br() {
  63.730 -        println();
  63.731 -        println("<BR>");
  63.732 -    }
  63.733 -
  63.734 -    /**
  63.735 -     * Print &lt;ADDRESS&gt; tag. Add a newline character at the end.
  63.736 -     */
  63.737 -    public void address() {
  63.738 -        println("<ADDRESS>");
  63.739 -    }
  63.740 -
  63.741 -    /**
  63.742 -     * Print &lt;/ADDRESS&gt; tag. Add a newline character at the end.
  63.743 -     */
  63.744 -    public void addressEnd() {
  63.745 -        println("</ADDRESS>");
  63.746 -    }
  63.747 -
  63.748 -    /**
  63.749 -     * Print &lt;HEAD&gt; tag. Add a newline character at the end.
  63.750 -     */
  63.751 -    public void head() {
  63.752 -        println("<HEAD>");
  63.753 -    }
  63.754 -
  63.755 -    /**
  63.756 -     * Print &lt;/HEAD&gt; tag. Add a newline character at the end.
  63.757 -     */
  63.758 -    public void headEnd() {
  63.759 -        println("</HEAD>");
  63.760 -    }
  63.761 -
  63.762 -    /**
  63.763 -     * Print &lt;CODE&gt; tag.
  63.764 -     */
  63.765 -    public void code() {
  63.766 -        print("<CODE>");
  63.767 -    }
  63.768 -
  63.769 -    /**
  63.770 -     * Print &lt;/CODE&gt; tag.
  63.771 -     */
  63.772 -    public void codeEnd() {
  63.773 -        print("</CODE>");
  63.774 -    }
  63.775 -
  63.776 -    /**
  63.777 -     * Print &lt;EM&gt; tag. Add a newline character at the end.
  63.778 -     */
  63.779 -    public void em() {
  63.780 -        println("<EM>");
  63.781 -    }
  63.782 -
  63.783 -    /**
  63.784 -     * Print &lt;/EM&gt; tag. Add a newline character at the end.
  63.785 -     */
  63.786 -    public void emEnd() {
  63.787 -        println("</EM>");
  63.788 -    }
  63.789 -
  63.790 -    /**
  63.791 -     * Print HTML &lt;TABLE BORDER="border" WIDTH="width"
  63.792 -     * CELLPADDING="cellpadding" CELLSPACING="cellspacing"&gt; tag.
  63.793 -     *
  63.794 -     * @param border       Border size.
  63.795 -     * @param width        Width of the table.
  63.796 -     * @param cellpadding  Cellpadding for the table cells.
  63.797 -     * @param cellspacing  Cellspacing for the table cells.
  63.798 -     */
  63.799 -    public void table(int border, String width, int cellpadding,
  63.800 -                      int cellspacing) {
  63.801 -        println(DocletConstants.NL +
  63.802 -                "<TABLE BORDER=\"" + border +
  63.803 -                "\" WIDTH=\"" + width +
  63.804 -                "\" CELLPADDING=\"" + cellpadding +
  63.805 -                "\" CELLSPACING=\"" + cellspacing +
  63.806 -                "\" SUMMARY=\"\">");
  63.807 -    }
  63.808 -
  63.809 -    /**
  63.810 -     * Print HTML &lt;TABLE BORDER="border" WIDTH="width"
  63.811 -     * CELLPADDING="cellpadding" CELLSPACING="cellspacing" SUMMARY="summary"&gt; tag.
  63.812 -     *
  63.813 -     * @param border       Border size.
  63.814 -     * @param width        Width of the table.
  63.815 -     * @param cellpadding  Cellpadding for the table cells.
  63.816 -     * @param cellspacing  Cellspacing for the table cells.
  63.817 -     * @param summary      Table summary.
  63.818 -     */
  63.819 -    public void table(int border, String width, int cellpadding,
  63.820 -                      int cellspacing, String summary) {
  63.821 -        println(DocletConstants.NL +
  63.822 -                "<TABLE BORDER=\"" + border +
  63.823 -                "\" WIDTH=\"" + width +
  63.824 -                "\" CELLPADDING=\"" + cellpadding +
  63.825 -                "\" CELLSPACING=\"" + cellspacing +
  63.826 -                "\" SUMMARY=\"" + summary + "\">");
  63.827 -    }
  63.828 -
  63.829 -    /**
  63.830 -     * Print HTML &lt;TABLE BORDER="border" CELLPADDING="cellpadding"
  63.831 -     * CELLSPACING="cellspacing"&gt; tag.
  63.832 -     *
  63.833 -     * @param border       Border size.
  63.834 -     * @param cellpadding  Cellpadding for the table cells.
  63.835 -     * @param cellspacing  Cellspacing for the table cells.
  63.836 -     */
  63.837 -    public void table(int border, int cellpadding, int cellspacing) {
  63.838 -        println(DocletConstants.NL +
  63.839 -                "<TABLE BORDER=\"" + border +
  63.840 -                "\" CELLPADDING=\"" + cellpadding +
  63.841 -                "\" CELLSPACING=\"" + cellspacing +
  63.842 -                "\" SUMMARY=\"\">");
  63.843 -    }
  63.844 -
  63.845 -    /**
  63.846 -     * Print HTML &lt;TABLE BORDER="border" CELLPADDING="cellpadding"
  63.847 -     * CELLSPACING="cellspacing" SUMMARY="summary"&gt; tag.
  63.848 -     *
  63.849 -     * @param border       Border size.
  63.850 -     * @param cellpadding  Cellpadding for the table cells.
  63.851 -     * @param cellspacing  Cellspacing for the table cells.
  63.852 -     * @param summary      Table summary.
  63.853 -     */
  63.854 -    public void table(int border, int cellpadding, int cellspacing, String summary) {
  63.855 -        println(DocletConstants.NL +
  63.856 -                "<TABLE BORDER=\"" + border +
  63.857 -                "\" CELLPADDING=\"" + cellpadding +
  63.858 -                "\" CELLSPACING=\"" + cellspacing +
  63.859 -                "\" SUMMARY=\"" + summary + "\">");
  63.860 -    }
  63.861 -
  63.862 -    /**
  63.863 -     * Print HTML &lt;TABLE BORDER="border" WIDTH="width"&gt;
  63.864 -     *
  63.865 -     * @param border       Border size.
  63.866 -     * @param width        Width of the table.
  63.867 -     */
  63.868 -    public void table(int border, String width) {
  63.869 -        println(DocletConstants.NL +
  63.870 -                "<TABLE BORDER=\"" + border +
  63.871 -                "\" WIDTH=\"" + width +
  63.872 -                "\" SUMMARY=\"\">");
  63.873 -    }
  63.874 -
  63.875 -    /**
  63.876 -     * Print the HTML table tag with border size 0 and width 100%.
  63.877 -     */
  63.878 -    public void table() {
  63.879 -        table(0, "100%");
  63.880 -    }
  63.881 -
  63.882 -    /**
  63.883 -     * Print &lt;/TABLE&gt; tag. Add a newline character at the end.
  63.884 -     */
  63.885 -    public void tableEnd() {
  63.886 -        println("</TABLE>");
  63.887 -    }
  63.888 -
  63.889 -    /**
  63.890 -     * Print &lt;TR&gt; tag. Add a newline character at the end.
  63.891 -     */
  63.892 -    public void tr() {
  63.893 -        println("<TR>");
  63.894 -    }
  63.895 -
  63.896 -    /**
  63.897 -     * Print &lt;/TR&gt; tag. Add a newline character at the end.
  63.898 -     */
  63.899 -    public void trEnd() {
  63.900 -        println("</TR>");
  63.901 -    }
  63.902 -
  63.903 -    /**
  63.904 -     * Print &lt;TD&gt; tag.
  63.905 -     */
  63.906 -    public void td() {
  63.907 -        print("<TD>");
  63.908 -    }
  63.909 -
  63.910 -    /**
  63.911 -     * Print &lt;TD NOWRAP&gt; tag.
  63.912 -     */
  63.913 -    public void tdNowrap() {
  63.914 -        print("<TD NOWRAP>");
  63.915 -    }
  63.916 -
  63.917 -    /**
  63.918 -     * Print &lt;TD WIDTH="width"&gt; tag.
  63.919 -     *
  63.920 -     * @param width String width.
  63.921 -     */
  63.922 -    public void tdWidth(String width) {
  63.923 -        print("<TD WIDTH=\"" + width + "\">");
  63.924 -    }
  63.925 -
  63.926 -    /**
  63.927 -     * Print &lt;/TD&gt; tag. Add a newline character at the end.
  63.928 -     */
  63.929 -    public void tdEnd() {
  63.930 -        println("</TD>");
  63.931 -    }
  63.932 -
  63.933 -    /**
  63.934 -     * Print &lt;LINK str&gt; tag.
  63.935 -     *
  63.936 -     * @param str String.
  63.937 -     */
  63.938 -    public void link(String str) {
  63.939 -        println("<LINK " + str + ">");
  63.940 -    }
  63.941 -
  63.942 -    /**
  63.943 -     * Print "&lt;!-- " comment start string.
  63.944 -     */
  63.945 -    public void commentStart() {
  63.946 -         print("<!-- ");
  63.947 -    }
  63.948 -
  63.949 -    /**
  63.950 -     * Print "--&gt;" comment end string. Add a newline character at the end.
  63.951 -     */
  63.952 -    public void commentEnd() {
  63.953 -         println("-->");
  63.954 -    }
  63.955 -
  63.956 -    /**
  63.957 -     * Print &lt;CAPTION CLASS="stylename"&gt; tag. Adds a newline character
  63.958 -     * at the end.
  63.959 -     *
  63.960 -     * @param stylename style to be applied.
  63.961 -     */
  63.962 -    public void captionStyle(String stylename) {
  63.963 -        println("<CAPTION CLASS=\"" + stylename + "\">");
  63.964 -    }
  63.965 -
  63.966 -    /**
  63.967 -     * Print &lt;/CAPTION&gt; tag. Add a newline character at the end.
  63.968 -     */
  63.969 -    public void captionEnd() {
  63.970 -        println("</CAPTION>");
  63.971 -    }
  63.972 -
  63.973 -    /**
  63.974 -     * Print &lt;TR BGCOLOR="color" CLASS="stylename"&gt; tag. Adds a newline character
  63.975 -     * at the end.
  63.976 -     *
  63.977 -     * @param color String color.
  63.978 -     * @param stylename String stylename.
  63.979 -     */
  63.980 -    public void trBgcolorStyle(String color, String stylename) {
  63.981 -        println("<TR BGCOLOR=\"" + color + "\" CLASS=\"" + stylename + "\">");
  63.982 -    }
  63.983 -
  63.984 -    /**
  63.985 -     * Print &lt;TR BGCOLOR="color"&gt; tag. Adds a newline character at the end.
  63.986 -     *
  63.987 -     * @param color String color.
  63.988 -     */
  63.989 -    public void trBgcolor(String color) {
  63.990 -        println("<TR BGCOLOR=\"" + color + "\">");
  63.991 -    }
  63.992 -
  63.993 -    /**
  63.994 -     * Print &lt;TR ALIGN="align" VALIGN="valign"&gt; tag. Adds a newline character
  63.995 -     * at the end.
  63.996 -     *
  63.997 -     * @param align String align.
  63.998 -     * @param valign String valign.
  63.999 -     */
 63.1000 -    public void trAlignVAlign(String align, String valign) {
 63.1001 -        println("<TR ALIGN=\"" + align + "\" VALIGN=\"" + valign + "\">");
 63.1002 -    }
 63.1003 -
 63.1004 -    /**
 63.1005 -     * Print &lt;TH ALIGN="align"&gt; tag.
 63.1006 -     *
 63.1007 -     * @param align the align attribute.
 63.1008 -     */
 63.1009 -    public void thAlign(String align) {
 63.1010 -        print("<TH ALIGN=\"" + align + "\">");
 63.1011 -    }
 63.1012 -
 63.1013 -    /**
 63.1014 -     * Print &lt;TH CLASS="stylename" SCOPE="scope" NOWRAP&gt; tag.
 63.1015 -     *
 63.1016 -     * @param stylename style to be applied.
 63.1017 -     * @param scope the scope attribute.
 63.1018 -     */
 63.1019 -    public void thScopeNoWrap(String stylename, String scope) {
 63.1020 -        print("<TH CLASS=\"" + stylename + "\" SCOPE=\"" + scope + "\" NOWRAP>");
 63.1021 -    }
 63.1022 -
 63.1023      /*
 63.1024       * Returns a header for Modifier and Type column of a table.
 63.1025       */
 63.1026      public String getModifierTypeHeader() {
 63.1027          return modifierTypeHeader;
 63.1028      }
 63.1029 -
 63.1030 -    /**
 63.1031 -     * Print &lt;TH align="align" COLSPAN=i&gt; tag.
 63.1032 -     *
 63.1033 -     * @param align the align attribute.
 63.1034 -     * @param i integer.
 63.1035 -     */
 63.1036 -    public void thAlignColspan(String align, int i) {
 63.1037 -        print("<TH ALIGN=\"" + align + "\" COLSPAN=\"" + i + "\">");
 63.1038 -    }
 63.1039 -
 63.1040 -    /**
 63.1041 -     * Print &lt;TH align="align" NOWRAP&gt; tag.
 63.1042 -     *
 63.1043 -     * @param align the align attribute.
 63.1044 -     */
 63.1045 -    public void thAlignNowrap(String align) {
 63.1046 -        print("<TH ALIGN=\"" + align + "\" NOWRAP>");
 63.1047 -    }
 63.1048 -
 63.1049 -    /**
 63.1050 -     * Print &lt;/TH&gt; tag. Add a newline character at the end.
 63.1051 -     */
 63.1052 -    public void thEnd() {
 63.1053 -        println("</TH>");
 63.1054 -    }
 63.1055 -
 63.1056 -    /**
 63.1057 -     * Print &lt;TD COLSPAN=i&gt; tag.
 63.1058 -     *
 63.1059 -     * @param i integer.
 63.1060 -     */
 63.1061 -    public void tdColspan(int i) {
 63.1062 -        print("<TD COLSPAN=" + i + ">");
 63.1063 -    }
 63.1064 -
 63.1065 -    /**
 63.1066 -     * Print &lt;TD BGCOLOR="color" CLASS="stylename"&gt; tag.
 63.1067 -     *
 63.1068 -     * @param color String color.
 63.1069 -     * @param stylename String stylename.
 63.1070 -     */
 63.1071 -    public void tdBgcolorStyle(String color, String stylename) {
 63.1072 -        print("<TD BGCOLOR=\"" + color + "\" CLASS=\"" + stylename + "\">");
 63.1073 -    }
 63.1074 -
 63.1075 -    /**
 63.1076 -     * Print &lt;TD COLSPAN=i BGCOLOR="color" CLASS="stylename"&gt; tag.
 63.1077 -     *
 63.1078 -     * @param i integer.
 63.1079 -     * @param color String color.
 63.1080 -     * @param stylename String stylename.
 63.1081 -     */
 63.1082 -    public void tdColspanBgcolorStyle(int i, String color, String stylename) {
 63.1083 -        print("<TD COLSPAN=" + i + " BGCOLOR=\"" + color + "\" CLASS=\"" +
 63.1084 -              stylename + "\">");
 63.1085 -    }
 63.1086 -
 63.1087 -    /**
 63.1088 -     * Print &lt;TD ALIGN="align"&gt; tag. Adds a newline character
 63.1089 -     * at the end.
 63.1090 -     *
 63.1091 -     * @param align String align.
 63.1092 -     */
 63.1093 -    public void tdAlign(String align) {
 63.1094 -        print("<TD ALIGN=\"" + align + "\">");
 63.1095 -    }
 63.1096 -
 63.1097 -    /**
 63.1098 -     * Print &lt;TD ALIGN="align" CLASS="stylename"&gt; tag.
 63.1099 -     *
 63.1100 -     * @param align        String align.
 63.1101 -     * @param stylename    String stylename.
 63.1102 -     */
 63.1103 -    public void tdVAlignClass(String align, String stylename) {
 63.1104 -        print("<TD VALIGN=\"" + align + "\" CLASS=\"" + stylename + "\">");
 63.1105 -    }
 63.1106 -
 63.1107 -    /**
 63.1108 -     * Print &lt;TD VALIGN="valign"&gt; tag.
 63.1109 -     *
 63.1110 -     * @param valign String valign.
 63.1111 -     */
 63.1112 -    public void tdVAlign(String valign) {
 63.1113 -        print("<TD VALIGN=\"" + valign + "\">");
 63.1114 -    }
 63.1115 -
 63.1116 -    /**
 63.1117 -     * Print &lt;TD ALIGN="align" VALIGN="valign"&gt; tag.
 63.1118 -     *
 63.1119 -     * @param align   String align.
 63.1120 -     * @param valign  String valign.
 63.1121 -     */
 63.1122 -    public void tdAlignVAlign(String align, String valign) {
 63.1123 -        print("<TD ALIGN=\"" + align + "\" VALIGN=\"" + valign + "\">");
 63.1124 -    }
 63.1125 -
 63.1126 -    /**
 63.1127 -     * Print &lt;TD ALIGN="align" ROWSPAN=rowspan&gt; tag.
 63.1128 -     *
 63.1129 -     * @param align    String align.
 63.1130 -     * @param rowspan  integer rowspan.
 63.1131 -     */
 63.1132 -    public void tdAlignRowspan(String align, int rowspan) {
 63.1133 -        print("<TD ALIGN=\"" + align + "\" ROWSPAN=" + rowspan + ">");
 63.1134 -    }
 63.1135 -
 63.1136 -    /**
 63.1137 -     * Print &lt;TD ALIGN="align" VALIGN="valign" ROWSPAN=rowspan&gt; tag.
 63.1138 -     *
 63.1139 -     * @param align    String align.
 63.1140 -     * @param valign  String valign.
 63.1141 -     * @param rowspan  integer rowspan.
 63.1142 -     */
 63.1143 -    public void tdAlignVAlignRowspan(String align, String valign,
 63.1144 -                                     int rowspan) {
 63.1145 -        print("<TD ALIGN=\"" + align + "\" VALIGN=\"" + valign
 63.1146 -                + "\" ROWSPAN=" + rowspan + ">");
 63.1147 -    }
 63.1148 -
 63.1149 -    /**
 63.1150 -     * Print &lt;BLOCKQUOTE&gt; tag. Add a newline character at the end.
 63.1151 -     */
 63.1152 -    public void blockquote() {
 63.1153 -        println("<BLOCKQUOTE>");
 63.1154 -    }
 63.1155 -
 63.1156 -    /**
 63.1157 -     * Print &lt;/BLOCKQUOTE&gt; tag. Add a newline character at the end.
 63.1158 -     */
 63.1159 -    public void blockquoteEnd() {
 63.1160 -        println("</BLOCKQUOTE>");
 63.1161 -    }
 63.1162 -
 63.1163 -    /**
 63.1164 -     * Get the "&lt;code&gt;" string.
 63.1165 -     *
 63.1166 -     * @return String Return String "&lt;code&gt;";
 63.1167 -     */
 63.1168 -    public String getCode() {
 63.1169 -        return "<code>";
 63.1170 -    }
 63.1171 -
 63.1172 -    /**
 63.1173 -     * Get the "&lt;/code&gt;" string.
 63.1174 -     *
 63.1175 -     * @return String Return String "&lt;/code&gt;";
 63.1176 -     */
 63.1177 -    public String getCodeEnd() {
 63.1178 -        return "</code>";
 63.1179 -    }
 63.1180 -
 63.1181 -    /**
 63.1182 -     * Print &lt;NOFRAMES&gt; tag. Add a newline character at the end.
 63.1183 -     */
 63.1184 -    public void noFrames() {
 63.1185 -        println("<NOFRAMES>");
 63.1186 -    }
 63.1187 -
 63.1188 -    /**
 63.1189 -     * Print &lt;/NOFRAMES&gt; tag. Add a newline character at the end.
 63.1190 -     */
 63.1191 -    public void noFramesEnd() {
 63.1192 -        println("</NOFRAMES>");
 63.1193 -    }
 63.1194  }
    64.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/markup/RawHtml.java	Thu Oct 18 11:09:45 2012 -0700
    64.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/markup/RawHtml.java	Tue Oct 23 09:42:48 2012 -0700
    64.3 @@ -1,5 +1,5 @@
    64.4  /*
    64.5 - * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
    64.6 + * Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved.
    64.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    64.8   *
    64.9   * This code is free software; you can redistribute it and/or modify it
   64.10 @@ -25,12 +25,20 @@
   64.11  
   64.12  package com.sun.tools.doclets.formats.html.markup;
   64.13  
   64.14 +import java.io.IOException;
   64.15 +import java.io.Writer;
   64.16 +
   64.17  import com.sun.tools.doclets.internal.toolkit.Content;
   64.18  import com.sun.tools.doclets.internal.toolkit.util.*;
   64.19  
   64.20  /**
   64.21   * Class for generating raw HTML content to be added to HTML pages of javadoc output.
   64.22   *
   64.23 + *  <p><b>This is NOT part of any supported API.
   64.24 + *  If you write code that depends on this, you do so at your own risk.
   64.25 + *  This code and its internal interfaces are subject to change or
   64.26 + *  deletion without notice.</b>
   64.27 + *
   64.28   * @author Bhavesh Patel
   64.29   */
   64.30  public class RawHtml extends Content{
   64.31 @@ -82,7 +90,16 @@
   64.32      /**
   64.33       * {@inheritDoc}
   64.34       */
   64.35 -    public void write(StringBuilder contentBuilder) {
   64.36 -        contentBuilder.append(rawHtmlContent);
   64.37 +    public String toString() {
   64.38 +        return rawHtmlContent;
   64.39 +    }
   64.40 +
   64.41 +    /**
   64.42 +     * {@inheritDoc}
   64.43 +     */
   64.44 +    @Override
   64.45 +    public boolean write(Writer out, boolean atNewline) throws IOException {
   64.46 +        out.write(rawHtmlContent);
   64.47 +        return rawHtmlContent.endsWith(DocletConstants.NL);
   64.48      }
   64.49  }
    65.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/markup/StringContent.java	Thu Oct 18 11:09:45 2012 -0700
    65.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/markup/StringContent.java	Tue Oct 23 09:42:48 2012 -0700
    65.3 @@ -1,5 +1,5 @@
    65.4  /*
    65.5 - * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
    65.6 + * Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved.
    65.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    65.8   *
    65.9   * This code is free software; you can redistribute it and/or modify it
   65.10 @@ -25,12 +25,20 @@
   65.11  
   65.12  package com.sun.tools.doclets.formats.html.markup;
   65.13  
   65.14 +import java.io.IOException;
   65.15 +import java.io.Writer;
   65.16 +
   65.17  import com.sun.tools.doclets.internal.toolkit.Content;
   65.18  import com.sun.tools.doclets.internal.toolkit.util.*;
   65.19  
   65.20  /**
   65.21   * Class for generating string content for HTML tags of javadoc output.
   65.22   *
   65.23 + *  <p><b>This is NOT part of any supported API.
   65.24 + *  If you write code that depends on this, you do so at your own risk.
   65.25 + *  This code and its internal interfaces are subject to change or
   65.26 + *  deletion without notice.</b>
   65.27 + *
   65.28   * @author Bhavesh Patel
   65.29   */
   65.30  public class StringContent extends Content{
   65.31 @@ -93,7 +101,10 @@
   65.32      /**
   65.33       * {@inheritDoc}
   65.34       */
   65.35 -    public void write(StringBuilder contentBuilder) {
   65.36 -        contentBuilder.append(stringContent);
   65.37 +    @Override
   65.38 +    public boolean write(Writer out, boolean atNewline) throws IOException {
   65.39 +        String s = stringContent.toString();
   65.40 +        out.write(s);
   65.41 +        return s.endsWith(DocletConstants.NL);
   65.42      }
   65.43  }
    66.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/AbstractDoclet.java	Thu Oct 18 11:09:45 2012 -0700
    66.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/AbstractDoclet.java	Tue Oct 23 09:42:48 2012 -0700
    66.3 @@ -1,5 +1,5 @@
    66.4  /*
    66.5 - * Copyright (c) 2003, 2008, Oracle and/or its affiliates. All rights reserved.
    66.6 + * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
    66.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    66.8   *
    66.9   * This code is free software; you can redistribute it and/or modify it
   66.10 @@ -25,18 +25,19 @@
   66.11  
   66.12  package com.sun.tools.doclets.internal.toolkit;
   66.13  
   66.14 +import com.sun.javadoc.*;
   66.15  import com.sun.tools.doclets.internal.toolkit.builders.*;
   66.16  import com.sun.tools.doclets.internal.toolkit.util.*;
   66.17 -import com.sun.javadoc.*;
   66.18 -import java.util.*;
   66.19 -import java.io.*;
   66.20 +import java.io.File;
   66.21 +import java.util.StringTokenizer;
   66.22  
   66.23  /**
   66.24   * An abstract implementation of a Doclet.
   66.25   *
   66.26 - * This code is not part of an API.
   66.27 - * It is implementation that is subject to change.
   66.28 - * Do not use it as an API.
   66.29 + *  <p><b>This is NOT part of any supported API.
   66.30 + *  If you write code that depends on this, you do so at your own risk.
   66.31 + *  This code and its internal interfaces are subject to change or
   66.32 + *  deletion without notice.</b>
   66.33   *
   66.34   * @author Jamie Ho
   66.35   */
    67.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/AnnotationTypeOptionalMemberWriter.java	Thu Oct 18 11:09:45 2012 -0700
    67.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/AnnotationTypeOptionalMemberWriter.java	Tue Oct 23 09:42:48 2012 -0700
    67.3 @@ -1,5 +1,5 @@
    67.4  /*
    67.5 - * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
    67.6 + * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
    67.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    67.8   *
    67.9   * This code is free software; you can redistribute it and/or modify it
   67.10 @@ -30,9 +30,10 @@
   67.11  /**
   67.12   * The interface for writing annotation type optional member output.
   67.13   *
   67.14 - * This code is not part of an API.
   67.15 - * It is implementation that is subject to change.
   67.16 - * Do not use it as an API
   67.17 + *  <p><b>This is NOT part of any supported API.
   67.18 + *  If you write code that depends on this, you do so at your own risk.
   67.19 + *  This code and its internal interfaces are subject to change or
   67.20 + *  deletion without notice.</b>
   67.21   *
   67.22   * @author Jamie Ho
   67.23   * @author Bhavesh Patel (Modified)
    68.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/AnnotationTypeRequiredMemberWriter.java	Thu Oct 18 11:09:45 2012 -0700
    68.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/AnnotationTypeRequiredMemberWriter.java	Tue Oct 23 09:42:48 2012 -0700
    68.3 @@ -1,5 +1,5 @@
    68.4  /*
    68.5 - * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
    68.6 + * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
    68.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    68.8   *
    68.9   * This code is free software; you can redistribute it and/or modify it
   68.10 @@ -31,9 +31,11 @@
   68.11  /**
   68.12   * The interface for writing annotation type required member output.
   68.13   *
   68.14 - * This code is not part of an API.
   68.15 - * It is implementation that is subject to change.
   68.16 - * Do not use it as an API
   68.17 + *  <p><b>This is NOT part of any supported API.
   68.18 + *  If you write code that depends on this, you do so at your own risk.
   68.19 + *  This code and its internal interfaces are subject to change or
   68.20 + *  deletion without notice.</b>
   68.21 + *
   68.22   *
   68.23   * @author Jamie Ho
   68.24   * @author Bhavesh Patel (Modified)
    69.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/AnnotationTypeWriter.java	Thu Oct 18 11:09:45 2012 -0700
    69.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/AnnotationTypeWriter.java	Tue Oct 23 09:42:48 2012 -0700
    69.3 @@ -1,5 +1,5 @@
    69.4  /*
    69.5 - * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
    69.6 + * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
    69.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    69.8   *
    69.9   * This code is free software; you can redistribute it and/or modify it
   69.10 @@ -32,9 +32,10 @@
   69.11  /**
   69.12   * The interface for writing annotation type output.
   69.13   *
   69.14 - * This code is not part of an API.
   69.15 - * It is implementation that is subject to change.
   69.16 - * Do not use it as an API.
   69.17 + *  <p><b>This is NOT part of any supported API.
   69.18 + *  If you write code that depends on this, you do so at your own risk.
   69.19 + *  This code and its internal interfaces are subject to change or
   69.20 + *  deletion without notice.</b>
   69.21   *
   69.22   * @author Jamie Ho
   69.23   * @author Bhavesh Patel (Modified)
   69.24 @@ -152,7 +153,7 @@
   69.25       *
   69.26       * @param contentTree content tree that will be printed as a document
   69.27       */
   69.28 -    public void printDocument(Content contentTree);
   69.29 +    public void printDocument(Content contentTree) throws IOException;
   69.30  
   69.31      /**
   69.32       * Close the writer.
    70.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/ClassWriter.java	Thu Oct 18 11:09:45 2012 -0700
    70.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/ClassWriter.java	Tue Oct 23 09:42:48 2012 -0700
    70.3 @@ -1,5 +1,5 @@
    70.4  /*
    70.5 - * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
    70.6 + * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
    70.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    70.8   *
    70.9   * This code is free software; you can redistribute it and/or modify it
   70.10 @@ -32,9 +32,10 @@
   70.11  /**
   70.12   * The interface for writing class output.
   70.13   *
   70.14 - * This code is not part of an API.
   70.15 - * It is implementation that is subject to change.
   70.16 - * Do not use it as an API
   70.17 + *  <p><b>This is NOT part of any supported API.
   70.18 + *  If you write code that depends on this, you do so at your own risk.
   70.19 + *  This code and its internal interfaces are subject to change or
   70.20 + *  deletion without notice.</b>
   70.21   *
   70.22   * @author Jamie Ho
   70.23   * @author Bhavesh Patel (Modified)
   70.24 @@ -179,7 +180,7 @@
   70.25       *
   70.26       * @param contentTree content tree that will be printed as a document
   70.27       */
   70.28 -    public void printDocument(Content contentTree);
   70.29 +    public void printDocument(Content contentTree) throws IOException;
   70.30  
   70.31      /**
   70.32       * Close the writer.
    71.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/Configuration.java	Thu Oct 18 11:09:45 2012 -0700
    71.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/Configuration.java	Tue Oct 23 09:42:48 2012 -0700
    71.3 @@ -25,12 +25,13 @@
    71.4  
    71.5  package com.sun.tools.doclets.internal.toolkit;
    71.6  
    71.7 +import java.io.*;
    71.8 +import java.util.*;
    71.9 +
   71.10 +import com.sun.javadoc.*;
   71.11 +import com.sun.tools.doclets.internal.toolkit.builders.BuilderFactory;
   71.12  import com.sun.tools.doclets.internal.toolkit.taglets.*;
   71.13  import com.sun.tools.doclets.internal.toolkit.util.*;
   71.14 -import com.sun.tools.doclets.internal.toolkit.builders.BuilderFactory;
   71.15 -import com.sun.javadoc.*;
   71.16 -import java.util.*;
   71.17 -import java.io.*;
   71.18  
   71.19  /**
   71.20   * Configure the output based on the options. Doclets should sub-class
   71.21 @@ -38,9 +39,10 @@
   71.22   * all user options which are supported by the 1.1 doclet and the standard
   71.23   * doclet.
   71.24   *
   71.25 - * This code is not part of an API.
   71.26 - * It is implementation that is subject to change.
   71.27 - * Do not use it as an API
   71.28 + *  <p><b>This is NOT part of any supported API.
   71.29 + *  If you write code that depends on this, you do so at your own risk.
   71.30 + *  This code and its internal interfaces are subject to change or
   71.31 + *  deletion without notice.</b>
   71.32   *
   71.33   * @author Robert Field.
   71.34   * @author Atul Dambalkar.
   71.35 @@ -463,7 +465,7 @@
   71.36                      tagletManager.addNewSimpleCustomTag(tagName, null, "");
   71.37                  } else {
   71.38                      //Create a simple tag with the heading that has the same name as the tag.
   71.39 -                    StringBuffer heading = new StringBuffer(tagName + ":");
   71.40 +                    StringBuilder heading = new StringBuilder(tagName + ":");
   71.41                      heading.setCharAt(0, Character.toUpperCase(tagName.charAt(0)));
   71.42                      tagletManager.addNewSimpleCustomTag(tagName, heading.toString(), "a");
   71.43                  }
    72.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/ConstantsSummaryWriter.java	Thu Oct 18 11:09:45 2012 -0700
    72.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/ConstantsSummaryWriter.java	Tue Oct 23 09:42:48 2012 -0700
    72.3 @@ -1,5 +1,5 @@
    72.4  /*
    72.5 - * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
    72.6 + * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
    72.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    72.8   *
    72.9   * This code is free software; you can redistribute it and/or modify it
   72.10 @@ -25,16 +25,18 @@
   72.11  
   72.12  package com.sun.tools.doclets.internal.toolkit;
   72.13  
   72.14 +import java.io.*;
   72.15  import java.util.*;
   72.16 -import java.io.*;
   72.17 +
   72.18  import com.sun.javadoc.*;
   72.19  
   72.20  /**
   72.21   * The interface for writing constants summary output.
   72.22   *
   72.23 - * This code is not part of an API.
   72.24 - * It is implementation that is subject to change.
   72.25 - * Do not use it as an API
   72.26 + *  <p><b>This is NOT part of any supported API.
   72.27 + *  If you write code that depends on this, you do so at your own risk.
   72.28 + *  This code and its internal interfaces are subject to change or
   72.29 + *  deletion without notice.</b>
   72.30   *
   72.31   * @author Jamie Ho
   72.32   * @author Bhavesh Patel (Modified)
   72.33 @@ -137,6 +139,6 @@
   72.34       *
   72.35       * @param contentTree content tree which should be printed
   72.36       */
   72.37 -    public abstract void printDocument(Content contentTree);
   72.38 +    public abstract void printDocument(Content contentTree) throws IOException;
   72.39  
   72.40  }
    73.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/ConstructorWriter.java	Thu Oct 18 11:09:45 2012 -0700
    73.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/ConstructorWriter.java	Tue Oct 23 09:42:48 2012 -0700
    73.3 @@ -1,5 +1,5 @@
    73.4  /*
    73.5 - * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
    73.6 + * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
    73.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    73.8   *
    73.9   * This code is free software; you can redistribute it and/or modify it
   73.10 @@ -31,9 +31,10 @@
   73.11  /**
   73.12   * The interface for writing constructor output.
   73.13   *
   73.14 - * This code is not part of an API.
   73.15 - * It is implementation that is subject to change.
   73.16 - * Do not use it as an API
   73.17 + *  <p><b>This is NOT part of any supported API.
   73.18 + *  If you write code that depends on this, you do so at your own risk.
   73.19 + *  This code and its internal interfaces are subject to change or
   73.20 + *  deletion without notice.</b>
   73.21   *
   73.22   * @author Jamie Ho
   73.23   * @author Bhavesh Patel (Modified)
    74.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/Content.java	Thu Oct 18 11:09:45 2012 -0700
    74.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/Content.java	Tue Oct 23 09:42:48 2012 -0700
    74.3 @@ -1,5 +1,5 @@
    74.4  /*
    74.5 - * Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved.
    74.6 + * Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved.
    74.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    74.8   *
    74.9   * This code is free software; you can redistribute it and/or modify it
   74.10 @@ -25,11 +25,20 @@
   74.11  
   74.12  package com.sun.tools.doclets.internal.toolkit;
   74.13  
   74.14 +import java.io.IOException;
   74.15 +import java.io.StringWriter;
   74.16 +import java.io.Writer;
   74.17 +
   74.18  import com.sun.tools.doclets.internal.toolkit.util.*;
   74.19  
   74.20  /**
   74.21   * A class to create content for javadoc output pages.
   74.22   *
   74.23 + *  <p><b>This is NOT part of any supported API.
   74.24 + *  If you write code that depends on this, you do so at your own risk.
   74.25 + *  This code and its internal interfaces are subject to change or
   74.26 + *  deletion without notice.</b>
   74.27 + *
   74.28   * @author Bhavesh Patel
   74.29   */
   74.30  public abstract class Content {
   74.31 @@ -39,10 +48,16 @@
   74.32       *
   74.33       * @return string representation of the content
   74.34       */
   74.35 +    @Override
   74.36      public String toString() {
   74.37 -        StringBuilder contentBuilder = new StringBuilder();
   74.38 -        write(contentBuilder);
   74.39 -        return contentBuilder.toString();
   74.40 +        StringWriter out = new StringWriter();
   74.41 +        try {
   74.42 +            write(out, true);
   74.43 +        } catch (IOException e) {
   74.44 +            // cannot happen from StringWriter
   74.45 +            throw new DocletAbortException();
   74.46 +        }
   74.47 +        return out.toString();
   74.48      }
   74.49  
   74.50      /**
   74.51 @@ -60,10 +75,10 @@
   74.52      public abstract void addContent(String stringContent);
   74.53  
   74.54      /**
   74.55 -     * Writes content to a StringBuilder.
   74.56 +     * Writes content to a writer.
   74.57       *
   74.58       */
   74.59 -    public abstract void write(StringBuilder contentBuilder);
   74.60 +    public abstract boolean write(Writer writer, boolean atNewline) throws IOException ;
   74.61  
   74.62      /**
   74.63       * Returns true if the content is empty.
    75.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/EnumConstantWriter.java	Thu Oct 18 11:09:45 2012 -0700
    75.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/EnumConstantWriter.java	Tue Oct 23 09:42:48 2012 -0700
    75.3 @@ -1,5 +1,5 @@
    75.4  /*
    75.5 - * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
    75.6 + * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
    75.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    75.8   *
    75.9   * This code is free software; you can redistribute it and/or modify it
   75.10 @@ -31,9 +31,10 @@
   75.11  /**
   75.12   * The interface for writing enum constant output.
   75.13   *
   75.14 - * This code is not part of an API.
   75.15 - * It is implementation that is subject to change.
   75.16 - * Do not use it as an API
   75.17 + *  <p><b>This is NOT part of any supported API.
   75.18 + *  If you write code that depends on this, you do so at your own risk.
   75.19 + *  This code and its internal interfaces are subject to change or
   75.20 + *  deletion without notice.</b>
   75.21   *
   75.22   * @author Jamie Ho
   75.23   * @author Bhavesh Patel (Modified)
   75.24 @@ -56,7 +57,7 @@
   75.25       * Get the enum constants documentation tree header.
   75.26       *
   75.27       * @param enumConstant the enum constant being documented
   75.28 -     * @param enumConstantDetailsTree the content tree representing enum constant details
   75.29 +     * @param enumConstantsDetailsTree the content tree representing enum constant details
   75.30       * @return content tree for the enum constant documentation header
   75.31       */
   75.32      public Content getEnumConstantsTreeHeader(FieldDoc enumConstant,
    76.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/FieldWriter.java	Thu Oct 18 11:09:45 2012 -0700
    76.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/FieldWriter.java	Tue Oct 23 09:42:48 2012 -0700
    76.3 @@ -1,5 +1,5 @@
    76.4  /*
    76.5 - * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
    76.6 + * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
    76.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    76.8   *
    76.9   * This code is free software; you can redistribute it and/or modify it
   76.10 @@ -31,9 +31,10 @@
   76.11  /**
   76.12   * The interface for writing field output.
   76.13   *
   76.14 - * This code is not part of an API.
   76.15 - * It is implementation that is subject to change.
   76.16 - * Do not use it as an API
   76.17 + *  <p><b>This is NOT part of any supported API.
   76.18 + *  If you write code that depends on this, you do so at your own risk.
   76.19 + *  This code and its internal interfaces are subject to change or
   76.20 + *  deletion without notice.</b>
   76.21   *
   76.22   * @author Jamie Ho
   76.23   * @author Bhavesh Patel (Modified)
    77.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/MemberSummaryWriter.java	Thu Oct 18 11:09:45 2012 -0700
    77.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/MemberSummaryWriter.java	Tue Oct 23 09:42:48 2012 -0700
    77.3 @@ -1,5 +1,5 @@
    77.4  /*
    77.5 - * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
    77.6 + * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
    77.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    77.8   *
    77.9   * This code is free software; you can redistribute it and/or modify it
   77.10 @@ -32,9 +32,10 @@
   77.11  /**
   77.12   * The interface for writing member summary output.
   77.13   *
   77.14 - * This code is not part of an API.
   77.15 - * It is implementation that is subject to change.
   77.16 - * Do not use it as an API
   77.17 + *  <p><b>This is NOT part of any supported API.
   77.18 + *  If you write code that depends on this, you do so at your own risk.
   77.19 + *  This code and its internal interfaces are subject to change or
   77.20 + *  deletion without notice.</b>
   77.21   *
   77.22   * @author Jamie Ho
   77.23   * @author Bhavesh Patel (Modified)
    78.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/MethodWriter.java	Thu Oct 18 11:09:45 2012 -0700
    78.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/MethodWriter.java	Tue Oct 23 09:42:48 2012 -0700
    78.3 @@ -1,5 +1,5 @@
    78.4  /*
    78.5 - * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
    78.6 + * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
    78.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    78.8   *
    78.9   * This code is free software; you can redistribute it and/or modify it
   78.10 @@ -31,9 +31,10 @@
   78.11  /**
   78.12   * The interface for writing method output.
   78.13   *
   78.14 - * This code is not part of an API.
   78.15 - * It is implementation that is subject to change.
   78.16 - * Do not use it as an API
   78.17 + *  <p><b>This is NOT part of any supported API.
   78.18 + *  If you write code that depends on this, you do so at your own risk.
   78.19 + *  This code and its internal interfaces are subject to change or
   78.20 + *  deletion without notice.</b>
   78.21   *
   78.22   * @author Jamie Ho
   78.23   * @author Bhavesh Patel (Modified)
    79.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/NestedClassWriter.java	Thu Oct 18 11:09:45 2012 -0700
    79.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/NestedClassWriter.java	Tue Oct 23 09:42:48 2012 -0700
    79.3 @@ -1,5 +1,5 @@
    79.4  /*
    79.5 - * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
    79.6 + * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
    79.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    79.8   *
    79.9   * This code is free software; you can redistribute it and/or modify it
   79.10 @@ -30,9 +30,10 @@
   79.11  /**
   79.12   * The interface for writing class output.
   79.13   *
   79.14 - * This code is not part of an API.
   79.15 - * It is implementation that is subject to change.
   79.16 - * Do not use it as an API
   79.17 + *  <p><b>This is NOT part of any supported API.
   79.18 + *  If you write code that depends on this, you do so at your own risk.
   79.19 + *  This code and its internal interfaces are subject to change or
   79.20 + *  deletion without notice.</b>
   79.21   *
   79.22   * @author Jamie Ho
   79.23   * @author Bhavesh Patel (Modified)
    80.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/PackageSummaryWriter.java	Thu Oct 18 11:09:45 2012 -0700
    80.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/PackageSummaryWriter.java	Tue Oct 23 09:42:48 2012 -0700
    80.3 @@ -1,5 +1,5 @@
    80.4  /*
    80.5 - * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
    80.6 + * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
    80.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    80.8   *
    80.9   * This code is free software; you can redistribute it and/or modify it
   80.10 @@ -25,15 +25,17 @@
   80.11  
   80.12  package com.sun.tools.doclets.internal.toolkit;
   80.13  
   80.14 +import java.io.*;
   80.15 +
   80.16  import com.sun.javadoc.*;
   80.17 -import java.io.*;
   80.18  
   80.19  /**
   80.20   * The interface for writing package summary output.
   80.21   *
   80.22 - * This code is not part of an API.
   80.23 - * It is implementation that is subject to change.
   80.24 - * Do not use it as an API
   80.25 + *  <p><b>This is NOT part of any supported API.
   80.26 + *  If you write code that depends on this, you do so at your own risk.
   80.27 + *  This code and its internal interfaces are subject to change or
   80.28 + *  deletion without notice.</b>
   80.29   *
   80.30   * @author Jamie Ho
   80.31   * @author Bhavesh Patel (Modified)
   80.32 @@ -113,7 +115,7 @@
   80.33       *
   80.34       * @param contentTree the content tree that will be printed
   80.35       */
   80.36 -    public abstract void printDocument(Content contentTree);
   80.37 +    public abstract void printDocument(Content contentTree) throws IOException;
   80.38  
   80.39      /**
   80.40       * Close the writer.
    81.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/SerializedFormWriter.java	Thu Oct 18 11:09:45 2012 -0700
    81.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/SerializedFormWriter.java	Tue Oct 23 09:42:48 2012 -0700
    81.3 @@ -1,5 +1,5 @@
    81.4  /*
    81.5 - * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
    81.6 + * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
    81.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    81.8   *
    81.9   * This code is free software; you can redistribute it and/or modify it
   81.10 @@ -32,9 +32,10 @@
   81.11  /**
   81.12   * The interface for writing serialized form output.
   81.13   *
   81.14 - * This code is not part of an API.
   81.15 - * It is implementation that is subject to change.
   81.16 - * Do not use it as an API
   81.17 + *  <p><b>This is NOT part of any supported API.
   81.18 + *  If you write code that depends on this, you do so at your own risk.
   81.19 + *  This code and its internal interfaces are subject to change or
   81.20 + *  deletion without notice.</b>
   81.21   *
   81.22   * @author Jamie Ho
   81.23   * @since 1.5
   81.24 @@ -150,7 +151,7 @@
   81.25       *
   81.26       * @param serializedTree the content tree that will be printed
   81.27       */
   81.28 -    public abstract void printDocument(Content serializedTree);
   81.29 +    public abstract void printDocument(Content serializedTree) throws IOException;
   81.30  
   81.31      /**
   81.32       * Write the serialized form for a given field.
    82.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/WriterFactory.java	Thu Oct 18 11:09:45 2012 -0700
    82.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/WriterFactory.java	Tue Oct 23 09:42:48 2012 -0700
    82.3 @@ -1,5 +1,5 @@
    82.4  /*
    82.5 - * Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved.
    82.6 + * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
    82.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    82.8   *
    82.9   * This code is free software; you can redistribute it and/or modify it
   82.10 @@ -25,15 +25,16 @@
   82.11  
   82.12  package com.sun.tools.doclets.internal.toolkit;
   82.13  
   82.14 +import com.sun.javadoc.*;
   82.15  import com.sun.tools.doclets.internal.toolkit.util.*;
   82.16 -import com.sun.javadoc.*;
   82.17  
   82.18  /**
   82.19   * The interface for a factory creates writers.
   82.20   *
   82.21 - * This code is not part of an API.
   82.22 - * It is implementation that is subject to change.
   82.23 - * Do not use it as an API
   82.24 + *  <p><b>This is NOT part of any supported API.
   82.25 + *  If you write code that depends on this, you do so at your own risk.
   82.26 + *  This code and its internal interfaces are subject to change or
   82.27 + *  deletion without notice.</b>
   82.28   *
   82.29   * @author Jamie Ho
   82.30   * @since 1.4
    83.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AbstractBuilder.java	Thu Oct 18 11:09:45 2012 -0700
    83.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AbstractBuilder.java	Tue Oct 23 09:42:48 2012 -0700
    83.3 @@ -1,5 +1,5 @@
    83.4  /*
    83.5 - * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
    83.6 + * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
    83.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    83.8   *
    83.9   * This code is free software; you can redistribute it and/or modify it
   83.10 @@ -25,12 +25,13 @@
   83.11  
   83.12  package com.sun.tools.doclets.internal.toolkit.builders;
   83.13  
   83.14 -import com.sun.tools.doclets.internal.toolkit.*;
   83.15 -import com.sun.tools.doclets.internal.toolkit.util.*;
   83.16  import java.io.*;
   83.17  import java.lang.reflect.*;
   83.18  import java.util.*;
   83.19  
   83.20 +import com.sun.tools.doclets.internal.toolkit.*;
   83.21 +import com.sun.tools.doclets.internal.toolkit.util.*;
   83.22 +
   83.23  /**
   83.24   * The superclass for all builders.  A builder is a class that provides
   83.25   * the structure and content of API documentation.  A builder is completely
   83.26 @@ -41,9 +42,10 @@
   83.27   * do is implement the ConstantsSummaryWriter interface and pass it to the
   83.28   * builder using a WriterFactory.
   83.29   *
   83.30 - * This code is not part of an API.
   83.31 - * It is implementation that is subject to change.
   83.32 - * Do not use it as an API
   83.33 + *  <p><b>This is NOT part of any supported API.
   83.34 + *  If you write code that depends on this, you do so at your own risk.
   83.35 + *  This code and its internal interfaces are subject to change or
   83.36 + *  deletion without notice.</b>
   83.37   *
   83.38   * @author Jamie Ho
   83.39   * @since 1.5
    84.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AbstractMemberBuilder.java	Thu Oct 18 11:09:45 2012 -0700
    84.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AbstractMemberBuilder.java	Tue Oct 23 09:42:48 2012 -0700
    84.3 @@ -1,5 +1,5 @@
    84.4  /*
    84.5 - * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
    84.6 + * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
    84.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    84.8   *
    84.9   * This code is free software; you can redistribute it and/or modify it
   84.10 @@ -27,16 +27,16 @@
   84.11  
   84.12  import com.sun.tools.doclets.internal.toolkit.*;
   84.13  import com.sun.tools.doclets.internal.toolkit.util.*;
   84.14 -import java.util.*;
   84.15  
   84.16  /**
   84.17   * The superclass for all member builders.  Member builders are only executed
   84.18   * within Class Builders.  They essentially build sub-components.  For example,
   84.19   * method documentation is a sub-component of class documentation.
   84.20   *
   84.21 - * This code is not part of an API.
   84.22 - * It is implementation that is subject to change.
   84.23 - * Do not use it as an API
   84.24 + *  <p><b>This is NOT part of any supported API.
   84.25 + *  If you write code that depends on this, you do so at your own risk.
   84.26 + *  This code and its internal interfaces are subject to change or
   84.27 + *  deletion without notice.</b>
   84.28   *
   84.29   * @author Jamie Ho
   84.30   * @since 1.5
    85.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AnnotationTypeBuilder.java	Thu Oct 18 11:09:45 2012 -0700
    85.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AnnotationTypeBuilder.java	Tue Oct 23 09:42:48 2012 -0700
    85.3 @@ -1,5 +1,5 @@
    85.4  /*
    85.5 - * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
    85.6 + * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
    85.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    85.8   *
    85.9   * This code is free software; you can redistribute it and/or modify it
   85.10 @@ -27,16 +27,18 @@
   85.11  
   85.12  import java.io.*;
   85.13  import java.util.*;
   85.14 +
   85.15 +import com.sun.javadoc.*;
   85.16 +import com.sun.tools.doclets.internal.toolkit.*;
   85.17  import com.sun.tools.doclets.internal.toolkit.util.*;
   85.18 -import com.sun.tools.doclets.internal.toolkit.*;
   85.19 -import com.sun.javadoc.*;
   85.20  
   85.21  /**
   85.22   * Builds the summary for a given annotation type.
   85.23   *
   85.24 - * This code is not part of an API.
   85.25 - * It is implementation that is subject to change.
   85.26 - * Do not use it as an API
   85.27 + *  <p><b>This is NOT part of any supported API.
   85.28 + *  If you write code that depends on this, you do so at your own risk.
   85.29 + *  This code and its internal interfaces are subject to change or
   85.30 + *  deletion without notice.</b>
   85.31   *
   85.32   * @author Jamie Ho
   85.33   * @author Bhavesh Patel (Modified)
   85.34 @@ -177,7 +179,7 @@
   85.35       * @param annotationInfoTree the content tree to which the documentation will be added
   85.36       */
   85.37      public void buildAnnotationTypeSignature(XMLNode node, Content annotationInfoTree) {
   85.38 -        StringBuffer modifiers = new StringBuffer(
   85.39 +        StringBuilder modifiers = new StringBuilder(
   85.40                  annotationTypeDoc.modifiers() + " ");
   85.41          writer.addAnnotationTypeSignature(Util.replaceText(
   85.42                  modifiers.toString(), "interface", "@interface"), annotationInfoTree);
    86.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AnnotationTypeOptionalMemberBuilder.java	Thu Oct 18 11:09:45 2012 -0700
    86.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AnnotationTypeOptionalMemberBuilder.java	Tue Oct 23 09:42:48 2012 -0700
    86.3 @@ -1,5 +1,5 @@
    86.4  /*
    86.5 - * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
    86.6 + * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
    86.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    86.8   *
    86.9   * This code is free software; you can redistribute it and/or modify it
   86.10 @@ -26,16 +26,18 @@
   86.11  package com.sun.tools.doclets.internal.toolkit.builders;
   86.12  
   86.13  import java.util.*;
   86.14 +
   86.15 +import com.sun.javadoc.*;
   86.16 +import com.sun.tools.doclets.internal.toolkit.*;
   86.17  import com.sun.tools.doclets.internal.toolkit.util.*;
   86.18 -import com.sun.tools.doclets.internal.toolkit.*;
   86.19 -import com.sun.javadoc.*;
   86.20  
   86.21  /**
   86.22   * Builds documentation for optional annotation type members.
   86.23   *
   86.24 - * This code is not part of an API.
   86.25 - * It is implementation that is subject to change.
   86.26 - * Do not use it as an API
   86.27 + *  <p><b>This is NOT part of any supported API.
   86.28 + *  If you write code that depends on this, you do so at your own risk.
   86.29 + *  This code and its internal interfaces are subject to change or
   86.30 + *  deletion without notice.</b>
   86.31   *
   86.32   * @author Jamie Ho
   86.33   * @author Bhavesh Patel (Modified)
    87.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AnnotationTypeRequiredMemberBuilder.java	Thu Oct 18 11:09:45 2012 -0700
    87.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AnnotationTypeRequiredMemberBuilder.java	Tue Oct 23 09:42:48 2012 -0700
    87.3 @@ -1,5 +1,5 @@
    87.4  /*
    87.5 - * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
    87.6 + * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
    87.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    87.8   *
    87.9   * This code is free software; you can redistribute it and/or modify it
   87.10 @@ -26,16 +26,18 @@
   87.11  package com.sun.tools.doclets.internal.toolkit.builders;
   87.12  
   87.13  import java.util.*;
   87.14 +
   87.15 +import com.sun.javadoc.*;
   87.16 +import com.sun.tools.doclets.internal.toolkit.*;
   87.17  import com.sun.tools.doclets.internal.toolkit.util.*;
   87.18 -import com.sun.tools.doclets.internal.toolkit.*;
   87.19 -import com.sun.javadoc.*;
   87.20  
   87.21  /**
   87.22   * Builds documentation for required annotation type members.
   87.23   *
   87.24 - * This code is not part of an API.
   87.25 - * It is implementation that is subject to change.
   87.26 - * Do not use it as an API
   87.27 + *  <p><b>This is NOT part of any supported API.
   87.28 + *  If you write code that depends on this, you do so at your own risk.
   87.29 + *  This code and its internal interfaces are subject to change or
   87.30 + *  deletion without notice.</b>
   87.31   *
   87.32   * @author Jamie Ho
   87.33   * @author Bhavesh Patel (Modified)
    88.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/BuilderFactory.java	Thu Oct 18 11:09:45 2012 -0700
    88.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/BuilderFactory.java	Tue Oct 23 09:42:48 2012 -0700
    88.3 @@ -1,5 +1,5 @@
    88.4  /*
    88.5 - * Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved.
    88.6 + * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
    88.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    88.8   *
    88.9   * This code is free software; you can redistribute it and/or modify it
   88.10 @@ -25,16 +25,17 @@
   88.11  
   88.12  package com.sun.tools.doclets.internal.toolkit.builders;
   88.13  
   88.14 +import com.sun.javadoc.*;
   88.15  import com.sun.tools.doclets.internal.toolkit.*;
   88.16  import com.sun.tools.doclets.internal.toolkit.util.*;
   88.17 -import com.sun.javadoc.*;
   88.18  
   88.19  /**
   88.20   * The factory for constructing builders.
   88.21   *
   88.22 - * This code is not part of an API.
   88.23 - * It is implementation that is subject to change.
   88.24 - * Do not use it as an API
   88.25 + *  <p><b>This is NOT part of any supported API.
   88.26 + *  If you write code that depends on this, you do so at your own risk.
   88.27 + *  This code and its internal interfaces are subject to change or
   88.28 + *  deletion without notice.</b>
   88.29   *
   88.30   * @author Jamie Ho
   88.31   * @since 1.4
    89.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/ClassBuilder.java	Thu Oct 18 11:09:45 2012 -0700
    89.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/ClassBuilder.java	Tue Oct 23 09:42:48 2012 -0700
    89.3 @@ -27,16 +27,18 @@
    89.4  
    89.5  import java.io.*;
    89.6  import java.util.*;
    89.7 +
    89.8 +import com.sun.javadoc.*;
    89.9 +import com.sun.tools.doclets.internal.toolkit.*;
   89.10  import com.sun.tools.doclets.internal.toolkit.util.*;
   89.11 -import com.sun.tools.doclets.internal.toolkit.*;
   89.12 -import com.sun.javadoc.*;
   89.13  
   89.14  /**
   89.15   * Builds the summary for a given class.
   89.16   *
   89.17 - * This code is not part of an API.
   89.18 - * It is implementation that is subject to change.
   89.19 - * Do not use it as an API
   89.20 + *  <p><b>This is NOT part of any supported API.
   89.21 + *  If you write code that depends on this, you do so at your own risk.
   89.22 + *  This code and its internal interfaces are subject to change or
   89.23 + *  deletion without notice.</b>
   89.24   *
   89.25   * @author Jamie Ho
   89.26   * @author Bhavesh Patel (Modified)
   89.27 @@ -280,18 +282,18 @@
   89.28       * @param classInfoTree the content tree to which the documentation will be added
   89.29       */
   89.30      public void buildClassSignature(XMLNode node, Content classInfoTree) {
   89.31 -        StringBuffer modifiers = new StringBuffer(classDoc.modifiers() + " ");
   89.32 +        StringBuilder modifiers = new StringBuilder(classDoc.modifiers() + " ");
   89.33          if (isEnum) {
   89.34              modifiers.append("enum ");
   89.35              int index;
   89.36              if ((index = modifiers.indexOf("abstract")) >= 0) {
   89.37 -                modifiers.delete(index, index + (new String("abstract")).length());
   89.38 -                modifiers = new StringBuffer(
   89.39 +                modifiers.delete(index, index + "abstract".length());
   89.40 +                modifiers = new StringBuilder(
   89.41                          Util.replaceText(modifiers.toString(), "  ", " "));
   89.42              }
   89.43              if ((index = modifiers.indexOf("final")) >= 0) {
   89.44 -                modifiers.delete(index, index + (new String("final")).length());
   89.45 -                modifiers = new StringBuffer(
   89.46 +                modifiers.delete(index, index + "final".length());
   89.47 +                modifiers = new StringBuilder(
   89.48                          Util.replaceText(modifiers.toString(), "  ", " "));
   89.49              }
   89.50          //} else if (classDoc.isAnnotationType()) {
    90.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/ConstantsSummaryBuilder.java	Thu Oct 18 11:09:45 2012 -0700
    90.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/ConstantsSummaryBuilder.java	Tue Oct 23 09:42:48 2012 -0700
    90.3 @@ -1,5 +1,5 @@
    90.4  /*
    90.5 - * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
    90.6 + * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
    90.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    90.8   *
    90.9   * This code is free software; you can redistribute it and/or modify it
   90.10 @@ -27,16 +27,18 @@
   90.11  
   90.12  import java.io.*;
   90.13  import java.util.*;
   90.14 +
   90.15  import com.sun.javadoc.*;
   90.16 +import com.sun.tools.doclets.internal.toolkit.*;
   90.17  import com.sun.tools.doclets.internal.toolkit.util.*;
   90.18 -import com.sun.tools.doclets.internal.toolkit.*;
   90.19  
   90.20  /**
   90.21   * Builds the Constants Summary Page.
   90.22   *
   90.23 - * This code is not part of an API.
   90.24 - * It is implementation that is subject to change.
   90.25 - * Do not use it as an API
   90.26 + *  <p><b>This is NOT part of any supported API.
   90.27 + *  If you write code that depends on this, you do so at your own risk.
   90.28 + *  This code and its internal interfaces are subject to change or
   90.29 + *  deletion without notice.</b>
   90.30   *
   90.31   * @author Jamie Ho
   90.32   * @author Bhavesh Patel (Modified)
   90.33 @@ -345,7 +347,6 @@
   90.34  
   90.35          /**
   90.36           * Return the list of visible constant fields for the given classdoc.
   90.37 -         * @param cd the classdoc to examine.
   90.38           * @return the list of visible constant fields for the given classdoc.
   90.39           */
   90.40          protected List<FieldDoc> members() {
    91.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/ConstructorBuilder.java	Thu Oct 18 11:09:45 2012 -0700
    91.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/ConstructorBuilder.java	Tue Oct 23 09:42:48 2012 -0700
    91.3 @@ -1,5 +1,5 @@
    91.4  /*
    91.5 - * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
    91.6 + * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
    91.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    91.8   *
    91.9   * This code is free software; you can redistribute it and/or modify it
   91.10 @@ -26,16 +26,18 @@
   91.11  package com.sun.tools.doclets.internal.toolkit.builders;
   91.12  
   91.13  import java.util.*;
   91.14 +
   91.15 +import com.sun.javadoc.*;
   91.16 +import com.sun.tools.doclets.internal.toolkit.*;
   91.17  import com.sun.tools.doclets.internal.toolkit.util.*;
   91.18 -import com.sun.tools.doclets.internal.toolkit.*;
   91.19 -import com.sun.javadoc.*;
   91.20  
   91.21  /**
   91.22   * Builds documentation for a constructor.
   91.23   *
   91.24 - * This code is not part of an API.
   91.25 - * It is implementation that is subject to change.
   91.26 - * Do not use it as an API
   91.27 + *  <p><b>This is NOT part of any supported API.
   91.28 + *  If you write code that depends on this, you do so at your own risk.
   91.29 + *  This code and its internal interfaces are subject to change or
   91.30 + *  deletion without notice.</b>
   91.31   *
   91.32   * @author Jamie Ho
   91.33   * @author Bhavesh Patel (Modified)
    92.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/EnumConstantBuilder.java	Thu Oct 18 11:09:45 2012 -0700
    92.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/EnumConstantBuilder.java	Tue Oct 23 09:42:48 2012 -0700
    92.3 @@ -1,5 +1,5 @@
    92.4  /*
    92.5 - * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
    92.6 + * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
    92.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    92.8   *
    92.9   * This code is free software; you can redistribute it and/or modify it
   92.10 @@ -26,16 +26,18 @@
   92.11  package com.sun.tools.doclets.internal.toolkit.builders;
   92.12  
   92.13  import java.util.*;
   92.14 +
   92.15 +import com.sun.javadoc.*;
   92.16 +import com.sun.tools.doclets.internal.toolkit.*;
   92.17  import com.sun.tools.doclets.internal.toolkit.util.*;
   92.18 -import com.sun.tools.doclets.internal.toolkit.*;
   92.19 -import com.sun.javadoc.*;
   92.20  
   92.21  /**
   92.22   * Builds documentation for a enum constants.
   92.23   *
   92.24 - * This code is not part of an API.
   92.25 - * It is implementation that is subject to change.
   92.26 - * Do not use it as an API
   92.27 + *  <p><b>This is NOT part of any supported API.
   92.28 + *  If you write code that depends on this, you do so at your own risk.
   92.29 + *  This code and its internal interfaces are subject to change or
   92.30 + *  deletion without notice.</b>
   92.31   *
   92.32   * @author Jamie Ho
   92.33   * @author Bhavesh Patel (Modified)
    93.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/FieldBuilder.java	Thu Oct 18 11:09:45 2012 -0700
    93.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/FieldBuilder.java	Tue Oct 23 09:42:48 2012 -0700
    93.3 @@ -1,5 +1,5 @@
    93.4  /*
    93.5 - * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
    93.6 + * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
    93.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    93.8   *
    93.9   * This code is free software; you can redistribute it and/or modify it
   93.10 @@ -26,16 +26,18 @@
   93.11  package com.sun.tools.doclets.internal.toolkit.builders;
   93.12  
   93.13  import java.util.*;
   93.14 +
   93.15 +import com.sun.javadoc.*;
   93.16 +import com.sun.tools.doclets.internal.toolkit.*;
   93.17  import com.sun.tools.doclets.internal.toolkit.util.*;
   93.18 -import com.sun.tools.doclets.internal.toolkit.*;
   93.19 -import com.sun.javadoc.*;
   93.20  
   93.21  /**
   93.22   * Builds documentation for a field.
   93.23   *
   93.24 - * This code is not part of an API.
   93.25 - * It is implementation that is subject to change.
   93.26 - * Do not use it as an API
   93.27 + *  <p><b>This is NOT part of any supported API.
   93.28 + *  If you write code that depends on this, you do so at your own risk.
   93.29 + *  This code and its internal interfaces are subject to change or
   93.30 + *  deletion without notice.</b>
   93.31   *
   93.32   * @author Jamie Ho
   93.33   * @author Bhavesh Patel (Modified)
    94.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/LayoutParser.java	Thu Oct 18 11:09:45 2012 -0700
    94.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/LayoutParser.java	Tue Oct 23 09:42:48 2012 -0700
    94.3 @@ -1,5 +1,5 @@
    94.4  /*
    94.5 - * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
    94.6 + * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
    94.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    94.8   *
    94.9   * This code is free software; you can redistribute it and/or modify it
   94.10 @@ -24,18 +24,26 @@
   94.11   */
   94.12  package com.sun.tools.doclets.internal.toolkit.builders;
   94.13  
   94.14 +import java.io.*;
   94.15 +import java.util.*;
   94.16 +
   94.17 +import javax.xml.parsers.*;
   94.18 +
   94.19 +import org.xml.sax.*;
   94.20 +import org.xml.sax.helpers.DefaultHandler;
   94.21 +
   94.22  import com.sun.tools.doclets.internal.toolkit.*;
   94.23  import com.sun.tools.doclets.internal.toolkit.util.*;
   94.24 -import java.io.*;
   94.25 -import java.util.*;
   94.26 -import org.xml.sax.*;
   94.27 -import org.xml.sax.helpers.DefaultHandler;
   94.28 -import javax.xml.parsers.*;
   94.29  
   94.30  /**
   94.31   * Parse the XML that specified the order of operation for the builders.  This
   94.32   * Parser uses SAX parsing.
   94.33   *
   94.34 + *  <p><b>This is NOT part of any supported API.
   94.35 + *  If you write code that depends on this, you do so at your own risk.
   94.36 + *  This code and its internal interfaces are subject to change or
   94.37 + *  deletion without notice.</b>
   94.38 + *
   94.39   * @author Jamie Ho
   94.40   * @since 1.5
   94.41   * @see SAXParser
    95.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/MemberSummaryBuilder.java	Thu Oct 18 11:09:45 2012 -0700
    95.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/MemberSummaryBuilder.java	Tue Oct 23 09:42:48 2012 -0700
    95.3 @@ -1,5 +1,5 @@
    95.4  /*
    95.5 - * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
    95.6 + * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
    95.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    95.8   *
    95.9   * This code is free software; you can redistribute it and/or modify it
   95.10 @@ -26,16 +26,18 @@
   95.11  package com.sun.tools.doclets.internal.toolkit.builders;
   95.12  
   95.13  import java.util.*;
   95.14 +
   95.15 +import com.sun.javadoc.*;
   95.16 +import com.sun.tools.doclets.internal.toolkit.*;
   95.17  import com.sun.tools.doclets.internal.toolkit.util.*;
   95.18 -import com.sun.tools.doclets.internal.toolkit.*;
   95.19 -import com.sun.javadoc.*;
   95.20  
   95.21  /**
   95.22   * Builds the member summary.
   95.23   *
   95.24 - * This code is not part of an API.
   95.25 - * It is implementation that is subject to change.
   95.26 - * Do not use it as an API
   95.27 + *  <p><b>This is NOT part of any supported API.
   95.28 + *  If you write code that depends on this, you do so at your own risk.
   95.29 + *  This code and its internal interfaces are subject to change or
   95.30 + *  deletion without notice.</b>
   95.31   *
   95.32   * @author Jamie Ho
   95.33   * @author Bhavesh Patel (Modified)
   95.34 @@ -165,7 +167,6 @@
   95.35       * This information can be used for doclet specific documentation
   95.36       * generation.
   95.37       *
   95.38 -     * @param classDoc the {@link ClassDoc} we want to check.
   95.39       * @param type the type of members to return.
   95.40       * @return a list of methods that will be documented.
   95.41       * @see VisibleMemberMap
    96.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/MethodBuilder.java	Thu Oct 18 11:09:45 2012 -0700
    96.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/MethodBuilder.java	Tue Oct 23 09:42:48 2012 -0700
    96.3 @@ -1,5 +1,5 @@
    96.4  /*
    96.5 - * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
    96.6 + * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
    96.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    96.8   *
    96.9   * This code is free software; you can redistribute it and/or modify it
   96.10 @@ -26,16 +26,18 @@
   96.11  package com.sun.tools.doclets.internal.toolkit.builders;
   96.12  
   96.13  import java.util.*;
   96.14 +
   96.15 +import com.sun.javadoc.*;
   96.16 +import com.sun.tools.doclets.internal.toolkit.*;
   96.17  import com.sun.tools.doclets.internal.toolkit.util.*;
   96.18 -import com.sun.tools.doclets.internal.toolkit.*;
   96.19 -import com.sun.javadoc.*;
   96.20  
   96.21  /**
   96.22   * Builds documentation for a method.
   96.23   *
   96.24 - * This code is not part of an API.
   96.25 - * It is implementation that is subject to change.
   96.26 - * Do not use it as an API
   96.27 + *  <p><b>This is NOT part of any supported API.
   96.28 + *  If you write code that depends on this, you do so at your own risk.
   96.29 + *  This code and its internal interfaces are subject to change or
   96.30 + *  deletion without notice.</b>
   96.31   *
   96.32   * @author Jamie Ho
   96.33   * @author Bhavesh Patel (Modified)
    97.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/PackageSummaryBuilder.java	Thu Oct 18 11:09:45 2012 -0700
    97.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/PackageSummaryBuilder.java	Tue Oct 23 09:42:48 2012 -0700
    97.3 @@ -1,5 +1,5 @@
    97.4  /*
    97.5 - * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
    97.6 + * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
    97.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    97.8   *
    97.9   * This code is free software; you can redistribute it and/or modify it
   97.10 @@ -26,16 +26,18 @@
   97.11  package com.sun.tools.doclets.internal.toolkit.builders;
   97.12  
   97.13  import java.io.*;
   97.14 +
   97.15  import com.sun.javadoc.*;
   97.16 +import com.sun.tools.doclets.internal.toolkit.*;
   97.17  import com.sun.tools.doclets.internal.toolkit.util.*;
   97.18 -import com.sun.tools.doclets.internal.toolkit.*;
   97.19  
   97.20  /**
   97.21   * Builds the summary for a given package.
   97.22   *
   97.23 - * This code is not part of an API.
   97.24 - * It is implementation that is subject to change.
   97.25 - * Do not use it as an API
   97.26 + *  <p><b>This is NOT part of any supported API.
   97.27 + *  If you write code that depends on this, you do so at your own risk.
   97.28 + *  This code and its internal interfaces are subject to change or
   97.29 + *  deletion without notice.</b>
   97.30   *
   97.31   * @author Jamie Ho
   97.32   * @author Bhavesh Patel (Modified)
    98.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/SerializedFormBuilder.java	Thu Oct 18 11:09:45 2012 -0700
    98.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/SerializedFormBuilder.java	Tue Oct 23 09:42:48 2012 -0700
    98.3 @@ -1,5 +1,5 @@
    98.4  /*
    98.5 - * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
    98.6 + * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
    98.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    98.8   *
    98.9   * This code is free software; you can redistribute it and/or modify it
   98.10 @@ -27,16 +27,18 @@
   98.11  
   98.12  import java.io.*;
   98.13  import java.util.*;
   98.14 +
   98.15  import com.sun.javadoc.*;
   98.16 +import com.sun.tools.doclets.internal.toolkit.*;
   98.17  import com.sun.tools.doclets.internal.toolkit.util.*;
   98.18 -import com.sun.tools.doclets.internal.toolkit.*;
   98.19  
   98.20  /**
   98.21   * Builds the serialized form.
   98.22   *
   98.23 - * This code is not part of an API.
   98.24 - * It is implementation that is subject to change.
   98.25 - * Do not use it as an API
   98.26 + *  <p><b>This is NOT part of any supported API.
   98.27 + *  If you write code that depends on this, you do so at your own risk.
   98.28 + *  This code and its internal interfaces are subject to change or
   98.29 + *  deletion without notice.</b>
   98.30   *
   98.31   * @author Jamie Ho
   98.32   * @author Bhavesh Patel (Modified)
    99.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/XMLNode.java	Thu Oct 18 11:09:45 2012 -0700
    99.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/XMLNode.java	Tue Oct 23 09:42:48 2012 -0700
    99.3 @@ -1,5 +1,5 @@
    99.4  /*
    99.5 - * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
    99.6 + * Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved.
    99.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    99.8   *
    99.9   * This code is free software; you can redistribute it and/or modify it
   99.10 @@ -32,6 +32,11 @@
   99.11  
   99.12  /**
   99.13   * Simple class to represent the attribute and elements of an XML node.
   99.14 + *
   99.15 + *  <p><b>This is NOT part of any supported API.
   99.16 + *  If you write code that depends on this, you do so at your own risk.
   99.17 + *  This code and its internal interfaces are subject to change or
   99.18 + *  deletion without notice.</b>
   99.19   */
   99.20  public class XMLNode {
   99.21      XMLNode(XMLNode parent, String qname) {
   100.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/BaseExecutableMemberTaglet.java	Thu Oct 18 11:09:45 2012 -0700
   100.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/BaseExecutableMemberTaglet.java	Tue Oct 23 09:42:48 2012 -0700
   100.3 @@ -1,5 +1,5 @@
   100.4  /*
   100.5 - * Copyright (c) 2001, 2003, Oracle and/or its affiliates. All rights reserved.
   100.6 + * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved.
   100.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   100.8   *
   100.9   * This code is free software; you can redistribute it and/or modify it
  100.10 @@ -29,9 +29,10 @@
  100.11   * An abstract class for that implements the {@link Taglet} interface
  100.12   * for tags in <code>ExecutableMembers</code>.
  100.13   *
  100.14 - * This code is not part of an API.
  100.15 - * It is implementation that is subject to change.
  100.16 - * Do not use it as an API.
  100.17 + *  <p><b>This is NOT part of any supported API.
  100.18 + *  If you write code that depends on this, you do so at your own risk.
  100.19 + *  This code and its internal interfaces are subject to change or
  100.20 + *  deletion without notice.</b>
  100.21   *
  100.22   * @author Jamie Ho
  100.23   * @since 1.4
   101.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/BaseInlineTaglet.java	Thu Oct 18 11:09:45 2012 -0700
   101.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/BaseInlineTaglet.java	Tue Oct 23 09:42:48 2012 -0700
   101.3 @@ -1,5 +1,5 @@
   101.4  /*
   101.5 - * Copyright (c) 2001, 2003, Oracle and/or its affiliates. All rights reserved.
   101.6 + * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved.
   101.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   101.8   *
   101.9   * This code is free software; you can redistribute it and/or modify it
  101.10 @@ -28,9 +28,10 @@
  101.11  /**
  101.12   * An abstract inline taglet that outputs HTML.
  101.13   *
  101.14 - * This code is not part of an API.
  101.15 - * It is implementation that is subject to change.
  101.16 - * Do not use it as an API
  101.17 + *  <p><b>This is NOT part of any supported API.
  101.18 + *  If you write code that depends on this, you do so at your own risk.
  101.19 + *  This code and its internal interfaces are subject to change or
  101.20 + *  deletion without notice.</b>
  101.21   *
  101.22   * @author Jamie Ho
  101.23   * @since 1.4
   102.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/BaseTaglet.java	Thu Oct 18 11:09:45 2012 -0700
   102.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/BaseTaglet.java	Tue Oct 23 09:42:48 2012 -0700
   102.3 @@ -1,5 +1,5 @@
   102.4  /*
   102.5 - * Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved.
   102.6 + * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
   102.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   102.8   *
   102.9   * This code is free software; you can redistribute it and/or modify it
  102.10 @@ -25,15 +25,15 @@
  102.11  
  102.12  package com.sun.tools.doclets.internal.toolkit.taglets;
  102.13  
  102.14 -import com.sun.tools.doclets.internal.toolkit.util.*;
  102.15  import com.sun.javadoc.*;
  102.16  
  102.17  /**
  102.18   * An abstract class for that implements the {@link Taglet} interface.
  102.19   *
  102.20 - * This code is not part of an API.
  102.21 - * It is implementation that is subject to change.
  102.22 - * Do not use it as an API
  102.23 + *  <p><b>This is NOT part of any supported API.
  102.24 + *  If you write code that depends on this, you do so at your own risk.
  102.25 + *  This code and its internal interfaces are subject to change or
  102.26 + *  deletion without notice.</b>
  102.27   *
  102.28   * @author Jamie Ho
  102.29   * @since 1.4
   103.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/CodeTaglet.java	Thu Oct 18 11:09:45 2012 -0700
   103.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/CodeTaglet.java	Tue Oct 23 09:42:48 2012 -0700
   103.3 @@ -1,5 +1,5 @@
   103.4  /*
   103.5 - * Copyright (c) 2003, 2008, Oracle and/or its affiliates. All rights reserved.
   103.6 + * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
   103.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   103.8   *
   103.9   * This code is free software; you can redistribute it and/or modify it
  103.10 @@ -40,6 +40,11 @@
  103.11   * displays as:
  103.12   * <blockquote>  The type {@code List<P>}  </blockquote>
  103.13   *
  103.14 + *  <p><b>This is NOT part of any supported API.
  103.15 + *  If you write code that depends on this, you do so at your own risk.
  103.16 + *  This code and its internal interfaces are subject to change or
  103.17 + *  deletion without notice.</b>
  103.18 + *
  103.19   * @author Scott Seligman
  103.20   * @since 1.5
  103.21   */
   104.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/DeprecatedTaglet.java	Thu Oct 18 11:09:45 2012 -0700
   104.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/DeprecatedTaglet.java	Tue Oct 23 09:42:48 2012 -0700
   104.3 @@ -1,5 +1,5 @@
   104.4  /*
   104.5 - * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
   104.6 + * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
   104.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   104.8   *
   104.9   * This code is free software; you can redistribute it and/or modify it
  104.10 @@ -30,9 +30,10 @@
  104.11  /**
  104.12   * A taglet that represents the @deprecated tag.
  104.13   *
  104.14 - * This code is not part of an API.
  104.15 - * It is implementation that is subject to change.
  104.16 - * Do not use it as an API
  104.17 + *  <p><b>This is NOT part of any supported API.
  104.18 + *  If you write code that depends on this, you do so at your own risk.
  104.19 + *  This code and its internal interfaces are subject to change or
  104.20 + *  deletion without notice.</b>
  104.21   *
  104.22   * @author Jamie Ho
  104.23   * @since 1.5
   105.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/DocRootTaglet.java	Thu Oct 18 11:09:45 2012 -0700
   105.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/DocRootTaglet.java	Tue Oct 23 09:42:48 2012 -0700
   105.3 @@ -1,5 +1,5 @@
   105.4  /*
   105.5 - * Copyright (c) 2001, 2003, Oracle and/or its affiliates. All rights reserved.
   105.6 + * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved.
   105.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   105.8   *
   105.9   * This code is free software; you can redistribute it and/or modify it
  105.10 @@ -32,9 +32,10 @@
  105.11   * used to get the relative path to the document's root output
  105.12   * directory.
  105.13   *
  105.14 - * This code is not part of an API.
  105.15 - * It is implementation that is subject to change.
  105.16 - * Do not use it as an API
  105.17 + *  <p><b>This is NOT part of any supported API.
  105.18 + *  If you write code that depends on this, you do so at your own risk.
  105.19 + *  This code and its internal interfaces are subject to change or
  105.20 + *  deletion without notice.</b>
  105.21   *
  105.22   * @author Jamie Ho
  105.23   * @author Doug Kramer
   106.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/InheritDocTaglet.java	Thu Oct 18 11:09:45 2012 -0700
   106.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/InheritDocTaglet.java	Tue Oct 23 09:42:48 2012 -0700
   106.3 @@ -1,5 +1,5 @@
   106.4  /*
   106.5 - * Copyright (c) 2001, 2005, Oracle and/or its affiliates. All rights reserved.
   106.6 + * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved.
   106.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   106.8   *
   106.9   * This code is free software; you can redistribute it and/or modify it
  106.10 @@ -33,9 +33,10 @@
  106.11   * be used with a method.  It is used to inherit documentation from overriden
  106.12   * and implemented methods.
  106.13   *
  106.14 - * This code is not part of an API.
  106.15 - * It is implementation that is subject to change.
  106.16 - * Do not use it as an API
  106.17 + *  <p><b>This is NOT part of any supported API.
  106.18 + *  If you write code that depends on this, you do so at your own risk.
  106.19 + *  This code and its internal interfaces are subject to change or
  106.20 + *  deletion without notice.</b>
  106.21   *
  106.22   * @author Jamie Ho
  106.23   * @since 1.4
   107.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/InheritableTaglet.java	Thu Oct 18 11:09:45 2012 -0700
   107.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/InheritableTaglet.java	Tue Oct 23 09:42:48 2012 -0700
   107.3 @@ -1,5 +1,5 @@
   107.4  /*
   107.5 - * Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved.
   107.6 + * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
   107.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   107.8   *
   107.9   * This code is free software; you can redistribute it and/or modify it
  107.10 @@ -31,6 +31,11 @@
  107.11   * A taglet should implement this interface if it supports the inheritDoc
  107.12   * tag or is automatically inherited if it is missing.
  107.13   *
  107.14 + *  <p><b>This is NOT part of any supported API.
  107.15 + *  If you write code that depends on this, you do so at your own risk.
  107.16 + *  This code and its internal interfaces are subject to change or
  107.17 + *  deletion without notice.</b>
  107.18 + *
  107.19   * @author Jamie Ho
  107.20   * @since 1.5
  107.21   */
   108.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/LegacyTaglet.java	Thu Oct 18 11:09:45 2012 -0700
   108.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/LegacyTaglet.java	Tue Oct 23 09:42:48 2012 -0700
   108.3 @@ -1,5 +1,5 @@
   108.4  /*
   108.5 - * Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved.
   108.6 + * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
   108.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   108.8   *
   108.9   * This code is free software; you can redistribute it and/or modify it
  108.10 @@ -36,9 +36,10 @@
  108.11   * This taglet is able to wrap most most legacy taglets because
  108.12   * the standard doclet is the only known doclet to use legacy taglets.
  108.13   *
  108.14 - * This code is not part of an API.
  108.15 - * It is implementation that is subject to change.
  108.16 - * Do not use it as an API
  108.17 + *  <p><b>This is NOT part of any supported API.
  108.18 + *  If you write code that depends on this, you do so at your own risk.
  108.19 + *  This code and its internal interfaces are subject to change or
  108.20 + *  deletion without notice.</b>
  108.21   *
  108.22   * @since 1.5
  108.23   * @author Jamie Ho
   109.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/LiteralTaglet.java	Thu Oct 18 11:09:45 2012 -0700
   109.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/LiteralTaglet.java	Tue Oct 23 09:42:48 2012 -0700
   109.3 @@ -1,5 +1,5 @@
   109.4  /*
   109.5 - * Copyright (c) 2003, 2008, Oracle and/or its affiliates. All rights reserved.
   109.6 + * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
   109.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   109.8   *
   109.9   * This code is free software; you can redistribute it and/or modify it
  109.10 @@ -38,6 +38,11 @@
  109.11   * displays as:
  109.12   * <blockquote>  {@literal a<B>c}  </blockquote>
  109.13   *
  109.14 + *  <p><b>This is NOT part of any supported API.
  109.15 + *  If you write code that depends on this, you do so at your own risk.
  109.16 + *  This code and its internal interfaces are subject to change or
  109.17 + *  deletion without notice.</b>
  109.18 + *
  109.19   * @author Scott Seligman
  109.20   * @since 1.5
  109.21   */
  109.22 @@ -79,7 +84,7 @@
  109.23       * Replace occurrences of the following characters:  < > &
  109.24       */
  109.25      protected static String textToString(String text) {
  109.26 -           StringBuffer buf = new StringBuffer();
  109.27 +           StringBuilder buf = new StringBuilder();
  109.28             for (int i = 0; i < text.length(); i++) {
  109.29                 char c = text.charAt(i);
  109.30                 switch (c) {
   110.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/ParamTaglet.java	Thu Oct 18 11:09:45 2012 -0700
   110.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/ParamTaglet.java	Tue Oct 23 09:42:48 2012 -0700
   110.3 @@ -1,5 +1,5 @@
   110.4  /*
   110.5 - * Copyright (c) 2001, 2008, Oracle and/or its affiliates. All rights reserved.
   110.6 + * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved.
   110.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   110.8   *
   110.9   * This code is free software; you can redistribute it and/or modify it
  110.10 @@ -25,16 +25,18 @@
  110.11  
  110.12  package com.sun.tools.doclets.internal.toolkit.taglets;
  110.13  
  110.14 +import java.util.*;
  110.15 +
  110.16  import com.sun.javadoc.*;
  110.17  import com.sun.tools.doclets.internal.toolkit.util.*;
  110.18 -import java.util.*;
  110.19  
  110.20  /**
  110.21   * A taglet that represents the @param tag.
  110.22   *
  110.23 - * This code is not part of an API.
  110.24 - * It is implementation that is subject to change.
  110.25 - * Do not use it as an API
  110.26 + *  <p><b>This is NOT part of any supported API.
  110.27 + *  If you write code that depends on this, you do so at your own risk.
  110.28 + *  This code and its internal interfaces are subject to change or
  110.29 + *  deletion without notice.</b>
  110.30   *
  110.31   * @author Jamie Ho
  110.32   * @since 1.4
  110.33 @@ -182,7 +184,7 @@
  110.34       * Given an array of <code>ParamTag</code>s,return its string representation.
  110.35       * Try to inherit the param tags that are missing.
  110.36       *
  110.37 -     * @param doc               the doc that holds the param tags.
  110.38 +     * @param holder            the doc that holds the param tags.
  110.39       * @param writer            the TagletWriter that will write this tag.
  110.40       * @param formalParameters  The array of parmeters (from type or executable
  110.41       *                          member) to check.
  110.42 @@ -255,7 +257,7 @@
  110.43       *        been documented.
  110.44       * @param rankMap a {@link java.util.Map} which holds ordering
  110.45       *                    information about the parameters.
  110.46 -     * @param nameMap a {@link java.util.Map} which holds a mapping
  110.47 +     * @param rankMap a {@link java.util.Map} which holds a mapping
  110.48       *                of a rank of a parameter to its name.  This is
  110.49       *                used to ensure that the right name is used
  110.50       *                when parameter documentation is inherited.
   111.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/ReturnTaglet.java	Thu Oct 18 11:09:45 2012 -0700
   111.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/ReturnTaglet.java	Tue Oct 23 09:42:48 2012 -0700
   111.3 @@ -1,5 +1,5 @@
   111.4  /*
   111.5 - * Copyright (c) 2001, 2003, Oracle and/or its affiliates. All rights reserved.
   111.6 + * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved.
   111.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   111.8   *
   111.9   * This code is free software; you can redistribute it and/or modify it
  111.10 @@ -25,15 +25,16 @@
  111.11  
  111.12  package com.sun.tools.doclets.internal.toolkit.taglets;
  111.13  
  111.14 +import com.sun.javadoc.*;
  111.15  import com.sun.tools.doclets.internal.toolkit.util.*;
  111.16 -import com.sun.javadoc.*;
  111.17  
  111.18  /**
  111.19   * A taglet that represents the @return tag.
  111.20   *
  111.21 - * This code is not part of an API.
  111.22 - * It is implementation that is subject to change.
  111.23 - * Do not use it as an API
  111.24 + *  <p><b>This is NOT part of any supported API.
  111.25 + *  If you write code that depends on this, you do so at your own risk.
  111.26 + *  This code and its internal interfaces are subject to change or
  111.27 + *  deletion without notice.</b>
  111.28   *
  111.29   * @author Jamie Ho
  111.30   * @since 1.4
   112.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/SeeTaglet.java	Thu Oct 18 11:09:45 2012 -0700
   112.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/SeeTaglet.java	Tue Oct 23 09:42:48 2012 -0700
   112.3 @@ -1,5 +1,5 @@
   112.4  /*
   112.5 - * Copyright (c) 2001, 2003, Oracle and/or its affiliates. All rights reserved.
   112.6 + * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved.
   112.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   112.8   *
   112.9   * This code is free software; you can redistribute it and/or modify it
  112.10 @@ -25,15 +25,16 @@
  112.11  
  112.12  package com.sun.tools.doclets.internal.toolkit.taglets;
  112.13  
  112.14 +import com.sun.javadoc.*;
  112.15  import com.sun.tools.doclets.internal.toolkit.util.*;
  112.16 -import com.sun.javadoc.*;
  112.17  
  112.18  /**
  112.19   * A taglet that represents the @see tag.
  112.20   *
  112.21 - * This code is not part of an API.
  112.22 - * It is implementation that is subject to change.
  112.23 - * Do not use it as an API
  112.24 + *  <p><b>This is NOT part of any supported API.
  112.25 + *  If you write code that depends on this, you do so at your own risk.
  112.26 + *  This code and its internal interfaces are subject to change or
  112.27 + *  deletion without notice.</b>
  112.28   *
  112.29   * @author Jamie Ho
  112.30   * @since 1.4
   113.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/SimpleTaglet.java	Thu Oct 18 11:09:45 2012 -0700
   113.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/SimpleTaglet.java	Tue Oct 23 09:42:48 2012 -0700
   113.3 @@ -1,5 +1,5 @@
   113.4  /*
   113.5 - * Copyright (c) 2001, 2003, Oracle and/or its affiliates. All rights reserved.
   113.6 + * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved.
   113.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   113.8   *
   113.9   * This code is free software; you can redistribute it and/or modify it
  113.10 @@ -30,9 +30,10 @@
  113.11  /**
  113.12   * A simple single argument custom tag.
  113.13   *
  113.14 - * This code is not part of an API.
  113.15 - * It is implementation that is subject to change.
  113.16 - * Do not use it as an API
  113.17 + *  <p><b>This is NOT part of any supported API.
  113.18 + *  If you write code that depends on this, you do so at your own risk.
  113.19 + *  This code and its internal interfaces are subject to change or
  113.20 + *  deletion without notice.</b>
  113.21   *
  113.22   * @author Jamie Ho
  113.23   */
   114.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/TagletManager.java	Thu Oct 18 11:09:45 2012 -0700
   114.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/TagletManager.java	Tue Oct 23 09:42:48 2012 -0700
   114.3 @@ -25,20 +25,21 @@
   114.4  
   114.5  package com.sun.tools.doclets.internal.toolkit.taglets;
   114.6  
   114.7 -import com.sun.javadoc.*;
   114.8 -import com.sun.tools.doclets.internal.toolkit.util.*;
   114.9 -
  114.10  import java.io.*;
  114.11  import java.lang.reflect.*;
  114.12  import java.net.*;
  114.13  import java.util.*;
  114.14  
  114.15 +import com.sun.javadoc.*;
  114.16 +import com.sun.tools.doclets.internal.toolkit.util.*;
  114.17 +
  114.18  /**
  114.19   * Manages the<code>Taglet</code>s used by doclets.
  114.20   *
  114.21 - * This code is not part of an API.
  114.22 - * It is implementation that is subject to change.
  114.23 - * Do not use it as an API
  114.24 + *  <p><b>This is NOT part of any supported API.
  114.25 + *  If you write code that depends on this, you do so at your own risk.
  114.26 + *  This code and its internal interfaces are subject to change or
  114.27 + *  deletion without notice.</b>
  114.28   *
  114.29   * @author Jamie Ho
  114.30   * @since 1.4
  114.31 @@ -448,7 +449,7 @@
  114.32              //This known tag is excluded.
  114.33              return;
  114.34          }
  114.35 -        StringBuffer combined_locations = new StringBuffer();
  114.36 +        StringBuilder combined_locations = new StringBuilder();
  114.37          for (int i = 0; i < locations.length; i++) {
  114.38              if (i > 0) {
  114.39                  combined_locations.append(", ");
   115.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/TagletOutput.java	Thu Oct 18 11:09:45 2012 -0700
   115.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/TagletOutput.java	Tue Oct 23 09:42:48 2012 -0700
   115.3 @@ -1,5 +1,5 @@
   115.4  /*
   115.5 - * Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved.
   115.6 + * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
   115.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   115.8   *
   115.9   * This code is free software; you can redistribute it and/or modify it
  115.10 @@ -30,6 +30,11 @@
  115.11   * different doclets work with different formats of output.  A single taglet can
  115.12   * work with any doclet that provides an implementation of taglet output.
  115.13   *
  115.14 + *  <p><b>This is NOT part of any supported API.
  115.15 + *  If you write code that depends on this, you do so at your own risk.
  115.16 + *  This code and its internal interfaces are subject to change or
  115.17 + *  deletion without notice.</b>
  115.18 + *
  115.19   * @author Jamie Ho
  115.20   * @since 1.5
  115.21   */
   116.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/TagletWriter.java	Thu Oct 18 11:09:45 2012 -0700
   116.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/TagletWriter.java	Tue Oct 23 09:42:48 2012 -0700
   116.3 @@ -1,5 +1,5 @@
   116.4  /*
   116.5 - * Copyright (c) 2003, 2005, Oracle and/or its affiliates. All rights reserved.
   116.6 + * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
   116.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   116.8   *
   116.9   * This code is free software; you can redistribute it and/or modify it
  116.10 @@ -25,13 +25,18 @@
  116.11  
  116.12  package com.sun.tools.doclets.internal.toolkit.taglets;
  116.13  
  116.14 +import com.sun.javadoc.*;
  116.15  import com.sun.tools.doclets.internal.toolkit.*;
  116.16  import com.sun.tools.doclets.internal.toolkit.util.*;
  116.17 -import com.sun.javadoc.*;
  116.18  
  116.19  /**
  116.20   * The interface for the taglet writer.
  116.21   *
  116.22 + *  <p><b>This is NOT part of any supported API.
  116.23 + *  If you write code that depends on this, you do so at your own risk.
  116.24 + *  This code and its internal interfaces are subject to change or
  116.25 + *  deletion without notice.</b>
  116.26 + *
  116.27   * @since 1.5
  116.28   * @author Jamie Ho
  116.29   */
   117.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/ThrowsTaglet.java	Thu Oct 18 11:09:45 2012 -0700
   117.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/ThrowsTaglet.java	Tue Oct 23 09:42:48 2012 -0700
   117.3 @@ -1,5 +1,5 @@
   117.4  /*
   117.5 - * Copyright (c) 2001, 2008, Oracle and/or its affiliates. All rights reserved.
   117.6 + * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved.
   117.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   117.8   *
   117.9   * This code is free software; you can redistribute it and/or modify it
  117.10 @@ -25,16 +25,18 @@
  117.11  
  117.12  package com.sun.tools.doclets.internal.toolkit.taglets;
  117.13  
  117.14 +import java.util.*;
  117.15 +
  117.16  import com.sun.javadoc.*;
  117.17  import com.sun.tools.doclets.internal.toolkit.util.*;
  117.18 -import java.util.*;
  117.19  
  117.20  /**
  117.21   * A taglet that represents the @throws tag.
  117.22   *
  117.23 - * This code is not part of an API.
  117.24 - * It is implementation that is subject to change.
  117.25 - * Do not use it as an API
  117.26 + *  <p><b>This is NOT part of any supported API.
  117.27 + *  If you write code that depends on this, you do so at your own risk.
  117.28 + *  This code and its internal interfaces are subject to change or
  117.29 + *  deletion without notice.</b>
  117.30   *
  117.31   * @author Jamie Ho
  117.32   * @since 1.4
   118.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/ValueTaglet.java	Thu Oct 18 11:09:45 2012 -0700
   118.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/ValueTaglet.java	Tue Oct 23 09:42:48 2012 -0700
   118.3 @@ -1,5 +1,5 @@
   118.4  /*
   118.5 - * Copyright (c) 2001, 2003, Oracle and/or its affiliates. All rights reserved.
   118.6 + * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved.
   118.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   118.8   *
   118.9   * This code is free software; you can redistribute it and/or modify it
  118.10 @@ -25,10 +25,11 @@
  118.11  
  118.12  package com.sun.tools.doclets.internal.toolkit.taglets;
  118.13  
  118.14 +import java.util.*;
  118.15 +
  118.16  import com.sun.javadoc.*;
  118.17  import com.sun.tools.doclets.internal.toolkit.Configuration;
  118.18  import com.sun.tools.doclets.internal.toolkit.util.*;
  118.19 -import java.util.*;
  118.20  
  118.21  /**
  118.22   * An inline Taglet representing the value tag. This tag should only be used with
  118.23 @@ -39,9 +40,10 @@
  118.24   * is retrieved for the field that the inline tag appears on.  The name is specifed
  118.25   * in the following format:  [fully qualified class name]#[constant field name].
  118.26   *
  118.27 - * This code is not part of an API.
  118.28 - * It is implementation that is subject to change.
  118.29 - * Do not use it as an API
  118.30 + *  <p><b>This is NOT part of any supported API.
  118.31 + *  If you write code that depends on this, you do so at your own risk.
  118.32 + *  This code and its internal interfaces are subject to change or
  118.33 + *  deletion without notice.</b>
  118.34   *
  118.35   * @author Jamie Ho
  118.36   * @since 1.4
  118.37 @@ -107,7 +109,7 @@
  118.38       * @param config the current configuration of the doclet.
  118.39       * @param tag the value tag.
  118.40       * @param name the name of the field to search for.  The name should be in
  118.41 -     * <qualified class name>#<field name> format. If the class name is omitted,
  118.42 +     * {@code <qualified class name>#<field name>} format. If the class name is omitted,
  118.43       * it is assumed that the field is in the current class.
  118.44       *
  118.45       * @return the corresponding FieldDoc. If the name is null or empty string,
   119.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/ClassDocCatalog.java	Thu Oct 18 11:09:45 2012 -0700
   119.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/ClassDocCatalog.java	Tue Oct 23 09:42:48 2012 -0700
   119.3 @@ -1,5 +1,5 @@
   119.4  /*
   119.5 - * Copyright (c) 2001, 2011, Oracle and/or its affiliates. All rights reserved.
   119.6 + * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved.
   119.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   119.8   *
   119.9   * This code is free software; you can redistribute it and/or modify it
  119.10 @@ -36,9 +36,10 @@
  119.11   * those classes so that we can retrieve all of the classes from a particular
  119.12   * package later.
  119.13   *
  119.14 - * This code is not part of an API.
  119.15 - * It is implementation that is subject to change.
  119.16 - * Do not use it as an API
  119.17 + *  <p><b>This is NOT part of any supported API.
  119.18 + *  If you write code that depends on this, you do so at your own risk.
  119.19 + *  This code and its internal interfaces are subject to change or
  119.20 + *  deletion without notice.</b>
  119.21   *
  119.22   * @author Jamie Ho
  119.23   * @since 1.4
  119.24 @@ -184,7 +185,7 @@
  119.25        /**
  119.26         * Return all of the classes specified on the command-line that
  119.27         * belong to the given package.
  119.28 -       * @param packageDoc the package to return the classes for.
  119.29 +       * @param pkgDoc the package to return the classes for.
  119.30         */
  119.31        public ClassDoc[] allClasses(PackageDoc pkgDoc) {
  119.32            return pkgDoc.isIncluded() ?
   120.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/ClassTree.java	Thu Oct 18 11:09:45 2012 -0700
   120.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/ClassTree.java	Tue Oct 23 09:42:48 2012 -0700
   120.3 @@ -1,5 +1,5 @@
   120.4  /*
   120.5 - * Copyright (c) 1998, 2011, Oracle and/or its affiliates. All rights reserved.
   120.6 + * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved.
   120.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   120.8   *
   120.9   * This code is free software; you can redistribute it and/or modify it
  120.10 @@ -25,17 +25,19 @@
  120.11  
  120.12  package com.sun.tools.doclets.internal.toolkit.util;
  120.13  
  120.14 +import java.util.*;
  120.15 +
  120.16 +import com.sun.javadoc.*;
  120.17  import com.sun.tools.doclets.internal.toolkit.*;
  120.18 -import com.sun.javadoc.*;
  120.19 -import java.util.*;
  120.20  
  120.21  /**
  120.22   * Build Class Hierarchy for all the Classes. This class builds the Class
  120.23   * Tree and the Interface Tree separately.
  120.24   *
  120.25 - * This code is not part of an API.
  120.26 - * It is implementation that is subject to change.
  120.27 - * Do not use it as an API
  120.28 + *  <p><b>This is NOT part of any supported API.
  120.29 + *  If you write code that depends on this, you do so at your own risk.
  120.30 + *  This code and its internal interfaces are subject to change or
  120.31 + *  deletion without notice.</b>
  120.32   *
  120.33   * @see java.util.HashMap
  120.34   * @see java.util.List
   121.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/ClassUseMapper.java	Thu Oct 18 11:09:45 2012 -0700
   121.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/ClassUseMapper.java	Tue Oct 23 09:42:48 2012 -0700
   121.3 @@ -1,5 +1,5 @@
   121.4  /*
   121.5 - * Copyright (c) 1998, 2008, Oracle and/or its affiliates. All rights reserved.
   121.6 + * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved.
   121.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   121.8   *
   121.9   * This code is free software; you can redistribute it and/or modify it
  121.10 @@ -25,15 +25,17 @@
  121.11  
  121.12  package com.sun.tools.doclets.internal.toolkit.util;
  121.13  
  121.14 +import java.util.*;
  121.15 +
  121.16  import com.sun.javadoc.*;
  121.17 -import java.util.*;
  121.18  
  121.19  /**
  121.20   * Map all class uses for a given class.
  121.21   *
  121.22 - * This code is not part of an API.
  121.23 - * It is implementation that is subject to change.
  121.24 - * Do not use it as an API
  121.25 + *  <p><b>This is NOT part of any supported API.
  121.26 + *  If you write code that depends on this, you do so at your own risk.
  121.27 + *  This code and its internal interfaces are subject to change or
  121.28 + *  deletion without notice.</b>
  121.29   *
  121.30   * @since 1.2
  121.31   * @author Robert G. Field
   122.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/CommentedMethodFinder.java	Thu Oct 18 11:09:45 2012 -0700
   122.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/CommentedMethodFinder.java	Tue Oct 23 09:42:48 2012 -0700
   122.3 @@ -1,5 +1,5 @@
   122.4  /*
   122.5 - * Copyright (c) 1999, 2003, Oracle and/or its affiliates. All rights reserved.
   122.6 + * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved.
   122.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   122.8   *
   122.9   * This code is free software; you can redistribute it and/or modify it
  122.10 @@ -30,9 +30,10 @@
  122.11  /**
  122.12   * Find a commented method.
  122.13   *
  122.14 - * This code is not part of an API.
  122.15 - * It is implementation that is subject to change.
  122.16 - * Do not use it as an API
  122.17 + *  <p><b>This is NOT part of any supported API.
  122.18 + *  If you write code that depends on this, you do so at your own risk.
  122.19 + *  This code and its internal interfaces are subject to change or
  122.20 + *  deletion without notice.</b>
  122.21   *
  122.22   */
  122.23  public class CommentedMethodFinder extends MethodFinder {
   123.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/DeprecatedAPIListBuilder.java	Thu Oct 18 11:09:45 2012 -0700
   123.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/DeprecatedAPIListBuilder.java	Tue Oct 23 09:42:48 2012 -0700
   123.3 @@ -1,5 +1,5 @@
   123.4  /*
   123.5 - * Copyright (c) 1998, 2011, Oracle and/or its affiliates. All rights reserved.
   123.6 + * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved.
   123.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   123.8   *
   123.9   * This code is free software; you can redistribute it and/or modify it
  123.10 @@ -25,13 +25,19 @@
  123.11  
  123.12  package com.sun.tools.doclets.internal.toolkit.util;
  123.13  
  123.14 +import java.util.*;
  123.15 +
  123.16  import com.sun.javadoc.*;
  123.17 -import java.util.*;
  123.18  import com.sun.tools.doclets.internal.toolkit.Configuration;
  123.19  
  123.20  /**
  123.21   * Build list of all the deprecated packages, classes, constructors, fields and methods.
  123.22   *
  123.23 + *  <p><b>This is NOT part of any supported API.
  123.24 + *  If you write code that depends on this, you do so at your own risk.
  123.25 + *  This code and its internal interfaces are subject to change or
  123.26 + *  deletion without notice.</b>
  123.27 + *
  123.28   * @author Atul M Dambalkar
  123.29   */
  123.30  public class DeprecatedAPIListBuilder {
  123.31 @@ -145,7 +151,7 @@
  123.32      /**
  123.33       * Return the list of deprecated Doc objects of a given type.
  123.34       *
  123.35 -     * @param the constant representing the type of list being returned.
  123.36 +     * @param type the constant representing the type of list being returned.
  123.37       */
  123.38      public List<Doc> getList(int type) {
  123.39          return deprecatedLists.get(type);
   124.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/DirectoryManager.java	Thu Oct 18 11:09:45 2012 -0700
   124.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/DirectoryManager.java	Tue Oct 23 09:42:48 2012 -0700
   124.3 @@ -1,5 +1,5 @@
   124.4  /*
   124.5 - * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved.
   124.6 + * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved.
   124.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   124.8   *
   124.9   * This code is free software; you can redistribute it and/or modify it
  124.10 @@ -119,7 +119,7 @@
  124.11          if (packageName == null || packageName.length() == 0) {
  124.12              return "";
  124.13          }
  124.14 -        StringBuffer pathstr = new StringBuffer();
  124.15 +        StringBuilder pathstr = new StringBuilder();
  124.16          for (int i = 0; i < packageName.length(); i++) {
  124.17              char ch = packageName.charAt(i);
  124.18              if (ch == '.') {
  124.19 @@ -151,7 +151,7 @@
  124.20          if (name == null || name.length() == 0) {
  124.21              return "";
  124.22          }
  124.23 -        StringBuffer pathstr = new StringBuffer();
  124.24 +        StringBuilder pathstr = new StringBuilder();
  124.25          for (int i = 0; i < name.length(); i++) {
  124.26              char ch = name.charAt(i);
  124.27              if (ch == '.') {
  124.28 @@ -181,7 +181,7 @@
  124.29       * @see          #getPath(String)
  124.30       */
  124.31      public static String getRelativePath(String from, String to) {
  124.32 -        StringBuffer pathstr = new StringBuffer();
  124.33 +        StringBuilder pathstr = new StringBuilder();
  124.34          pathstr.append(getRelativePath(from));
  124.35          pathstr.append(getPath(to));
  124.36          pathstr.append(URL_FILE_SEPARATOR);
  124.37 @@ -222,7 +222,7 @@
  124.38          if (from == null || from.length() == 0) {
  124.39              return "";
  124.40          }
  124.41 -        StringBuffer pathstr = new StringBuffer();
  124.42 +        StringBuilder pathstr = new StringBuilder();
  124.43          for (int i = 0; i < from.length(); i++) {
  124.44              char ch = from.charAt(i);
  124.45              if (ch == '.') {
  124.46 @@ -293,7 +293,7 @@
  124.47       * @param filename   File name to be appended to the path of the package.
  124.48       */
  124.49      public static String getPathToPackage(PackageDoc pd, String filename) {
  124.50 -        StringBuffer buf = new StringBuffer();
  124.51 +        StringBuilder buf = new StringBuilder();
  124.52          String pathstr = createPathString(pd);
  124.53          if (pathstr.length() > 0) {
  124.54              buf.append(pathstr);
   125.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/DocFinder.java	Thu Oct 18 11:09:45 2012 -0700
   125.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/DocFinder.java	Tue Oct 23 09:42:48 2012 -0700
   125.3 @@ -1,5 +1,5 @@
   125.4  /*
   125.5 - * Copyright (c) 2003, 2008, Oracle and/or its affiliates. All rights reserved.
   125.6 + * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
   125.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   125.8   *
   125.9   * This code is free software; you can redistribute it and/or modify it
  125.10 @@ -25,13 +25,19 @@
  125.11  
  125.12  package com.sun.tools.doclets.internal.toolkit.util;
  125.13  
  125.14 +import java.util.*;
  125.15 +
  125.16  import com.sun.javadoc.*;
  125.17  import com.sun.tools.doclets.internal.toolkit.taglets.*;
  125.18 -import java.util.*;
  125.19  
  125.20  /**
  125.21   * Search for the requested documentation.  Inherit documentation if necessary.
  125.22   *
  125.23 + *  <p><b>This is NOT part of any supported API.
  125.24 + *  If you write code that depends on this, you do so at your own risk.
  125.25 + *  This code and its internal interfaces are subject to change or
  125.26 + *  deletion without notice.</b>
  125.27 + *
  125.28   * @author Jamie Ho
  125.29   * @since 1.5
  125.30   */
   126.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/DocletAbortException.java	Thu Oct 18 11:09:45 2012 -0700
   126.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/DocletAbortException.java	Tue Oct 23 09:42:48 2012 -0700
   126.3 @@ -1,5 +1,5 @@
   126.4  /*
   126.5 - * Copyright (c) 1997, 2009, Oracle and/or its affiliates. All rights reserved.
   126.6 + * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
   126.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   126.8   *
   126.9   * This code is free software; you can redistribute it and/or modify it
  126.10 @@ -25,6 +25,12 @@
  126.11  
  126.12  package com.sun.tools.doclets.internal.toolkit.util;
  126.13  
  126.14 +/**
  126.15 + *  <p><b>This is NOT part of any supported API.
  126.16 + *  If you write code that depends on this, you do so at your own risk.
  126.17 + *  This code and its internal interfaces are subject to change or
  126.18 + *  deletion without notice.</b>
  126.19 + */
  126.20  public class DocletAbortException extends RuntimeException {
  126.21      private static final long serialVersionUID = -9131058909576418984L;
  126.22  
   127.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/DocletConstants.java	Thu Oct 18 11:09:45 2012 -0700
   127.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/DocletConstants.java	Tue Oct 23 09:42:48 2012 -0700
   127.3 @@ -1,5 +1,5 @@
   127.4  /*
   127.5 - * Copyright (c) 2003, 2004, Oracle and/or its affiliates. All rights reserved.
   127.6 + * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
   127.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   127.8   *
   127.9   * This code is free software; you can redistribute it and/or modify it
  127.10 @@ -29,9 +29,10 @@
  127.11   * Stores all constants for a Doclet.  Extend this class if you have doclet
  127.12   * specific constants to add.
  127.13   *
  127.14 - * This code is not part of an API.
  127.15 - * It is implementation that is subject to change.
  127.16 - * Do not use it as an API
  127.17 + *  <p><b>This is NOT part of any supported API.
  127.18 + *  If you write code that depends on this, you do so at your own risk.
  127.19 + *  This code and its internal interfaces are subject to change or
  127.20 + *  deletion without notice.</b>
  127.21   *
  127.22   * @author Jamie Ho
  127.23   * @since 1.5
   128.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/Extern.java	Thu Oct 18 11:09:45 2012 -0700
   128.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/Extern.java	Tue Oct 23 09:42:48 2012 -0700
   128.3 @@ -1,5 +1,5 @@
   128.4  /*
   128.5 - * Copyright (c) 1998, 2008, Oracle and/or its affiliates. All rights reserved.
   128.6 + * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved.
   128.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   128.8   *
   128.9   * This code is free software; you can redistribute it and/or modify it
  128.10 @@ -25,13 +25,13 @@
  128.11  
  128.12  package com.sun.tools.doclets.internal.toolkit.util;
  128.13  
  128.14 -import com.sun.tools.doclets.internal.toolkit.*;
  128.15 +import java.io.*;
  128.16 +import java.net.*;
  128.17 +import java.util.HashMap;
  128.18 +import java.util.Map;
  128.19  
  128.20  import com.sun.javadoc.*;
  128.21 -import java.util.Map;
  128.22 -import java.util.HashMap;
  128.23 -import java.io.*;
  128.24 -import java.net.*;
  128.25 +import com.sun.tools.doclets.internal.toolkit.*;
  128.26  
  128.27  /**
  128.28   * Process and manage "-link" and "-linkoffline" to external packages. The
  128.29 @@ -40,9 +40,10 @@
  128.30   * documented) file in the current or the destination directory, while
  128.31   * generating the documentation.
  128.32   *
  128.33 - * This code is not part of an API.
  128.34 - * It is implementation that is subject to change.
  128.35 - * Do not use it as an API
  128.36 + *  <p><b>This is NOT part of any supported API.
  128.37 + *  If you write code that depends on this, you do so at your own risk.
  128.38 + *  This code and its internal interfaces are subject to change or
  128.39 + *  deletion without notice.</b>
  128.40   *
  128.41   * @author Atul M Dambalkar
  128.42   * @author Robert Field
  128.43 @@ -91,7 +92,7 @@
  128.44           * If the same package name is found in the map, then the first mapped
  128.45           * Item object or offline location will be retained.
  128.46           *
  128.47 -         * @param packagename Package name found in the "package-list" file.
  128.48 +         * @param packageName Package name found in the "package-list" file.
  128.49           * @param path        URL or Directory path from where the "package-list"
  128.50           * file is picked.
  128.51           * @param relative    True if path is URL, false if directory path.
  128.52 @@ -179,7 +180,7 @@
  128.53      /**
  128.54       * Get the Extern Item object associated with this package name.
  128.55       *
  128.56 -     * @param pkgname Package name.
  128.57 +     * @param pkgName Package name.
  128.58       */
  128.59      private Item findPackageItem(String pkgName) {
  128.60          if (packageToItemMap == null) {
  128.61 @@ -276,7 +277,7 @@
  128.62                                  boolean relative)
  128.63                           throws IOException {
  128.64          BufferedReader in = new BufferedReader(new InputStreamReader(input));
  128.65 -        StringBuffer strbuf = new StringBuffer();
  128.66 +        StringBuilder strbuf = new StringBuilder();
  128.67          try {
  128.68              int c;
  128.69              while ((c = in.read()) >= 0) {
   129.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/Group.java	Thu Oct 18 11:09:45 2012 -0700
   129.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/Group.java	Tue Oct 23 09:42:48 2012 -0700
   129.3 @@ -1,5 +1,5 @@
   129.4  /*
   129.5 - * Copyright (c) 1998, 2008, Oracle and/or its affiliates. All rights reserved.
   129.6 + * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved.
   129.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   129.8   *
   129.9   * This code is free software; you can redistribute it and/or modify it
  129.10 @@ -25,9 +25,10 @@
  129.11  
  129.12  package com.sun.tools.doclets.internal.toolkit.util;
  129.13  
  129.14 +import java.util.*;
  129.15 +
  129.16 +import com.sun.javadoc.*;
  129.17  import com.sun.tools.doclets.internal.toolkit.*;
  129.18 -import com.sun.javadoc.*;
  129.19 -import java.util.*;
  129.20  
  129.21  /**
  129.22   * Process and manage grouping of packages, as specified by "-group" option on
  129.23 @@ -48,9 +49,10 @@
  129.24   * will put the package java.lang in the group "Lang" and not in group "Core".
  129.25   * </p>
  129.26   *
  129.27 - * This code is not part of an API.
  129.28 - * It is implementation that is subject to change.
  129.29 - * Do not use it as an API
  129.30 + *  <p><b>This is NOT part of any supported API.
  129.31 + *  If you write code that depends on this, you do so at your own risk.
  129.32 + *  This code and its internal interfaces are subject to change or
  129.33 + *  deletion without notice.</b>
  129.34   *
  129.35   * @author Atul M Dambalkar
  129.36   */
   130.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/ImplementedMethods.java	Thu Oct 18 11:09:45 2012 -0700
   130.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/ImplementedMethods.java	Tue Oct 23 09:42:48 2012 -0700
   130.3 @@ -1,5 +1,5 @@
   130.4  /*
   130.5 - * Copyright (c) 1999, 2008, Oracle and/or its affiliates. All rights reserved.
   130.6 + * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved.
   130.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   130.8   *
   130.9   * This code is free software; you can redistribute it and/or modify it
  130.10 @@ -25,17 +25,19 @@
  130.11  
  130.12  package com.sun.tools.doclets.internal.toolkit.util;
  130.13  
  130.14 +import java.util.*;
  130.15 +
  130.16  import com.sun.javadoc.*;
  130.17  import com.sun.tools.doclets.internal.toolkit.Configuration;
  130.18 -import java.util.*;
  130.19  
  130.20  /**
  130.21   * For a given class method, build an array of interface methods which it
  130.22   * implements.
  130.23   *
  130.24 - * This code is not part of an API.
  130.25 - * It is implementation that is subject to change.
  130.26 - * Do not use it as an API
  130.27 + *  <p><b>This is NOT part of any supported API.
  130.28 + *  If you write code that depends on this, you do so at your own risk.
  130.29 + *  This code and its internal interfaces are subject to change or
  130.30 + *  deletion without notice.</b>
  130.31   *
  130.32   * @author Atul M Dambalkar
  130.33   */
   131.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/IndexBuilder.java	Thu Oct 18 11:09:45 2012 -0700
   131.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/IndexBuilder.java	Tue Oct 23 09:42:48 2012 -0700
   131.3 @@ -1,5 +1,5 @@
   131.4  /*
   131.5 - * Copyright (c) 1998, 2011, Oracle and/or its affiliates. All rights reserved.
   131.6 + * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved.
   131.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   131.8   *
   131.9   * This code is free software; you can redistribute it and/or modify it
  131.10 @@ -25,9 +25,10 @@
  131.11  
  131.12  package com.sun.tools.doclets.internal.toolkit.util;
  131.13  
  131.14 +import java.util.*;
  131.15 +
  131.16 +import com.sun.javadoc.*;
  131.17  import com.sun.tools.doclets.internal.toolkit.*;
  131.18 -import com.sun.javadoc.*;
  131.19 -import java.util.*;
  131.20  
  131.21  /**
  131.22   * Build the mapping of each Unicode character with it's member lists
  131.23 @@ -35,9 +36,10 @@
  131.24   * Unicode characters which start a member name. Member name is
  131.25   * classkind or field or method or constructor name.
  131.26   *
  131.27 - * This code is not part of an API.
  131.28 - * It is implementation that is subject to change.
  131.29 - * Do not use it as an API
  131.30 + *  <p><b>This is NOT part of any supported API.
  131.31 + *  If you write code that depends on this, you do so at your own risk.
  131.32 + *  This code and its internal interfaces are subject to change or
  131.33 + *  deletion without notice.</b>
  131.34   *
  131.35   * @since 1.2
  131.36   * @see java.lang.Character
   132.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/MessageRetriever.java	Thu Oct 18 11:09:45 2012 -0700
   132.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/MessageRetriever.java	Tue Oct 23 09:42:48 2012 -0700
   132.3 @@ -1,5 +1,5 @@
   132.4  /*
   132.5 - * Copyright (c) 1998, 2009, Oracle and/or its affiliates. All rights reserved.
   132.6 + * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved.
   132.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   132.8   *
   132.9   * This code is free software; you can redistribute it and/or modify it
  132.10 @@ -24,18 +24,20 @@
  132.11   */
  132.12  package com.sun.tools.doclets.internal.toolkit.util;
  132.13  
  132.14 +import java.text.MessageFormat;
  132.15 +import java.util.*;
  132.16 +
  132.17  import com.sun.javadoc.*;
  132.18  import com.sun.tools.doclets.internal.toolkit.Configuration;
  132.19 -import java.util.*;
  132.20 -import java.text.MessageFormat;
  132.21  
  132.22  
  132.23  /**
  132.24   * Retrieve and format messages stored in a resource.
  132.25   *
  132.26 - * This code is not part of an API.
  132.27 - * It is implementation that is subject to change.
  132.28 - * Do not use it as an API
  132.29 + *  <p><b>This is NOT part of any supported API.
  132.30 + *  If you write code that depends on this, you do so at your own risk.
  132.31 + *  This code and its internal interfaces are subject to change or
  132.32 + *  deletion without notice.</b>
  132.33   *
  132.34   * @since 1.2
  132.35   * @author Atul M Dambalkar
   133.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/MetaKeywords.java	Thu Oct 18 11:09:45 2012 -0700
   133.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/MetaKeywords.java	Tue Oct 23 09:42:48 2012 -0700
   133.3 @@ -1,5 +1,5 @@
   133.4  /*
   133.5 - * Copyright (c) 2002, 2008, Oracle and/or its affiliates. All rights reserved.
   133.6 + * Copyright (c) 2002, 2012, Oracle and/or its affiliates. All rights reserved.
   133.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   133.8   *
   133.9   * This code is free software; you can redistribute it and/or modify it
  133.10 @@ -25,9 +25,10 @@
  133.11  
  133.12  package com.sun.tools.doclets.internal.toolkit.util;
  133.13  
  133.14 +import java.util.*;
  133.15 +
  133.16 +import com.sun.javadoc.*;
  133.17  import com.sun.tools.doclets.internal.toolkit.*;
  133.18 -import com.sun.javadoc.*;
  133.19 -import java.util.*;
  133.20  
  133.21  /**
  133.22   * Provides methods for creating an array of class, method and
  133.23 @@ -35,9 +36,10 @@
  133.24   * of class pages.  These keywords improve search results
  133.25   * on browsers that look for keywords.
  133.26   *
  133.27 - * This code is not part of an API.
  133.28 - * It is implementation that is subject to change.
  133.29 - * Do not use it as an API
  133.30 + *  <p><b>This is NOT part of any supported API.
  133.31 + *  If you write code that depends on this, you do so at your own risk.
  133.32 + *  This code and its internal interfaces are subject to change or
  133.33 + *  deletion without notice.</b>
  133.34   *
  133.35   * @author Doug Kramer
  133.36   */
   134.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/MethodFinder.java	Thu Oct 18 11:09:45 2012 -0700
   134.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/MethodFinder.java	Tue Oct 23 09:42:48 2012 -0700
   134.3 @@ -1,5 +1,5 @@
   134.4  /*
   134.5 - * Copyright (c) 1999, 2004, Oracle and/or its affiliates. All rights reserved.
   134.6 + * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved.
   134.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   134.8   *
   134.9   * This code is free software; you can redistribute it and/or modify it
  134.10 @@ -33,9 +33,10 @@
  134.11   * superclasses and interfaces(subsequently super-interfaces also)
  134.12   * recursively.
  134.13   *
  134.14 - * This code is not part of an API.
  134.15 - * It is implementation that is subject to change.
  134.16 - * Do not use it as an API.
  134.17 + *  <p><b>This is NOT part of any supported API.
  134.18 + *  If you write code that depends on this, you do so at your own risk.
  134.19 + *  This code and its internal interfaces are subject to change or
  134.20 + *  deletion without notice.</b>
  134.21   */
  134.22  public abstract class MethodFinder {
  134.23  
   135.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/PackageListWriter.java	Thu Oct 18 11:09:45 2012 -0700
   135.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/PackageListWriter.java	Tue Oct 23 09:42:48 2012 -0700
   135.3 @@ -1,5 +1,5 @@
   135.4  /*
   135.5 - * Copyright (c) 1998, 2011, Oracle and/or its affiliates. All rights reserved.
   135.6 + * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved.
   135.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   135.8   *
   135.9   * This code is free software; you can redistribute it and/or modify it
  135.10 @@ -25,17 +25,19 @@
  135.11  
  135.12  package com.sun.tools.doclets.internal.toolkit.util;
  135.13  
  135.14 -import com.sun.tools.doclets.internal.toolkit.*;
  135.15 -import com.sun.javadoc.*;
  135.16  import java.io.*;
  135.17  import java.util.*;
  135.18  
  135.19 +import com.sun.javadoc.*;
  135.20 +import com.sun.tools.doclets.internal.toolkit.*;
  135.21 +
  135.22  /**
  135.23   * Write out the package index.
  135.24   *
  135.25 - * This code is not part of an API.
  135.26 - * It is implementation that is subject to change.
  135.27 - * Do not use it as an API
  135.28 + *  <p><b>This is NOT part of any supported API.
  135.29 + *  If you write code that depends on this, you do so at your own risk.
  135.30 + *  This code and its internal interfaces are subject to change or
  135.31 + *  deletion without notice.</b>
  135.32   *
  135.33   * @see com.sun.javadoc.PackageDoc
  135.34   * @author Atul M Dambalkar
   136.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/TaggedMethodFinder.java	Thu Oct 18 11:09:45 2012 -0700
   136.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/TaggedMethodFinder.java	Tue Oct 23 09:42:48 2012 -0700
   136.3 @@ -1,5 +1,5 @@
   136.4  /*
   136.5 - * Copyright (c) 1999, 2003, Oracle and/or its affiliates. All rights reserved.
   136.6 + * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved.
   136.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   136.8   *
   136.9   * This code is free software; you can redistribute it and/or modify it
  136.10 @@ -30,9 +30,10 @@
  136.11  /**
  136.12   * Find a tagged method.
  136.13   *
  136.14 - * This code is not part of an API.
  136.15 - * It is implementation that is subject to change.
  136.16 - * Do not use it as an API
  136.17 + *  <p><b>This is NOT part of any supported API.
  136.18 + *  If you write code that depends on this, you do so at your own risk.
  136.19 + *  This code and its internal interfaces are subject to change or
  136.20 + *  deletion without notice.</b>
  136.21   *
  136.22   * @author Atul M Dambalkar
  136.23   */
   137.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/TextTag.java	Thu Oct 18 11:09:45 2012 -0700
   137.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/TextTag.java	Tue Oct 23 09:42:48 2012 -0700
   137.3 @@ -1,5 +1,5 @@
   137.4  /*
   137.5 - * Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved.
   137.6 + * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
   137.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   137.8   *
   137.9   * This code is free software; you can redistribute it and/or modify it
  137.10 @@ -30,9 +30,10 @@
  137.11   * A tag that holds nothing but plain text.  This is useful for passing
  137.12   * text to methods that only accept inline tags as a parameter.
  137.13   *
  137.14 - * This code is not part of an API.
  137.15 - * It is implementation that is subject to change.
  137.16 - * Do not use it as an API
  137.17 + *  <p><b>This is NOT part of any supported API.
  137.18 + *  If you write code that depends on this, you do so at your own risk.
  137.19 + *  This code and its internal interfaces are subject to change or
  137.20 + *  deletion without notice.</b>
  137.21   *
  137.22   * @author Jamie Ho
  137.23   * @since 1.5
   138.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/Util.java	Thu Oct 18 11:09:45 2012 -0700
   138.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/Util.java	Tue Oct 23 09:42:48 2012 -0700
   138.3 @@ -1,5 +1,5 @@
   138.4  /*
   138.5 - * Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved.
   138.6 + * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved.
   138.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   138.8   *
   138.9   * This code is free software; you can redistribute it and/or modify it
  138.10 @@ -34,9 +34,10 @@
  138.11  /**
  138.12   * Utilities Class for Doclets.
  138.13   *
  138.14 - * This code is not part of an API.
  138.15 - * It is implementation that is subject to change.
  138.16 - * Do not use it as an API
  138.17 + *  <p><b>This is NOT part of any supported API.
  138.18 + *  If you write code that depends on this, you do so at your own risk.
  138.19 + *  This code and its internal interfaces are subject to change or
  138.20 + *  deletion without notice.</b>
  138.21   *
  138.22   * @author Atul M Dambalkar
  138.23   * @author Jamie Ho
  138.24 @@ -366,7 +367,13 @@
  138.25                      while((n = in.read(buf))>0) out.write(buf,0,n);
  138.26                  } else {
  138.27                      BufferedReader reader = new BufferedReader(new InputStreamReader(in));
  138.28 -                    BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(out));
  138.29 +                    BufferedWriter writer;
  138.30 +                    if (configuration.docencoding == null) {
  138.31 +                        writer = new BufferedWriter(new OutputStreamWriter(out));
  138.32 +                    } else {
  138.33 +                        writer = new BufferedWriter(new OutputStreamWriter(out,
  138.34 +                            configuration.docencoding));
  138.35 +                    }
  138.36                      try {
  138.37                          String line;
  138.38                          while ((line = reader.readLine()) != null) {
  138.39 @@ -643,9 +650,9 @@
  138.40              fos = new FileOutputStream(filename);
  138.41          }
  138.42          if (docencoding == null) {
  138.43 -            return new OutputStreamWriter(fos);
  138.44 +            return new BufferedWriter(new OutputStreamWriter(fos));
  138.45          } else {
  138.46 -            return new OutputStreamWriter(fos, docencoding);
  138.47 +            return new BufferedWriter(new OutputStreamWriter(fos, docencoding));
  138.48          }
  138.49      }
  138.50  
   139.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/VisibleMemberMap.java	Thu Oct 18 11:09:45 2012 -0700
   139.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/VisibleMemberMap.java	Tue Oct 23 09:42:48 2012 -0700
   139.3 @@ -1,5 +1,5 @@
   139.4  /*
   139.5 - * Copyright (c) 1999, 2008, Oracle and/or its affiliates. All rights reserved.
   139.6 + * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved.
   139.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   139.8   *
   139.9   * This code is free software; you can redistribute it and/or modify it
  139.10 @@ -25,9 +25,10 @@
  139.11  
  139.12  package com.sun.tools.doclets.internal.toolkit.util;
  139.13  
  139.14 +import java.util.*;
  139.15 +
  139.16  import com.sun.javadoc.*;
  139.17  import com.sun.tools.doclets.internal.toolkit.*;
  139.18 -import java.util.*;
  139.19  
  139.20  /**
  139.21   * A data structure that encapsulates the visible members of a particular
  139.22 @@ -36,9 +37,10 @@
  139.23   * or method) and the leaf of the class tree.  The data structure will map
  139.24   * all visible members in the leaf and classes above the leaf in the tree.
  139.25   *
  139.26 - * This code is not part of an API.
  139.27 - * It is implementation that is subject to change.
  139.28 - * Do not use it as an API
  139.29 + *  <p><b>This is NOT part of any supported API.
  139.30 + *  If you write code that depends on this, you do so at your own risk.
  139.31 + *  This code and its internal interfaces are subject to change or
  139.32 + *  deletion without notice.</b>
  139.33   *
  139.34   * @author Atul M Dambalkar
  139.35   * @author Jamie Ho (rewrite)
  139.36 @@ -125,7 +127,7 @@
  139.37       * Return the package private members inherited by the class.  Only return
  139.38       * if parent is package private and not documented.
  139.39       *
  139.40 -     * @param configuation the current configuration of the doclet.
  139.41 +     * @param configuration the current configuration of the doclet.
  139.42       * @return the package private members inherited by the class.
  139.43       */
  139.44      private List<ProgramElementDoc> getInheritedPackagePrivateMethods(Configuration configuration) {
  139.45 @@ -148,7 +150,7 @@
  139.46       * end of the list members that are inherited by inaccessible parents. We
  139.47       * document these members in the child because the parent is not documented.
  139.48       *
  139.49 -     * @param configuation the current configuration of the doclet.
  139.50 +     * @param configuration the current configuration of the doclet.
  139.51       */
  139.52      public List<ProgramElementDoc> getLeafClassMembers(Configuration configuration) {
  139.53          List<ProgramElementDoc> result = getMembersFor(classdoc);
   140.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/links/LinkFactory.java	Thu Oct 18 11:09:45 2012 -0700
   140.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/links/LinkFactory.java	Tue Oct 23 09:42:48 2012 -0700
   140.3 @@ -1,5 +1,5 @@
   140.4  /*
   140.5 - * Copyright (c) 2003, 2008, Oracle and/or its affiliates. All rights reserved.
   140.6 + * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
   140.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   140.8   *
   140.9   * This code is free software; you can redistribute it and/or modify it
  140.10 @@ -30,6 +30,11 @@
  140.11  /**
  140.12   * A factory that constructs links from given link information.
  140.13   *
  140.14 + *  <p><b>This is NOT part of any supported API.
  140.15 + *  If you write code that depends on this, you do so at your own risk.
  140.16 + *  This code and its internal interfaces are subject to change or
  140.17 + *  deletion without notice.</b>
  140.18 + *
  140.19   * @author Jamie Ho
  140.20   * @since 1.5
  140.21   */
   141.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/links/LinkInfo.java	Thu Oct 18 11:09:45 2012 -0700
   141.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/links/LinkInfo.java	Tue Oct 23 09:42:48 2012 -0700
   141.3 @@ -1,5 +1,5 @@
   141.4  /*
   141.5 - * Copyright (c) 2003, 2005, Oracle and/or its affiliates. All rights reserved.
   141.6 + * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
   141.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   141.8   *
   141.9   * This code is free software; you can redistribute it and/or modify it
  141.10 @@ -31,6 +31,11 @@
  141.11  /**
  141.12   * Encapsulates information about a link.
  141.13   *
  141.14 + *  <p><b>This is NOT part of any supported API.
  141.15 + *  If you write code that depends on this, you do so at your own risk.
  141.16 + *  This code and its internal interfaces are subject to change or
  141.17 + *  deletion without notice.</b>
  141.18 + *
  141.19   * @author Jamie Ho
  141.20   * @since 1.5
  141.21   */
   142.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/links/LinkOutput.java	Thu Oct 18 11:09:45 2012 -0700
   142.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/links/LinkOutput.java	Tue Oct 23 09:42:48 2012 -0700
   142.3 @@ -1,5 +1,5 @@
   142.4  /*
   142.5 - * Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved.
   142.6 + * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
   142.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   142.8   *
   142.9   * This code is free software; you can redistribute it and/or modify it
  142.10 @@ -28,6 +28,11 @@
  142.11  /**
  142.12   * Stores output of a link.
  142.13   *
  142.14 + *  <p><b>This is NOT part of any supported API.
  142.15 + *  If you write code that depends on this, you do so at your own risk.
  142.16 + *  This code and its internal interfaces are subject to change or
  142.17 + *  deletion without notice.</b>
  142.18 + *
  142.19   * @author Jamie Ho
  142.20   * @since 1.5
  142.21   */
   143.1 --- a/src/share/classes/com/sun/tools/javac/api/BasicJavacTask.java	Thu Oct 18 11:09:45 2012 -0700
   143.2 +++ b/src/share/classes/com/sun/tools/javac/api/BasicJavacTask.java	Tue Oct 23 09:42:48 2012 -0700
   143.3 @@ -26,6 +26,7 @@
   143.4  package com.sun.tools.javac.api;
   143.5  
   143.6  import java.io.IOException;
   143.7 +import java.util.Collection;
   143.8  import java.util.Locale;
   143.9  
  143.10  import javax.annotation.processing.Processor;
  143.11 @@ -43,7 +44,6 @@
  143.12  import com.sun.tools.javac.model.JavacTypes;
  143.13  import com.sun.tools.javac.tree.JCTree;
  143.14  import com.sun.tools.javac.util.Context;
  143.15 -import java.util.Collection;
  143.16  
  143.17  /**
  143.18   * Provides basic functionality for implementations of JavacTask.
   144.1 --- a/src/share/classes/com/sun/tools/javac/api/DiagnosticFormatter.java	Thu Oct 18 11:09:45 2012 -0700
   144.2 +++ b/src/share/classes/com/sun/tools/javac/api/DiagnosticFormatter.java	Tue Oct 23 09:42:48 2012 -0700
   144.3 @@ -1,5 +1,5 @@
   144.4  /*
   144.5 - * Copyright (c) 2008, 2009, Oracle and/or its affiliates. All rights reserved.
   144.6 + * Copyright (c) 2008, 2012, Oracle and/or its affiliates. All rights reserved.
   144.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   144.8   *
   144.9   * This code is free software; you can redistribute it and/or modify it
  144.10 @@ -138,7 +138,7 @@
  144.11          /**
  144.12           * Configure the set of diagnostic parts that should be displayed
  144.13           * by the formatter.
  144.14 -         * @param options options to set
  144.15 +         * @param visibleParts the parts to be set
  144.16           */
  144.17          public void setVisible(Set<DiagnosticPart> visibleParts);
  144.18  
   145.1 --- a/src/share/classes/com/sun/tools/javac/api/JavacTool.java	Thu Oct 18 11:09:45 2012 -0700
   145.2 +++ b/src/share/classes/com/sun/tools/javac/api/JavacTool.java	Tue Oct 23 09:42:48 2012 -0700
   145.3 @@ -1,5 +1,5 @@
   145.4  /*
   145.5 - * Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
   145.6 + * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
   145.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   145.8   *
   145.9   * This code is free software; you can redistribute it and/or modify it
  145.10 @@ -66,7 +66,7 @@
  145.11       * Constructor used by service provider mechanism.  The recommended way to
  145.12       * obtain an instance of this class is by using {@link #create} or the
  145.13       * service provider mechanism.
  145.14 -     * @see javax.tools.JavaCompilerTool
  145.15 +     * @see javax.tools.JavaCompiler
  145.16       * @see javax.tools.ToolProvider
  145.17       * @see #create
  145.18       */
   146.1 --- a/src/share/classes/com/sun/tools/javac/api/JavacTrees.java	Thu Oct 18 11:09:45 2012 -0700
   146.2 +++ b/src/share/classes/com/sun/tools/javac/api/JavacTrees.java	Tue Oct 23 09:42:48 2012 -0700
   146.3 @@ -60,8 +60,8 @@
   146.4  import com.sun.tools.javac.comp.MemberEnter;
   146.5  import com.sun.tools.javac.comp.Resolve;
   146.6  import com.sun.tools.javac.model.JavacElements;
   146.7 +import com.sun.tools.javac.processing.JavacProcessingEnvironment;
   146.8  import com.sun.tools.javac.tree.EndPosTable;
   146.9 -import com.sun.tools.javac.processing.JavacProcessingEnvironment;
  146.10  import com.sun.tools.javac.tree.JCTree;
  146.11  import com.sun.tools.javac.tree.JCTree.*;
  146.12  import com.sun.tools.javac.tree.TreeCopier;
   147.1 --- a/src/share/classes/com/sun/tools/javac/api/WrappingJavaFileManager.java	Thu Oct 18 11:09:45 2012 -0700
   147.2 +++ b/src/share/classes/com/sun/tools/javac/api/WrappingJavaFileManager.java	Tue Oct 23 09:42:48 2012 -0700
   147.3 @@ -1,5 +1,5 @@
   147.4  /*
   147.5 - * Copyright (c) 2006, 2008, Oracle and/or its affiliates. All rights reserved.
   147.6 + * Copyright (c) 2006, 2012, Oracle and/or its affiliates. All rights reserved.
   147.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   147.8   *
   147.9   * This code is free software; you can redistribute it and/or modify it
  147.10 @@ -31,8 +31,9 @@
  147.11  import java.util.Collections;
  147.12  import java.util.List;
  147.13  import java.util.Set;
  147.14 +
  147.15 +import javax.tools.*;
  147.16  import javax.tools.JavaFileObject.Kind;
  147.17 -import javax.tools.*;
  147.18  
  147.19  /**
  147.20   * Wraps all calls to a given file manager.  Subclasses of this class
   148.1 --- a/src/share/classes/com/sun/tools/javac/code/Annotations.java	Thu Oct 18 11:09:45 2012 -0700
   148.2 +++ b/src/share/classes/com/sun/tools/javac/code/Annotations.java	Tue Oct 23 09:42:48 2012 -0700
   148.3 @@ -26,18 +26,18 @@
   148.4  package com.sun.tools.javac.code;
   148.5  
   148.6  import java.util.Map;
   148.7 +
   148.8  import javax.tools.JavaFileObject;
   148.9  
  148.10  import com.sun.tools.javac.comp.Annotate;
  148.11  import com.sun.tools.javac.comp.AttrContext;
  148.12  import com.sun.tools.javac.comp.Env;
  148.13 +import com.sun.tools.javac.util.*;
  148.14  import com.sun.tools.javac.util.Assert;
  148.15  import com.sun.tools.javac.util.List;
  148.16  import com.sun.tools.javac.util.Log;
  148.17  import com.sun.tools.javac.util.Pair;
  148.18 -
  148.19  import static com.sun.tools.javac.code.Kinds.PCK;
  148.20 -import com.sun.tools.javac.util.*;
  148.21  
  148.22  /**
  148.23   * Container for all annotations (attributes in javac) on a Symbol.
   149.1 --- a/src/share/classes/com/sun/tools/javac/code/DeferredLintHandler.java	Thu Oct 18 11:09:45 2012 -0700
   149.2 +++ b/src/share/classes/com/sun/tools/javac/code/DeferredLintHandler.java	Tue Oct 23 09:42:48 2012 -0700
   149.3 @@ -1,5 +1,5 @@
   149.4  /*
   149.5 - * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
   149.6 + * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
   149.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   149.8   *
   149.9   * This code is free software; you can redistribute it and/or modify it
  149.10 @@ -30,8 +30,8 @@
  149.11  
  149.12  import com.sun.tools.javac.util.Assert;
  149.13  import com.sun.tools.javac.util.Context;
  149.14 +import com.sun.tools.javac.util.JCDiagnostic.DiagnosticPosition;
  149.15  import com.sun.tools.javac.util.ListBuffer;
  149.16 -import com.sun.tools.javac.util.JCDiagnostic.DiagnosticPosition;
  149.17  
  149.18  /**
  149.19   *
   150.1 --- a/src/share/classes/com/sun/tools/javac/code/Flags.java	Thu Oct 18 11:09:45 2012 -0700
   150.2 +++ b/src/share/classes/com/sun/tools/javac/code/Flags.java	Tue Oct 23 09:42:48 2012 -0700
   150.3 @@ -25,10 +25,11 @@
   150.4  
   150.5  package com.sun.tools.javac.code;
   150.6  
   150.7 +import java.util.Collections;
   150.8  import java.util.EnumSet;
   150.9 -import java.util.Collections;
  150.10  import java.util.Map;
  150.11  import java.util.Set;
  150.12 +
  150.13  import javax.lang.model.element.Modifier;
  150.14  
  150.15  /** Access flags and other modifiers for Java classes and members.
  150.16 @@ -66,6 +67,7 @@
  150.17          if ((mask&NATIVE) != 0) flags.add(Flag.NATIVE);
  150.18          if ((mask&INTERFACE) != 0) flags.add(Flag.INTERFACE);
  150.19          if ((mask&ABSTRACT) != 0) flags.add(Flag.ABSTRACT);
  150.20 +        if ((mask&DEFAULT) != 0) flags.add(Flag.DEFAULT);
  150.21          if ((mask&STRICTFP) != 0) flags.add(Flag.STRICTFP);
  150.22          if ((mask&BRIDGE) != 0) flags.add(Flag.BRIDGE);
  150.23          if ((mask&SYNTHETIC) != 0) flags.add(Flag.SYNTHETIC);
  150.24 @@ -251,6 +253,11 @@
  150.25       */
  150.26      public static final long CLASH = 1L<<42;
  150.27  
  150.28 +    /**
  150.29 +     * Flag that marks either a default method or an interface containing default methods
  150.30 +     */
  150.31 +    public static final long DEFAULT = 1L<<43;
  150.32 +
  150.33      /** Modifier masks.
  150.34       */
  150.35      public static final int
  150.36 @@ -266,7 +273,10 @@
  150.37          MethodFlags           = AccessFlags | ABSTRACT | STATIC | NATIVE |
  150.38                                  SYNCHRONIZED | FINAL | STRICTFP;
  150.39      public static final long
  150.40 -        LocalVarFlags         = FINAL | PARAMETER;
  150.41 +        ExtendedStandardFlags       = (long)StandardFlags | DEFAULT,
  150.42 +        InterfaceDefaultMethodMask  = ABSTRACT | PUBLIC | STRICTFP | SYNCHRONIZED | DEFAULT,
  150.43 +        LocalVarFlags               = FINAL | PARAMETER;
  150.44 +
  150.45  
  150.46      public static Set<Modifier> asModifierSet(long flags) {
  150.47          Set<Modifier> modifiers = modifierSets.get(flags);
  150.48 @@ -319,6 +329,7 @@
  150.49          NATIVE("native"),
  150.50          INTERFACE("interface"),
  150.51          ABSTRACT("abstract"),
  150.52 +        DEFAULT("default"),
  150.53          STRICTFP("strictfp"),
  150.54          BRIDGE("bridge"),
  150.55          SYNTHETIC("synthetic"),
   151.1 --- a/src/share/classes/com/sun/tools/javac/code/Kinds.java	Thu Oct 18 11:09:45 2012 -0700
   151.2 +++ b/src/share/classes/com/sun/tools/javac/code/Kinds.java	Tue Oct 23 09:42:48 2012 -0700
   151.3 @@ -1,5 +1,5 @@
   151.4  /*
   151.5 - * Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved.
   151.6 + * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved.
   151.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   151.8   *
   151.9   * This code is free software; you can redistribute it and/or modify it
  151.10 @@ -31,9 +31,8 @@
  151.11  import com.sun.source.tree.MemberReferenceTree;
  151.12  import com.sun.tools.javac.api.Formattable;
  151.13  import com.sun.tools.javac.api.Messages;
  151.14 -
  151.15 +import static com.sun.tools.javac.code.Flags.*;
  151.16  import static com.sun.tools.javac.code.TypeTags.*;
  151.17 -import static com.sun.tools.javac.code.Flags.*;
  151.18  
  151.19  /** Internal symbol kinds, which distinguish between elements of
  151.20   *  different subclasses of Symbol. Symbol kinds are organized so they can be
   152.1 --- a/src/share/classes/com/sun/tools/javac/code/Printer.java	Thu Oct 18 11:09:45 2012 -0700
   152.2 +++ b/src/share/classes/com/sun/tools/javac/code/Printer.java	Tue Oct 23 09:42:48 2012 -0700
   152.3 @@ -1,5 +1,5 @@
   152.4  /*
   152.5 - * Copyright (c) 2009, 2011, Oracle and/or its affiliates. All rights reserved.
   152.6 + * Copyright (c) 2009, 2012, Oracle and/or its affiliates. All rights reserved.
   152.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   152.8   *
   152.9   * This code is free software; you can redistribute it and/or modify it
  152.10 @@ -28,18 +28,13 @@
  152.11  import java.util.Locale;
  152.12  
  152.13  import com.sun.tools.javac.api.Messages;
  152.14 +import com.sun.tools.javac.code.Symbol.*;
  152.15  import com.sun.tools.javac.code.Type.*;
  152.16 -import com.sun.tools.javac.code.Symbol.*;
  152.17 -import com.sun.tools.javac.comp.DeferredAttr.DeferredType;
  152.18 -import com.sun.tools.javac.tree.JCTree;
  152.19 -import com.sun.tools.javac.tree.Pretty;
  152.20 -import com.sun.tools.javac.util.Assert;
  152.21  import com.sun.tools.javac.util.List;
  152.22  import com.sun.tools.javac.util.ListBuffer;
  152.23 -
  152.24 -import static com.sun.tools.javac.code.TypeTags.*;
  152.25  import static com.sun.tools.javac.code.BoundKind.*;
  152.26  import static com.sun.tools.javac.code.Flags.*;
  152.27 +import static com.sun.tools.javac.code.TypeTags.*;
  152.28  
  152.29  /**
  152.30   * A combined type/symbol visitor for generating non-trivial localized string
  152.31 @@ -129,7 +124,7 @@
  152.32      /**
  152.33       * Get a localized string represenation for a given type.
  152.34       *
  152.35 -     * @param ts type to be displayed
  152.36 +     * @param t type to be displayed
  152.37       * @param locale the locale in which the string is to be rendered
  152.38       * @return localized string representation
  152.39       */
  152.40 @@ -140,7 +135,7 @@
  152.41      /**
  152.42       * Get a localized string represenation for a given symbol.
  152.43       *
  152.44 -     * @param ts symbol to be displayed
  152.45 +     * @param s symbol to be displayed
  152.46       * @param locale the locale in which the string is to be rendered
  152.47       * @return localized string representation
  152.48       */
  152.49 @@ -187,7 +182,7 @@
  152.50  
  152.51      @Override
  152.52      public String visitClassType(ClassType t, Locale locale) {
  152.53 -        StringBuffer buf = new StringBuffer();
  152.54 +        StringBuilder buf = new StringBuilder();
  152.55          if (t.getEnclosingType().tag == CLASS && t.tsym.owner.kind == Kinds.TYP) {
  152.56              buf.append(visit(t.getEnclosingType(), locale));
  152.57              buf.append(".");
  152.58 @@ -215,7 +210,7 @@
  152.59  
  152.60      @Override
  152.61      public String visitWildcardType(WildcardType t, Locale locale) {
  152.62 -        StringBuffer s = new StringBuffer();
  152.63 +        StringBuilder s = new StringBuilder();
  152.64          s.append(t.kind);
  152.65          if (t.kind != UNBOUND) {
  152.66              s.append(visit(t.type, locale));
  152.67 @@ -253,7 +248,7 @@
  152.68      protected String className(ClassType t, boolean longform, Locale locale) {
  152.69          Symbol sym = t.tsym;
  152.70          if (sym.name.length() == 0 && (sym.flags() & COMPOUND) != 0) {
  152.71 -            StringBuffer s = new StringBuffer(visit(t.supertype_field, locale));
  152.72 +            StringBuilder s = new StringBuilder(visit(t.supertype_field, locale));
  152.73              for (List<Type> is = t.interfaces_field; is.nonEmpty(); is = is.tail) {
  152.74                  s.append("&");
  152.75                  s.append(visit(is.head, locale));
  152.76 @@ -292,7 +287,7 @@
  152.77          if (!varArgs) {
  152.78              return visitTypes(args, locale);
  152.79          } else {
  152.80 -            StringBuffer buf = new StringBuffer();
  152.81 +            StringBuilder buf = new StringBuilder();
  152.82              while (args.tail.nonEmpty()) {
  152.83                  buf.append(visit(args.head, locale));
  152.84                  args = args.tail;
   153.1 --- a/src/share/classes/com/sun/tools/javac/code/Scope.java	Thu Oct 18 11:09:45 2012 -0700
   153.2 +++ b/src/share/classes/com/sun/tools/javac/code/Scope.java	Tue Oct 23 09:42:48 2012 -0700
   153.3 @@ -1,5 +1,5 @@
   153.4  /*
   153.5 - * Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved.
   153.6 + * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved.
   153.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   153.8   *
   153.9   * This code is free software; you can redistribute it and/or modify it
  153.10 @@ -25,8 +25,9 @@
  153.11  
  153.12  package com.sun.tools.javac.code;
  153.13  
  153.14 +import java.util.Iterator;
  153.15 +
  153.16  import com.sun.tools.javac.util.*;
  153.17 -import java.util.Iterator;
  153.18  
  153.19  /** A scope represents an area of visibility in a Java program. The
  153.20   *  Scope class is a container for symbols which provides
   154.1 --- a/src/share/classes/com/sun/tools/javac/code/Source.java	Thu Oct 18 11:09:45 2012 -0700
   154.2 +++ b/src/share/classes/com/sun/tools/javac/code/Source.java	Tue Oct 23 09:42:48 2012 -0700
   154.3 @@ -26,12 +26,12 @@
   154.4  package com.sun.tools.javac.code;
   154.5  
   154.6  import java.util.*;
   154.7 +
   154.8  import javax.lang.model.SourceVersion;
   154.9  import static javax.lang.model.SourceVersion.*;
  154.10  
  154.11 +import com.sun.tools.javac.jvm.Target;
  154.12  import com.sun.tools.javac.util.*;
  154.13 -import com.sun.tools.javac.jvm.Target;
  154.14 -
  154.15  import static com.sun.tools.javac.main.Option.*;
  154.16  
  154.17  /** The source language version accepted.
  154.18 @@ -203,6 +203,9 @@
  154.19      public boolean allowMethodReferences() {
  154.20          return compareTo(JDK1_8) >= 0;
  154.21      }
  154.22 +    public boolean allowDefaultMethods() {
  154.23 +        return compareTo(JDK1_8) >= 0;
  154.24 +    }
  154.25      public boolean allowEffectivelyFinalInInnerClasses() {
  154.26          return compareTo(JDK1_8) >= 0;
  154.27      }
   155.1 --- a/src/share/classes/com/sun/tools/javac/code/Symbol.java	Thu Oct 18 11:09:45 2012 -0700
   155.2 +++ b/src/share/classes/com/sun/tools/javac/code/Symbol.java	Tue Oct 23 09:42:48 2012 -0700
   155.3 @@ -27,11 +27,10 @@
   155.4  
   155.5  import java.util.Set;
   155.6  import java.util.concurrent.Callable;
   155.7 +
   155.8  import javax.lang.model.element.*;
   155.9  import javax.tools.JavaFileObject;
  155.10  
  155.11 -import com.sun.tools.javac.util.*;
  155.12 -import com.sun.tools.javac.util.Name;
  155.13  import com.sun.tools.javac.code.Type.*;
  155.14  import com.sun.tools.javac.comp.Attr;
  155.15  import com.sun.tools.javac.comp.AttrContext;
  155.16 @@ -39,7 +38,8 @@
  155.17  import com.sun.tools.javac.jvm.*;
  155.18  import com.sun.tools.javac.model.*;
  155.19  import com.sun.tools.javac.tree.JCTree;
  155.20 -
  155.21 +import com.sun.tools.javac.util.*;
  155.22 +import com.sun.tools.javac.util.Name;
  155.23  import static com.sun.tools.javac.code.Flags.*;
  155.24  import static com.sun.tools.javac.code.Kinds.*;
  155.25  import static com.sun.tools.javac.code.TypeTags.*;
   156.1 --- a/src/share/classes/com/sun/tools/javac/code/Symtab.java	Thu Oct 18 11:09:45 2012 -0700
   156.2 +++ b/src/share/classes/com/sun/tools/javac/code/Symtab.java	Tue Oct 23 09:42:48 2012 -0700
   156.3 @@ -26,17 +26,17 @@
   156.4  package com.sun.tools.javac.code;
   156.5  
   156.6  import java.util.*;
   156.7 +
   156.8 +import javax.lang.model.element.ElementVisitor;
   156.9  import javax.lang.model.type.TypeVisitor;
  156.10 -import javax.lang.model.element.ElementVisitor;
  156.11  
  156.12 -import com.sun.tools.javac.util.*;
  156.13 -import com.sun.tools.javac.util.List;
  156.14  import com.sun.tools.javac.code.Symbol.*;
  156.15  import com.sun.tools.javac.code.Type.*;
  156.16  import com.sun.tools.javac.jvm.*;
  156.17 -
  156.18 +import com.sun.tools.javac.util.*;
  156.19 +import com.sun.tools.javac.util.List;
  156.20 +import static com.sun.tools.javac.code.Flags.*;
  156.21  import static com.sun.tools.javac.jvm.ByteCodes.*;
  156.22 -import static com.sun.tools.javac.code.Flags.*;
  156.23  
  156.24  /** A class that defines all predefined constants and operators
  156.25   *  as well as special classes such as java.lang.Object, which need
  156.26 @@ -301,7 +301,7 @@
  156.27      }
  156.28  
  156.29      /** Enter a class into symbol table.
  156.30 -     *  @param    The name of the class.
  156.31 +     *  @param s The name of the class.
  156.32       */
  156.33      private Type enterClass(String s) {
  156.34          return reader.enterClass(names.fromString(s)).type;
   157.1 --- a/src/share/classes/com/sun/tools/javac/code/TargetType.java	Thu Oct 18 11:09:45 2012 -0700
   157.2 +++ b/src/share/classes/com/sun/tools/javac/code/TargetType.java	Tue Oct 23 09:42:48 2012 -0700
   157.3 @@ -1,5 +1,5 @@
   157.4  /*
   157.5 - * Copyright (c) 2008, 2009, Oracle and/or its affiliates. All rights reserved.
   157.6 + * Copyright (c) 2008, 2012, Oracle and/or its affiliates. All rights reserved.
   157.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   157.8   *
   157.9   * This code is free software; you can redistribute it and/or modify it
  157.10 @@ -25,11 +25,11 @@
  157.11  
  157.12  package com.sun.tools.javac.code;
  157.13  
  157.14 -import static com.sun.tools.javac.code.TargetType.TargetAttribute.*;
  157.15 -
  157.16  import java.util.EnumSet;
  157.17  import java.util.Set;
  157.18  
  157.19 +import static com.sun.tools.javac.code.TargetType.TargetAttribute.*;
  157.20 +
  157.21  /**
  157.22   * Describes the type of program element an extended annotation (or extended
  157.23   * compound attribute) targets.
   158.1 --- a/src/share/classes/com/sun/tools/javac/code/Type.java	Thu Oct 18 11:09:45 2012 -0700
   158.2 +++ b/src/share/classes/com/sun/tools/javac/code/Type.java	Tue Oct 23 09:42:48 2012 -0700
   158.3 @@ -26,10 +26,6 @@
   158.4  package com.sun.tools.javac.code;
   158.5  
   158.6  import java.util.Collections;
   158.7 -
   158.8 -import com.sun.tools.javac.code.Symbol.*;
   158.9 -import com.sun.tools.javac.util.*;
  158.10 -
  158.11  import java.util.EnumMap;
  158.12  import java.util.EnumSet;
  158.13  import java.util.Map;
  158.14 @@ -37,6 +33,8 @@
  158.15  
  158.16  import javax.lang.model.type.*;
  158.17  
  158.18 +import com.sun.tools.javac.code.Symbol.*;
  158.19 +import com.sun.tools.javac.util.*;
  158.20  import static com.sun.tools.javac.code.BoundKind.*;
  158.21  import static com.sun.tools.javac.code.Flags.*;
  158.22  import static com.sun.tools.javac.code.Kinds.*;
   159.1 --- a/src/share/classes/com/sun/tools/javac/code/TypeTags.java	Thu Oct 18 11:09:45 2012 -0700
   159.2 +++ b/src/share/classes/com/sun/tools/javac/code/TypeTags.java	Tue Oct 23 09:42:48 2012 -0700
   159.3 @@ -1,5 +1,5 @@
   159.4  /*
   159.5 - * Copyright (c) 1999, 2005, Oracle and/or its affiliates. All rights reserved.
   159.6 + * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved.
   159.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   159.8   *
   159.9   * This code is free software; you can redistribute it and/or modify it
  159.10 @@ -106,7 +106,7 @@
  159.11       */
  159.12      public static final int DEFERRED = FORALL+1;
  159.13  
  159.14 -    /** The tag of the bottom type <null>.
  159.15 +    /** The tag of the bottom type {@code <null>}.
  159.16       */
  159.17      public static final int BOT = DEFERRED+1;
  159.18  
   160.1 --- a/src/share/classes/com/sun/tools/javac/code/Types.java	Thu Oct 18 11:09:45 2012 -0700
   160.2 +++ b/src/share/classes/com/sun/tools/javac/code/Types.java	Tue Oct 23 09:42:48 2012 -0700
   160.3 @@ -28,21 +28,19 @@
   160.4  import java.lang.ref.SoftReference;
   160.5  import java.util.*;
   160.6  
   160.7 -import com.sun.tools.javac.util.*;
   160.8 -import com.sun.tools.javac.util.List;
   160.9 -
  160.10 -import com.sun.tools.javac.jvm.ClassReader;
  160.11  import com.sun.tools.javac.code.Attribute.RetentionPolicy;
  160.12  import com.sun.tools.javac.code.Lint.LintCategory;
  160.13  import com.sun.tools.javac.code.Type.UndetVar.InferenceBound;
  160.14  import com.sun.tools.javac.comp.Check;
  160.15 -
  160.16 +import com.sun.tools.javac.jvm.ClassReader;
  160.17 +import com.sun.tools.javac.util.*;
  160.18 +import com.sun.tools.javac.util.List;
  160.19 +import static com.sun.tools.javac.code.BoundKind.*;
  160.20 +import static com.sun.tools.javac.code.Flags.*;
  160.21  import static com.sun.tools.javac.code.Scope.*;
  160.22 +import static com.sun.tools.javac.code.Symbol.*;
  160.23  import static com.sun.tools.javac.code.Type.*;
  160.24  import static com.sun.tools.javac.code.TypeTags.*;
  160.25 -import static com.sun.tools.javac.code.Symbol.*;
  160.26 -import static com.sun.tools.javac.code.Flags.*;
  160.27 -import static com.sun.tools.javac.code.BoundKind.*;
  160.28  import static com.sun.tools.javac.util.ListBuffer.lb;
  160.29  
  160.30  /**
  160.31 @@ -1429,8 +1427,8 @@
  160.32       * conservative in that it is allowed to say that two types are
  160.33       * not disjoint, even though they actually are.
  160.34       *
  160.35 -     * The type C<X> is castable to C<Y> exactly if X and Y are not
  160.36 -     * disjoint.
  160.37 +     * The type {@code C<X>} is castable to {@code C<Y>} exactly if
  160.38 +     * {@code X} and {@code Y} are not disjoint.
  160.39       */
  160.40      public boolean disjointType(Type t, Type s) {
  160.41          return disjointType.visit(t, s);
  160.42 @@ -1525,7 +1523,7 @@
  160.43       * something of type `t' can be a subtype of `s'? This is
  160.44       * different from the question "is `t' not a subtype of `s'?"
  160.45       * when type variables are involved: Integer is not a subtype of T
  160.46 -     * where <T extends Number> but it is not true that Integer cannot
  160.47 +     * where {@code <T extends Number>} but it is not true that Integer cannot
  160.48       * possibly be a subtype of T.
  160.49       */
  160.50      public boolean notSoftSubtype(Type t, Type s) {
   161.1 --- a/src/share/classes/com/sun/tools/javac/comp/Attr.java	Thu Oct 18 11:09:45 2012 -0700
   161.2 +++ b/src/share/classes/com/sun/tools/javac/comp/Attr.java	Tue Oct 23 09:42:48 2012 -0700
   161.3 @@ -25,34 +25,32 @@
   161.4  
   161.5  package com.sun.tools.javac.comp;
   161.6  
   161.7 -import com.sun.tools.javac.code.*;
   161.8 -import com.sun.tools.javac.comp.DeferredAttr.AttrMode;
   161.9 -import com.sun.tools.javac.comp.Infer.InferenceContext;
  161.10 -import com.sun.tools.javac.comp.Infer.InferenceContext.FreeTypeListener;
  161.11 -import com.sun.tools.javac.jvm.*;
  161.12 -import com.sun.tools.javac.tree.*;
  161.13 -import com.sun.tools.javac.util.*;
  161.14 -import com.sun.tools.javac.util.JCDiagnostic.DiagnosticPosition;
  161.15 -import com.sun.tools.javac.util.List;
  161.16 -
  161.17 -import com.sun.tools.javac.jvm.Target;
  161.18 -import com.sun.tools.javac.code.Lint.LintCategory;
  161.19 -import com.sun.tools.javac.code.Symbol.*;
  161.20 -import com.sun.tools.javac.tree.JCTree.*;
  161.21 -import com.sun.tools.javac.code.Type.*;
  161.22 -import com.sun.tools.javac.comp.Check.CheckContext;
  161.23 +import java.util.*;
  161.24 +import java.util.Set;
  161.25 +
  161.26 +import javax.lang.model.element.ElementKind;
  161.27 +import javax.tools.JavaFileObject;
  161.28  
  161.29  import com.sun.source.tree.IdentifierTree;
  161.30  import com.sun.source.tree.MemberReferenceTree.ReferenceMode;
  161.31  import com.sun.source.tree.MemberSelectTree;
  161.32  import com.sun.source.tree.TreeVisitor;
  161.33  import com.sun.source.util.SimpleTreeVisitor;
  161.34 -
  161.35 -import java.util.*;
  161.36 -import java.util.Set;
  161.37 -import javax.lang.model.element.ElementKind;
  161.38 -import javax.tools.JavaFileObject;
  161.39 -
  161.40 +import com.sun.tools.javac.code.*;
  161.41 +import com.sun.tools.javac.code.Lint.LintCategory;
  161.42 +import com.sun.tools.javac.code.Symbol.*;
  161.43 +import com.sun.tools.javac.code.Type.*;
  161.44 +import com.sun.tools.javac.comp.Check.CheckContext;
  161.45 +import com.sun.tools.javac.comp.DeferredAttr.AttrMode;
  161.46 +import com.sun.tools.javac.comp.Infer.InferenceContext;
  161.47 +import com.sun.tools.javac.comp.Infer.InferenceContext.FreeTypeListener;
  161.48 +import com.sun.tools.javac.jvm.*;
  161.49 +import com.sun.tools.javac.jvm.Target;
  161.50 +import com.sun.tools.javac.tree.*;
  161.51 +import com.sun.tools.javac.tree.JCTree.*;
  161.52 +import com.sun.tools.javac.util.*;
  161.53 +import com.sun.tools.javac.util.JCDiagnostic.DiagnosticPosition;
  161.54 +import com.sun.tools.javac.util.List;
  161.55  import static com.sun.tools.javac.code.Flags.*;
  161.56  import static com.sun.tools.javac.code.Flags.ANNOTATION;
  161.57  import static com.sun.tools.javac.code.Flags.BLOCK;
  161.58 @@ -742,7 +740,7 @@
  161.59       *  @param env         The env for the const value
  161.60       *  @param initializer The initializer for the const value
  161.61       *  @param type        The expected type, or null
  161.62 -     *  @see VarSymbol#setlazyConstValue
  161.63 +     *  @see VarSymbol#setLazyConstValue
  161.64       */
  161.65      public Object attribLazyConstantValue(Env<AttrContext> env,
  161.66                                        JCTree.JCExpression initializer,
  161.67 @@ -875,6 +873,7 @@
  161.68  
  161.69      public void visitMethodDef(JCMethodDecl tree) {
  161.70          MethodSymbol m = tree.sym;
  161.71 +        boolean isDefaultMethod = (m.flags() & DEFAULT) != 0;
  161.72  
  161.73          Lint lint = env.info.lint.augment(m.annotations, m.flags());
  161.74          Lint prevLint = chk.setLint(lint);
  161.75 @@ -954,8 +953,8 @@
  161.76                  // Empty bodies are only allowed for
  161.77                  // abstract, native, or interface methods, or for methods
  161.78                  // in a retrofit signature class.
  161.79 -                if ((owner.flags() & INTERFACE) == 0 &&
  161.80 -                    (tree.mods.flags & (ABSTRACT | NATIVE)) == 0 &&
  161.81 +                if (isDefaultMethod || ((owner.flags() & INTERFACE) == 0 &&
  161.82 +                    (tree.mods.flags & (ABSTRACT | NATIVE)) == 0) &&
  161.83                      !relax)
  161.84                      log.error(tree.pos(), "missing.meth.body.or.decl.abstract");
  161.85                  if (tree.defaultValue != null) {
  161.86 @@ -963,7 +962,7 @@
  161.87                          log.error(tree.pos(),
  161.88                                    "default.allowed.in.intf.annotation.member");
  161.89                  }
  161.90 -            } else if ((owner.flags() & INTERFACE) != 0) {
  161.91 +            } else if ((owner.flags() & INTERFACE) != 0 && !isDefaultMethod) {
  161.92                  log.error(tree.body.pos(), "intf.meth.cant.have.body");
  161.93              } else if ((tree.mods.flags & ABSTRACT) != 0) {
  161.94                  log.error(tree.pos(), "abstract.meth.cant.have.body");
   162.1 --- a/src/share/classes/com/sun/tools/javac/comp/Check.java	Thu Oct 18 11:09:45 2012 -0700
   162.2 +++ b/src/share/classes/com/sun/tools/javac/comp/Check.java	Tue Oct 23 09:42:48 2012 -0700
   162.3 @@ -230,7 +230,6 @@
   162.4  
   162.5      /** Warn about unsafe vararg method decl.
   162.6       *  @param pos        Position to be used for error reporting.
   162.7 -     *  @param sym        The deprecated symbol.
   162.8       */
   162.9      void warnUnsafeVararg(DiagnosticPosition pos, String key, Object... args) {
  162.10          if (lint.isEnabled(LintCategory.VARARGS) && allowSimplifiedVarargs)
  162.11 @@ -397,7 +396,7 @@
  162.12   **************************************************************************/
  162.13  
  162.14      /** Return name of local class.
  162.15 -     *  This is of the form    <enclClass> $ n <classname>
  162.16 +     *  This is of the form   {@code <enclClass> $ n <classname> }
  162.17       *  where
  162.18       *    enclClass is the flat name of the enclosing class,
  162.19       *    classname is the simple name of the local class
  162.20 @@ -600,11 +599,10 @@
  162.21  
  162.22      /** Check that a type is within some bounds.
  162.23       *
  162.24 -     *  Used in TypeApply to verify that, e.g., X in V<X> is a valid
  162.25 +     *  Used in TypeApply to verify that, e.g., X in {@code V<X>} is a valid
  162.26       *  type argument.
  162.27 -     *  @param pos           Position to be used for error reporting.
  162.28       *  @param a             The type that should be bounded by bs.
  162.29 -     *  @param bs            The bound.
  162.30 +     *  @param bound         The bound.
  162.31       */
  162.32      private boolean checkExtends(Type a, Type bound) {
  162.33           if (a.isUnbound()) {
  162.34 @@ -1123,8 +1121,14 @@
  162.35                      mask = PRIVATE;
  162.36                  } else
  162.37                      mask = ConstructorFlags;
  162.38 -            }  else if ((sym.owner.flags_field & INTERFACE) != 0)
  162.39 -                mask = implicit = InterfaceMethodFlags;
  162.40 +            }  else if ((sym.owner.flags_field & INTERFACE) != 0) {
  162.41 +                if ((flags & DEFAULT) != 0) {
  162.42 +                    mask = InterfaceDefaultMethodMask;
  162.43 +                    implicit = PUBLIC;
  162.44 +                } else {
  162.45 +                    mask = implicit = InterfaceMethodFlags;
  162.46 +                }
  162.47 +            }
  162.48              else {
  162.49                  mask = MethodFlags;
  162.50              }
  162.51 @@ -1171,7 +1175,7 @@
  162.52          default:
  162.53              throw new AssertionError();
  162.54          }
  162.55 -        long illegal = flags & StandardFlags & ~mask;
  162.56 +        long illegal = flags & ExtendedStandardFlags & ~mask;
  162.57          if (illegal != 0) {
  162.58              if ((illegal & INTERFACE) != 0) {
  162.59                  log.error(pos, "intf.not.allowed.here");
  162.60 @@ -1187,7 +1191,7 @@
  162.61                    // in the presence of inner classes. Should it be deleted here?
  162.62                    checkDisjoint(pos, flags,
  162.63                                  ABSTRACT,
  162.64 -                                PRIVATE | STATIC))
  162.65 +                                PRIVATE | STATIC | DEFAULT))
  162.66                   &&
  162.67                   checkDisjoint(pos, flags,
  162.68                                 ABSTRACT | INTERFACE,
  162.69 @@ -1211,7 +1215,7 @@
  162.70                                  STRICTFP))) {
  162.71              // skip
  162.72          }
  162.73 -        return flags & (mask | ~StandardFlags) | implicit;
  162.74 +        return flags & (mask | ~ExtendedStandardFlags) | implicit;
  162.75      }
  162.76  
  162.77  
  162.78 @@ -1262,8 +1266,10 @@
  162.79       *  their bounds. This must be done in a second phase after type attributon
  162.80       *  since a class might have a subclass as type parameter bound. E.g:
  162.81       *
  162.82 +     *  <pre>{@code
  162.83       *  class B<A extends C> { ... }
  162.84       *  class C extends B<C> { ... }
  162.85 +     *  }</pre>
  162.86       *
  162.87       *  and we can't make sure that the bound is already attributed because
  162.88       *  of possible cycles.
  162.89 @@ -2574,7 +2580,7 @@
  162.90       * 'pos'.
  162.91       *
  162.92       * @param s The (annotation)type declaration annotated with a @ContainedBy
  162.93 -     * @param containerAnno the @ContainedBy on 's'
  162.94 +     * @param containedBy the @ContainedBy on 's'
  162.95       * @param pos where to report errors
  162.96       */
  162.97      public void validateContainedBy(TypeSymbol s, Attribute.Compound containedBy, DiagnosticPosition pos) {
  162.98 @@ -3181,7 +3187,6 @@
  162.99       *  @param pos           Position for error reporting.
 162.100       *  @param sym           The symbol.
 162.101       *  @param s             The scope
 162.102 -     *  @param staticImport  Whether or not this was a static import
 162.103       */
 162.104      boolean checkUniqueStaticImport(DiagnosticPosition pos, Symbol sym, Scope s) {
 162.105          return checkUniqueImport(pos, sym, s, true);
   163.1 --- a/src/share/classes/com/sun/tools/javac/comp/DeferredAttr.java	Thu Oct 18 11:09:45 2012 -0700
   163.2 +++ b/src/share/classes/com/sun/tools/javac/comp/DeferredAttr.java	Tue Oct 23 09:42:48 2012 -0700
   163.3 @@ -46,7 +46,6 @@
   163.4  
   163.5  import static com.sun.tools.javac.code.TypeTags.*;
   163.6  import static com.sun.tools.javac.tree.JCTree.Tag.*;
   163.7 -import com.sun.tools.javac.util.JCDiagnostic.DiagnosticPosition;
   163.8  
   163.9  /**
  163.10   * This is an helper class that is used to perform deferred type-analysis.
   164.1 --- a/src/share/classes/com/sun/tools/javac/comp/Flow.java	Thu Oct 18 11:09:45 2012 -0700
   164.2 +++ b/src/share/classes/com/sun/tools/javac/comp/Flow.java	Tue Oct 23 09:42:48 2012 -0700
   164.3 @@ -148,7 +148,7 @@
   164.4   *  exception to this [no pun intended] is that checked exceptions that
   164.5   *  are known to be caught or declared to be caught in the enclosing
   164.6   *  method are not recorded in the queue, but instead are recorded in a
   164.7 - *  global variable "Set<Type> thrown" that records the type of all
   164.8 + *  global variable "{@code Set<Type> thrown}" that records the type of all
   164.9   *  exceptions that can be thrown.
  164.10   *
  164.11   *  <p>Other minor issues the treatment of members of other classes
   165.1 --- a/src/share/classes/com/sun/tools/javac/comp/Infer.java	Thu Oct 18 11:09:45 2012 -0700
   165.2 +++ b/src/share/classes/com/sun/tools/javac/comp/Infer.java	Tue Oct 23 09:42:48 2012 -0700
   165.3 @@ -41,7 +41,6 @@
   165.4  
   165.5  import java.util.HashMap;
   165.6  import java.util.Map;
   165.7 -import java.util.Set;
   165.8  
   165.9  import static com.sun.tools.javac.code.TypeTags.*;
  165.10  
   166.1 --- a/src/share/classes/com/sun/tools/javac/comp/Lower.java	Thu Oct 18 11:09:45 2012 -0700
   166.2 +++ b/src/share/classes/com/sun/tools/javac/comp/Lower.java	Tue Oct 23 09:42:48 2012 -0700
   166.3 @@ -671,7 +671,7 @@
   166.4      };
   166.5  
   166.6      /** Look up a synthetic name in a given scope.
   166.7 -     *  @param scope        The scope.
   166.8 +     *  @param s            The scope.
   166.9       *  @param name         The name.
  166.10       */
  166.11      private Symbol lookupSynthetic(Name name, Scope s) {
  166.12 @@ -747,7 +747,7 @@
  166.13       *  This numbering scheme is used by the backend to decide whether
  166.14       *  to issue an invokevirtual or invokespecial call.
  166.15       *
  166.16 -     *  @see Gen.visitSelect(Select tree)
  166.17 +     *  @see Gen#visitSelect(JCFieldAccess tree)
  166.18       */
  166.19      private static final int
  166.20          DEREFcode = 0,
  166.21 @@ -1945,7 +1945,7 @@
  166.22       *  @param sig      The signature of type T.
  166.23       */
  166.24      private Name cacheName(String sig) {
  166.25 -        StringBuffer buf = new StringBuffer();
  166.26 +        StringBuilder buf = new StringBuilder();
  166.27          if (sig.startsWith("[")) {
  166.28              buf = buf.append("array");
  166.29              while (sig.startsWith("[")) {
   167.1 --- a/src/share/classes/com/sun/tools/javac/comp/MemberEnter.java	Thu Oct 18 11:09:45 2012 -0700
   167.2 +++ b/src/share/classes/com/sun/tools/javac/comp/MemberEnter.java	Tue Oct 23 09:42:48 2012 -0700
   167.3 @@ -128,8 +128,7 @@
   167.4      /** Import all classes of a class or package on demand.
   167.5       *  @param pos           Position to be used for error reporting.
   167.6       *  @param tsym          The class or package the members of which are imported.
   167.7 -     *  @param toScope   The (import) scope in which imported classes
   167.8 -     *               are entered.
   167.9 +     *  @param env           The env in which the imported classes will be entered.
  167.10       */
  167.11      private void importAll(int pos,
  167.12                             final TypeSymbol tsym,
  167.13 @@ -150,8 +149,7 @@
  167.14      /** Import all static members of a class or package on demand.
  167.15       *  @param pos           Position to be used for error reporting.
  167.16       *  @param tsym          The class or package the members of which are imported.
  167.17 -     *  @param toScope   The (import) scope in which imported classes
  167.18 -     *               are entered.
  167.19 +     *  @param env           The env in which the imported classes will be entered.
  167.20       */
  167.21      private void importStaticAll(int pos,
  167.22                                   final TypeSymbol tsym,
   168.1 --- a/src/share/classes/com/sun/tools/javac/comp/TransTypes.java	Thu Oct 18 11:09:45 2012 -0700
   168.2 +++ b/src/share/classes/com/sun/tools/javac/comp/TransTypes.java	Tue Oct 23 09:42:48 2012 -0700
   168.3 @@ -27,8 +27,6 @@
   168.4  
   168.5  import java.util.*;
   168.6  
   168.7 -import javax.lang.model.element.ElementKind;
   168.8 -
   168.9  import com.sun.tools.javac.code.*;
  168.10  import com.sun.tools.javac.code.Symbol.*;
  168.11  import com.sun.tools.javac.tree.*;
  168.12 @@ -134,17 +132,21 @@
  168.13       *  Then, coerce to some given target type unless target type is null.
  168.14       *  This operation is used in situations like the following:
  168.15       *
  168.16 +     *  <pre>{@code
  168.17       *  class Cell<A> { A value; }
  168.18       *  ...
  168.19       *  Cell<Integer> cell;
  168.20       *  Integer x = cell.value;
  168.21 +     *  }</pre>
  168.22       *
  168.23       *  Since the erasure of Cell.value is Object, but the type
  168.24       *  of cell.value in the assignment is Integer, we need to
  168.25       *  adjust the original type of cell.value to Object, and insert
  168.26       *  a cast to Integer. That is, the last assignment becomes:
  168.27       *
  168.28 +     *  <pre>{@code
  168.29       *  Integer x = (Integer)cell.value;
  168.30 +     *  }</pre>
  168.31       *
  168.32       *  @param tree       The expression tree whose type might need adjustment.
  168.33       *  @param erasedType The expression's type after erasure.
   169.1 --- a/src/share/classes/com/sun/tools/javac/file/JavacFileManager.java	Thu Oct 18 11:09:45 2012 -0700
   169.2 +++ b/src/share/classes/com/sun/tools/javac/file/JavacFileManager.java	Tue Oct 23 09:42:48 2012 -0700
   169.3 @@ -1,5 +1,5 @@
   169.4  /*
   169.5 - * Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
   169.6 + * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
   169.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   169.8   *
   169.9   * This code is free software; you can redistribute it and/or modify it
  169.10 @@ -805,8 +805,8 @@
  169.11      }
  169.12  
  169.13      /**
  169.14 -     * Enforces the specification of a "relative" URI as used in
  169.15 -     * {@linkplain #getFileForInput(Location,String,URI)
  169.16 +     * Enforces the specification of a "relative" name as used in
  169.17 +     * {@linkplain #getFileForInput(Location,String,String)
  169.18       * getFileForInput}.  This method must follow the rules defined in
  169.19       * that method, do not make any changes without consulting the
  169.20       * specification.
   170.1 --- a/src/share/classes/com/sun/tools/javac/file/Locations.java	Thu Oct 18 11:09:45 2012 -0700
   170.2 +++ b/src/share/classes/com/sun/tools/javac/file/Locations.java	Tue Oct 23 09:42:48 2012 -0700
   170.3 @@ -53,13 +53,14 @@
   170.4  import com.sun.tools.javac.util.Options;
   170.5  
   170.6  import javax.tools.JavaFileManager;
   170.7 +import javax.tools.StandardJavaFileManager;
   170.8  import static javax.tools.StandardLocation.*;
   170.9  import static com.sun.tools.javac.main.Option.*;
  170.10  
  170.11  /** This class converts command line arguments, environment variables
  170.12   *  and system properties (in File.pathSeparator-separated String form)
  170.13   *  into a boot class path, user class path, and source path (in
  170.14 - *  Collection<String> form).
  170.15 + *  {@code Collection<String>} form).
  170.16   *
  170.17   *  <p><b>This is NOT part of any supported API.
  170.18   *  If you write code that depends on this, you do so at your own risk.
  170.19 @@ -342,11 +343,11 @@
  170.20              }
  170.21          }
  170.22  
  170.23 -        /** @see JavaFileManager#handleOption. */
  170.24 +        /** @see JavaFileManager#handleOption */
  170.25          abstract boolean handleOption(Option option, String value);
  170.26 -        /** @see JavaFileManager#getLocation. */
  170.27 +        /** @see StandardJavaFileManager#getLocation */
  170.28          abstract Collection<File> getLocation();
  170.29 -        /** @see JavaFileManager#setLocation. */
  170.30 +        /** @see StandardJavaFileManager#setLocation */
  170.31          abstract void setLocation(Iterable<? extends File> files) throws IOException;
  170.32      }
  170.33  
   171.1 --- a/src/share/classes/com/sun/tools/javac/file/ZipFileIndex.java	Thu Oct 18 11:09:45 2012 -0700
   171.2 +++ b/src/share/classes/com/sun/tools/javac/file/ZipFileIndex.java	Tue Oct 23 09:42:48 2012 -0700
   171.3 @@ -38,7 +38,6 @@
   171.4  import java.util.Collections;
   171.5  import java.util.LinkedHashMap;
   171.6  import java.util.HashMap;
   171.7 -import java.util.HashSet;
   171.8  import java.util.List;
   171.9  import java.util.Map;
  171.10  import java.util.Set;
  171.11 @@ -60,7 +59,7 @@
  171.12   * the command line.)
  171.13   *
  171.14   * Location where to look for/generate optimized zip index files can be
  171.15 - * provided using "-XDcachezipindexdir=<directory>". If this flag is not
  171.16 + * provided using "{@code -XDcachezipindexdir=<directory>}". If this flag is not
  171.17   * provided, the default location is the value of the "java.io.tmpdir" system
  171.18   * property.
  171.19   *
   172.1 --- a/src/share/classes/com/sun/tools/javac/jvm/Gen.java	Thu Oct 18 11:09:45 2012 -0700
   172.2 +++ b/src/share/classes/com/sun/tools/javac/jvm/Gen.java	Tue Oct 23 09:42:48 2012 -0700
   172.3 @@ -446,7 +446,7 @@
   172.4   * Normalizing class-members.
   172.5   *************************************************************************/
   172.6  
   172.7 -    /** Distribute member initializer code into constructors and <clinit>
   172.8 +    /** Distribute member initializer code into constructors and {@code <clinit>}
   172.9       *  method.
  172.10       *  @param defs         The list of class member declarations.
  172.11       *  @param c            The enclosing class.
  172.12 @@ -689,7 +689,7 @@
  172.13       *  should be emitted, if so, put a new entry into CRTable
  172.14       *  and call method to generate bytecode.
  172.15       *  If not, just call method to generate bytecode.
  172.16 -     *  @see    #genStat(Tree, Env)
  172.17 +     *  @see    #genStat(JCTree, Env)
  172.18       *
  172.19       *  @param  tree     The tree to be visited.
  172.20       *  @param  env      The environment to use.
  172.21 @@ -756,7 +756,7 @@
  172.22       *  should be emitted, if so, put a new entry into CRTable
  172.23       *  and call method to generate bytecode.
  172.24       *  If not, just call method to generate bytecode.
  172.25 -     *  @see    #genCond(Tree,boolean)
  172.26 +     *  @see    #genCond(JCTree,boolean)
  172.27       *
  172.28       *  @param  tree     The tree to be visited.
  172.29       *  @param  crtFlags The CharacterRangeTable flags
   173.1 --- a/src/share/classes/com/sun/tools/javac/main/JavaCompiler.java	Thu Oct 18 11:09:45 2012 -0700
   173.2 +++ b/src/share/classes/com/sun/tools/javac/main/JavaCompiler.java	Tue Oct 23 09:42:48 2012 -0700
   173.3 @@ -607,7 +607,7 @@
   173.4  
   173.5      /** Parse contents of input stream.
   173.6       *  @param filename     The name of the file from which input stream comes.
   173.7 -     *  @param input        The input stream to be parsed.
   173.8 +     *  @param content      The characters to be parsed.
   173.9       */
  173.10      protected JCCompilationUnit parse(JavaFileObject filename, CharSequence content) {
  173.11          long msec = now();
  173.12 @@ -755,8 +755,6 @@
  173.13      /** Complete compiling a source file that has been accessed
  173.14       *  by the class file reader.
  173.15       *  @param c          The class the source file of which needs to be compiled.
  173.16 -     *  @param filename   The name of the source file.
  173.17 -     *  @param f          An input stream that reads the source file.
  173.18       */
  173.19      public void complete(ClassSymbol c) throws CompletionFailure {
  173.20  //      System.err.println("completing " + c);//DEBUG
   174.1 --- a/src/share/classes/com/sun/tools/javac/model/AnnotationProxyMaker.java	Thu Oct 18 11:09:45 2012 -0700
   174.2 +++ b/src/share/classes/com/sun/tools/javac/model/AnnotationProxyMaker.java	Tue Oct 23 09:42:48 2012 -0700
   174.3 @@ -25,9 +25,8 @@
   174.4  
   174.5  package com.sun.tools.javac.model;
   174.6  
   174.7 -import com.sun.tools.javac.util.*;
   174.8 +import java.io.IOException;
   174.9  import java.io.ObjectInputStream;
  174.10 -import java.io.IOException;
  174.11  import java.lang.annotation.*;
  174.12  import java.lang.reflect.Array;
  174.13  import java.lang.reflect.Method;
  174.14 @@ -35,12 +34,14 @@
  174.15  import java.util.Map;
  174.16  import sun.reflect.annotation.*;
  174.17  
  174.18 -import javax.lang.model.type.TypeMirror;
  174.19  import javax.lang.model.type.MirroredTypeException;
  174.20  import javax.lang.model.type.MirroredTypesException;
  174.21 +import javax.lang.model.type.TypeMirror;
  174.22 +
  174.23  import com.sun.tools.javac.code.*;
  174.24  import com.sun.tools.javac.code.Symbol.*;
  174.25  import com.sun.tools.javac.code.Type.ArrayType;
  174.26 +import com.sun.tools.javac.util.*;
  174.27  
  174.28  
  174.29  /**
   175.1 --- a/src/share/classes/com/sun/tools/javac/nio/PathFileManager.java	Thu Oct 18 11:09:45 2012 -0700
   175.2 +++ b/src/share/classes/com/sun/tools/javac/nio/PathFileManager.java	Tue Oct 23 09:42:48 2012 -0700
   175.3 @@ -1,5 +1,5 @@
   175.4  /*
   175.5 - * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
   175.6 + * Copyright (c) 2009, 2012, Oracle and/or its affiliates. All rights reserved.
   175.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   175.8   *
   175.9   * This code is free software; you can redistribute it and/or modify it
  175.10 @@ -27,13 +27,14 @@
  175.11  
  175.12  import java.io.IOException;
  175.13  import java.nio.file.FileSystem;
  175.14 +import java.nio.file.FileSystems;
  175.15  import java.nio.file.Path;
  175.16  import javax.tools.FileObject;
  175.17  import javax.tools.JavaFileManager;
  175.18  import javax.tools.JavaFileObject;
  175.19  
  175.20  /**
  175.21 - *  File manager based on {@linkplain File java.nio.file.Path}.
  175.22 + *  File manager based on {@link java.nio.file.Path}.
  175.23   *
  175.24   *  Eventually, this should be moved to javax.tools.
  175.25   *  Also, JavaCompiler might reasonably provide a method getPathFileManager,
   176.1 --- a/src/share/classes/com/sun/tools/javac/nio/PathFileObject.java	Thu Oct 18 11:09:45 2012 -0700
   176.2 +++ b/src/share/classes/com/sun/tools/javac/nio/PathFileObject.java	Tue Oct 23 09:42:48 2012 -0700
   176.3 @@ -1,5 +1,5 @@
   176.4  /*
   176.5 - * Copyright (c) 2009, 2011, Oracle and/or its affiliates. All rights reserved.
   176.6 + * Copyright (c) 2009, 2012, Oracle and/or its affiliates. All rights reserved.
   176.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   176.8   *
   176.9   * This code is free software; you can redistribute it and/or modify it
  176.10 @@ -39,7 +39,6 @@
  176.11  import java.nio.file.Files;
  176.12  import java.nio.file.LinkOption;
  176.13  import java.nio.file.Path;
  176.14 -import java.nio.file.attribute.BasicFileAttributes;
  176.15  import javax.lang.model.element.Modifier;
  176.16  import javax.lang.model.element.NestingKind;
  176.17  import javax.tools.JavaFileObject;
   177.1 --- a/src/share/classes/com/sun/tools/javac/parser/JavaTokenizer.java	Thu Oct 18 11:09:45 2012 -0700
   177.2 +++ b/src/share/classes/com/sun/tools/javac/parser/JavaTokenizer.java	Tue Oct 23 09:42:48 2012 -0700
   177.3 @@ -108,8 +108,7 @@
   177.4       * {@code input[input.length -1]} is a white space character.
   177.5       *
   177.6       * @param fac the factory which created this Scanner
   177.7 -     * @param input the input, might be modified
   177.8 -     * @param inputLength the size of the input.
   177.9 +     * @param buf the input, might be modified
  177.10       * Must be positive and less than or equal to input.length.
  177.11       */
  177.12      protected JavaTokenizer(ScannerFactory fac, CharBuffer buf) {
   178.1 --- a/src/share/classes/com/sun/tools/javac/parser/JavacParser.java	Thu Oct 18 11:09:45 2012 -0700
   178.2 +++ b/src/share/classes/com/sun/tools/javac/parser/JavacParser.java	Tue Oct 23 09:42:48 2012 -0700
   178.3 @@ -116,6 +116,8 @@
   178.4                  fac.options.isSet("allowLambda"); //pre-lambda guard
   178.5          this.allowMethodReferences = source.allowMethodReferences() &&
   178.6                  fac.options.isSet("allowMethodReferences"); //pre-lambda guard
   178.7 +        this.allowDefaultMethods = source.allowDefaultMethods() &&
   178.8 +                fac.options.isSet("allowDefaultMethods"); //pre-lambda guard
   178.9          this.keepDocComments = keepDocComments;
  178.10          docComments = newDocCommentTable(keepDocComments);
  178.11          this.keepLineMap = keepLineMap;
  178.12 @@ -185,6 +187,10 @@
  178.13       */
  178.14      boolean allowMethodReferences;
  178.15  
  178.16 +    /** Switch: should we allow default methods in interfaces?
  178.17 +     */
  178.18 +    boolean allowDefaultMethods;
  178.19 +
  178.20      /** Switch: should we keep docComments?
  178.21       */
  178.22      boolean keepDocComments;
  178.23 @@ -806,7 +812,7 @@
  178.24          t = odStack[0];
  178.25  
  178.26          if (t.hasTag(JCTree.Tag.PLUS)) {
  178.27 -            StringBuffer buf = foldStrings(t);
  178.28 +            StringBuilder buf = foldStrings(t);
  178.29              if (buf != null) {
  178.30                  t = toP(F.at(startPos).Literal(TypeTags.CLASS, buf.toString()));
  178.31              }
  178.32 @@ -833,7 +839,7 @@
  178.33          /** If tree is a concatenation of string literals, replace it
  178.34           *  by a single literal representing the concatenated string.
  178.35           */
  178.36 -        protected StringBuffer foldStrings(JCTree tree) {
  178.37 +        protected StringBuilder foldStrings(JCTree tree) {
  178.38              if (!allowStringFolding)
  178.39                  return null;
  178.40              List<String> buf = List.nil();
  178.41 @@ -841,8 +847,8 @@
  178.42                  if (tree.hasTag(LITERAL)) {
  178.43                      JCLiteral lit = (JCLiteral) tree;
  178.44                      if (lit.typetag == TypeTags.CLASS) {
  178.45 -                        StringBuffer sbuf =
  178.46 -                            new StringBuffer((String)lit.value);
  178.47 +                        StringBuilder sbuf =
  178.48 +                            new StringBuilder((String)lit.value);
  178.49                          while (buf.nonEmpty()) {
  178.50                              sbuf.append(buf.head);
  178.51                              buf = buf.tail;
  178.52 @@ -2311,6 +2317,7 @@
  178.53              case SYNCHRONIZED: flag = Flags.SYNCHRONIZED; break;
  178.54              case STRICTFP    : flag = Flags.STRICTFP; break;
  178.55              case MONKEYS_AT  : flag = Flags.ANNOTATION; break;
  178.56 +            case DEFAULT     : checkDefaultMethods(); flag = Flags.DEFAULT; break;
  178.57              case ERROR       : flag = 0; nextToken(); break;
  178.58              default: break loop;
  178.59              }
  178.60 @@ -3361,6 +3368,12 @@
  178.61              allowMethodReferences = true;
  178.62          }
  178.63      }
  178.64 +    void checkDefaultMethods() {
  178.65 +        if (!allowDefaultMethods) {
  178.66 +            log.error(token.pos, "default.methods.not.supported.in.source", source.name);
  178.67 +            allowDefaultMethods = true;
  178.68 +        }
  178.69 +    }
  178.70  
  178.71      /*
  178.72       * a functional source tree and end position mappings
   179.1 --- a/src/share/classes/com/sun/tools/javac/parser/Scanner.java	Thu Oct 18 11:09:45 2012 -0700
   179.2 +++ b/src/share/classes/com/sun/tools/javac/parser/Scanner.java	Tue Oct 23 09:42:48 2012 -0700
   179.3 @@ -1,5 +1,5 @@
   179.4  /*
   179.5 - * Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved.
   179.6 + * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved.
   179.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   179.8   *
   179.9   * This code is free software; you can redistribute it and/or modify it
  179.10 @@ -66,8 +66,7 @@
  179.11       * {@code input[input.length -1]} is a white space character.
  179.12       *
  179.13       * @param fac the factory which created this Scanner
  179.14 -     * @param input the input, might be modified
  179.15 -     * @param inputLength the size of the input.
  179.16 +     * @param buf the input, might be modified
  179.17       * Must be positive and less than or equal to input.length.
  179.18       */
  179.19      protected Scanner(ScannerFactory fac, CharBuffer buf) {
   180.1 --- a/src/share/classes/com/sun/tools/javac/parser/UnicodeReader.java	Thu Oct 18 11:09:45 2012 -0700
   180.2 +++ b/src/share/classes/com/sun/tools/javac/parser/UnicodeReader.java	Tue Oct 23 09:42:48 2012 -0700
   180.3 @@ -77,9 +77,8 @@
   180.4       * that {@code inputLength < input.length} or
   180.5       * {@code input[input.length -1]} is a white space character.
   180.6       *
   180.7 -     * @param fac the factory which created this Scanner
   180.8 -     * @param input the input, might be modified
   180.9 -     * @param inputLength the size of the input.
  180.10 +     * @param sf the factory which created this Scanner
  180.11 +     * @param buffer the input, might be modified
  180.12       * Must be positive and less than or equal to input.length.
  180.13       */
  180.14      protected UnicodeReader(ScannerFactory sf, CharBuffer buffer) {
  180.15 @@ -255,16 +254,16 @@
  180.16  
  180.17      /**
  180.18       * Returns a copy of a character array subset of the input buffer.
  180.19 -     * The returned array begins at the <code>beginIndex</code> and
  180.20 -     * extends to the character at index <code>endIndex - 1</code>.
  180.21 -     * Thus the length of the substring is <code>endIndex-beginIndex</code>.
  180.22 +     * The returned array begins at the {@code beginIndex} and
  180.23 +     * extends to the character at index {@code endIndex - 1}.
  180.24 +     * Thus the length of the substring is {@code endIndex-beginIndex}.
  180.25       * This behavior is like
  180.26 -     * <code>String.substring(beginIndex, endIndex)</code>.
  180.27 +     * {@code String.substring(beginIndex, endIndex)}.
  180.28       * Unicode escape sequences are not translated.
  180.29       *
  180.30       * @param beginIndex the beginning index, inclusive.
  180.31       * @param endIndex the ending index, exclusive.
  180.32 -     * @throws IndexOutOfBounds if either offset is outside of the
  180.33 +     * @throws ArrayIndexOutOfBoundsException if either offset is outside of the
  180.34       *         array bounds
  180.35       */
  180.36      public char[] getRawCharacters(int beginIndex, int endIndex) {
   181.1 --- a/src/share/classes/com/sun/tools/javac/processing/JavacRoundEnvironment.java	Thu Oct 18 11:09:45 2012 -0700
   181.2 +++ b/src/share/classes/com/sun/tools/javac/processing/JavacRoundEnvironment.java	Tue Oct 23 09:42:48 2012 -0700
   181.3 @@ -1,5 +1,5 @@
   181.4  /*
   181.5 - * Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
   181.6 + * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
   181.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   181.8   *
   181.9   * This code is free software; you can redistribute it and/or modify it
  181.10 @@ -105,7 +105,7 @@
  181.11       * Only type elements <i>included</i> in this round of annotation
  181.12       * processing, or declarations of members, parameters, or type
  181.13       * parameters declared within those, are returned.  Included type
  181.14 -     * elements are {@linkplain #getSpecifiedTypeElements specified
  181.15 +     * elements are {@linkplain #getRootElements specified
  181.16       * types} and any types nested within them.
  181.17       *
  181.18       * @param a  annotation type being requested
   182.1 --- a/src/share/classes/com/sun/tools/javac/processing/ServiceProxy.java	Thu Oct 18 11:09:45 2012 -0700
   182.2 +++ b/src/share/classes/com/sun/tools/javac/processing/ServiceProxy.java	Tue Oct 23 09:42:48 2012 -0700
   182.3 @@ -1,5 +1,5 @@
   182.4  /*
   182.5 - * Copyright (c) 2006, 2008, Oracle and/or its affiliates. All rights reserved.
   182.6 + * Copyright (c) 2006, 2012, Oracle and/or its affiliates. All rights reserved.
   182.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   182.8   *
   182.9   * This code is free software; you can redistribute it and/or modify it
  182.10 @@ -72,7 +72,7 @@
  182.11       *         The service class for which providers are being sought;
  182.12       *         used to construct error detail strings
  182.13       *
  182.14 -     * @param  url
  182.15 +     * @param  u
  182.16       *         The URL naming the configuration file to be parsed
  182.17       *
  182.18       * @return true if the name of a service is found
   183.1 --- a/src/share/classes/com/sun/tools/javac/resources/compiler.properties	Thu Oct 18 11:09:45 2012 -0700
   183.2 +++ b/src/share/classes/com/sun/tools/javac/resources/compiler.properties	Tue Oct 23 09:42:48 2012 -0700
   183.3 @@ -2174,6 +2174,11 @@
   183.4      method references are not supported in -source {0}\n\
   183.5      (use -source 8 or higher to enable method references)
   183.6  
   183.7 +# 0: string
   183.8 +compiler.err.default.methods.not.supported.in.source=\
   183.9 +    default methods are not supported in -source {0}\n\
  183.10 +    (use -source 8 or higher to enable default methods)
  183.11 +
  183.12  ########################################
  183.13  # Diagnostics for verbose resolution
  183.14  # used by Resolve (debug only)
   184.1 --- a/src/share/classes/com/sun/tools/javac/tree/JCTree.java	Thu Oct 18 11:09:45 2012 -0700
   184.2 +++ b/src/share/classes/com/sun/tools/javac/tree/JCTree.java	Tue Oct 23 09:42:48 2012 -0700
   184.3 @@ -464,32 +464,29 @@
   184.4      }
   184.5  
   184.6      /**
   184.7 -     * Everything in one source file is kept in a TopLevel structure.
   184.8 -     * @param pid              The tree representing the package clause.
   184.9 -     * @param sourcefile       The source file name.
  184.10 -     * @param defs             All definitions in this file (ClassDef, Import, and Skip)
  184.11 -     * @param packge           The package it belongs to.
  184.12 -     * @param namedImportScope A scope for all named imports.
  184.13 -     * @param starImportScope  A scope for all import-on-demands.
  184.14 -     * @param lineMap          Line starting positions, defined only
  184.15 -     *                         if option -g is set.
  184.16 -     * @param docComments      A hashtable that stores all documentation comments
  184.17 -     *                         indexed by the tree nodes they refer to.
  184.18 -     *                         defined only if option -s is set.
  184.19 -     * @param endPositions     An object encapsulating ending positions of source
  184.20 -     *                         ranges indexed by the tree nodes they belong to.
  184.21 -     *                         Defined only if option -Xjcov is set.
  184.22 +     * Everything in one source file is kept in a {@linkplain JCCompilationUnit} structure.
  184.23       */
  184.24      public static class JCCompilationUnit extends JCTree implements CompilationUnitTree {
  184.25          public List<JCAnnotation> packageAnnotations;
  184.26 +        /** The tree representing the package clause. */
  184.27          public JCExpression pid;
  184.28 +        /** All definitions in this file (ClassDef, Import, and Skip) */
  184.29          public List<JCTree> defs;
  184.30 +        /* The source file name. */
  184.31          public JavaFileObject sourcefile;
  184.32 +        /** The package to which this compilation unit belongs. */
  184.33          public PackageSymbol packge;
  184.34 +        /** A scope for all named imports. */
  184.35          public ImportScope namedImportScope;
  184.36 +        /** A scope for all import-on-demands. */
  184.37          public StarImportScope starImportScope;
  184.38 +        /** Line starting positions, defined only if option -g is set. */
  184.39          public Position.LineMap lineMap = null;
  184.40 +        /** A table that stores all documentation comments indexed by the tree
  184.41 +         * nodes they refer to. defined only if option -s is set. */
  184.42          public DocCommentTable docComments = null;
  184.43 +        /* An object encapsulating ending positions of source ranges indexed by
  184.44 +         * the tree nodes they belong to. Defined only if option -Xjcov is set. */
  184.45          public EndPosTable endPositions = null;
  184.46          protected JCCompilationUnit(List<JCAnnotation> packageAnnotations,
  184.47                          JCExpression pid,
  184.48 @@ -550,10 +547,10 @@
  184.49  
  184.50      /**
  184.51       * An import clause.
  184.52 -     * @param qualid    The imported class(es).
  184.53       */
  184.54      public static class JCImport extends JCTree implements ImportTree {
  184.55          public boolean staticImport;
  184.56 +        /** The imported class(es). */
  184.57          public JCTree qualid;
  184.58          protected JCImport(JCTree qualid, boolean importStatic) {
  184.59              this.qualid = qualid;
  184.60 @@ -605,21 +602,21 @@
  184.61  
  184.62      /**
  184.63       * A class definition.
  184.64 -     * @param modifiers the modifiers
  184.65 -     * @param name the name of the class
  184.66 -     * @param typarams formal class parameters
  184.67 -     * @param extending the classes this class extends
  184.68 -     * @param implementing the interfaces implemented by this class
  184.69 -     * @param defs all variables and methods defined in this class
  184.70 -     * @param sym the symbol
  184.71       */
  184.72      public static class JCClassDecl extends JCStatement implements ClassTree {
  184.73 +        /** the modifiers */
  184.74          public JCModifiers mods;
  184.75 +        /** the name of the class */
  184.76          public Name name;
  184.77 +        /** formal class parameters */
  184.78          public List<JCTypeParameter> typarams;
  184.79 +        /** the classes this class extends */
  184.80          public JCExpression extending;
  184.81 +        /** the interfaces implemented by this class */
  184.82          public List<JCExpression> implementing;
  184.83 +        /** all variables and methods defined in this class */
  184.84          public List<JCTree> defs;
  184.85 +        /** the symbol */
  184.86          public ClassSymbol sym;
  184.87          protected JCClassDecl(JCModifiers mods,
  184.88                             Name name,
  184.89 @@ -676,24 +673,25 @@
  184.90  
  184.91      /**
  184.92       * A method definition.
  184.93 -     * @param modifiers method modifiers
  184.94 -     * @param name method name
  184.95 -     * @param restype type of method return value
  184.96 -     * @param typarams type parameters
  184.97 -     * @param params value parameters
  184.98 -     * @param thrown exceptions thrown by this method
  184.99 -     * @param stats statements in the method
 184.100 -     * @param sym method symbol
 184.101       */
 184.102      public static class JCMethodDecl extends JCTree implements MethodTree {
 184.103 +        /** method modifiers */
 184.104          public JCModifiers mods;
 184.105 +        /** method name */
 184.106          public Name name;
 184.107 +        /** type of method return value */
 184.108          public JCExpression restype;
 184.109 +        /** type parameters */
 184.110          public List<JCTypeParameter> typarams;
 184.111 +        /** value parameters */
 184.112          public List<JCVariableDecl> params;
 184.113 +        /** exceptions thrown by this method */
 184.114          public List<JCExpression> thrown;
 184.115 +        /** statements in the method */
 184.116          public JCBlock body;
 184.117 -        public JCExpression defaultValue; // for annotation types
 184.118 +        /** default value, for annotation types */
 184.119 +        public JCExpression defaultValue;
 184.120 +        /** method symbol */
 184.121          public MethodSymbol sym;
 184.122          protected JCMethodDecl(JCModifiers mods,
 184.123                              Name name,
 184.124 @@ -748,17 +746,17 @@
 184.125  
 184.126      /**
 184.127       * A variable definition.
 184.128 -     * @param modifiers variable modifiers
 184.129 -     * @param name variable name
 184.130 -     * @param vartype type of the variable
 184.131 -     * @param init variables initial value
 184.132 -     * @param sym symbol
 184.133       */
 184.134      public static class JCVariableDecl extends JCStatement implements VariableTree {
 184.135 +        /** variable modifiers */
 184.136          public JCModifiers mods;
 184.137 +        /** variable name */
 184.138          public Name name;
 184.139 +        /** type of the variable */
 184.140          public JCExpression vartype;
 184.141 +        /** variable's initial value */
 184.142          public JCExpression init;
 184.143 +        /** symbol */
 184.144          public VarSymbol sym;
 184.145          protected JCVariableDecl(JCModifiers mods,
 184.146                           Name name,
 184.147 @@ -815,11 +813,11 @@
 184.148  
 184.149      /**
 184.150       * A statement block.
 184.151 -     * @param stats statements
 184.152 -     * @param flags flags
 184.153       */
 184.154      public static class JCBlock extends JCStatement implements BlockTree {
 184.155 +        /** flags */
 184.156          public long flags;
 184.157 +        /** statements */
 184.158          public List<JCStatement> stats;
 184.159          /** Position of closing brace, optional. */
 184.160          public int endpos = Position.NOPOS;
 184.161 @@ -1206,9 +1204,9 @@
 184.162  
 184.163      /**
 184.164       * an expression statement
 184.165 -     * @param expr expression structure
 184.166       */
 184.167      public static class JCExpressionStatement extends JCStatement implements ExpressionStatementTree {
 184.168 +        /** expression structure */
 184.169          public JCExpression expr;
 184.170          protected JCExpressionStatement(JCExpression expr)
 184.171          {
 184.172 @@ -1776,13 +1774,13 @@
 184.173  
 184.174      /**
 184.175       * Selects through packages and classes
 184.176 -     * @param selected selected Tree hierarchie
 184.177 -     * @param selector name of field to select thru
 184.178 -     * @param sym symbol of the selected class
 184.179       */
 184.180      public static class JCFieldAccess extends JCExpression implements MemberSelectTree {
 184.181 +        /** selected Tree hierarchy */
 184.182          public JCExpression selected;
 184.183 +        /** name of field to select thru */
 184.184          public Name name;
 184.185 +        /** symbol of the selected class */
 184.186          public Symbol sym;
 184.187          protected JCFieldAccess(JCExpression selected, Name name, Symbol sym) {
 184.188              this.selected = selected;
 184.189 @@ -1885,11 +1883,11 @@
 184.190  
 184.191      /**
 184.192       * An identifier
 184.193 -     * @param idname the name
 184.194 -     * @param sym the symbol
 184.195       */
 184.196      public static class JCIdent extends JCExpression implements IdentifierTree {
 184.197 +        /** the name */
 184.198          public Name name;
 184.199 +        /** the symbol */
 184.200          public Symbol sym;
 184.201          protected JCIdent(Name name, Symbol sym) {
 184.202              this.name = name;
 184.203 @@ -1912,10 +1910,10 @@
 184.204  
 184.205      /**
 184.206       * A constant value given literally.
 184.207 -     * @param value value representation
 184.208       */
 184.209      public static class JCLiteral extends JCExpression implements LiteralTree {
 184.210          public int typetag;
 184.211 +        /** value representation */
 184.212          public Object value;
 184.213          protected JCLiteral(int typetag, Object value) {
 184.214              this.typetag = typetag;
 184.215 @@ -1978,10 +1976,10 @@
 184.216  
 184.217      /**
 184.218       * Identifies a basic type.
 184.219 -     * @param tag the basic type id
 184.220       * @see TypeTags
 184.221       */
 184.222      public static class JCPrimitiveTypeTree extends JCExpression implements PrimitiveTypeTree {
 184.223 +        /** the basic type id */
 184.224          public int typetag;
 184.225          protected JCPrimitiveTypeTree(int typetag) {
 184.226              this.typetag = typetag;
 184.227 @@ -2105,11 +2103,11 @@
 184.228  
 184.229      /**
 184.230       * A formal class parameter.
 184.231 -     * @param name name
 184.232 -     * @param bounds bounds
 184.233       */
 184.234      public static class JCTypeParameter extends JCTree implements TypeParameterTree {
 184.235 +        /** name */
 184.236          public Name name;
 184.237 +        /** bounds */
 184.238          public List<JCExpression> bounds;
 184.239          protected JCTypeParameter(Name name, List<JCExpression> bounds) {
 184.240              this.name = name;
   185.1 --- a/src/share/classes/com/sun/tools/javac/tree/Pretty.java	Thu Oct 18 11:09:45 2012 -0700
   185.2 +++ b/src/share/classes/com/sun/tools/javac/tree/Pretty.java	Tue Oct 23 09:42:48 2012 -0700
   185.3 @@ -26,12 +26,10 @@
   185.4  package com.sun.tools.javac.tree;
   185.5  
   185.6  import java.io.*;
   185.7 -import java.util.*;
   185.8  
   185.9  import com.sun.source.tree.MemberReferenceTree.ReferenceMode;
  185.10  import com.sun.tools.javac.code.*;
  185.11  import com.sun.tools.javac.code.Symbol.*;
  185.12 -import com.sun.tools.javac.parser.Tokens.Comment;
  185.13  import com.sun.tools.javac.tree.JCTree.*;
  185.14  import com.sun.tools.javac.util.*;
  185.15  import com.sun.tools.javac.util.List;
  185.16 @@ -250,7 +248,7 @@
  185.17      public void printFlags(long flags) throws IOException {
  185.18          if ((flags & SYNTHETIC) != 0) print("/*synthetic*/ ");
  185.19          print(TreeInfo.flagNames(flags));
  185.20 -        if ((flags & StandardFlags) != 0) print(" ");
  185.21 +        if ((flags & ExtendedStandardFlags) != 0) print(" ");
  185.22          if ((flags & ANNOTATION) != 0) print("@");
  185.23      }
  185.24  
   186.1 --- a/src/share/classes/com/sun/tools/javac/tree/TreeInfo.java	Thu Oct 18 11:09:45 2012 -0700
   186.2 +++ b/src/share/classes/com/sun/tools/javac/tree/TreeInfo.java	Tue Oct 23 09:42:48 2012 -0700
   186.3 @@ -790,8 +790,8 @@
   186.4       *  pre: flags != 0
   186.5       */
   186.6      public static long firstFlag(long flags) {
   186.7 -        int flag = 1;
   186.8 -        while ((flag & StandardFlags) != 0 && (flag & flags) == 0)
   186.9 +        long flag = 1;
  186.10 +        while ((flag & flags & ExtendedStandardFlags) == 0)
  186.11              flag = flag << 1;
  186.12          return flag;
  186.13      }
  186.14 @@ -799,7 +799,7 @@
  186.15      /** Return flags as a string, separated by " ".
  186.16       */
  186.17      public static String flagNames(long flags) {
  186.18 -        return Flags.toString(flags & StandardFlags).trim();
  186.19 +        return Flags.toString(flags & ExtendedStandardFlags).trim();
  186.20      }
  186.21  
  186.22      /** Operator precedences values.
   187.1 --- a/src/share/classes/com/sun/tools/javac/util/AbstractDiagnosticFormatter.java	Thu Oct 18 11:09:45 2012 -0700
   187.2 +++ b/src/share/classes/com/sun/tools/javac/util/AbstractDiagnosticFormatter.java	Tue Oct 23 09:42:48 2012 -0700
   187.3 @@ -1,5 +1,5 @@
   187.4  /*
   187.5 - * Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved.
   187.6 + * Copyright (c) 2008, 2012, Oracle and/or its affiliates. All rights reserved.
   187.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   187.8   *
   187.9   * This code is free software; you can redistribute it and/or modify it
  187.10 @@ -484,7 +484,7 @@
  187.11          /**
  187.12           * Tells whether the caret display is active or not.
  187.13           *
  187.14 -         * @param caretEnabled if true the caret is enabled
  187.15 +         * @return true if the caret is enabled
  187.16           */
  187.17          public boolean isCaretEnabled() {
  187.18              return caretEnabled;
   188.1 --- a/src/share/classes/com/sun/tools/javac/util/AbstractLog.java	Thu Oct 18 11:09:45 2012 -0700
   188.2 +++ b/src/share/classes/com/sun/tools/javac/util/AbstractLog.java	Tue Oct 23 09:42:48 2012 -0700
   188.3 @@ -1,5 +1,5 @@
   188.4  /*
   188.5 - * Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved.
   188.6 + * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved.
   188.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   188.8   *
   188.9   * This code is free software; you can redistribute it and/or modify it
  188.10 @@ -132,7 +132,6 @@
  188.11  
  188.12      /** Report a warning, unless suppressed by the  -nowarn option or the
  188.13       *  maximum number of warnings has been reached.
  188.14 -     *  @param pos    The source position at which to report the warning.
  188.15       *  @param key    The key for the localized warning message.
  188.16       *  @param args   Fields of the warning message.
  188.17       */
   189.1 --- a/src/share/classes/com/sun/tools/javac/util/BasicDiagnosticFormatter.java	Thu Oct 18 11:09:45 2012 -0700
   189.2 +++ b/src/share/classes/com/sun/tools/javac/util/BasicDiagnosticFormatter.java	Tue Oct 23 09:42:48 2012 -0700
   189.3 @@ -1,5 +1,5 @@
   189.4  /*
   189.5 - * Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
   189.6 + * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
   189.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   189.8   *
   189.9   * This code is free software; you can redistribute it and/or modify it
  189.10 @@ -69,7 +69,7 @@
  189.11      /**
  189.12       * Create a basic formatter based on the supplied options.
  189.13       *
  189.14 -     * @param opts list of command-line options
  189.15 +     * @param options list of command-line options
  189.16       * @param msgs JavacMessages object used for i18n
  189.17       */
  189.18      public BasicDiagnosticFormatter(Options options, JavacMessages msgs) {
  189.19 @@ -329,7 +329,7 @@
  189.20           * Set the indentation level for various element of a given diagnostic -
  189.21           * this might lead to more readable diagnostics
  189.22           *
  189.23 -         * @param indentationKind kind of indentation to be set
  189.24 +         * @param diagPart
  189.25           * @param nSpaces amount of spaces for the specified diagnostic part
  189.26           */
  189.27          public void setIndentation(DiagnosticPart diagPart, int nSpaces) {
  189.28 @@ -384,7 +384,7 @@
  189.29          /**
  189.30           * Get a metachar string for a specific format
  189.31           *
  189.32 -         * @param sourcePos a positioning value for source line
  189.33 +         * @param kind the format kind for which to get the metachar string
  189.34           */
  189.35          public String getFormat(BasicFormatKind kind) {
  189.36              return availableFormats.get(kind);
   190.1 --- a/src/share/classes/com/sun/tools/javac/util/Context.java	Thu Oct 18 11:09:45 2012 -0700
   190.2 +++ b/src/share/classes/com/sun/tools/javac/util/Context.java	Tue Oct 23 09:42:48 2012 -0700
   190.3 @@ -44,7 +44,7 @@
   190.4   * instance method that is overridden in extended components.  A base
   190.5   * phase supporting extension would look something like this:
   190.6   *
   190.7 - * <p><pre>
   190.8 + * <p><pre>{@code
   190.9   * public class Phase {
  190.10   *     protected static final Context.Key<Phase> phaseKey =
  190.11   *         new Context.Key<Phase>();
  190.12 @@ -62,7 +62,7 @@
  190.13   *         // other intitialization follows...
  190.14   *     }
  190.15   * }
  190.16 - * </pre>
  190.17 + * }</pre>
  190.18   *
  190.19   * <p>In the compiler, we simply use Phase.instance(context) to get
  190.20   * the reference to the phase.  But in extensions of the compiler, we
  190.21 @@ -70,7 +70,7 @@
  190.22   * and this must be done before any reference to the phase is accessed
  190.23   * using Phase.instance().  An extended phase might be declared thus:
  190.24   *
  190.25 - * <p><pre>
  190.26 + * <p><pre>{@code
  190.27   * public class NewPhase extends Phase {
  190.28   *     protected NewPhase(Context context) {
  190.29   *         super(context);
  190.30 @@ -83,7 +83,7 @@
  190.31   *         });
  190.32   *     }
  190.33   * }
  190.34 - * </pre>
  190.35 + * }</pre>
  190.36   *
  190.37   * <p>And is registered early in the extended compiler like this
  190.38   *
   191.1 --- a/src/share/classes/com/sun/tools/javac/util/Convert.java	Thu Oct 18 11:09:45 2012 -0700
   191.2 +++ b/src/share/classes/com/sun/tools/javac/util/Convert.java	Tue Oct 23 09:42:48 2012 -0700
   191.3 @@ -1,5 +1,5 @@
   191.4  /*
   191.5 - * Copyright (c) 1999, 2008, Oracle and/or its affiliates. All rights reserved.
   191.6 + * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved.
   191.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   191.8   *
   191.9   * This code is free software; you can redistribute it and/or modify it
  191.10 @@ -260,7 +260,7 @@
  191.11          while (i < len) {
  191.12              char ch = s.charAt(i);
  191.13              if (ch > 255) {
  191.14 -                StringBuffer buf = new StringBuffer();
  191.15 +                StringBuilder buf = new StringBuilder();
  191.16                  buf.append(s.substring(0, i));
  191.17                  while (i < len) {
  191.18                      ch = s.charAt(i);
   192.1 --- a/src/share/classes/com/sun/tools/javac/util/DiagnosticSource.java	Thu Oct 18 11:09:45 2012 -0700
   192.2 +++ b/src/share/classes/com/sun/tools/javac/util/DiagnosticSource.java	Tue Oct 23 09:42:48 2012 -0700
   192.3 @@ -28,12 +28,10 @@
   192.4  import java.io.IOException;
   192.5  import java.lang.ref.SoftReference;
   192.6  import java.nio.CharBuffer;
   192.7 -import java.util.Map;
   192.8  import javax.tools.JavaFileObject;
   192.9  
  192.10  import com.sun.tools.javac.file.JavacFileManager;
  192.11  import com.sun.tools.javac.tree.EndPosTable;
  192.12 -import com.sun.tools.javac.tree.JCTree;
  192.13  
  192.14  import static com.sun.tools.javac.util.LayoutCharacters.*;
  192.15  
   193.1 --- a/src/share/classes/com/sun/tools/javac/util/JCDiagnostic.java	Thu Oct 18 11:09:45 2012 -0700
   193.2 +++ b/src/share/classes/com/sun/tools/javac/util/JCDiagnostic.java	Tue Oct 23 09:42:48 2012 -0700
   193.3 @@ -27,7 +27,6 @@
   193.4  
   193.5  import java.util.EnumSet;
   193.6  import java.util.Locale;
   193.7 -import java.util.Map;
   193.8  import java.util.Set;
   193.9  
  193.10  import javax.tools.Diagnostic;
  193.11 @@ -214,7 +213,6 @@
  193.12           * Create a new diagnostic of the given kind, which is not mandatory and which has
  193.13           * no lint category.
  193.14           *  @param kind        The diagnostic kind
  193.15 -         *  @param ls          The lint category, if applicable, or null
  193.16           *  @param source      The source of the compilation unit, if any, in which to report the message.
  193.17           *  @param pos         The source position at which to report the message.
  193.18           *  @param key         The key for the localized message.
  193.19 @@ -229,7 +227,7 @@
  193.20           * Create a new diagnostic of the given kind.
  193.21           *  @param kind        The diagnostic kind
  193.22           *  @param lc          The lint category, if applicable, or null
  193.23 -         *  @param isMandatory is diagnostic mandatory?
  193.24 +         *  @param flags       The set of flags for the diagnostic
  193.25           *  @param source      The source of the compilation unit, if any, in which to report the message.
  193.26           *  @param pos         The source position at which to report the message.
  193.27           *  @param key         The key for the localized message.
  193.28 @@ -364,7 +362,7 @@
  193.29  
  193.30      /**
  193.31       * Create a diagnostic object.
  193.32 -     * @param fomatter the formatter to use for the diagnostic
  193.33 +     * @param formatter the formatter to use for the diagnostic
  193.34       * @param dt the type of diagnostic
  193.35       * @param lc     the lint category for the diagnostic
  193.36       * @param source the name of the source file, or null if none.
   194.1 --- a/src/share/classes/com/sun/tools/javac/util/List.java	Thu Oct 18 11:09:45 2012 -0700
   194.2 +++ b/src/share/classes/com/sun/tools/javac/util/List.java	Tue Oct 23 09:42:48 2012 -0700
   194.3 @@ -1,5 +1,5 @@
   194.4  /*
   194.5 - * Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved.
   194.6 + * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved.
   194.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   194.8   *
   194.9   * This code is free software; you can redistribute it and/or modify it
  194.10 @@ -287,7 +287,7 @@
  194.11          if (isEmpty()) {
  194.12              return "";
  194.13          } else {
  194.14 -            StringBuffer buf = new StringBuffer();
  194.15 +            StringBuilder buf = new StringBuilder();
  194.16              buf.append(head);
  194.17              for (List<A> l = tail; l.nonEmpty(); l = l.tail) {
  194.18                  buf.append(sep);
   195.1 --- a/src/share/classes/com/sun/tools/javac/util/Position.java	Thu Oct 18 11:09:45 2012 -0700
   195.2 +++ b/src/share/classes/com/sun/tools/javac/util/Position.java	Tue Oct 23 09:42:48 2012 -0700
   195.3 @@ -80,11 +80,11 @@
   195.4  
   195.5      /** Encode line and column numbers in an integer as:
   195.6       *  {@code line-number << LINESHIFT + column-number }.
   195.7 -     *  {@link Position.NOPOS} represents an undefined position.
   195.8 +     *  {@link Position#NOPOS} represents an undefined position.
   195.9       *
  195.10       * @param  line  number of line (first is 1)
  195.11       * @param  col   number of character on line (first is 1)
  195.12 -     * @return       an encoded position or {@link Position.NOPOS}
  195.13 +     * @return       an encoded position or {@link Position#NOPOS}
  195.14       *               if the line or column number is too big to
  195.15       *               represent in the encoded format
  195.16       * @throws IllegalArgumentException if line or col is less than 1
   196.1 --- a/src/share/classes/com/sun/tools/javac/util/RawDiagnosticFormatter.java	Thu Oct 18 11:09:45 2012 -0700
   196.2 +++ b/src/share/classes/com/sun/tools/javac/util/RawDiagnosticFormatter.java	Tue Oct 23 09:42:48 2012 -0700
   196.3 @@ -1,5 +1,5 @@
   196.4  /*
   196.5 - * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
   196.6 + * Copyright (c) 2008, 2012, Oracle and/or its affiliates. All rights reserved.
   196.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   196.8   *
   196.9   * This code is free software; you can redistribute it and/or modify it
  196.10 @@ -52,7 +52,7 @@
  196.11  
  196.12      /**
  196.13       * Create a formatter based on the supplied options.
  196.14 -     * @param msgs
  196.15 +     * @param options
  196.16       */
  196.17      public RawDiagnosticFormatter(Options options) {
  196.18          super(null, new SimpleConfiguration(options,
   197.1 --- a/src/share/classes/com/sun/tools/javadoc/AbstractTypeImpl.java	Thu Oct 18 11:09:45 2012 -0700
   197.2 +++ b/src/share/classes/com/sun/tools/javadoc/AbstractTypeImpl.java	Tue Oct 23 09:42:48 2012 -0700
   197.3 @@ -1,5 +1,5 @@
   197.4  /*
   197.5 - * Copyright (c) 2003, 2005, Oracle and/or its affiliates. All rights reserved.
   197.6 + * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
   197.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   197.8   *
   197.9   * This code is free software; you can redistribute it and/or modify it
  197.10 @@ -25,7 +25,6 @@
  197.11  
  197.12  package com.sun.tools.javadoc;
  197.13  
  197.14 -
  197.15  import com.sun.javadoc.*;
  197.16  
  197.17  import com.sun.tools.javac.code.Type;
  197.18 @@ -36,6 +35,11 @@
  197.19   * defaults for the methods in <code>Type</code> (and a couple from
  197.20   * <code>ProgramElementDoc</code>).
  197.21   *
  197.22 + *  <p><b>This is NOT part of any supported API.
  197.23 + *  If you write code that depends on this, you do so at your own risk.
  197.24 + *  This code and its internal interfaces are subject to change or
  197.25 + *  deletion without notice.</b>
  197.26 + *
  197.27   * @author Scott Seligman
  197.28   * @since 1.5
  197.29   */
   198.1 --- a/src/share/classes/com/sun/tools/javadoc/AnnotationDescImpl.java	Thu Oct 18 11:09:45 2012 -0700
   198.2 +++ b/src/share/classes/com/sun/tools/javadoc/AnnotationDescImpl.java	Tue Oct 23 09:42:48 2012 -0700
   198.3 @@ -1,5 +1,5 @@
   198.4  /*
   198.5 - * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
   198.6 + * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
   198.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   198.8   *
   198.9   * This code is free software; you can redistribute it and/or modify it
  198.10 @@ -25,7 +25,6 @@
  198.11  
  198.12  package com.sun.tools.javadoc;
  198.13  
  198.14 -
  198.15  import com.sun.javadoc.*;
  198.16  
  198.17  import com.sun.tools.javac.code.Attribute;
  198.18 @@ -40,6 +39,11 @@
  198.19   * Sure it ought to be called "Annotation", but that clashes with
  198.20   * java.lang.annotation.Annotation.
  198.21   *
  198.22 + *  <p><b>This is NOT part of any supported API.
  198.23 + *  If you write code that depends on this, you do so at your own risk.
  198.24 + *  This code and its internal interfaces are subject to change or
  198.25 + *  deletion without notice.</b>
  198.26 + *
  198.27   * @author Scott Seligman
  198.28   * @since 1.5
  198.29   */
   199.1 --- a/src/share/classes/com/sun/tools/javadoc/AnnotationTypeDocImpl.java	Thu Oct 18 11:09:45 2012 -0700
   199.2 +++ b/src/share/classes/com/sun/tools/javadoc/AnnotationTypeDocImpl.java	Tue Oct 23 09:42:48 2012 -0700
   199.3 @@ -1,5 +1,5 @@
   199.4  /*
   199.5 - * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
   199.6 + * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
   199.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   199.8   *
   199.9   * This code is free software; you can redistribute it and/or modify it
  199.10 @@ -27,7 +27,6 @@
  199.11  
  199.12  import com.sun.javadoc.*;
  199.13  
  199.14 -
  199.15  import com.sun.tools.javac.code.Kinds;
  199.16  import com.sun.tools.javac.code.Scope;
  199.17  import com.sun.tools.javac.code.Symbol.*;
  199.18 @@ -39,6 +38,11 @@
  199.19  /**
  199.20   * Represents an annotation type.
  199.21   *
  199.22 + *  <p><b>This is NOT part of any supported API.
  199.23 + *  If you write code that depends on this, you do so at your own risk.
  199.24 + *  This code and its internal interfaces are subject to change or
  199.25 + *  deletion without notice.</b>
  199.26 + *
  199.27   * @author Scott Seligman
  199.28   * @since 1.5
  199.29   */
   200.1 --- a/src/share/classes/com/sun/tools/javadoc/AnnotationTypeElementDocImpl.java	Thu Oct 18 11:09:45 2012 -0700
   200.2 +++ b/src/share/classes/com/sun/tools/javadoc/AnnotationTypeElementDocImpl.java	Tue Oct 23 09:42:48 2012 -0700
   200.3 @@ -1,5 +1,5 @@
   200.4  /*
   200.5 - * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
   200.6 + * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
   200.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   200.8   *
   200.9   * This code is free software; you can redistribute it and/or modify it
  200.10 @@ -27,17 +27,18 @@
  200.11  
  200.12  import com.sun.javadoc.*;
  200.13  
  200.14 -import static com.sun.javadoc.LanguageVersion.*;
  200.15 -
  200.16  import com.sun.tools.javac.code.Symbol.*;
  200.17  import com.sun.tools.javac.tree.JCTree.*;
  200.18 -import com.sun.tools.javac.util.List;
  200.19 -import com.sun.tools.javac.util.Name;
  200.20  import com.sun.tools.javac.util.Position;
  200.21  
  200.22  /**
  200.23   * Represents an element of an annotation type.
  200.24   *
  200.25 + *  <p><b>This is NOT part of any supported API.
  200.26 + *  If you write code that depends on this, you do so at your own risk.
  200.27 + *  This code and its internal interfaces are subject to change or
  200.28 + *  deletion without notice.</b>
  200.29 + *
  200.30   * @author Scott Seligman
  200.31   * @since 1.5
  200.32   */
   201.1 --- a/src/share/classes/com/sun/tools/javadoc/AnnotationValueImpl.java	Thu Oct 18 11:09:45 2012 -0700
   201.2 +++ b/src/share/classes/com/sun/tools/javadoc/AnnotationValueImpl.java	Tue Oct 23 09:42:48 2012 -0700
   201.3 @@ -25,7 +25,6 @@
   201.4  
   201.5  package com.sun.tools.javadoc;
   201.6  
   201.7 -
   201.8  import com.sun.javadoc.*;
   201.9  
  201.10  import com.sun.tools.javac.code.Attribute;
  201.11 @@ -36,6 +35,11 @@
  201.12  /**
  201.13   * Represents a value of an annotation type element.
  201.14   *
  201.15 + *  <p><b>This is NOT part of any supported API.
  201.16 + *  If you write code that depends on this, you do so at your own risk.
  201.17 + *  This code and its internal interfaces are subject to change or
  201.18 + *  deletion without notice.</b>
  201.19 + *
  201.20   * @author Scott Seligman
  201.21   * @since 1.5
  201.22   */
   202.1 --- a/src/share/classes/com/sun/tools/javadoc/ClassDocImpl.java	Thu Oct 18 11:09:45 2012 -0700
   202.2 +++ b/src/share/classes/com/sun/tools/javadoc/ClassDocImpl.java	Tue Oct 23 09:42:48 2012 -0700
   202.3 @@ -1,5 +1,5 @@
   202.4  /*
   202.5 - * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
   202.6 + * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
   202.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   202.8   *
   202.9   * This code is free software; you can redistribute it and/or modify it
  202.10 @@ -38,8 +38,6 @@
  202.11  
  202.12  import com.sun.javadoc.*;
  202.13  
  202.14 -import static com.sun.javadoc.LanguageVersion.*;
  202.15 -
  202.16  import com.sun.tools.javac.code.Flags;
  202.17  import com.sun.tools.javac.code.Kinds;
  202.18  import com.sun.tools.javac.code.Scope;
  202.19 @@ -76,6 +74,11 @@
  202.20   * referred to using Type (which can be converted to ClassDocImpl,
  202.21   * if possible).
  202.22   *
  202.23 + *  <p><b>This is NOT part of any supported API.
  202.24 + *  If you write code that depends on this, you do so at your own risk.
  202.25 + *  This code and its internal interfaces are subject to change or
  202.26 + *  deletion without notice.</b>
  202.27 + *
  202.28   * @see Type
  202.29   *
  202.30   * @since 1.2
  202.31 @@ -846,7 +849,7 @@
  202.32       * Note that this is not necessarily what the compiler would do!
  202.33       *
  202.34       * @param methodName the unqualified name to search for.
  202.35 -     * @param paramTypeArray the array of Strings for method parameter types.
  202.36 +     * @param paramTypes the array of Strings for method parameter types.
  202.37       * @return the first MethodDocImpl which matches, null if not found.
  202.38       */
  202.39      public MethodDocImpl findMethod(String methodName, String[] paramTypes) {
  202.40 @@ -973,7 +976,7 @@
  202.41       * Find constructor in this class.
  202.42       *
  202.43       * @param constrName the unqualified name to search for.
  202.44 -     * @param paramTypeArray the array of Strings for constructor parameters.
  202.45 +     * @param paramTypes the array of Strings for constructor parameters.
  202.46       * @return the first ConstructorDocImpl which matches, null if not found.
  202.47       */
  202.48      public ConstructorDoc findConstructor(String constrName,
   203.1 --- a/src/share/classes/com/sun/tools/javadoc/Comment.java	Thu Oct 18 11:09:45 2012 -0700
   203.2 +++ b/src/share/classes/com/sun/tools/javadoc/Comment.java	Tue Oct 23 09:42:48 2012 -0700
   203.3 @@ -33,6 +33,11 @@
   203.4   *      It allows users to get first sentence of this comment, get
   203.5   *      comment for different tags...
   203.6   *
   203.7 + *  <p><b>This is NOT part of any supported API.
   203.8 + *  If you write code that depends on this, you do so at your own risk.
   203.9 + *  This code and its internal interfaces are subject to change or
  203.10 + *  deletion without notice.</b>
  203.11 + *
  203.12   * @author Kaiyang Liu (original)
  203.13   * @author Robert Field (rewrite)
  203.14   * @author Atul M Dambalkar
   204.1 --- a/src/share/classes/com/sun/tools/javadoc/ConstructorDocImpl.java	Thu Oct 18 11:09:45 2012 -0700
   204.2 +++ b/src/share/classes/com/sun/tools/javadoc/ConstructorDocImpl.java	Tue Oct 23 09:42:48 2012 -0700
   204.3 @@ -1,5 +1,5 @@
   204.4  /*
   204.5 - * Copyright (c) 1997, 2006, Oracle and/or its affiliates. All rights reserved.
   204.6 + * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
   204.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   204.8   *
   204.9   * This code is free software; you can redistribute it and/or modify it
  204.10 @@ -35,6 +35,11 @@
  204.11  /**
  204.12   * Represents a constructor of a java class.
  204.13   *
  204.14 + *  <p><b>This is NOT part of any supported API.
  204.15 + *  If you write code that depends on this, you do so at your own risk.
  204.16 + *  This code and its internal interfaces are subject to change or
  204.17 + *  deletion without notice.</b>
  204.18 + *
  204.19   * @since 1.2
  204.20   * @author Robert Field
  204.21   * @author Neal Gafter (rewrite)
   205.1 --- a/src/share/classes/com/sun/tools/javadoc/DocEnv.java	Thu Oct 18 11:09:45 2012 -0700
   205.2 +++ b/src/share/classes/com/sun/tools/javadoc/DocEnv.java	Tue Oct 23 09:42:48 2012 -0700
   205.3 @@ -1,5 +1,5 @@
   205.4  /*
   205.5 - * Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
   205.6 + * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
   205.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   205.8   *
   205.9   * This code is free software; you can redistribute it and/or modify it
  205.10 @@ -46,6 +46,11 @@
  205.11   * run and not the compiler info that could be GC'ed
  205.12   * or ported.
  205.13   *
  205.14 + *  <p><b>This is NOT part of any supported API.
  205.15 + *  If you write code that depends on this, you do so at your own risk.
  205.16 + *  This code and its internal interfaces are subject to change or
  205.17 + *  deletion without notice.</b>
  205.18 + *
  205.19   * @since 1.4
  205.20   * @author Robert Field
  205.21   * @author Neal Gafter (rewrite)
   206.1 --- a/src/share/classes/com/sun/tools/javadoc/DocImpl.java	Thu Oct 18 11:09:45 2012 -0700
   206.2 +++ b/src/share/classes/com/sun/tools/javadoc/DocImpl.java	Tue Oct 23 09:42:48 2012 -0700
   206.3 @@ -26,16 +26,16 @@
   206.4  package com.sun.tools.javadoc;
   206.5  
   206.6  import java.io.DataInputStream;
   206.7 +import java.io.IOException;
   206.8  import java.io.InputStream;
   206.9 -import java.io.IOException;
  206.10  import java.text.CollationKey;
  206.11 +import java.util.regex.Matcher;
  206.12 +import java.util.regex.Pattern;
  206.13 +
  206.14  import javax.tools.FileObject;
  206.15  
  206.16  import com.sun.javadoc.*;
  206.17 -
  206.18  import com.sun.tools.javac.util.Position;
  206.19 -import java.util.regex.Matcher;
  206.20 -import java.util.regex.Pattern;
  206.21  
  206.22  /**
  206.23   * abstract base class of all Doc classes.  Doc item's are representations
  206.24 @@ -43,6 +43,11 @@
  206.25   * comments and have been processed by this run of javadoc.  All Doc items
  206.26   * are unique, that is, they are == comparable.
  206.27   *
  206.28 + *  <p><b>This is NOT part of any supported API.
  206.29 + *  If you write code that depends on this, you do so at your own risk.
  206.30 + *  This code and its internal interfaces are subject to change or
  206.31 + *  deletion without notice.</b>
  206.32 + *
  206.33   * @since 1.2
  206.34   * @author Robert Field
  206.35   * @author Atul M Dambalkar
  206.36 @@ -262,7 +267,7 @@
  206.37       * <p>
  206.38       * Included so that Doc item are java.lang.Comparable.
  206.39       *
  206.40 -     * @param   o the <code>Object</code> to be compared.
  206.41 +     * @param   obj the {@code Object} to be compared.
  206.42       * @return  a negative integer, zero, or a positive integer as this Object
  206.43       *          is less than, equal to, or greater than the given Object.
  206.44       * @exception ClassCastException the specified Object's type prevents it
   207.1 --- a/src/share/classes/com/sun/tools/javadoc/DocLocale.java	Thu Oct 18 11:09:45 2012 -0700
   207.2 +++ b/src/share/classes/com/sun/tools/javadoc/DocLocale.java	Tue Oct 23 09:42:48 2012 -0700
   207.3 @@ -1,5 +1,5 @@
   207.4  /*
   207.5 - * Copyright (c) 2000, 2006, Oracle and/or its affiliates. All rights reserved.
   207.6 + * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
   207.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   207.8   *
   207.9   * This code is free software; you can redistribute it and/or modify it
  207.10 @@ -25,14 +25,18 @@
  207.11  
  207.12  package com.sun.tools.javadoc;
  207.13  
  207.14 +import java.text.BreakIterator;
  207.15 +import java.text.Collator;
  207.16  import java.util.Locale;
  207.17 -import java.util.HashSet;
  207.18 -import java.text.Collator;
  207.19 -import java.text.BreakIterator;
  207.20  
  207.21  /**
  207.22   * This class holds the information about locales.
  207.23   *
  207.24 + *  <p><b>This is NOT part of any supported API.
  207.25 + *  If you write code that depends on this, you do so at your own risk.
  207.26 + *  This code and its internal interfaces are subject to change or
  207.27 + *  deletion without notice.</b>
  207.28 + *
  207.29   * @since 1.4
  207.30   * @author Robert Field
  207.31   */
   208.1 --- a/src/share/classes/com/sun/tools/javadoc/DocletInvoker.java	Thu Oct 18 11:09:45 2012 -0700
   208.2 +++ b/src/share/classes/com/sun/tools/javadoc/DocletInvoker.java	Tue Oct 23 09:42:48 2012 -0700
   208.3 @@ -1,5 +1,5 @@
   208.4  /*
   208.5 - * Copyright (c) 1998, 2011, Oracle and/or its affiliates. All rights reserved.
   208.6 + * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved.
   208.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   208.8   *
   208.9   * This code is free software; you can redistribute it and/or modify it
  208.10 @@ -25,22 +25,26 @@
  208.11  
  208.12  package com.sun.tools.javadoc;
  208.13  
  208.14 -import com.sun.javadoc.*;
  208.15 -
  208.16 -import static com.sun.javadoc.LanguageVersion.*;
  208.17 -
  208.18 -import com.sun.tools.javac.util.List;
  208.19 -
  208.20  import java.io.File;
  208.21 +import java.lang.reflect.InvocationTargetException;
  208.22  import java.lang.reflect.Method;
  208.23  import java.lang.reflect.Modifier;
  208.24 -import java.lang.reflect.InvocationTargetException;
  208.25  import java.net.URL;
  208.26  import java.net.URLClassLoader;
  208.27  
  208.28 +import com.sun.javadoc.*;
  208.29 +import com.sun.tools.javac.util.List;
  208.30 +import static com.sun.javadoc.LanguageVersion.*;
  208.31 +
  208.32  
  208.33  /**
  208.34   * Class creates, controls and invokes doclets.
  208.35 + *
  208.36 + *  <p><b>This is NOT part of any supported API.
  208.37 + *  If you write code that depends on this, you do so at your own risk.
  208.38 + *  This code and its internal interfaces are subject to change or
  208.39 + *  deletion without notice.</b>
  208.40 + *
  208.41   * @author Neal Gafter (rewrite)
  208.42   */
  208.43  public class DocletInvoker {
   209.1 --- a/src/share/classes/com/sun/tools/javadoc/ExecutableMemberDocImpl.java	Thu Oct 18 11:09:45 2012 -0700
   209.2 +++ b/src/share/classes/com/sun/tools/javadoc/ExecutableMemberDocImpl.java	Tue Oct 23 09:42:48 2012 -0700
   209.3 @@ -1,5 +1,5 @@
   209.4  /*
   209.5 - * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
   209.6 + * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
   209.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   209.8   *
   209.9   * This code is free software; you can redistribute it and/or modify it
  209.10 @@ -41,6 +41,11 @@
  209.11  /**
  209.12   * Represents a method or constructor of a java class.
  209.13   *
  209.14 + *  <p><b>This is NOT part of any supported API.
  209.15 + *  If you write code that depends on this, you do so at your own risk.
  209.16 + *  This code and its internal interfaces are subject to change or
  209.17 + *  deletion without notice.</b>
  209.18 + *
  209.19   * @since 1.2
  209.20   * @author Robert Field
  209.21   * @author Neal Gafter (rewrite)
   210.1 --- a/src/share/classes/com/sun/tools/javadoc/FieldDocImpl.java	Thu Oct 18 11:09:45 2012 -0700
   210.2 +++ b/src/share/classes/com/sun/tools/javadoc/FieldDocImpl.java	Tue Oct 23 09:42:48 2012 -0700
   210.3 @@ -29,8 +29,6 @@
   210.4  
   210.5  import com.sun.javadoc.*;
   210.6  
   210.7 -import static com.sun.javadoc.LanguageVersion.*;
   210.8 -
   210.9  import com.sun.tools.javac.code.Flags;
  210.10  import com.sun.tools.javac.code.Symbol.ClassSymbol;
  210.11  import com.sun.tools.javac.code.Symbol.VarSymbol;
  210.12 @@ -43,6 +41,11 @@
  210.13  /**
  210.14   * Represents a field in a java class.
  210.15   *
  210.16 + *  <p><b>This is NOT part of any supported API.
  210.17 + *  If you write code that depends on this, you do so at your own risk.
  210.18 + *  This code and its internal interfaces are subject to change or
  210.19 + *  deletion without notice.</b>
  210.20 + *
  210.21   * @see MemberDocImpl
  210.22   *
  210.23   * @since 1.2
   211.1 --- a/src/share/classes/com/sun/tools/javadoc/JavadocClassReader.java	Thu Oct 18 11:09:45 2012 -0700
   211.2 +++ b/src/share/classes/com/sun/tools/javadoc/JavadocClassReader.java	Tue Oct 23 09:42:48 2012 -0700
   211.3 @@ -1,5 +1,5 @@
   211.4  /*
   211.5 - * Copyright (c) 2001, 2011, Oracle and/or its affiliates. All rights reserved.
   211.6 + * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved.
   211.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   211.8   *
   211.9   * This code is free software; you can redistribute it and/or modify it
  211.10 @@ -33,6 +33,12 @@
  211.11  import com.sun.tools.javac.util.Context;
  211.12  
  211.13  /** Javadoc uses an extended class reader that records package.html entries
  211.14 + *
  211.15 + *  <p><b>This is NOT part of any supported API.
  211.16 + *  If you write code that depends on this, you do so at your own risk.
  211.17 + *  This code and its internal interfaces are subject to change or
  211.18 + *  deletion without notice.</b>
  211.19 + *
  211.20   *  @author Neal Gafter
  211.21   */
  211.22  public class JavadocClassReader extends ClassReader {
   212.1 --- a/src/share/classes/com/sun/tools/javadoc/JavadocEnter.java	Thu Oct 18 11:09:45 2012 -0700
   212.2 +++ b/src/share/classes/com/sun/tools/javadoc/JavadocEnter.java	Tue Oct 23 09:42:48 2012 -0700
   212.3 @@ -25,7 +25,6 @@
   212.4  
   212.5  package com.sun.tools.javadoc;
   212.6  
   212.7 -
   212.8  import javax.tools.JavaFileObject;
   212.9  
  212.10  import com.sun.tools.javac.code.Kinds;
  212.11 @@ -40,6 +39,12 @@
  212.12  /**
  212.13   *  Javadoc's own enter phase does a few things above and beyond that
  212.14   *  done by javac.
  212.15 + *
  212.16 + *  <p><b>This is NOT part of any supported API.
  212.17 + *  If you write code that depends on this, you do so at your own risk.
  212.18 + *  This code and its internal interfaces are subject to change or
  212.19 + *  deletion without notice.</b>
  212.20 + *
  212.21   *  @author Neal Gafter
  212.22   */
  212.23  public class JavadocEnter extends Enter {
   213.1 --- a/src/share/classes/com/sun/tools/javadoc/JavadocMemberEnter.java	Thu Oct 18 11:09:45 2012 -0700
   213.2 +++ b/src/share/classes/com/sun/tools/javadoc/JavadocMemberEnter.java	Tue Oct 23 09:42:48 2012 -0700
   213.3 @@ -37,6 +37,12 @@
   213.4  /**
   213.5   *  Javadoc's own memberEnter phase does a few things above and beyond that
   213.6   *  done by javac.
   213.7 + *
   213.8 + *  <p><b>This is NOT part of any supported API.
   213.9 + *  If you write code that depends on this, you do so at your own risk.
  213.10 + *  This code and its internal interfaces are subject to change or
  213.11 + *  deletion without notice.</b>
  213.12 + *
  213.13   *  @author Neal Gafter
  213.14   */
  213.15  public class JavadocMemberEnter extends MemberEnter {
   214.1 --- a/src/share/classes/com/sun/tools/javadoc/JavadocTodo.java	Thu Oct 18 11:09:45 2012 -0700
   214.2 +++ b/src/share/classes/com/sun/tools/javadoc/JavadocTodo.java	Tue Oct 23 09:42:48 2012 -0700
   214.3 @@ -1,5 +1,5 @@
   214.4  /*
   214.5 - * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
   214.6 + * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
   214.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   214.8   *
   214.9   * This code is free software; you can redistribute it and/or modify it
  214.10 @@ -31,6 +31,12 @@
  214.11  /**
  214.12   *  Javadoc's own todo queue doesn't queue its inputs, as javadoc
  214.13   *  doesn't perform attribution of method bodies or semantic checking.
  214.14 + *
  214.15 + *  <p><b>This is NOT part of any supported API.
  214.16 + *  If you write code that depends on this, you do so at your own risk.
  214.17 + *  This code and its internal interfaces are subject to change or
  214.18 + *  deletion without notice.</b>
  214.19 + *
  214.20   *  @author Neal Gafter
  214.21   */
  214.22  public class JavadocTodo extends Todo {
   215.1 --- a/src/share/classes/com/sun/tools/javadoc/JavadocTool.java	Thu Oct 18 11:09:45 2012 -0700
   215.2 +++ b/src/share/classes/com/sun/tools/javadoc/JavadocTool.java	Tue Oct 23 09:42:48 2012 -0700
   215.3 @@ -1,5 +1,5 @@
   215.4  /*
   215.5 - * Copyright (c) 2001, 2011, Oracle and/or its affiliates. All rights reserved.
   215.6 + * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved.
   215.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   215.8   *
   215.9   * This code is free software; you can redistribute it and/or modify it
  215.10 @@ -54,6 +54,12 @@
  215.11   *  component in a larger software system. It provides operations to
  215.12   *  construct a new javadoc processor, and to run it on a set of source
  215.13   *  files.
  215.14 + *
  215.15 + *  <p><b>This is NOT part of any supported API.
  215.16 + *  If you write code that depends on this, you do so at your own risk.
  215.17 + *  This code and its internal interfaces are subject to change or
  215.18 + *  deletion without notice.</b>
  215.19 + *
  215.20   *  @author Neal Gafter
  215.21   */
  215.22  public class JavadocTool extends com.sun.tools.javac.main.JavaCompiler {
  215.23 @@ -386,7 +392,7 @@
  215.24      /**
  215.25       * Return true if given file name is a valid class name
  215.26       * (including "package-info").
  215.27 -     * @param clazzname the name of the class to check.
  215.28 +     * @param s the name of the class to check.
  215.29       * @return true if given class name is a valid class name
  215.30       * and false otherwise.
  215.31       */
   216.1 --- a/src/share/classes/com/sun/tools/javadoc/Main.java	Thu Oct 18 11:09:45 2012 -0700
   216.2 +++ b/src/share/classes/com/sun/tools/javadoc/Main.java	Tue Oct 23 09:42:48 2012 -0700
   216.3 @@ -1,5 +1,5 @@
   216.4  /*
   216.5 - * Copyright (c) 2000, 2008, Oracle and/or its affiliates. All rights reserved.
   216.6 + * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
   216.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   216.8   *
   216.9   * This code is free software; you can redistribute it and/or modify it
  216.10 @@ -31,6 +31,11 @@
  216.11   * Provides external entry points (tool and programmatic)
  216.12   * for the javadoc program.
  216.13   *
  216.14 + *  <p><b>This is NOT part of any supported API.
  216.15 + *  If you write code that depends on this, you do so at your own risk.
  216.16 + *  This code and its internal interfaces are subject to change or
  216.17 + *  deletion without notice.</b>
  216.18 + *
  216.19   * @since 1.4
  216.20   */
  216.21  public class Main {
   217.1 --- a/src/share/classes/com/sun/tools/javadoc/MemberDocImpl.java	Thu Oct 18 11:09:45 2012 -0700
   217.2 +++ b/src/share/classes/com/sun/tools/javadoc/MemberDocImpl.java	Tue Oct 23 09:42:48 2012 -0700
   217.3 @@ -1,5 +1,5 @@
   217.4  /*
   217.5 - * Copyright (c) 1997, 2005, Oracle and/or its affiliates. All rights reserved.
   217.6 + * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
   217.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   217.8   *
   217.9   * This code is free software; you can redistribute it and/or modify it
  217.10 @@ -37,6 +37,11 @@
  217.11   * method, constructor and field members. Class members of a class
  217.12   * (nested classes) are represented instead by ClassDocImpl.
  217.13   *
  217.14 + *  <p><b>This is NOT part of any supported API.
  217.15 + *  If you write code that depends on this, you do so at your own risk.
  217.16 + *  This code and its internal interfaces are subject to change or
  217.17 + *  deletion without notice.</b>
  217.18 + *
  217.19   * @see MethodDocImpl
  217.20   * @see FieldDocImpl
  217.21   * @see ClassDocImpl
   218.1 --- a/src/share/classes/com/sun/tools/javadoc/Messager.java	Thu Oct 18 11:09:45 2012 -0700
   218.2 +++ b/src/share/classes/com/sun/tools/javadoc/Messager.java	Tue Oct 23 09:42:48 2012 -0700
   218.3 @@ -1,5 +1,5 @@
   218.4  /*
   218.5 - * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
   218.6 + * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
   218.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   218.8   *
   218.9   * This code is free software; you can redistribute it and/or modify it
  218.10 @@ -25,16 +25,14 @@
  218.11  
  218.12  package com.sun.tools.javadoc;
  218.13  
  218.14 -import java.io.PrintWriter;
  218.15 +import java.io.PrintWriter;  // Access to 'javac' output streams
  218.16  import java.text.MessageFormat;
  218.17 +import java.util.MissingResourceException;
  218.18  import java.util.ResourceBundle;
  218.19 -import java.util.MissingResourceException;
  218.20  
  218.21  import com.sun.javadoc.*;
  218.22 -
  218.23  import com.sun.tools.javac.util.Context;
  218.24 -
  218.25 -import com.sun.tools.javac.util.Log;  // Access to 'javac' output streams
  218.26 +import com.sun.tools.javac.util.Log;
  218.27  
  218.28  /**
  218.29   * Utility for integrating with javadoc tools and for localization.
  218.30 @@ -43,6 +41,11 @@
  218.31   * <br>
  218.32   * Also provides implementation for DocErrorReporter.
  218.33   *
  218.34 + *  <p><b>This is NOT part of any supported API.
  218.35 + *  If you write code that depends on this, you do so at your own risk.
  218.36 + *  This code and its internal interfaces are subject to change or
  218.37 + *  deletion without notice.</b>
  218.38 + *
  218.39   * @see java.util.ResourceBundle
  218.40   * @see java.text.MessageFormat
  218.41   * @author Neal Gafter (rewrite)
   219.1 --- a/src/share/classes/com/sun/tools/javadoc/MethodDocImpl.java	Thu Oct 18 11:09:45 2012 -0700
   219.2 +++ b/src/share/classes/com/sun/tools/javadoc/MethodDocImpl.java	Tue Oct 23 09:42:48 2012 -0700
   219.3 @@ -1,5 +1,5 @@
   219.4  /*
   219.5 - * Copyright (c) 1997, 2006, Oracle and/or its affiliates. All rights reserved.
   219.6 + * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
   219.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   219.8   *
   219.9   * This code is free software; you can redistribute it and/or modify it
  219.10 @@ -25,8 +25,9 @@
  219.11  
  219.12  package com.sun.tools.javadoc;
  219.13  
  219.14 +import java.lang.reflect.Modifier;
  219.15 +
  219.16  import com.sun.javadoc.*;
  219.17 -
  219.18  import com.sun.tools.javac.code.*;
  219.19  import com.sun.tools.javac.code.Symbol.*;
  219.20  import com.sun.tools.javac.code.Type;
  219.21 @@ -34,11 +35,14 @@
  219.22  import com.sun.tools.javac.tree.JCTree.JCMethodDecl;
  219.23  import com.sun.tools.javac.util.Position;
  219.24  
  219.25 -import java.lang.reflect.Modifier;
  219.26 -
  219.27  /**
  219.28   * Represents a method of a java class.
  219.29   *
  219.30 + *  <p><b>This is NOT part of any supported API.
  219.31 + *  If you write code that depends on this, you do so at your own risk.
  219.32 + *  This code and its internal interfaces are subject to change or
  219.33 + *  deletion without notice.</b>
  219.34 + *
  219.35   * @since 1.2
  219.36   * @author Robert Field
  219.37   * @author Neal Gafter (rewrite)
   220.1 --- a/src/share/classes/com/sun/tools/javadoc/ModifierFilter.java	Thu Oct 18 11:09:45 2012 -0700
   220.2 +++ b/src/share/classes/com/sun/tools/javadoc/ModifierFilter.java	Tue Oct 23 09:42:48 2012 -0700
   220.3 @@ -1,5 +1,5 @@
   220.4  /*
   220.5 - * Copyright (c) 2000, 2003, Oracle and/or its affiliates. All rights reserved.
   220.6 + * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
   220.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   220.8   *
   220.9   * This code is free software; you can redistribute it and/or modify it
  220.10 @@ -32,7 +32,13 @@
  220.11   *   Filtering is done by returning boolean values.
  220.12   *   Classes, methods and fields can be filtered, or filtering
  220.13   *   can be done directly on modifier bits.
  220.14 - *   @see com.sun.tools.javac.code.Flags;
  220.15 + *
  220.16 + *  <p><b>This is NOT part of any supported API.
  220.17 + *  If you write code that depends on this, you do so at your own risk.
  220.18 + *  This code and its internal interfaces are subject to change or
  220.19 + *  deletion without notice.</b>
  220.20 + *
  220.21 + *   @see com.sun.tools.javac.code.Flags
  220.22   *   @author Robert Field
  220.23   */
  220.24  
   221.1 --- a/src/share/classes/com/sun/tools/javadoc/PackageDocImpl.java	Thu Oct 18 11:09:45 2012 -0700
   221.2 +++ b/src/share/classes/com/sun/tools/javadoc/PackageDocImpl.java	Tue Oct 23 09:42:48 2012 -0700
   221.3 @@ -1,5 +1,5 @@
   221.4  /*
   221.5 - * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
   221.6 + * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
   221.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   221.8   *
   221.9   * This code is free software; you can redistribute it and/or modify it
  221.10 @@ -25,12 +25,12 @@
  221.11  
  221.12  package com.sun.tools.javadoc;
  221.13  
  221.14 +import java.io.IOException;
  221.15  import java.io.InputStream;
  221.16 -import java.io.IOException;
  221.17 +
  221.18  import javax.tools.FileObject;
  221.19  
  221.20  import com.sun.javadoc.*;
  221.21 -
  221.22  import com.sun.tools.javac.code.Attribute;
  221.23  import com.sun.tools.javac.code.Scope;
  221.24  import com.sun.tools.javac.code.Symbol.ClassSymbol;
  221.25 @@ -47,6 +47,11 @@
  221.26   * about the package, the package's comment and tags, and the
  221.27   * classes in the package.
  221.28   *
  221.29 + *  <p><b>This is NOT part of any supported API.
  221.30 + *  If you write code that depends on this, you do so at your own risk.
  221.31 + *  This code and its internal interfaces are subject to change or
  221.32 + *  deletion without notice.</b>
  221.33 + *
  221.34   * @since 1.2
  221.35   * @author Kaiyang Liu (original)
  221.36   * @author Robert Field (rewrite)
   222.1 --- a/src/share/classes/com/sun/tools/javadoc/ParamTagImpl.java	Thu Oct 18 11:09:45 2012 -0700
   222.2 +++ b/src/share/classes/com/sun/tools/javadoc/ParamTagImpl.java	Tue Oct 23 09:42:48 2012 -0700
   222.3 @@ -1,5 +1,5 @@
   222.4  /*
   222.5 - * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
   222.6 + * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
   222.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   222.8   *
   222.9   * This code is free software; you can redistribute it and/or modify it
  222.10 @@ -33,6 +33,11 @@
  222.11   * Represents an @param documentation tag.
  222.12   * Parses and stores the name and comment parts of the parameter tag.
  222.13   *
  222.14 + *  <p><b>This is NOT part of any supported API.
  222.15 + *  If you write code that depends on this, you do so at your own risk.
  222.16 + *  This code and its internal interfaces are subject to change or
  222.17 + *  deletion without notice.</b>
  222.18 + *
  222.19   * @author Robert Field
  222.20   *
  222.21   */
  222.22 @@ -101,8 +106,8 @@
  222.23       * TagImpls consisting of SeeTagImpl(s) and text containing TagImpl(s).
  222.24       *
  222.25       * @return TagImpl[] Array of tags with inline SeeTagImpls.
  222.26 -     * @see TagImpl#inlineTagImpls()
  222.27 -     * @see ThrowsTagImpl#inlineTagImpls()
  222.28 +     * @see TagImpl#inlineTags()
  222.29 +     * @see ThrowsTagImpl#inlineTags()
  222.30       */
  222.31      @Override
  222.32      public Tag[] inlineTags() {
   223.1 --- a/src/share/classes/com/sun/tools/javadoc/ParameterImpl.java	Thu Oct 18 11:09:45 2012 -0700
   223.2 +++ b/src/share/classes/com/sun/tools/javadoc/ParameterImpl.java	Tue Oct 23 09:42:48 2012 -0700
   223.3 @@ -1,5 +1,5 @@
   223.4  /*
   223.5 - * Copyright (c) 1997, 2005, Oracle and/or its affiliates. All rights reserved.
   223.6 + * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
   223.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   223.8   *
   223.9   * This code is free software; you can redistribute it and/or modify it
  223.10 @@ -29,12 +29,16 @@
  223.11  
  223.12  import com.sun.tools.javac.code.Attribute;
  223.13  import com.sun.tools.javac.code.Symbol.VarSymbol;
  223.14 -import com.sun.tools.javac.code.Type;
  223.15  
  223.16  /**
  223.17   * ParameterImpl information.
  223.18   * This includes a parameter type and parameter name.
  223.19   *
  223.20 + *  <p><b>This is NOT part of any supported API.
  223.21 + *  If you write code that depends on this, you do so at your own risk.
  223.22 + *  This code and its internal interfaces are subject to change or
  223.23 + *  deletion without notice.</b>
  223.24 + *
  223.25   * @author Kaiyang Liu (original)
  223.26   * @author Robert Field (rewrite)
  223.27   * @author Scott Seligman (generics, annotations)
   224.1 --- a/src/share/classes/com/sun/tools/javadoc/ParameterizedTypeImpl.java	Thu Oct 18 11:09:45 2012 -0700
   224.2 +++ b/src/share/classes/com/sun/tools/javadoc/ParameterizedTypeImpl.java	Tue Oct 23 09:42:48 2012 -0700
   224.3 @@ -1,5 +1,5 @@
   224.4  /*
   224.5 - * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
   224.6 + * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
   224.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   224.8   *
   224.9   * This code is free software; you can redistribute it and/or modify it
  224.10 @@ -38,6 +38,11 @@
  224.11   * Implementation of <code>ParameterizedType</code>, which
  224.12   * represents an invocation of a generic class or interface.
  224.13   *
  224.14 + *  <p><b>This is NOT part of any supported API.
  224.15 + *  If you write code that depends on this, you do so at your own risk.
  224.16 + *  This code and its internal interfaces are subject to change or
  224.17 + *  deletion without notice.</b>
  224.18 + *
  224.19   * @author Scott Seligman
  224.20   * @since 1.5
  224.21   */
   225.1 --- a/src/share/classes/com/sun/tools/javadoc/PrimitiveType.java	Thu Oct 18 11:09:45 2012 -0700
   225.2 +++ b/src/share/classes/com/sun/tools/javadoc/PrimitiveType.java	Tue Oct 23 09:42:48 2012 -0700
   225.3 @@ -1,5 +1,5 @@
   225.4  /*
   225.5 - * Copyright (c) 2001, 2003, Oracle and/or its affiliates. All rights reserved.
   225.6 + * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved.
   225.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   225.8   *
   225.9   * This code is free software; you can redistribute it and/or modify it
  225.10 @@ -27,13 +27,12 @@
  225.11  
  225.12  import com.sun.javadoc.*;
  225.13  
  225.14 -import com.sun.tools.javac.code.Symbol;
  225.15 -import com.sun.tools.javac.code.Symbol.ClassSymbol;
  225.16 -
  225.17 -import com.sun.tools.javac.code.Type;
  225.18 -import com.sun.tools.javac.code.TypeTags;
  225.19 -import com.sun.tools.javac.code.Type.ClassType;
  225.20 -
  225.21 +/**
  225.22 + *  <p><b>This is NOT part of any supported API.
  225.23 + *  If you write code that depends on this, you do so at your own risk.
  225.24 + *  This code and its internal interfaces are subject to change or
  225.25 + *  deletion without notice.</b>
  225.26 + */
  225.27  class PrimitiveType implements com.sun.javadoc.Type {
  225.28  
  225.29      private final String name;
   226.1 --- a/src/share/classes/com/sun/tools/javadoc/ProgramElementDocImpl.java	Thu Oct 18 11:09:45 2012 -0700
   226.2 +++ b/src/share/classes/com/sun/tools/javadoc/ProgramElementDocImpl.java	Tue Oct 23 09:42:48 2012 -0700
   226.3 @@ -1,5 +1,5 @@
   226.4  /*
   226.5 - * Copyright (c) 1997, 2006, Oracle and/or its affiliates. All rights reserved.
   226.6 + * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
   226.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   226.8   *
   226.9   * This code is free software; you can redistribute it and/or modify it
  226.10 @@ -25,26 +25,27 @@
  226.11  
  226.12  package com.sun.tools.javadoc;
  226.13  
  226.14 +import java.lang.reflect.Modifier;
  226.15 +import java.text.CollationKey;
  226.16 +
  226.17  import com.sun.javadoc.*;
  226.18 -
  226.19  import com.sun.tools.javac.code.Attribute;
  226.20 -import com.sun.tools.javac.code.Flags;
  226.21  import com.sun.tools.javac.code.Symbol;
  226.22  import com.sun.tools.javac.code.Symbol.ClassSymbol;
  226.23 -
  226.24  import com.sun.tools.javac.tree.JCTree;
  226.25 -
  226.26  import com.sun.tools.javac.util.Position;
  226.27  
  226.28 -import java.lang.reflect.Modifier;
  226.29 -import java.text.CollationKey;
  226.30 -
  226.31  /**
  226.32   * Represents a java program element: class, interface, field,
  226.33   * constructor, or method.
  226.34   * This is an abstract class dealing with information common to
  226.35   * these elements.
  226.36   *
  226.37 + *  <p><b>This is NOT part of any supported API.
  226.38 + *  If you write code that depends on this, you do so at your own risk.
  226.39 + *  This code and its internal interfaces are subject to change or
  226.40 + *  deletion without notice.</b>
  226.41 + *
  226.42   * @see MemberDocImpl
  226.43   * @see ClassDocImpl
  226.44   *
   227.1 --- a/src/share/classes/com/sun/tools/javadoc/RootDocImpl.java	Thu Oct 18 11:09:45 2012 -0700
   227.2 +++ b/src/share/classes/com/sun/tools/javadoc/RootDocImpl.java	Tue Oct 23 09:42:48 2012 -0700
   227.3 @@ -1,5 +1,5 @@
   227.4  /*
   227.5 - * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
   227.6 + * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
   227.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   227.8   *
   227.9   * This code is free software; you can redistribute it and/or modify it
  227.10 @@ -40,7 +40,12 @@
  227.11  /**
  227.12   * This class holds the information from one run of javadoc.
  227.13   * Particularly the packages, classes and options specified
  227.14 - * by the user..
  227.15 + * by the user.
  227.16 + *
  227.17 + *  <p><b>This is NOT part of any supported API.
  227.18 + *  If you write code that depends on this, you do so at your own risk.
  227.19 + *  This code and its internal interfaces are subject to change or
  227.20 + *  deletion without notice.</b>
  227.21   *
  227.22   * @since 1.2
  227.23   * @author Robert Field
   228.1 --- a/src/share/classes/com/sun/tools/javadoc/SeeTagImpl.java	Thu Oct 18 11:09:45 2012 -0700
   228.2 +++ b/src/share/classes/com/sun/tools/javadoc/SeeTagImpl.java	Tue Oct 23 09:42:48 2012 -0700
   228.3 @@ -1,5 +1,5 @@
   228.4  /*
   228.5 - * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
   228.6 + * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
   228.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   228.8   *
   228.9   * This code is free software; you can redistribute it and/or modify it
  228.10 @@ -25,14 +25,18 @@
  228.11  
  228.12  package com.sun.tools.javadoc;
  228.13  
  228.14 +import com.sun.javadoc.*;
  228.15  import com.sun.tools.javac.util.*;
  228.16  
  228.17 -import com.sun.javadoc.*;
  228.18 -
  228.19  /**
  228.20   * Represents a see also documentation tag.
  228.21   * The @see tag can be plain text, or reference a class or member.
  228.22   *
  228.23 + *  <p><b>This is NOT part of any supported API.
  228.24 + *  If you write code that depends on this, you do so at your own risk.
  228.25 + *  This code and its internal interfaces are subject to change or
  228.26 + *  deletion without notice.</b>
  228.27 + *
  228.28   * @author Kaiyang Liu (original)
  228.29   * @author Robert Field (rewrite)
  228.30   * @author Atul M Dambalkar
   229.1 --- a/src/share/classes/com/sun/tools/javadoc/SerialFieldTagImpl.java	Thu Oct 18 11:09:45 2012 -0700
   229.2 +++ b/src/share/classes/com/sun/tools/javadoc/SerialFieldTagImpl.java	Tue Oct 23 09:42:48 2012 -0700
   229.3 @@ -1,5 +1,5 @@
   229.4  /*
   229.5 - * Copyright (c) 1998, 2011, Oracle and/or its affiliates. All rights reserved.
   229.6 + * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved.
   229.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   229.8   *
   229.9   * This code is free software; you can redistribute it and/or modify it
  229.10 @@ -41,6 +41,11 @@
  229.11   * This tag is only allowed in the javadoc for the special member
  229.12   * serialPersistentFields.
  229.13   *
  229.14 + *  <p><b>This is NOT part of any supported API.
  229.15 + *  If you write code that depends on this, you do so at your own risk.
  229.16 + *  This code and its internal interfaces are subject to change or
  229.17 + *  deletion without notice.</b>
  229.18 + *
  229.19   * @author Joe Fialli
  229.20   * @author Neal Gafter
  229.21   *
   230.1 --- a/src/share/classes/com/sun/tools/javadoc/SerializedForm.java	Thu Oct 18 11:09:45 2012 -0700
   230.2 +++ b/src/share/classes/com/sun/tools/javadoc/SerializedForm.java	Tue Oct 23 09:42:48 2012 -0700
   230.3 @@ -1,5 +1,5 @@
   230.4  /*
   230.5 - * Copyright (c) 1998, 2008, Oracle and/or its affiliates. All rights reserved.
   230.6 + * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved.
   230.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   230.8   *
   230.9   * This code is free software; you can redistribute it and/or modify it
  230.10 @@ -26,15 +26,14 @@
  230.11  package com.sun.tools.javadoc;
  230.12  
  230.13  import com.sun.javadoc.*;
  230.14 -
  230.15  import com.sun.tools.javac.code.Flags;
  230.16  import com.sun.tools.javac.code.Kinds;
  230.17  import com.sun.tools.javac.code.Scope;
  230.18 -import com.sun.tools.javac.code.Symbol.VarSymbol;
  230.19  import com.sun.tools.javac.code.Symbol.ClassSymbol;
  230.20  import com.sun.tools.javac.code.Symbol.MethodSymbol;
  230.21 +import com.sun.tools.javac.code.Symbol.VarSymbol;
  230.22 +import com.sun.tools.javac.util.ListBuffer;
  230.23  import com.sun.tools.javac.util.Name;
  230.24 -import com.sun.tools.javac.util.ListBuffer;
  230.25  import com.sun.tools.javac.util.Names;
  230.26  
  230.27  /**
  230.28 @@ -59,6 +58,11 @@
  230.29   *    b. For Externalizable, data layout is described by 2(b).
  230.30   * </pre>
  230.31   *
  230.32 + *  <p><b>This is NOT part of any supported API.
  230.33 + *  If you write code that depends on this, you do so at your own risk.
  230.34 + *  This code and its internal interfaces are subject to change or
  230.35 + *  deletion without notice.</b>
  230.36 + *
  230.37   * @since 1.2
  230.38   * @author Joe Fialli
  230.39   * @author Neal Gafter (rewrite but not too proud)
   231.1 --- a/src/share/classes/com/sun/tools/javadoc/SourcePositionImpl.java	Thu Oct 18 11:09:45 2012 -0700
   231.2 +++ b/src/share/classes/com/sun/tools/javadoc/SourcePositionImpl.java	Tue Oct 23 09:42:48 2012 -0700
   231.3 @@ -1,5 +1,5 @@
   231.4  /*
   231.5 - * Copyright (c) 2001, 2009, Oracle and/or its affiliates. All rights reserved.
   231.6 + * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved.
   231.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   231.8   *
   231.9   * This code is free software; you can redistribute it and/or modify it
  231.10 @@ -34,6 +34,11 @@
  231.11  /**
  231.12   * A source position: filename, line number, and column number.
  231.13   *
  231.14 + *  <p><b>This is NOT part of any supported API.
  231.15 + *  If you write code that depends on this, you do so at your own risk.
  231.16 + *  This code and its internal interfaces are subject to change or
  231.17 + *  deletion without notice.</b>
  231.18 + *
  231.19   * @since J2SE1.4
  231.20   * @author Neal M Gafter
  231.21   * @author Michael Van De Vanter (position representation changed to char offsets)
   232.1 --- a/src/share/classes/com/sun/tools/javadoc/Start.java	Thu Oct 18 11:09:45 2012 -0700
   232.2 +++ b/src/share/classes/com/sun/tools/javadoc/Start.java	Tue Oct 23 09:42:48 2012 -0700
   232.3 @@ -1,5 +1,5 @@
   232.4  /*
   232.5 - * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
   232.6 + * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
   232.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   232.8   *
   232.9   * This code is free software; you can redistribute it and/or modify it
  232.10 @@ -25,28 +25,30 @@
  232.11  
  232.12  package com.sun.tools.javadoc;
  232.13  
  232.14 +import java.io.File;
  232.15 +import java.io.FileNotFoundException;
  232.16 +import java.io.IOException;
  232.17 +import java.io.PrintWriter;
  232.18 +import java.util.StringTokenizer;
  232.19 +
  232.20  import com.sun.javadoc.*;
  232.21 -
  232.22  import com.sun.tools.javac.main.CommandLine;
  232.23  import com.sun.tools.javac.util.Context;
  232.24  import com.sun.tools.javac.util.List;
  232.25  import com.sun.tools.javac.util.ListBuffer;
  232.26  import com.sun.tools.javac.util.Log;
  232.27  import com.sun.tools.javac.util.Options;
  232.28 -
  232.29 -import java.io.IOException;
  232.30 -import java.io.File;
  232.31 -import java.io.FileNotFoundException;
  232.32 -import java.io.PrintWriter;
  232.33 -
  232.34 -import java.util.StringTokenizer;
  232.35 -
  232.36  import static com.sun.tools.javac.code.Flags.*;
  232.37  
  232.38  /**
  232.39   * Main program of Javadoc.
  232.40   * Previously named "Main".
  232.41   *
  232.42 + *  <p><b>This is NOT part of any supported API.
  232.43 + *  If you write code that depends on this, you do so at your own risk.
  232.44 + *  This code and its internal interfaces are subject to change or
  232.45 + *  deletion without notice.</b>
  232.46 + *
  232.47   * @since 1.2
  232.48   * @author Robert Field
  232.49   * @author Neal Gafter (rewrite)
   233.1 --- a/src/share/classes/com/sun/tools/javadoc/TagImpl.java	Thu Oct 18 11:09:45 2012 -0700
   233.2 +++ b/src/share/classes/com/sun/tools/javadoc/TagImpl.java	Tue Oct 23 09:42:48 2012 -0700
   233.3 @@ -1,5 +1,5 @@
   233.4  /*
   233.5 - * Copyright (c) 1997, 2004, Oracle and/or its affiliates. All rights reserved.
   233.6 + * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
   233.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   233.8   *
   233.9   * This code is free software; you can redistribute it and/or modify it
  233.10 @@ -34,6 +34,11 @@
  233.11   * special processing are handled by subclasses (ParamTagImpl, SeeTagImpl,
  233.12   * and ThrowsTagImpl
  233.13   *
  233.14 + *  <p><b>This is NOT part of any supported API.
  233.15 + *  If you write code that depends on this, you do so at your own risk.
  233.16 + *  This code and its internal interfaces are subject to change or
  233.17 + *  deletion without notice.</b>
  233.18 + *
  233.19   * @author Robert Field
  233.20   * @author Atul M Dambalkar
  233.21   * @author Neal M Gafter
   234.1 --- a/src/share/classes/com/sun/tools/javadoc/ThrowsTagImpl.java	Thu Oct 18 11:09:45 2012 -0700
   234.2 +++ b/src/share/classes/com/sun/tools/javadoc/ThrowsTagImpl.java	Tue Oct 23 09:42:48 2012 -0700
   234.3 @@ -1,5 +1,5 @@
   234.4  /*
   234.5 - * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
   234.6 + * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
   234.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   234.8   *
   234.9   * This code is free software; you can redistribute it and/or modify it
  234.10 @@ -33,6 +33,11 @@
  234.11   * The exception name my be the name of a type variable.
  234.12   * Note: @exception is a backwards compatible synonymy for @throws.
  234.13   *
  234.14 + *  <p><b>This is NOT part of any supported API.
  234.15 + *  If you write code that depends on this, you do so at your own risk.
  234.16 + *  This code and its internal interfaces are subject to change or
  234.17 + *  deletion without notice.</b>
  234.18 + *
  234.19   * @author Robert Field
  234.20   * @author Atul M Dambalkar
  234.21   * @see ExecutableMemberDocImpl#throwsTags()
  234.22 @@ -108,8 +113,8 @@
  234.23       * TagImpls consisting of SeeTagImpl(s) and text containing TagImpl(s).
  234.24       *
  234.25       * @return TagImpl[] Array of tags with inline SeeTagImpls.
  234.26 -     * @see TagImpl#inlineTagImpls()
  234.27 -     * @see ParamTagImpl#inlineTagImpls()
  234.28 +     * @see TagImpl#inlineTags()
  234.29 +     * @see ParamTagImpl#inlineTags()
  234.30       */
  234.31      @Override
  234.32      public Tag[] inlineTags() {
   235.1 --- a/src/share/classes/com/sun/tools/javadoc/TypeMaker.java	Thu Oct 18 11:09:45 2012 -0700
   235.2 +++ b/src/share/classes/com/sun/tools/javadoc/TypeMaker.java	Tue Oct 23 09:42:48 2012 -0700
   235.3 @@ -1,5 +1,5 @@
   235.4  /*
   235.5 - * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
   235.6 + * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
   235.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   235.8   *
   235.9   * This code is free software; you can redistribute it and/or modify it
  235.10 @@ -26,18 +26,21 @@
  235.11  package com.sun.tools.javadoc;
  235.12  
  235.13  import com.sun.javadoc.*;
  235.14 -
  235.15  import com.sun.tools.javac.code.Symbol;
  235.16  import com.sun.tools.javac.code.Symbol.ClassSymbol;
  235.17  import com.sun.tools.javac.code.Type;
  235.18 +import com.sun.tools.javac.code.Type.ArrayType;
  235.19  import com.sun.tools.javac.code.Type.ClassType;
  235.20  import com.sun.tools.javac.code.Type.TypeVar;
  235.21 -import com.sun.tools.javac.code.Type.ArrayType;
  235.22  import com.sun.tools.javac.util.List;
  235.23 -
  235.24  import static com.sun.tools.javac.code.TypeTags.*;
  235.25  
  235.26 -
  235.27 +/**
  235.28 + *  <p><b>This is NOT part of any supported API.
  235.29 + *  If you write code that depends on this, you do so at your own risk.
  235.30 + *  This code and its internal interfaces are subject to change or
  235.31 + *  deletion without notice.</b>
  235.32 + */
  235.33  public class TypeMaker {
  235.34  
  235.35      public static com.sun.javadoc.Type getType(DocEnv env, Type t) {
   236.1 --- a/src/share/classes/com/sun/tools/javadoc/TypeVariableImpl.java	Thu Oct 18 11:09:45 2012 -0700
   236.2 +++ b/src/share/classes/com/sun/tools/javadoc/TypeVariableImpl.java	Tue Oct 23 09:42:48 2012 -0700
   236.3 @@ -1,5 +1,5 @@
   236.4  /*
   236.5 - * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
   236.6 + * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
   236.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   236.8   *
   236.9   * This code is free software; you can redistribute it and/or modify it
  236.10 @@ -25,7 +25,6 @@
  236.11  
  236.12  package com.sun.tools.javadoc;
  236.13  
  236.14 -
  236.15  import com.sun.javadoc.*;
  236.16  
  236.17  import com.sun.tools.javac.code.Kinds;
  236.18 @@ -42,6 +41,11 @@
  236.19   * Implementation of <code>TypeVariable</code>, which
  236.20   * represents a type variable.
  236.21   *
  236.22 + *  <p><b>This is NOT part of any supported API.
  236.23 + *  If you write code that depends on this, you do so at your own risk.
  236.24 + *  This code and its internal interfaces are subject to change or
  236.25 + *  deletion without notice.</b>
  236.26 + *
  236.27   * @author Scott Seligman
  236.28   * @since 1.5
  236.29   */
   237.1 --- a/src/share/classes/com/sun/tools/javadoc/WildcardTypeImpl.java	Thu Oct 18 11:09:45 2012 -0700
   237.2 +++ b/src/share/classes/com/sun/tools/javadoc/WildcardTypeImpl.java	Tue Oct 23 09:42:48 2012 -0700
   237.3 @@ -1,5 +1,5 @@
   237.4  /*
   237.5 - * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
   237.6 + * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
   237.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   237.8   *
   237.9   * This code is free software; you can redistribute it and/or modify it
  237.10 @@ -25,7 +25,6 @@
  237.11  
  237.12  package com.sun.tools.javadoc;
  237.13  
  237.14 -
  237.15  import com.sun.javadoc.*;
  237.16  
  237.17  import com.sun.tools.javac.code.Symbol.ClassSymbol;
  237.18 @@ -37,6 +36,11 @@
  237.19   * Implementation of <code>WildcardType</code>, which
  237.20   * represents a wildcard type.
  237.21   *
  237.22 + *  <p><b>This is NOT part of any supported API.
  237.23 + *  If you write code that depends on this, you do so at your own risk.
  237.24 + *  This code and its internal interfaces are subject to change or
  237.25 + *  deletion without notice.</b>
  237.26 + *
  237.27   * @author Scott Seligman
  237.28   * @since 1.5
  237.29   */
   238.1 --- a/src/share/classes/com/sun/tools/javah/Gen.java	Thu Oct 18 11:09:45 2012 -0700
   238.2 +++ b/src/share/classes/com/sun/tools/javah/Gen.java	Tue Oct 23 09:42:48 2012 -0700
   238.3 @@ -1,5 +1,5 @@
   238.4  /*
   238.5 - * Copyright (c) 2002, 2009, Oracle and/or its affiliates. All rights reserved.
   238.6 + * Copyright (c) 2002, 2012, Oracle and/or its affiliates. All rights reserved.
   238.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   238.8   *
   238.9   * This code is free software; you can redistribute it and/or modify it
  238.10 @@ -287,7 +287,7 @@
  238.11                          constString = value.toString();
  238.12                  }
  238.13                  if (constString != null) {
  238.14 -                    StringBuffer s = new StringBuffer("#undef ");
  238.15 +                    StringBuilder s = new StringBuilder("#undef ");
  238.16                      s.append(cname); s.append("_"); s.append(fname); s.append(lineSep);
  238.17                      s.append("#define "); s.append(cname); s.append("_");
  238.18                      s.append(fname); s.append(" "); s.append(constString);
  238.19 @@ -370,7 +370,7 @@
  238.20  
  238.21      // c.f. MethodDoc.signature
  238.22      String signature(ExecutableElement e) {
  238.23 -        StringBuffer sb = new StringBuffer("(");
  238.24 +        StringBuilder sb = new StringBuilder("(");
  238.25          String sep = "";
  238.26          for (VariableElement p: e.getParameters()) {
  238.27              sb.append(sep);
   239.1 --- a/src/share/classes/com/sun/tools/javah/LLNI.java	Thu Oct 18 11:09:45 2012 -0700
   239.2 +++ b/src/share/classes/com/sun/tools/javah/LLNI.java	Tue Oct 23 09:42:48 2012 -0700
   239.3 @@ -1,5 +1,5 @@
   239.4  /*
   239.5 - * Copyright (c) 2002, 2011, Oracle and/or its affiliates. All rights reserved.
   239.6 + * Copyright (c) 2002, 2012, Oracle and/or its affiliates. All rights reserved.
   239.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   239.8   *
   239.9   * This code is free software; you can redistribute it and/or modify it
  239.10 @@ -647,7 +647,7 @@
  239.11         %%% This may not be right, but should be called more often. */
  239.12      protected final String nameToIdentifier(String name) {
  239.13          int len = name.length();
  239.14 -        StringBuffer buf = new StringBuffer(len);
  239.15 +        StringBuilder buf = new StringBuilder(len);
  239.16          for (int i = 0; i < len; i++) {
  239.17              char c = name.charAt(i);
  239.18              if (isASCIILetterOrDigit(c))
   240.1 --- a/src/share/classes/com/sun/tools/javah/Mangle.java	Thu Oct 18 11:09:45 2012 -0700
   240.2 +++ b/src/share/classes/com/sun/tools/javah/Mangle.java	Tue Oct 23 09:42:48 2012 -0700
   240.3 @@ -1,5 +1,5 @@
   240.4  /*
   240.5 - * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
   240.6 + * Copyright (c) 2002, 2012, Oracle and/or its affiliates. All rights reserved.
   240.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   240.8   *
   240.9   * This code is free software; you can redistribute it and/or modify it
  240.10 @@ -66,7 +66,7 @@
  240.11      }
  240.12  
  240.13      public final String mangle(CharSequence name, int mtype) {
  240.14 -        StringBuffer result = new StringBuffer(100);
  240.15 +        StringBuilder result = new StringBuilder(100);
  240.16          int length = name.length();
  240.17  
  240.18          for (int i = 0; i < length; i++) {
  240.19 @@ -115,7 +115,7 @@
  240.20  
  240.21      public String mangleMethod(ExecutableElement method, TypeElement clazz,
  240.22                                        int mtype) throws TypeSignature.SignatureException {
  240.23 -        StringBuffer result = new StringBuffer(100);
  240.24 +        StringBuilder result = new StringBuilder(100);
  240.25          result.append("Java_");
  240.26  
  240.27          if (mtype == Mangle.Type.METHOD_JDK_1) {
  240.28 @@ -164,7 +164,7 @@
  240.29  
  240.30      // Warning: duplicated in Gen
  240.31      private String signature(ExecutableElement e) {
  240.32 -        StringBuffer sb = new StringBuffer();
  240.33 +        StringBuilder sb = new StringBuilder();
  240.34          String sep = "(";
  240.35          for (VariableElement p: e.getParameters()) {
  240.36              sb.append(sep);
   241.1 --- a/src/share/classes/com/sun/tools/javah/NativeHeaderTool.java	Thu Oct 18 11:09:45 2012 -0700
   241.2 +++ b/src/share/classes/com/sun/tools/javah/NativeHeaderTool.java	Tue Oct 23 09:42:48 2012 -0700
   241.3 @@ -1,5 +1,5 @@
   241.4  /*
   241.5 - * Copyright (c) 2005, 2006, Oracle and/or its affiliates. All rights reserved.
   241.6 + * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
   241.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   241.8   *
   241.9   * This code is free software; you can redistribute it and/or modify it
  241.10 @@ -29,11 +29,13 @@
  241.11  import java.nio.charset.Charset;
  241.12  import java.util.Locale;
  241.13  import java.util.concurrent.Callable;
  241.14 +import javax.tools.Diagnostic;
  241.15  import javax.tools.DiagnosticListener;
  241.16  import javax.tools.JavaFileManager;
  241.17  import javax.tools.JavaFileObject;
  241.18  import javax.tools.OptionChecker;
  241.19  import javax.tools.StandardJavaFileManager;
  241.20 +import javax.tools.StandardLocation;
  241.21  import javax.tools.Tool;
  241.22  
  241.23  /**
   242.1 --- a/src/share/classes/com/sun/tools/javap/DisassemblerTool.java	Thu Oct 18 11:09:45 2012 -0700
   242.2 +++ b/src/share/classes/com/sun/tools/javap/DisassemblerTool.java	Tue Oct 23 09:42:48 2012 -0700
   242.3 @@ -1,5 +1,5 @@
   242.4  /*
   242.5 - * Copyright (c) 2005, 2008, Oracle and/or its affiliates. All rights reserved.
   242.6 + * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
   242.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   242.8   *
   242.9   * This code is free software; you can redistribute it and/or modify it
  242.10 @@ -29,11 +29,13 @@
  242.11  import java.nio.charset.Charset;
  242.12  import java.util.Locale;
  242.13  import java.util.concurrent.Callable;
  242.14 +import javax.tools.Diagnostic;
  242.15  import javax.tools.DiagnosticListener;
  242.16  import javax.tools.JavaFileManager;
  242.17  import javax.tools.JavaFileObject;
  242.18  import javax.tools.OptionChecker;
  242.19  import javax.tools.StandardJavaFileManager;
  242.20 +import javax.tools.StandardLocation;
  242.21  import javax.tools.Tool;
  242.22  
  242.23  /**
  242.24 @@ -69,9 +71,7 @@
  242.25       * @param options compiler options, {@code null} means no options
  242.26       * @param classes class names (for annotation processing), {@code
  242.27       * null} means no class names
  242.28 -     * @param compilationUnits the compilation units to compile, {@code
  242.29 -     * null} means no compilation units
  242.30 -     * @return an object representing the compilation
  242.31 +     * @return a task to perform the disassembly
  242.32       * @throws RuntimeException if an unrecoverable error
  242.33       * occurred in a user supplied component.  The
  242.34       * {@linkplain Throwable#getCause() cause} will be the error in
   243.1 --- a/src/share/classes/javax/annotation/processing/Completions.java	Thu Oct 18 11:09:45 2012 -0700
   243.2 +++ b/src/share/classes/javax/annotation/processing/Completions.java	Tue Oct 23 09:42:48 2012 -0700
   243.3 @@ -1,5 +1,5 @@
   243.4  /*
   243.5 - * Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved.
   243.6 + * Copyright (c) 2006, 2012, Oracle and/or its affiliates. All rights reserved.
   243.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   243.8   *
   243.9   * This code is free software; you can redistribute it and/or modify it
  243.10 @@ -25,8 +25,6 @@
  243.11  
  243.12  package javax.annotation.processing;
  243.13  
  243.14 -import java.util.Arrays;
  243.15 -
  243.16  /**
  243.17   * Utility class for assembling {@link Completion} objects.
  243.18   *
   244.1 --- a/src/share/classes/javax/annotation/processing/FilerException.java	Thu Oct 18 11:09:45 2012 -0700
   244.2 +++ b/src/share/classes/javax/annotation/processing/FilerException.java	Tue Oct 23 09:42:48 2012 -0700
   244.3 @@ -1,5 +1,5 @@
   244.4  /*
   244.5 - * Copyright (c) 2005, 2006, Oracle and/or its affiliates. All rights reserved.
   244.6 + * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
   244.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   244.8   *
   244.9   * This code is free software; you can redistribute it and/or modify it
  244.10 @@ -26,7 +26,6 @@
  244.11  package javax.annotation.processing;
  244.12  
  244.13  import java.io.IOException;
  244.14 -import javax.annotation.processing.Filer;
  244.15  
  244.16  /**
  244.17   * Indicates a {@link Filer} detected an attempt to open a file that
   245.1 --- a/src/share/classes/javax/annotation/processing/ProcessingEnvironment.java	Thu Oct 18 11:09:45 2012 -0700
   245.2 +++ b/src/share/classes/javax/annotation/processing/ProcessingEnvironment.java	Tue Oct 23 09:42:48 2012 -0700
   245.3 @@ -1,5 +1,5 @@
   245.4  /*
   245.5 - * Copyright (c) 2005, 2006, Oracle and/or its affiliates. All rights reserved.
   245.6 + * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
   245.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   245.8   *
   245.9   * This code is free software; you can redistribute it and/or modify it
  245.10 @@ -26,12 +26,10 @@
  245.11  package javax.annotation.processing;
  245.12  
  245.13  import java.util.Map;
  245.14 -import java.util.List;
  245.15  import java.util.Locale;
  245.16  import javax.lang.model.SourceVersion;
  245.17  import javax.lang.model.util.Elements;
  245.18  import javax.lang.model.util.Types;
  245.19 -import java.io.File;
  245.20  
  245.21  /**
  245.22   * An annotation processing tool framework will {@linkplain
   246.1 --- a/src/share/classes/javax/lang/model/element/AnnotationValue.java	Thu Oct 18 11:09:45 2012 -0700
   246.2 +++ b/src/share/classes/javax/lang/model/element/AnnotationValue.java	Tue Oct 23 09:42:48 2012 -0700
   246.3 @@ -1,5 +1,5 @@
   246.4  /*
   246.5 - * Copyright (c) 2005, 2006, Oracle and/or its affiliates. All rights reserved.
   246.6 + * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
   246.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   246.8   *
   246.9   * This code is free software; you can redistribute it and/or modify it
  246.10 @@ -25,10 +25,6 @@
  246.11  
  246.12  package javax.lang.model.element;
  246.13  
  246.14 -
  246.15 -import java.util.List;
  246.16 -import javax.lang.model.type.*;
  246.17 -
  246.18  /**
  246.19   * Represents a value of an annotation type element.
  246.20   * A value is of one of the following types:
   247.1 --- a/src/share/classes/javax/lang/model/element/Element.java	Thu Oct 18 11:09:45 2012 -0700
   247.2 +++ b/src/share/classes/javax/lang/model/element/Element.java	Tue Oct 23 09:42:48 2012 -0700
   247.3 @@ -32,7 +32,6 @@
   247.4  import java.util.List;
   247.5  import java.util.Set;
   247.6  
   247.7 -import javax.lang.model.element.Modifier;
   247.8  import javax.lang.model.type.*;
   247.9  import javax.lang.model.util.*;
  247.10  
   248.1 --- a/src/share/classes/javax/lang/model/element/ExecutableElement.java	Thu Oct 18 11:09:45 2012 -0700
   248.2 +++ b/src/share/classes/javax/lang/model/element/ExecutableElement.java	Tue Oct 23 09:42:48 2012 -0700
   248.3 @@ -1,5 +1,5 @@
   248.4  /*
   248.5 - * Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
   248.6 + * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
   248.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   248.8   *
   248.9   * This code is free software; you can redistribute it and/or modify it
  248.10 @@ -26,7 +26,6 @@
  248.11  package javax.lang.model.element;
  248.12  
  248.13  import java.util.List;
  248.14 -import javax.lang.model.util.Types;
  248.15  import javax.lang.model.type.*;
  248.16  
  248.17  /**
   249.1 --- a/src/share/classes/javax/lang/model/element/VariableElement.java	Thu Oct 18 11:09:45 2012 -0700
   249.2 +++ b/src/share/classes/javax/lang/model/element/VariableElement.java	Tue Oct 23 09:42:48 2012 -0700
   249.3 @@ -1,5 +1,5 @@
   249.4  /*
   249.5 - * Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
   249.6 + * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
   249.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   249.8   *
   249.9   * This code is free software; you can redistribute it and/or modify it
  249.10 @@ -25,7 +25,6 @@
  249.11  
  249.12  package javax.lang.model.element;
  249.13  
  249.14 -import javax.lang.model.type.TypeMirror;
  249.15  import javax.lang.model.util.Elements;
  249.16  
  249.17  /**
   250.1 --- a/src/share/classes/javax/lang/model/type/MirroredTypeException.java	Thu Oct 18 11:09:45 2012 -0700
   250.2 +++ b/src/share/classes/javax/lang/model/type/MirroredTypeException.java	Tue Oct 23 09:42:48 2012 -0700
   250.3 @@ -1,5 +1,5 @@
   250.4  /*
   250.5 - * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
   250.6 + * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
   250.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   250.8   *
   250.9   * This code is free software; you can redistribute it and/or modify it
  250.10 @@ -27,7 +27,6 @@
  250.11  
  250.12  import java.io.ObjectInputStream;
  250.13  import java.io.IOException;
  250.14 -import java.lang.annotation.Annotation;
  250.15  import javax.lang.model.element.Element;
  250.16  
  250.17  
   251.1 --- a/src/share/classes/javax/lang/model/type/MirroredTypesException.java	Thu Oct 18 11:09:45 2012 -0700
   251.2 +++ b/src/share/classes/javax/lang/model/type/MirroredTypesException.java	Tue Oct 23 09:42:48 2012 -0700
   251.3 @@ -1,5 +1,5 @@
   251.4  /*
   251.5 - * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
   251.6 + * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
   251.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   251.8   *
   251.9   * This code is free software; you can redistribute it and/or modify it
  251.10 @@ -25,7 +25,6 @@
  251.11  
  251.12  package javax.lang.model.type;
  251.13  
  251.14 -import java.lang.annotation.Annotation;
  251.15  import java.util.ArrayList;
  251.16  import java.util.List;
  251.17  import java.util.Collections;
   252.1 --- a/src/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor6.java	Thu Oct 18 11:09:45 2012 -0700
   252.2 +++ b/src/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor6.java	Tue Oct 23 09:42:48 2012 -0700
   252.3 @@ -1,5 +1,5 @@
   252.4  /*
   252.5 - * Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
   252.6 + * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
   252.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   252.8   *
   252.9   * This code is free software; you can redistribute it and/or modify it
  252.10 @@ -26,10 +26,8 @@
  252.11  package javax.lang.model.util;
  252.12  
  252.13  
  252.14 -import java.util.List;
  252.15  import javax.lang.model.element.*;
  252.16  
  252.17 -import javax.lang.model.type.TypeMirror;
  252.18  import static javax.lang.model.SourceVersion.*;
  252.19  import javax.lang.model.SourceVersion;
  252.20  import javax.annotation.processing.SupportedSourceVersion;
   253.1 --- a/src/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor7.java	Thu Oct 18 11:09:45 2012 -0700
   253.2 +++ b/src/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor7.java	Tue Oct 23 09:42:48 2012 -0700
   253.3 @@ -25,10 +25,6 @@
   253.4  
   253.5  package javax.lang.model.util;
   253.6  
   253.7 -import java.util.List;
   253.8 -import javax.lang.model.element.*;
   253.9 -
  253.10 -import javax.lang.model.type.TypeMirror;
  253.11  import static javax.lang.model.SourceVersion.*;
  253.12  import javax.lang.model.SourceVersion;
  253.13  import javax.annotation.processing.SupportedSourceVersion;
   254.1 --- a/src/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor8.java	Thu Oct 18 11:09:45 2012 -0700
   254.2 +++ b/src/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor8.java	Tue Oct 23 09:42:48 2012 -0700
   254.3 @@ -1,5 +1,5 @@
   254.4  /*
   254.5 - * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
   254.6 + * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
   254.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   254.8   *
   254.9   * This code is free software; you can redistribute it and/or modify it
  254.10 @@ -25,10 +25,6 @@
  254.11  
  254.12  package javax.lang.model.util;
  254.13  
  254.14 -import java.util.List;
  254.15 -import javax.lang.model.element.*;
  254.16 -
  254.17 -import javax.lang.model.type.TypeMirror;
  254.18  import static javax.lang.model.SourceVersion.*;
  254.19  import javax.lang.model.SourceVersion;
  254.20  import javax.annotation.processing.SupportedSourceVersion;
   255.1 --- a/src/share/classes/javax/lang/model/util/AbstractElementVisitor6.java	Thu Oct 18 11:09:45 2012 -0700
   255.2 +++ b/src/share/classes/javax/lang/model/util/AbstractElementVisitor6.java	Tue Oct 23 09:42:48 2012 -0700
   255.3 @@ -1,5 +1,5 @@
   255.4  /*
   255.5 - * Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
   255.6 + * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
   255.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   255.8   *
   255.9   * This code is free software; you can redistribute it and/or modify it
  255.10 @@ -25,13 +25,10 @@
  255.11  
  255.12  package javax.lang.model.util;
  255.13  
  255.14 -
  255.15 +import javax.annotation.processing.SupportedSourceVersion;
  255.16 +import javax.lang.model.SourceVersion;
  255.17  import javax.lang.model.element.*;
  255.18 -import javax.annotation.processing.SupportedSourceVersion;
  255.19 -import javax.lang.model.element.*;
  255.20 -import static javax.lang.model.element.ElementKind.*;
  255.21  import static javax.lang.model.SourceVersion.*;
  255.22 -import javax.lang.model.SourceVersion;
  255.23  
  255.24  
  255.25  /**
   256.1 --- a/src/share/classes/javax/lang/model/util/AbstractElementVisitor7.java	Thu Oct 18 11:09:45 2012 -0700
   256.2 +++ b/src/share/classes/javax/lang/model/util/AbstractElementVisitor7.java	Tue Oct 23 09:42:48 2012 -0700
   256.3 @@ -1,5 +1,5 @@
   256.4  /*
   256.5 - * Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved.
   256.6 + * Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved.
   256.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   256.8   *
   256.9   * This code is free software; you can redistribute it and/or modify it
  256.10 @@ -25,12 +25,9 @@
  256.11  
  256.12  package javax.lang.model.util;
  256.13  
  256.14 -import javax.lang.model.element.*;
  256.15  import javax.annotation.processing.SupportedSourceVersion;
  256.16 -import javax.lang.model.element.*;
  256.17 -import static javax.lang.model.element.ElementKind.*;
  256.18 +import javax.lang.model.SourceVersion;
  256.19  import static javax.lang.model.SourceVersion.*;
  256.20 -import javax.lang.model.SourceVersion;
  256.21  
  256.22  
  256.23  /**
   257.1 --- a/src/share/classes/javax/lang/model/util/AbstractElementVisitor8.java	Thu Oct 18 11:09:45 2012 -0700
   257.2 +++ b/src/share/classes/javax/lang/model/util/AbstractElementVisitor8.java	Tue Oct 23 09:42:48 2012 -0700
   257.3 @@ -1,5 +1,5 @@
   257.4  /*
   257.5 - * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
   257.6 + * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
   257.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   257.8   *
   257.9   * This code is free software; you can redistribute it and/or modify it
  257.10 @@ -25,12 +25,9 @@
  257.11  
  257.12  package javax.lang.model.util;
  257.13  
  257.14 -import javax.lang.model.element.*;
  257.15  import javax.annotation.processing.SupportedSourceVersion;
  257.16 -import javax.lang.model.element.*;
  257.17 -import static javax.lang.model.element.ElementKind.*;
  257.18 +import javax.lang.model.SourceVersion;
  257.19  import static javax.lang.model.SourceVersion.*;
  257.20 -import javax.lang.model.SourceVersion;
  257.21  
  257.22  
  257.23  /**
   258.1 --- a/src/share/classes/javax/lang/model/util/ElementFilter.java	Thu Oct 18 11:09:45 2012 -0700
   258.2 +++ b/src/share/classes/javax/lang/model/util/ElementFilter.java	Tue Oct 23 09:42:48 2012 -0700
   258.3 @@ -1,5 +1,5 @@
   258.4  /*
   258.5 - * Copyright (c) 2005, 2006, Oracle and/or its affiliates. All rights reserved.
   258.6 + * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
   258.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   258.8   *
   258.9   * This code is free software; you can redistribute it and/or modify it
  258.10 @@ -25,18 +25,14 @@
  258.11  
  258.12  package javax.lang.model.util;
  258.13  
  258.14 -import java.lang.Iterable;
  258.15  import java.util.Collections;
  258.16 -import java.util.Iterator;
  258.17  import java.util.List;
  258.18  import java.util.Set;
  258.19  import java.util.EnumSet;
  258.20  import java.util.ArrayList;
  258.21  import java.util.LinkedHashSet;
  258.22 -import java.util.NoSuchElementException;
  258.23  
  258.24  import javax.lang.model.element.*;
  258.25 -import javax.lang.model.type.*;
  258.26  
  258.27  
  258.28  /**
   259.1 --- a/src/share/classes/javax/lang/model/util/ElementKindVisitor7.java	Thu Oct 18 11:09:45 2012 -0700
   259.2 +++ b/src/share/classes/javax/lang/model/util/ElementKindVisitor7.java	Tue Oct 23 09:42:48 2012 -0700
   259.3 @@ -1,5 +1,5 @@
   259.4  /*
   259.5 - * Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved.
   259.6 + * Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved.
   259.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   259.8   *
   259.9   * This code is free software; you can redistribute it and/or modify it
  259.10 @@ -25,11 +25,10 @@
  259.11  
  259.12  package javax.lang.model.util;
  259.13  
  259.14 +import javax.annotation.processing.SupportedSourceVersion;
  259.15 +import javax.lang.model.SourceVersion;
  259.16  import javax.lang.model.element.*;
  259.17 -import static javax.lang.model.element.ElementKind.*;
  259.18 -import javax.annotation.processing.SupportedSourceVersion;
  259.19  import static javax.lang.model.SourceVersion.*;
  259.20 -import javax.lang.model.SourceVersion;
  259.21  
  259.22  /**
  259.23   * A visitor of program elements based on their {@linkplain
   260.1 --- a/src/share/classes/javax/lang/model/util/ElementKindVisitor8.java	Thu Oct 18 11:09:45 2012 -0700
   260.2 +++ b/src/share/classes/javax/lang/model/util/ElementKindVisitor8.java	Tue Oct 23 09:42:48 2012 -0700
   260.3 @@ -26,7 +26,6 @@
   260.4  package javax.lang.model.util;
   260.5  
   260.6  import javax.lang.model.element.*;
   260.7 -import static javax.lang.model.element.ElementKind.*;
   260.8  import javax.annotation.processing.SupportedSourceVersion;
   260.9  import static javax.lang.model.SourceVersion.*;
  260.10  import javax.lang.model.SourceVersion;
   261.1 --- a/src/share/classes/javax/lang/model/util/ElementScanner6.java	Thu Oct 18 11:09:45 2012 -0700
   261.2 +++ b/src/share/classes/javax/lang/model/util/ElementScanner6.java	Tue Oct 23 09:42:48 2012 -0700
   261.3 @@ -1,5 +1,5 @@
   261.4  /*
   261.5 - * Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
   261.6 + * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
   261.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   261.8   *
   261.9   * This code is free software; you can redistribute it and/or modify it
  261.10 @@ -27,7 +27,6 @@
  261.11  
  261.12  import javax.lang.model.element.*;
  261.13  import javax.annotation.processing.SupportedSourceVersion;
  261.14 -import static javax.lang.model.element.ElementKind.*;
  261.15  import javax.lang.model.SourceVersion;
  261.16  import static javax.lang.model.SourceVersion.*;
  261.17  
   262.1 --- a/src/share/classes/javax/lang/model/util/ElementScanner7.java	Thu Oct 18 11:09:45 2012 -0700
   262.2 +++ b/src/share/classes/javax/lang/model/util/ElementScanner7.java	Tue Oct 23 09:42:48 2012 -0700
   262.3 @@ -1,5 +1,5 @@
   262.4  /*
   262.5 - * Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved.
   262.6 + * Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved.
   262.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   262.8   *
   262.9   * This code is free software; you can redistribute it and/or modify it
  262.10 @@ -27,7 +27,6 @@
  262.11  
  262.12  import javax.lang.model.element.*;
  262.13  import javax.annotation.processing.SupportedSourceVersion;
  262.14 -import static javax.lang.model.element.ElementKind.*;
  262.15  import javax.lang.model.SourceVersion;
  262.16  import static javax.lang.model.SourceVersion.*;
  262.17  
   263.1 --- a/src/share/classes/javax/lang/model/util/ElementScanner8.java	Thu Oct 18 11:09:45 2012 -0700
   263.2 +++ b/src/share/classes/javax/lang/model/util/ElementScanner8.java	Tue Oct 23 09:42:48 2012 -0700
   263.3 @@ -1,5 +1,5 @@
   263.4  /*
   263.5 - * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
   263.6 + * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
   263.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   263.8   *
   263.9   * This code is free software; you can redistribute it and/or modify it
  263.10 @@ -27,7 +27,6 @@
  263.11  
  263.12  import javax.lang.model.element.*;
  263.13  import javax.annotation.processing.SupportedSourceVersion;
  263.14 -import static javax.lang.model.element.ElementKind.*;
  263.15  import javax.lang.model.SourceVersion;
  263.16  import static javax.lang.model.SourceVersion.*;
  263.17  
   264.1 --- a/src/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor7.java	Thu Oct 18 11:09:45 2012 -0700
   264.2 +++ b/src/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor7.java	Tue Oct 23 09:42:48 2012 -0700
   264.3 @@ -1,5 +1,5 @@
   264.4  /*
   264.5 - * Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved.
   264.6 + * Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved.
   264.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   264.8   *
   264.9   * This code is free software; you can redistribute it and/or modify it
  264.10 @@ -25,13 +25,9 @@
  264.11  
  264.12  package javax.lang.model.util;
  264.13  
  264.14 -import java.util.List;
  264.15 -import javax.lang.model.element.*;
  264.16 -
  264.17 -import javax.lang.model.type.TypeMirror;
  264.18 +import javax.annotation.processing.SupportedSourceVersion;
  264.19 +import javax.lang.model.SourceVersion;
  264.20  import static javax.lang.model.SourceVersion.*;
  264.21 -import javax.lang.model.SourceVersion;
  264.22 -import javax.annotation.processing.SupportedSourceVersion;
  264.23  
  264.24  /**
  264.25   * A simple visitor for annotation values with default behavior
   265.1 --- a/src/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor8.java	Thu Oct 18 11:09:45 2012 -0700
   265.2 +++ b/src/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor8.java	Tue Oct 23 09:42:48 2012 -0700
   265.3 @@ -1,5 +1,5 @@
   265.4  /*
   265.5 - * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
   265.6 + * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
   265.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   265.8   *
   265.9   * This code is free software; you can redistribute it and/or modify it
  265.10 @@ -25,13 +25,9 @@
  265.11  
  265.12  package javax.lang.model.util;
  265.13  
  265.14 -import java.util.List;
  265.15 -import javax.lang.model.element.*;
  265.16 -
  265.17 -import javax.lang.model.type.TypeMirror;
  265.18 +import javax.annotation.processing.SupportedSourceVersion;
  265.19 +import javax.lang.model.SourceVersion;
  265.20  import static javax.lang.model.SourceVersion.*;
  265.21 -import javax.lang.model.SourceVersion;
  265.22 -import javax.annotation.processing.SupportedSourceVersion;
  265.23  
  265.24  /**
  265.25   * A simple visitor for annotation values with default behavior
   266.1 --- a/src/share/classes/javax/lang/model/util/SimpleElementVisitor6.java	Thu Oct 18 11:09:45 2012 -0700
   266.2 +++ b/src/share/classes/javax/lang/model/util/SimpleElementVisitor6.java	Tue Oct 23 09:42:48 2012 -0700
   266.3 @@ -1,5 +1,5 @@
   266.4  /*
   266.5 - * Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
   266.6 + * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
   266.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   266.8   *
   266.9   * This code is free software; you can redistribute it and/or modify it
  266.10 @@ -27,7 +27,6 @@
  266.11  
  266.12  import javax.lang.model.element.*;
  266.13  import javax.annotation.processing.SupportedSourceVersion;
  266.14 -import static javax.lang.model.element.ElementKind.*;
  266.15  import javax.lang.model.SourceVersion;
  266.16  import static javax.lang.model.SourceVersion.*;
  266.17  
   267.1 --- a/src/share/classes/javax/lang/model/util/SimpleElementVisitor7.java	Thu Oct 18 11:09:45 2012 -0700
   267.2 +++ b/src/share/classes/javax/lang/model/util/SimpleElementVisitor7.java	Tue Oct 23 09:42:48 2012 -0700
   267.3 @@ -1,5 +1,5 @@
   267.4  /*
   267.5 - * Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved.
   267.6 + * Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved.
   267.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   267.8   *
   267.9   * This code is free software; you can redistribute it and/or modify it
  267.10 @@ -27,7 +27,6 @@
  267.11  
  267.12  import javax.lang.model.element.*;
  267.13  import javax.annotation.processing.SupportedSourceVersion;
  267.14 -import static javax.lang.model.element.ElementKind.*;
  267.15  import javax.lang.model.SourceVersion;
  267.16  import static javax.lang.model.SourceVersion.*;
  267.17  
   268.1 --- a/src/share/classes/javax/lang/model/util/SimpleElementVisitor8.java	Thu Oct 18 11:09:45 2012 -0700
   268.2 +++ b/src/share/classes/javax/lang/model/util/SimpleElementVisitor8.java	Tue Oct 23 09:42:48 2012 -0700
   268.3 @@ -1,5 +1,5 @@
   268.4  /*
   268.5 - * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
   268.6 + * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
   268.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   268.8   *
   268.9   * This code is free software; you can redistribute it and/or modify it
  268.10 @@ -25,9 +25,7 @@
  268.11  
  268.12  package javax.lang.model.util;
  268.13  
  268.14 -import javax.lang.model.element.*;
  268.15  import javax.annotation.processing.SupportedSourceVersion;
  268.16 -import static javax.lang.model.element.ElementKind.*;
  268.17  import javax.lang.model.SourceVersion;
  268.18  import static javax.lang.model.SourceVersion.*;
  268.19  
   269.1 --- a/src/share/classes/javax/lang/model/util/SimpleTypeVisitor8.java	Thu Oct 18 11:09:45 2012 -0700
   269.2 +++ b/src/share/classes/javax/lang/model/util/SimpleTypeVisitor8.java	Tue Oct 23 09:42:48 2012 -0700
   269.3 @@ -1,5 +1,5 @@
   269.4  /*
   269.5 - * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
   269.6 + * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
   269.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   269.8   *
   269.9   * This code is free software; you can redistribute it and/or modify it
  269.10 @@ -25,7 +25,6 @@
  269.11  
  269.12  package javax.lang.model.util;
  269.13  
  269.14 -import javax.lang.model.type.*;
  269.15  import javax.annotation.processing.SupportedSourceVersion;
  269.16  import javax.lang.model.SourceVersion;
  269.17  import static javax.lang.model.SourceVersion.*;
   270.1 --- a/src/share/classes/javax/lang/model/util/TypeKindVisitor6.java	Thu Oct 18 11:09:45 2012 -0700
   270.2 +++ b/src/share/classes/javax/lang/model/util/TypeKindVisitor6.java	Tue Oct 23 09:42:48 2012 -0700
   270.3 @@ -1,5 +1,5 @@
   270.4  /*
   270.5 - * Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
   270.6 + * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
   270.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   270.8   *
   270.9   * This code is free software; you can redistribute it and/or modify it
  270.10 @@ -25,12 +25,10 @@
  270.11  
  270.12  package javax.lang.model.util;
  270.13  
  270.14 -
  270.15 +import javax.annotation.processing.SupportedSourceVersion;
  270.16 +import javax.lang.model.SourceVersion;
  270.17  import javax.lang.model.type.*;
  270.18 -import javax.annotation.processing.SupportedSourceVersion;
  270.19 -import static javax.lang.model.element.ElementKind.*;
  270.20  import static javax.lang.model.SourceVersion.*;
  270.21 -import javax.lang.model.SourceVersion;
  270.22  
  270.23  /**
  270.24   * A visitor of types based on their {@linkplain TypeKind kind} with
   271.1 --- a/src/share/classes/javax/lang/model/util/TypeKindVisitor7.java	Thu Oct 18 11:09:45 2012 -0700
   271.2 +++ b/src/share/classes/javax/lang/model/util/TypeKindVisitor7.java	Tue Oct 23 09:42:48 2012 -0700
   271.3 @@ -1,5 +1,5 @@
   271.4  /*
   271.5 - * Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved.
   271.6 + * Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved.
   271.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   271.8   *
   271.9   * This code is free software; you can redistribute it and/or modify it
  271.10 @@ -27,7 +27,6 @@
  271.11  
  271.12  import javax.lang.model.type.*;
  271.13  import javax.annotation.processing.SupportedSourceVersion;
  271.14 -import static javax.lang.model.element.ElementKind.*;
  271.15  import static javax.lang.model.SourceVersion.*;
  271.16  import javax.lang.model.SourceVersion;
  271.17  
   272.1 --- a/src/share/classes/javax/lang/model/util/TypeKindVisitor8.java	Thu Oct 18 11:09:45 2012 -0700
   272.2 +++ b/src/share/classes/javax/lang/model/util/TypeKindVisitor8.java	Tue Oct 23 09:42:48 2012 -0700
   272.3 @@ -1,5 +1,5 @@
   272.4  /*
   272.5 - * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
   272.6 + * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
   272.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   272.8   *
   272.9   * This code is free software; you can redistribute it and/or modify it
  272.10 @@ -25,11 +25,10 @@
  272.11  
  272.12  package javax.lang.model.util;
  272.13  
  272.14 +import javax.annotation.processing.SupportedSourceVersion;
  272.15 +import javax.lang.model.SourceVersion;
  272.16  import javax.lang.model.type.*;
  272.17 -import javax.annotation.processing.SupportedSourceVersion;
  272.18 -import static javax.lang.model.element.ElementKind.*;
  272.19  import static javax.lang.model.SourceVersion.*;
  272.20 -import javax.lang.model.SourceVersion;
  272.21  
  272.22  /**
  272.23   * A visitor of types based on their {@linkplain TypeKind kind} with
   273.1 --- a/src/share/classes/javax/tools/ForwardingJavaFileManager.java	Thu Oct 18 11:09:45 2012 -0700
   273.2 +++ b/src/share/classes/javax/tools/ForwardingJavaFileManager.java	Tue Oct 23 09:42:48 2012 -0700
   273.3 @@ -1,5 +1,5 @@
   273.4  /*
   273.5 - * Copyright (c) 2005, 2006, Oracle and/or its affiliates. All rights reserved.
   273.6 + * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
   273.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   273.8   *
   273.9   * This code is free software; you can redistribute it and/or modify it
  273.10 @@ -26,7 +26,6 @@
  273.11  package javax.tools;
  273.12  
  273.13  import java.io.IOException;
  273.14 -import java.net.URI;
  273.15  import java.util.Iterator;
  273.16  import java.util.Set;
  273.17  import javax.tools.JavaFileObject.Kind;
   274.1 --- a/src/share/classes/javax/tools/JavaFileObject.java	Thu Oct 18 11:09:45 2012 -0700
   274.2 +++ b/src/share/classes/javax/tools/JavaFileObject.java	Tue Oct 23 09:42:48 2012 -0700
   274.3 @@ -1,5 +1,5 @@
   274.4  /*
   274.5 - * Copyright (c) 2005, 2006, Oracle and/or its affiliates. All rights reserved.
   274.6 + * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
   274.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   274.8   *
   274.9   * This code is free software; you can redistribute it and/or modify it
  274.10 @@ -25,12 +25,6 @@
  274.11  
  274.12  package javax.tools;
  274.13  
  274.14 -import java.io.IOException;
  274.15 -import java.io.InputStream;
  274.16 -import java.io.OutputStream;
  274.17 -import java.io.Reader;
  274.18 -import java.io.Writer;
  274.19 -import java.nio.CharBuffer;
  274.20  import javax.lang.model.element.NestingKind;
  274.21  import javax.lang.model.element.Modifier;
  274.22  
   275.1 --- a/test/com/sun/javadoc/VersionNumber/VersionNumber.java	Thu Oct 18 11:09:45 2012 -0700
   275.2 +++ b/test/com/sun/javadoc/VersionNumber/VersionNumber.java	Tue Oct 23 09:42:48 2012 -0700
   275.3 @@ -1,5 +1,5 @@
   275.4  /*
   275.5 - * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
   275.6 + * Copyright (c) 2002, 2012, Oracle and/or its affiliates. All rights reserved.
   275.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   275.8   *
   275.9   * This code is free software; you can redistribute it and/or modify it
  275.10 @@ -84,7 +84,7 @@
  275.11  
  275.12              // Test the proper DOCTYPE element is present:
  275.13              {
  275.14 -                 "<!-- Generated by javadoc (version",
  275.15 +                 "<!-- Generated by javadoc (",
  275.16                       TMPDEST_DIR1 + "p1" + FS + "C.html"  },
  275.17  
  275.18          };
   276.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   276.2 +++ b/test/com/sun/javadoc/testDocEncoding/TestDocEncoding.java	Tue Oct 23 09:42:48 2012 -0700
   276.3 @@ -0,0 +1,81 @@
   276.4 +/*
   276.5 + * Copyright (c) 2002, 2012, Oracle and/or its affiliates. All rights reserved.
   276.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   276.7 + *
   276.8 + * This code is free software; you can redistribute it and/or modify it
   276.9 + * under the terms of the GNU General Public License version 2 only, as
  276.10 + * published by the Free Software Foundation.
  276.11 + *
  276.12 + * This code is distributed in the hope that it will be useful, but WITHOUT
  276.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  276.14 + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  276.15 + * version 2 for more details (a copy is included in the LICENSE file that
  276.16 + * accompanied this code).
  276.17 + *
  276.18 + * You should have received a copy of the GNU General Public License version
  276.19 + * 2 along with this work; if not, write to the Free Software Foundation,
  276.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  276.21 + *
  276.22 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  276.23 + * or visit www.oracle.com if you need additional information or have any
  276.24 + * questions.
  276.25 + */
  276.26 +
  276.27 +/*
  276.28 + * Portions Copyright (c) 2012 IBM Corporation
  276.29 + */
  276.30 +
  276.31 +/*
  276.32 + * @test
  276.33 + * @bug      8000743
  276.34 + * @summary  Run tests on -docencoding to see if the value is
  276.35 +             used for stylesheet as well.
  276.36 + * @author   jayashree viswanathan
  276.37 + * @library  ../lib/
  276.38 + * @build    JavadocTester TestDocEncoding
  276.39 + * @run main TestDocEncoding
  276.40 + */
  276.41 +
  276.42 +public class TestDocEncoding extends JavadocTester {
  276.43 +
  276.44 +    //Test information.
  276.45 +    private static final String BUG_ID = "8000743";
  276.46 +
  276.47 +    //Javadoc arguments.
  276.48 +    private static final String[] ARGS = new String[] {
  276.49 +        "-d", BUG_ID, "-docencoding", "Cp930",
  276.50 +        "-sourcepath", SRC_DIR, "pkg"
  276.51 +    };
  276.52 +
  276.53 +    private static final String[][] TEST = NO_TEST;
  276.54 +
  276.55 +    private static final String[][] NEGATED_TEST = {
  276.56 +        {BUG_ID + FS + "stylesheet.css",
  276.57 +            "body {" + NL + "    background-color:#ffffff;"}
  276.58 +    };
  276.59 +
  276.60 +    /**
  276.61 +     * The entry point of the test.
  276.62 +     * @param args the array of command line arguments.
  276.63 +     */
  276.64 +    public static void main(String[] args) {
  276.65 +        TestDocEncoding tester = new TestDocEncoding();
  276.66 +        run(tester, ARGS, TEST, NEGATED_TEST);
  276.67 +        tester.printSummary();
  276.68 +    }
  276.69 +
  276.70 +    /**
  276.71 +     * {@inheritDoc}
  276.72 +     */
  276.73 +    public String getBugId() {
  276.74 +        return BUG_ID;
  276.75 +    }
  276.76 +
  276.77 +    /**
  276.78 +     * {@inheritDoc}
  276.79 +     */
  276.80 +    public String getBugName() {
  276.81 +        return getClass().getName();
  276.82 +    }
  276.83 +}
  276.84 +
   277.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   277.2 +++ b/test/com/sun/javadoc/testDocEncoding/pkg/Test.java	Tue Oct 23 09:42:48 2012 -0700
   277.3 @@ -0,0 +1,31 @@
   277.4 +/*
   277.5 + * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
   277.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   277.7 + *
   277.8 + * This code is free software; you can redistribute it and/or modify it
   277.9 + * under the terms of the GNU General Public License version 2 only, as
  277.10 + * published by the Free Software Foundation.
  277.11 + *
  277.12 + * This code is distributed in the hope that it will be useful, but WITHOUT
  277.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  277.14 + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  277.15 + * version 2 for more details (a copy is included in the LICENSE file that
  277.16 + * accompanied this code).
  277.17 + *
  277.18 + * You should have received a copy of the GNU General Public License version
  277.19 + * 2 along with this work; if not, write to the Free Software Foundation,
  277.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  277.21 + *
  277.22 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  277.23 + * or visit www.oracle.com if you need additional information or have any
  277.24 + * questions.
  277.25 + */
  277.26 +
  277.27 +/*
  277.28 + * Portions Copyright (c) 2012 IBM Corporation
  277.29 + */
  277.30 +
  277.31 +package pkg;
  277.32 +
  277.33 +public class Test {}
  277.34 +
   278.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   278.2 +++ b/test/com/sun/javadoc/testGeneratedBy/TestGeneratedBy.java	Tue Oct 23 09:42:48 2012 -0700
   278.3 @@ -0,0 +1,112 @@
   278.4 +/*
   278.5 + * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
   278.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   278.7 + *
   278.8 + * This code is free software; you can redistribute it and/or modify it
   278.9 + * under the terms of the GNU General Public License version 2 only, as
  278.10 + * published by the Free Software Foundation.
  278.11 + *
  278.12 + * This code is distributed in the hope that it will be useful, but WITHOUT
  278.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  278.14 + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  278.15 + * version 2 for more details (a copy is included in the LICENSE file that
  278.16 + * accompanied this code).
  278.17 + *
  278.18 + * You should have received a copy of the GNU General Public License version
  278.19 + * 2 along with this work; if not, write to the Free Software Foundation,
  278.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  278.21 + *
  278.22 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  278.23 + * or visit www.oracle.com if you need additional information or have any
  278.24 + * questions.
  278.25 + */
  278.26 +
  278.27 +/*
  278.28 + * @test
  278.29 + * @bug 8000418
  278.30 + * @summary Verify that files use a common Generated By string
  278.31 + * @library ../lib/
  278.32 + * @build JavadocTester TestGeneratedBy
  278.33 + * @run main TestGeneratedBy
  278.34 + */
  278.35 +
  278.36 +public class TestGeneratedBy extends JavadocTester {
  278.37 +
  278.38 +    private static final String OUTPUT_DIR = "tmp";
  278.39 +
  278.40 +    private static final String[] FILES = {
  278.41 +        "pkg/MyClass.html",
  278.42 +        "pkg/package-summary.html",
  278.43 +        "pkg/package-frame.html",
  278.44 +        "pkg/package-tree.html",
  278.45 +        "allclasses-noframe.html",
  278.46 +        "constant-values.html",
  278.47 +        "allclasses-frame.html",
  278.48 +        "overview-tree.html",
  278.49 +        "deprecated-list.html",
  278.50 +        "serialized-form.html",
  278.51 +        "help-doc.html",
  278.52 +        "index-all.html",
  278.53 +        "index.html"
  278.54 +    };
  278.55 +
  278.56 +    private static final String[] ARGS =
  278.57 +        new String[] {
  278.58 +            "-d", OUTPUT_DIR,
  278.59 +            "-sourcepath", SRC_DIR,
  278.60 +            "pkg"
  278.61 +        };
  278.62 +    private static final String BUG_ID = "8000418";
  278.63 +
  278.64 +    private static String[][] getTests() {
  278.65 +        String version = System.getProperty("java.version");
  278.66 +        String[][] tests = new String[FILES.length][];
  278.67 +        for (int i = 0; i < FILES.length; i++) {
  278.68 +            tests[i] = new String[] {
  278.69 +                OUTPUT_DIR + FS + FILES[i],
  278.70 +                "Generated by javadoc (" + version + ") on "
  278.71 +            };
  278.72 +        }
  278.73 +        return tests;
  278.74 +    }
  278.75 +
  278.76 +    private static String[][] getNegatedTests() {
  278.77 +        String[][] tests = new String[FILES.length][];
  278.78 +        for (int i = 0; i < FILES.length; i++) {
  278.79 +            tests[i] = new String[] {
  278.80 +                OUTPUT_DIR + FS + FILES[i],
  278.81 +                "Generated by javadoc (version",
  278.82 +                "Generated by javadoc on"
  278.83 +            };
  278.84 +        }
  278.85 +        return tests;
  278.86 +    }
  278.87 +
  278.88 +    /**
  278.89 +     * The entry point of the test.
  278.90 +     * @param args the array of command line arguments.
  278.91 +     */
  278.92 +    public static void main(String[] args) {
  278.93 +        TestGeneratedBy tester = new TestGeneratedBy();
  278.94 +        int exitCode = run(tester, ARGS, getTests(), getNegatedTests());
  278.95 +        tester.printSummary();
  278.96 +        if (exitCode != 0) {
  278.97 +            throw new Error("Error found while executing Javadoc");
  278.98 +        }
  278.99 +    }
 278.100 +
 278.101 +    /**
 278.102 +     * {@inheritDoc}
 278.103 +     */
 278.104 +    public String getBugId() {
 278.105 +        return BUG_ID;
 278.106 +    }
 278.107 +
 278.108 +    /**
 278.109 +     * {@inheritDoc}
 278.110 +     */
 278.111 +    public String getBugName() {
 278.112 +        return getClass().getName();
 278.113 +    }
 278.114 +}
 278.115 +
   279.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   279.2 +++ b/test/com/sun/javadoc/testGeneratedBy/pkg/MyClass.java	Tue Oct 23 09:42:48 2012 -0700
   279.3 @@ -0,0 +1,29 @@
   279.4 +/*
   279.5 + * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
   279.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   279.7 + *
   279.8 + * This code is free software; you can redistribute it and/or modify it
   279.9 + * under the terms of the GNU General Public License version 2 only, as
  279.10 + * published by the Free Software Foundation.
  279.11 + *
  279.12 + * This code is distributed in the hope that it will be useful, but WITHOUT
  279.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  279.14 + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  279.15 + * version 2 for more details (a copy is included in the LICENSE file that
  279.16 + * accompanied this code).
  279.17 + *
  279.18 + * You should have received a copy of the GNU General Public License version
  279.19 + * 2 along with this work; if not, write to the Free Software Foundation,
  279.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  279.21 + *
  279.22 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  279.23 + * or visit www.oracle.com if you need additional information or have any
  279.24 + * questions.
  279.25 + */
  279.26 +
  279.27 +package pkg;
  279.28 +
  279.29 +import java.io.Serializable;
  279.30 +
  279.31 +public class MyClass implements Serializable {
  279.32 +}
   280.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   280.2 +++ b/test/tools/javac/defaultMethods/syntax/TestDefaultMethodsSyntax.java	Tue Oct 23 09:42:48 2012 -0700
   280.3 @@ -0,0 +1,311 @@
   280.4 +/*
   280.5 + * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
   280.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   280.7 + *
   280.8 + * This code is free software; you can redistribute it and/or modify it
   280.9 + * under the terms of the GNU General Public License version 2 only, as
  280.10 + * published by the Free Software Foundation.
  280.11 + *
  280.12 + * This code is distributed in the hope that it will be useful, but WITHOUT
  280.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  280.14 + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  280.15 + * version 2 for more details (a copy is included in the LICENSE file that
  280.16 + * accompanied this code).
  280.17 + *
  280.18 + * You should have received a copy of the GNU General Public License version
  280.19 + * 2 along with this work; if not, write to the Free Software Foundation,
  280.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  280.21 + *
  280.22 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  280.23 + * or visit www.oracle.com if you need additional information or have any
  280.24 + * questions.
  280.25 + */
  280.26 +
  280.27 +/*
  280.28 + * @test
  280.29 + * @bug 7192245
  280.30 + * @summary Automatic test for checking set of allowed modifiers on interface methods
  280.31 + */
  280.32 +
  280.33 +import com.sun.source.util.JavacTask;
  280.34 +import java.net.URI;
  280.35 +import java.util.Arrays;
  280.36 +import java.util.List;
  280.37 +import javax.tools.Diagnostic;
  280.38 +import javax.tools.JavaCompiler;
  280.39 +import javax.tools.JavaFileObject;
  280.40 +import javax.tools.SimpleJavaFileObject;
  280.41 +import javax.tools.StandardJavaFileManager;
  280.42 +import javax.tools.ToolProvider;
  280.43 +
  280.44 +
  280.45 +public class TestDefaultMethodsSyntax {
  280.46 +
  280.47 +    static int checkCount = 0;
  280.48 +
  280.49 +    enum VersionKind {
  280.50 +        PRE_LAMBDA("7"),
  280.51 +        LAMBDA("8");
  280.52 +
  280.53 +        String versionString;
  280.54 +
  280.55 +        VersionKind(String versionString) {
  280.56 +            this.versionString = versionString;
  280.57 +        }
  280.58 +
  280.59 +        List<String> getOptions() {
  280.60 +            return Arrays.asList("-XDallowDefaultMethods", "-source", versionString);
  280.61 +        }
  280.62 +    }
  280.63 +
  280.64 +    enum ModifierKind {
  280.65 +        NONE(""),
  280.66 +        PUBLIC("public"),
  280.67 +        PROTECTED("protected"),
  280.68 +        PRIVATE("private"),
  280.69 +        ABSTRACT("abstract"),
  280.70 +        STATIC("static"),
  280.71 +        NATIVE("native"),
  280.72 +        SYNCHRONIZED("synchronized"),
  280.73 +        FINAL("final"),
  280.74 +        STRICTFP("strictfp"),
  280.75 +        DEFAULT("default");
  280.76 +
  280.77 +        String modStr;
  280.78 +
  280.79 +        private ModifierKind(String modStr) {
  280.80 +            this.modStr = modStr;
  280.81 +        }
  280.82 +
  280.83 +        boolean isAllowed(EnclosingKind ek, ModifierKind otherMod) {
  280.84 +            if (this == otherMod) return false;
  280.85 +            switch (this) {
  280.86 +                case NONE:
  280.87 +                    return true;
  280.88 +                case ABSTRACT:
  280.89 +                    return otherMod != PRIVATE;
  280.90 +                case NATIVE:
  280.91 +                    return otherMod != ABSTRACT &&
  280.92 +                            otherMod != STRICTFP;
  280.93 +                case FINAL:
  280.94 +                case STATIC:
  280.95 +                case SYNCHRONIZED:
  280.96 +                case STRICTFP:
  280.97 +                     return otherMod != ABSTRACT;
  280.98 +                case PUBLIC:
  280.99 +                    return true;
 280.100 +                case PROTECTED:
 280.101 +                    return ek == EnclosingKind.ABSTRACT_CLASS;
 280.102 +                case DEFAULT:
 280.103 +                    return otherMod != ABSTRACT;
 280.104 +                default:
 280.105 +                    return true;
 280.106 +            }
 280.107 +        }
 280.108 +
 280.109 +        static boolean intersect(ModifierKind mk, ModifierKind... mks) {
 280.110 +            for (ModifierKind mk2 : mks) {
 280.111 +                if (mk == mk2) return true;
 280.112 +            }
 280.113 +            return false;
 280.114 +        }
 280.115 +
 280.116 +        static boolean compatible(MethodKind mk, ModifierKind mod1, ModifierKind mod2, EnclosingKind ek) {
 280.117 +            if (intersect(ABSTRACT, mod1, mod2) || intersect(NATIVE, mod1, mod2)) {
 280.118 +                return mk == MethodKind.NO_BODY;
 280.119 +            } else if (intersect(DEFAULT, mod1, mod2)) {
 280.120 +                return mk == MethodKind.BODY;
 280.121 +            } else {
 280.122 +                return ek == EnclosingKind.INTERFACE ?
 280.123 +                        mk == MethodKind.NO_BODY : mk == MethodKind.BODY;
 280.124 +            }
 280.125 +        }
 280.126 +
 280.127 +        boolean compatible(EnclosingKind ek) {
 280.128 +            switch (this) {
 280.129 +                case STATIC:
 280.130 +                case PRIVATE:
 280.131 +                case PROTECTED:
 280.132 +                    return ek != EnclosingKind.INTERFACE;
 280.133 +                default:
 280.134 +                    return true;
 280.135 +            }
 280.136 +        }
 280.137 +
 280.138 +        static boolean compatible(ModifierKind m1, ModifierKind m2, EnclosingKind ek) {
 280.139 +            Result res1 = allowedModifierPairs[m1.ordinal()][m2.ordinal()];
 280.140 +            Result res2 = allowedModifierPairs[m2.ordinal()][m1.ordinal()];
 280.141 +            if (res1 != res2) {
 280.142 +                throw new AssertionError(String.format("Ill-formed table: [%s,%s] != [%s,%s]", m1, m2, m2, m1));
 280.143 +            } else {
 280.144 +                return res1.compatible(ek, m1, m2);
 280.145 +            }
 280.146 +        }
 280.147 +
 280.148 +        interface Result {
 280.149 +            boolean compatible(EnclosingKind ek, ModifierKind m1, ModifierKind m2);
 280.150 +        }
 280.151 +
 280.152 +        static final Result T = new Result() {
 280.153 +            @Override
 280.154 +            public boolean compatible(EnclosingKind ek, ModifierKind m1, ModifierKind m2) {
 280.155 +                return true;
 280.156 +            }
 280.157 +        };
 280.158 +
 280.159 +        static final Result F = new Result() {
 280.160 +            @Override
 280.161 +            public boolean compatible(EnclosingKind ek, ModifierKind m1, ModifierKind m2) {
 280.162 +                return false;
 280.163 +            }
 280.164 +        };
 280.165 +
 280.166 +        static final Result C = new Result() {
 280.167 +            @Override
 280.168 +            public boolean compatible(EnclosingKind ek, ModifierKind m1, ModifierKind m2) {
 280.169 +                return ek != EnclosingKind.INTERFACE;
 280.170 +            }
 280.171 +        };
 280.172 +
 280.173 +        static final Result I = new Result() {
 280.174 +            @Override
 280.175 +            public boolean compatible(EnclosingKind ek, ModifierKind m1, ModifierKind m2) {
 280.176 +                return ek == EnclosingKind.INTERFACE;
 280.177 +            }
 280.178 +        };
 280.179 +
 280.180 +        static Result[][] allowedModifierPairs = {
 280.181 +            /*                     NONE  PUBLIC  PROTECTED  PRIVATE  ABSTRACT  STATIC  NATIVE  SYNCHRONIZED  FINAL  STRICTFP  DEFAULT */
 280.182 +            /* NONE */           { T   , T    , C        , C       , T       , C     , C     , C           , C    , C       , I   },
 280.183 +            /* PUBLIC */         { T   , F    , F        , F       , T       , C     , C     , C           , C    , C       , I   },
 280.184 +            /* PROTECTED */      { C   , F    , F        , F       , C       , C     , C     , C           , C    , C       , F   },
 280.185 +            /* PRIVATE */        { C   , F    , F        , F       , F       , C     , C     , C           , C    , C       , F   },
 280.186 +            /* ABSTRACT */       { T   , T    , C        , F       , F       , F     , F     , F           , F    , F       , F   },
 280.187 +            /* STATIC */         { C   , C    , C        , C       , F       , F     , C     , C           , C    , C       , F   },
 280.188 +            /* NATIVE */         { C   , C    , C        , C       , F       , C     , F     , C           , C    , F       , F   },
 280.189 +            /* SYNCHRONIZED */   { C   , C    , C        , C       , F       , C     , C     , F           , C    , C       , I   },
 280.190 +            /* FINAL */          { C   , C    , C        , C       , F       , C     , C     , C           , F    , C       , F   },
 280.191 +            /* STRICTFP */       { C   , C    , C        , C       , F       , C     , F     , C           , C    , F       , I   },
 280.192 +            /* DEFAULT */        { I   , I    , F        , F       , F       , F     , F     , I           , F    , I       , F   }};
 280.193 +    }
 280.194 +
 280.195 +    enum MethodKind {
 280.196 +        NO_BODY("void m();"),
 280.197 +        BODY("void m() { }");
 280.198 +
 280.199 +        String methStr;
 280.200 +
 280.201 +        private MethodKind(String methStr) {
 280.202 +            this.methStr = methStr;
 280.203 +        }
 280.204 +    }
 280.205 +
 280.206 +    enum EnclosingKind {
 280.207 +        ABSTRACT_CLASS("abstract class Test "),
 280.208 +        INTERFACE("interface Test ");
 280.209 +
 280.210 +        String enclStr;
 280.211 +
 280.212 +        EnclosingKind(String enclStr) {
 280.213 +            this.enclStr = enclStr;
 280.214 +        }
 280.215 +    }
 280.216 +
 280.217 +    public static void main(String... args) throws Exception {
 280.218 +
 280.219 +        //create default shared JavaCompiler - reused across multiple compilations
 280.220 +        JavaCompiler comp = ToolProvider.getSystemJavaCompiler();
 280.221 +        StandardJavaFileManager fm = comp.getStandardFileManager(null, null, null);
 280.222 +
 280.223 +        for (VersionKind vk : VersionKind.values()) {
 280.224 +            for (EnclosingKind ek : EnclosingKind.values()) {
 280.225 +                for (MethodKind mk : MethodKind.values()) {
 280.226 +                    for (ModifierKind modk1 : ModifierKind.values()) {
 280.227 +                        for (ModifierKind modk2 : ModifierKind.values()) {
 280.228 +                            new TestDefaultMethodsSyntax(vk, ek, mk, modk1, modk2).run(comp, fm);
 280.229 +                        }
 280.230 +                    }
 280.231 +                }
 280.232 +            }
 280.233 +        }
 280.234 +        System.out.println("Total check executed: " + checkCount);
 280.235 +    }
 280.236 +
 280.237 +    VersionKind vk;
 280.238 +    EnclosingKind ek;
 280.239 +    MethodKind mk;
 280.240 +    ModifierKind modk1, modk2;
 280.241 +    JavaSource source;
 280.242 +    DiagnosticChecker diagChecker;
 280.243 +
 280.244 +    TestDefaultMethodsSyntax(VersionKind vk, EnclosingKind ek, MethodKind mk, ModifierKind modk1, ModifierKind modk2) {
 280.245 +        this.vk = vk;
 280.246 +        this.ek = ek;
 280.247 +        this.mk = mk;
 280.248 +        this.modk1 = modk1;
 280.249 +        this.modk2 = modk2;
 280.250 +        this.source = new JavaSource();
 280.251 +        this.diagChecker = new DiagnosticChecker();
 280.252 +    }
 280.253 +
 280.254 +    class JavaSource extends SimpleJavaFileObject {
 280.255 +
 280.256 +        String template = "#EK {\n" +
 280.257 +                          "   #MOD1 #MOD2 #METH\n" +
 280.258 +                          "}\n";
 280.259 +
 280.260 +        String source;
 280.261 +
 280.262 +        public JavaSource() {
 280.263 +            super(URI.create("myfo:/Test.java"), JavaFileObject.Kind.SOURCE);
 280.264 +            source = template.replaceAll("#EK", ek.enclStr)
 280.265 +                    .replaceAll("#MOD1", modk1.modStr)
 280.266 +                    .replaceAll("#MOD2", modk2.modStr)
 280.267 +                    .replaceAll("#METH", mk.methStr);
 280.268 +        }
 280.269 +
 280.270 +        @Override
 280.271 +        public CharSequence getCharContent(boolean ignoreEncodingErrors) {
 280.272 +            return source;
 280.273 +        }
 280.274 +    }
 280.275 +
 280.276 +    void run(JavaCompiler tool, StandardJavaFileManager fm) throws Exception {
 280.277 +        JavacTask ct = (JavacTask)tool.getTask(null, fm, diagChecker,
 280.278 +                vk.getOptions(), null, Arrays.asList(source));
 280.279 +        try {
 280.280 +            ct.analyze();
 280.281 +        } catch (Throwable ex) {
 280.282 +            throw new AssertionError("Error thrown when analyzing the following source:\n" + source.getCharContent(true));
 280.283 +        }
 280.284 +        check();
 280.285 +    }
 280.286 +
 280.287 +    void check() {
 280.288 +        boolean errorExpected = !ModifierKind.compatible(modk1, modk2, ek);
 280.289 +
 280.290 +        errorExpected |= !ModifierKind.compatible(mk, modk1, modk2, ek);
 280.291 +
 280.292 +        errorExpected |= !modk1.compatible(ek) || !modk2.compatible(ek);
 280.293 +
 280.294 +        errorExpected |= ModifierKind.intersect(ModifierKind.DEFAULT, modk1, modk2) &&
 280.295 +                vk == VersionKind.PRE_LAMBDA;
 280.296 +
 280.297 +        checkCount++;
 280.298 +        if (diagChecker.errorFound != errorExpected) {
 280.299 +            throw new AssertionError("Problem when compiling source:\n" + source.getCharContent(true) +
 280.300 +                    "\nfound error: " + diagChecker.errorFound);
 280.301 +        }
 280.302 +    }
 280.303 +
 280.304 +    static class DiagnosticChecker implements javax.tools.DiagnosticListener<JavaFileObject> {
 280.305 +
 280.306 +        boolean errorFound;
 280.307 +
 280.308 +        public void report(Diagnostic<? extends JavaFileObject> diagnostic) {
 280.309 +            if (diagnostic.getKind() == Diagnostic.Kind.ERROR) {
 280.310 +                errorFound = true;
 280.311 +            }
 280.312 +        }
 280.313 +    }
 280.314 +}
   281.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   281.2 +++ b/test/tools/javac/diags/examples/DefaultMethodNotSupported.java	Tue Oct 23 09:42:48 2012 -0700
   281.3 @@ -0,0 +1,29 @@
   281.4 +/*
   281.5 + * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
   281.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   281.7 + *
   281.8 + * This code is free software; you can redistribute it and/or modify it
   281.9 + * under the terms of the GNU General Public License version 2 only, as
  281.10 + * published by the Free Software Foundation.
  281.11 + *
  281.12 + * This code is distributed in the hope that it will be useful, but WITHOUT
  281.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  281.14 + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  281.15 + * version 2 for more details (a copy is included in the LICENSE file that
  281.16 + * accompanied this code).
  281.17 + *
  281.18 + * You should have received a copy of the GNU General Public License version
  281.19 + * 2 along with this work; if not, write to the Free Software Foundation,
  281.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  281.21 + *
  281.22 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  281.23 + * or visit www.oracle.com if you need additional information or have any
  281.24 + * questions.
  281.25 + */
  281.26 +
  281.27 +// key: compiler.err.default.methods.not.supported.in.source
  281.28 +// options: -source 7 -Xlint:-options
  281.29 +
  281.30 +interface DefaultMethodNotSupported {
  281.31 +    default void m() { }
  281.32 +}

mercurial