Merge

Sat, 24 Jan 2009 16:35:52 -0800

author
tbell
date
Sat, 24 Jan 2009 16:35:52 -0800
changeset 203
40fd14d94c3c
parent 189
30db5e0aaf83
parent 202
3b2c55b7bd01
child 204
0f922ff6968f

Merge

make/netbeans/apt/README file | annotate | diff | comparison | revisions
make/netbeans/apt/build.xml file | annotate | diff | comparison | revisions
make/netbeans/apt/nbproject/project.xml file | annotate | diff | comparison | revisions
make/netbeans/common/shared.xml file | annotate | diff | comparison | revisions
make/netbeans/common/standard-context-menu-items-no-javadoc.ent file | annotate | diff | comparison | revisions
make/netbeans/common/standard-context-menu-items.ent file | annotate | diff | comparison | revisions
make/netbeans/common/standard-ide-actions-no-javadoc.ent file | annotate | diff | comparison | revisions
make/netbeans/common/standard-ide-actions.ent file | annotate | diff | comparison | revisions
make/netbeans/compiler/README file | annotate | diff | comparison | revisions
make/netbeans/compiler/build.xml file | annotate | diff | comparison | revisions
make/netbeans/compiler/nbproject/project.xml file | annotate | diff | comparison | revisions
make/netbeans/doclets/README file | annotate | diff | comparison | revisions
make/netbeans/doclets/build.xml file | annotate | diff | comparison | revisions
make/netbeans/doclets/nbproject/project.xml file | annotate | diff | comparison | revisions
make/netbeans/javadoc/README file | annotate | diff | comparison | revisions
make/netbeans/javadoc/build.xml file | annotate | diff | comparison | revisions
make/netbeans/javadoc/nbproject/project.xml file | annotate | diff | comparison | revisions
make/netbeans/javah/README file | annotate | diff | comparison | revisions
make/netbeans/javah/build.xml file | annotate | diff | comparison | revisions
make/netbeans/javah/nbproject/project.xml file | annotate | diff | comparison | revisions
make/netbeans/javap/README file | annotate | diff | comparison | revisions
make/netbeans/javap/build.xml file | annotate | diff | comparison | revisions
make/netbeans/javap/nbproject/project.xml file | annotate | diff | comparison | revisions
     1.1 --- a/make/README	Thu Jan 22 14:42:22 2009 -0800
     1.2 +++ b/make/README	Sat Jan 24 16:35:52 2009 -0800
     1.3 @@ -15,7 +15,7 @@
     1.4  
     1.5  System Requirements:
     1.6    Ant:      version 1.6.5 or later
     1.7 -  NetBeans: version 5.0 or later (optional)
     1.8 +  NetBeans: version 6.0 or later (optional)
     1.9    JDK:      currently version 1.5.0, although 1.6.0 is recommended
    1.10    OS:       any system supporting the above tools
    1.11  
     2.1 --- a/make/build.properties	Thu Jan 22 14:42:22 2009 -0800
     2.2 +++ b/make/build.properties	Sat Jan 24 16:35:52 2009 -0800
     2.3 @@ -66,7 +66,7 @@
     2.4  # set the following to -version to verify the versions of javac being used
     2.5  javac.version.opt = 
     2.6  # in time, there should be no exceptions to -Xlint:all
     2.7 -javac.lint.opts = -Xlint:all,-deprecation,-fallthrough,-serial,-unchecked,-cast
     2.8 +javac.lint.opts = -Xlint:all -Werror
     2.9  
    2.10  # options for the <javadoc> task for javac
    2.11  javadoc.jls3.url=http://java.sun.com/docs/books/jls/
     3.1 --- a/make/build.xml	Thu Jan 22 14:42:22 2009 -0800
     3.2 +++ b/make/build.xml	Sat Jan 24 16:35:52 2009 -0800
     3.3 @@ -392,6 +392,7 @@
     3.4              <attribute name="lib.dir" default="${dist.lib.dir}"/>
     3.5              <attribute name="java" default="java"/>
     3.6              <attribute name="javac.bootclasspath" default="-J-Xbootclasspath/p:${build.bootstrap.dir}/classes"/>
     3.7 +            <attribute name="javac.java.home" default="${boot.java.home}"/>
     3.8              <attribute name="javac.target" default="${javac.target}"/>
     3.9              <attribute name="jarmainclass" default="com.sun.tools.@{name}.Main"/>
    3.10              <attribute name="jarclasspath" default=""/>
    3.11 @@ -433,6 +434,7 @@
    3.12              <attribute name="gensrc.dir" default="${build.gensrc.dir}"/>
    3.13              <attribute name="lib.dir" default="${dist.lib.dir}"/>
    3.14              <attribute name="javac.bootclasspath" default="-J-Xbootclasspath/p:${build.bootstrap.dir}/classes"/>
    3.15 +            <attribute name="javac.java.home" default="${boot.java.home}"/>
    3.16              <attribute name="javac.target" default="${javac.target}"/>
    3.17              <attribute name="jarmainclass" default="com.sun.tools.@{name}.Main"/>
    3.18              <attribute name="jarclasspath" default=""/>
    3.19 @@ -471,6 +473,7 @@
    3.20              <attribute name="classes.dir" default="${build.classes.dir}"/>
    3.21              <attribute name="gensrc.dir" default="${build.gensrc.dir}"/>
    3.22              <attribute name="javac.bootclasspath" default="${build.bootstrap.dir}/classes"/>
    3.23 +            <attribute name="javac.java.home" default="${boot.java.home}"/>
    3.24              <attribute name="javac.target" default="${javac.target}"/>
    3.25              <attribute name="release" default="${release}"/>
    3.26              <attribute name="full.version" default="${full.version}"/>
    3.27 @@ -493,6 +496,7 @@
    3.28                            destdir="@{gensrc.dir}"
    3.29                            includes="**/*.properties"/>
    3.30                  <javac fork="true"
    3.31 +                       executable="@{javac.java.home}/bin/javac"
    3.32                         srcdir="@{gensrc.dir}"
    3.33                         destdir="@{classes.dir}"
    3.34                         includes="@{includes}"
    3.35 @@ -504,6 +508,7 @@
    3.36                      <compilerarg line="-Xlint"/>
    3.37                  </javac>
    3.38                  <javac fork="true"
    3.39 +                       executable="@{javac.java.home}/bin/javac"
    3.40                         srcdir="${src.classes.dir}"
    3.41                         destdir="@{classes.dir}"
    3.42                         includes="@{includes}"
    3.43 @@ -562,7 +567,9 @@
    3.44      
    3.45      <target name="-def-pcompile">
    3.46          <mkdir dir="${build.toolclasses.dir}"/>
    3.47 -        <javac srcdir="${make.tools.dir}/CompileProperties"
    3.48 +        <javac fork="true"
    3.49 +               executable="${boot.java.home}/bin/javac"
    3.50 +               srcdir="${make.tools.dir}/CompileProperties"
    3.51                 destdir="${build.toolclasses.dir}/"
    3.52                 classpath="${ant.home}/lib/ant.jar"/>
    3.53          <taskdef name="pcompile"
    3.54 @@ -653,7 +660,7 @@
    3.55                  <!-- the next two properties are for convenience, when only 
    3.56                       a single instance of jtreg will be invoked. -->
    3.57                  <condition property="jtreg.passed">
    3.58 -                    <equals arg1="${jtreg.javac.result}" arg2="0"/>
    3.59 +                    <equals arg1="${jtreg.@{name}.result}" arg2="0"/>
    3.60                  </condition>
    3.61                  <property name="jtreg.report" value="${build.jtreg.dir}/@{name}/report"/>
    3.62              </sequential>
     4.1 --- a/make/netbeans/README	Thu Jan 22 14:42:22 2009 -0800
     4.2 +++ b/make/netbeans/README	Sat Jan 24 16:35:52 2009 -0800
     4.3 @@ -1,28 +1,39 @@
     4.4 -Working on the "langtools" workspace using NetBeans.
     4.5 +Using NetBeans to work on the langtools repository.
     4.6  
     4.7 -This directory (make/netbeans) contains NetBeans projects that
     4.8 -allow you to work on the various tools using the NetBeans IDE.
     4.9 +Netbeans 6.0 or later is recommended.
    4.10  
    4.11 -NetBeans 5.0 or later is required and sufficient to use these 
    4.12 -projects. This is different from other projects in OpenJDK, 
    4.13 -which requires version 6.0 or later.
    4.14 +The "langtools" project in this directory allows you to
    4.15 +edit, run, test and debug the tools in the OpenJDK langtools
    4.16 +repository.
    4.17  
    4.18 -The following projects are provided:
    4.19 +The repository contains a number of tools:
    4.20 +    apt, javac, javadoc and its doclets, javah and javap.
    4.21  
    4.22 -compiler: for working on the compiler, javac
    4.23 -javadoc:  for working on the documentation tool, javadoc
    4.24 -doclets:  for working on the standard doclets used by the 
    4.25 - 	  documentation tool, javadoc
    4.26 -javah:    for working on the C header tool, javah
    4.27 -javap:    for working on the disassembler, javap
    4.28 -apt:      for working on the annotation processing tool, apt.
    4.29 -          Note that this is just provided for completeness;
    4.30 -          the tool has been superceded by new features in javac,
    4.31 -          and work on apt itself is discouraged.
    4.32 +Build Properties.
    4.33  
    4.34 -However, any tool can be worked on from any project; the only difference
    4.35 -between these projects is the behavior of the standard NetBeans actions,
    4.36 -so that "Build" in the compiler project will build the compiler, etc.
    4.37 +To build this repository, you must set some properties for Ant.
    4.38 +You can set these properties in a number of ways:
    4.39  
    4.40 +- Set the properties in the Properties panel under Tool> Options> Ant.
    4.41 +  Properties set this way will apply globally to all the langtools 
    4.42 +  repositories you may be working on.
    4.43  
    4.44 +- Create a file build.properties in the root directory of a
    4.45 +  langtools repository, and set the properties in that file.
    4.46 +  These properties will be specific to that repository.
    4.47  
    4.48 +To build the repository, at a minimum you must set the "boot.java.home"
    4.49 +property.  To run the tools, you must also set "target.java.home". To
    4.50 +run the regression tests, you must set "jtreg.home".
    4.51 +
    4.52 +By default, the build and test targets will build and test all
    4.53 +of these tools. The run and debug targets will prompt you for the
    4.54 +name of a tool to execute.
    4.55 +
    4.56 +As an alternative, you can focus on a single tool.  When you do
    4.57 +this, you will still see all the source code for all the tools,
    4.58 +but the various Ant targets will now be focussed on the selected tool.
    4.59 +To focus on a tool, bring up the context menu on the "langtools"
    4.60 +project (i.e. right-click on the project) and select "Select Tool".
    4.61 +This brings up a dialog which allows you to specify which tool you
    4.62 +wish to work on, and the arguments to use if and when you run it.
     5.1 --- a/make/netbeans/apt/README	Thu Jan 22 14:42:22 2009 -0800
     5.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     5.3 @@ -1,15 +0,0 @@
     5.4 -"apt" project README.
     5.5 -
     5.6 -This project is for working on the annotation processing tool (apt)
     5.7 -in the OpenJDK langtools component.
     5.8 -
     5.9 -The tool was provided in Java 1.5, but has been superceded by new
    5.10 -features in the compiler (javac) in Java 6. apt itself is now 
    5.11 -deprecated, and any further devlopment on it is strongly discouraged.
    5.12 -
    5.13 -The main class for the tool is com.sun.tools.apt.Main.
    5.14 -
    5.15 -NetBeans 5.0 or later is required and sufficient to use this
    5.16 -project, and others in the OpenJDK langtools component. 
    5.17 -This is different from other projects in OpenJDK, which 
    5.18 -require version 6.0 or later.
     6.1 --- a/make/netbeans/apt/build.xml	Thu Jan 22 14:42:22 2009 -0800
     6.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     6.3 @@ -1,62 +0,0 @@
     6.4 -<?xml version="1.0" encoding="UTF-8"?>
     6.5 -<!--
     6.6 - Copyright 2007 Sun Microsystems, Inc.  All Rights Reserved.
     6.7 -
     6.8 - Redistribution and use in source and binary forms, with or without
     6.9 - modification, are permitted provided that the following conditions
    6.10 - are met:
    6.11 -
    6.12 -   - Redistributions of source code must retain the above copyright
    6.13 -     notice, this list of conditions and the following disclaimer.
    6.14 -
    6.15 -   - Redistributions in binary form must reproduce the above copyright
    6.16 -     notice, this list of conditions and the following disclaimer in the
    6.17 -     documentation and/or other materials provided with the distribution.
    6.18 -
    6.19 -   - Neither the name of Sun Microsystems nor the names of its
    6.20 -     contributors may be used to endorse or promote products derived
    6.21 -     from this software without specific prior written permission.
    6.22 -
    6.23 - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
    6.24 - IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
    6.25 - THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
    6.26 - PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
    6.27 - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
    6.28 - EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
    6.29 - PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
    6.30 - PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
    6.31 - LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
    6.32 - NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    6.33 - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    6.34 --->
    6.35 -
    6.36 -<!--
    6.37 - Build file for the annotation processing tool, apt.
    6.38 - - The basic functionality of the build is imported from make/build.xml.
    6.39 - - Additional support for NetBeans actions is imported from 
    6.40 -   make/netbeans/common/shared.xml.
    6.41 - - This file gives the final customizations.
    6.42 - This tool is now deprecated, and any further development is strongly
    6.43 - discouraged.
    6.44 --->
    6.45 -
    6.46 -<project name="apt" default="build" basedir="../../..">
    6.47 -    <property name="tool.name" value="apt"/>
    6.48 -    
    6.49 -    <import file="../common/shared.xml"/>
    6.50 -    
    6.51 -    <!-- 
    6.52 -      Alias the following imported targets, giving descriptions as appropriate.
    6.53 -      NetBeans will emphasize targets with descriptions in the Ant Targets list,
    6.54 -      and will display the targets in the context menu (under Run Target) for 
    6.55 -      this file in the Projects viewer. 
    6.56 -    -->
    6.57 -    
    6.58 -    <target name="build" depends="build-apt" description="Build the annotation processing tool, apt."/>
    6.59 -    
    6.60 -    <target name="debug" depends="-debug-nb" description="Debug the annotation processing tool, apt."/>
    6.61 -    
    6.62 -    <target name="-jtreg" depends="jtreg-apt"/>    
    6.63 -    <target name="jtreg" depends="-jtreg-nb" description="Run the jtreg tests for the annotation processing tool, apt."/>
    6.64 -    
    6.65 -</project>
     7.1 --- a/make/netbeans/apt/nbproject/project.xml	Thu Jan 22 14:42:22 2009 -0800
     7.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     7.3 @@ -1,108 +0,0 @@
     7.4 -<?xml version="1.0" encoding="UTF-8"?>
     7.5 -<!--
     7.6 - Copyright 2007 Sun Microsystems, Inc.  All Rights Reserved.
     7.7 -
     7.8 - Redistribution and use in source and binary forms, with or without
     7.9 - modification, are permitted provided that the following conditions
    7.10 - are met:
    7.11 -
    7.12 -   - Redistributions of source code must retain the above copyright
    7.13 -     notice, this list of conditions and the following disclaimer.
    7.14 -
    7.15 -   - Redistributions in binary form must reproduce the above copyright
    7.16 -     notice, this list of conditions and the following disclaimer in the
    7.17 -     documentation and/or other materials provided with the distribution.
    7.18 -
    7.19 -   - Neither the name of Sun Microsystems nor the names of its
    7.20 -     contributors may be used to endorse or promote products derived
    7.21 -     from this software without specific prior written permission.
    7.22 -
    7.23 - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
    7.24 - IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
    7.25 - THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
    7.26 - PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
    7.27 - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
    7.28 - EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
    7.29 - PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
    7.30 - PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
    7.31 - LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
    7.32 - NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    7.33 - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    7.34 --->
    7.35 -
    7.36 -<!DOCTYPE project [
    7.37 -    <!ENTITY standard-ide-actions-no-javadoc SYSTEM "../../common/standard-ide-actions-no-javadoc.ent">
    7.38 -    <!ENTITY standard-context-menu-items-no-javadoc SYSTEM "../../common/standard-context-menu-items-no-javadoc.ent">
    7.39 -]>
    7.40 -<project xmlns="http://www.netbeans.org/ns/project/1">
    7.41 -    <type>org.netbeans.modules.ant.freeform</type>
    7.42 -    <configuration>
    7.43 -        <general-data xmlns="http://www.netbeans.org/ns/freeform-project/1">
    7.44 -            <!-- Do not use Project Properties customizer when editing this file manually. -->
    7.45 -            <name>apt</name>
    7.46 -            <properties>
    7.47 -                <property name="root">../../..</property>
    7.48 -            </properties>
    7.49 -            <folders>
    7.50 -                <source-folder>
    7.51 -                    <label>langtools</label>
    7.52 -                    <location>${root}</location>
    7.53 -                </source-folder>
    7.54 -                <source-folder>
    7.55 -                    <label>Source files</label>
    7.56 -                    <type>java</type>
    7.57 -                    <location>${root}/src/share/classes</location>
    7.58 -                </source-folder>
    7.59 -                <source-folder>
    7.60 -                    <label>Test files</label>
    7.61 -                    <type>tests</type>
    7.62 -                    <location>${root}/test</location>
    7.63 -                </source-folder>
    7.64 -                <source-folder>
    7.65 -                    <label>Build files</label>
    7.66 -                    <type>build</type>
    7.67 -                    <location>${root}/make</location>
    7.68 -                </source-folder>
    7.69 -            </folders>
    7.70 -            <ide-actions>
    7.71 -                &standard-ide-actions-no-javadoc;
    7.72 -            </ide-actions>
    7.73 -            <export>
    7.74 -                <type>folder</type>
    7.75 -                <location>${root}/build/classes</location>
    7.76 -                <build-target>build</build-target>
    7.77 -            </export>
    7.78 -            <view>
    7.79 -                <items>
    7.80 -                    <source-folder style="tree">
    7.81 -                        <label>Source files</label>
    7.82 -                        <location>${root}/src/share/classes</location>
    7.83 -                    </source-folder>
    7.84 -                    <source-folder style="tree">
    7.85 -                        <label>Test files</label>
    7.86 -                        <location>${root}/test</location>
    7.87 -                    </source-folder>
    7.88 -                    <source-folder style="tree">
    7.89 -                        <label>Build files</label>
    7.90 -                        <location>${root}/make</location>
    7.91 -                    </source-folder>
    7.92 -                    <source-file>
    7.93 -                        <label>README</label>
    7.94 -                        <location>README</location>
    7.95 -                    </source-file>
    7.96 -                </items>
    7.97 -                <context-menu>
    7.98 -                    &standard-context-menu-items-no-javadoc;
    7.99 -                </context-menu>
   7.100 -            </view>
   7.101 -            <subprojects/>
   7.102 -        </general-data>
   7.103 -        <java-data xmlns="http://www.netbeans.org/ns/freeform-project-java/2">
   7.104 -            <compilation-unit>
   7.105 -                <package-root>${root}/src/share/classes</package-root>
   7.106 -                <built-to>${root}/build/classes</built-to>
   7.107 -                <source-level>1.5</source-level>  <!-- FIXME -->
   7.108 -            </compilation-unit>
   7.109 -        </java-data>
   7.110 -    </configuration>
   7.111 -</project>
     8.1 --- a/make/netbeans/common/shared.xml	Thu Jan 22 14:42:22 2009 -0800
     8.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     8.3 @@ -1,186 +0,0 @@
     8.4 -<?xml version="1.0" encoding="UTF-8"?>
     8.5 -<!--
     8.6 - Copyright 2007 Sun Microsystems, Inc.  All Rights Reserved.
     8.7 -
     8.8 - Redistribution and use in source and binary forms, with or without
     8.9 - modification, are permitted provided that the following conditions
    8.10 - are met:
    8.11 -
    8.12 -   - Redistributions of source code must retain the above copyright
    8.13 -     notice, this list of conditions and the following disclaimer.
    8.14 -
    8.15 -   - Redistributions in binary form must reproduce the above copyright
    8.16 -     notice, this list of conditions and the following disclaimer in the
    8.17 -     documentation and/or other materials provided with the distribution.
    8.18 -
    8.19 -   - Neither the name of Sun Microsystems nor the names of its
    8.20 -     contributors may be used to endorse or promote products derived
    8.21 -     from this software without specific prior written permission.
    8.22 -
    8.23 - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
    8.24 - IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
    8.25 - THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
    8.26 - PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
    8.27 - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
    8.28 - EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
    8.29 - PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
    8.30 - PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
    8.31 - LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
    8.32 - NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    8.33 - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    8.34 --->
    8.35 -
    8.36 -<!--
    8.37 - The file contains targets for NetBeans action that are shared across
    8.38 - all langtools projects.
    8.39 --->
    8.40 -
    8.41 -<project name="shared" default="build" basedir="../../..">
    8.42 -    <!-- 
    8.43 -       Instead of importing the main build file, we could call it when needed.
    8.44 -       That would reduce the list of Ant targets that get displayed for this
    8.45 -       file, but it also complicates the interface between the project build 
    8.46 -       file and the main build file. For example, some imported targets
    8.47 -       would have to be reclared, properties would have to be restructured,
    8.48 -       and it would be harder to run results (e.g. in properties) from nested 
    8.49 -       targets.
    8.50 -     -->
    8.51 -    <import file="../../build.xml"/> 
    8.52 -    
    8.53 -    <property name="tool.mainclass" value="com.sun.tools.${tool.name}.Main"/>
    8.54 -    <property name="tool.default.args" value="-version"/>
    8.55 -    
    8.56 -    <!-- compile a single file -->
    8.57 - 
    8.58 -    <!-- for compile-single, etc, we might want different targets for 
    8.59 -         javac and not javac, because of bootstrap issues -->
    8.60 -    <target name="compile-single" depends="build-bootstrap-javac">
    8.61 -        <fail unless="includes">Must set property 'includes'</fail>
    8.62 -        <javac fork="true" executable="${build.bootstrap.dir}/bin/javac"
    8.63 -               srcdir="${src.classes.dir}"
    8.64 -               destdir="${build.classes.dir}"
    8.65 -               includes="${includes}"
    8.66 -               sourcepath=""
    8.67 -               includeAntRuntime="no"
    8.68 -               target="${target}"
    8.69 -               debug="${javac.debug}" 
    8.70 -               debuglevel="${javac.debuglevel}"/>
    8.71 -    </target>
    8.72 -    
    8.73 -    <!-- run tool -->
    8.74 -    
    8.75 -    <target name="run" depends="build,-def-run" description="run ${tool.description}">
    8.76 -        <run/>
    8.77 -    </target>
    8.78 -    
    8.79 -    <!-- run a selected class -->
    8.80 -    
    8.81 -    <target name="run-single" depends="-def-run">
    8.82 -        <fail unless="run.classname">Must set property 'run.classname'</fail>
    8.83 -        <run name="${run.classname}" mainclass="${run.classname}" default.args=""/>
    8.84 -    </target>
    8.85 -    
    8.86 -    <!-- run jtreg tests, and display results in NetBeans -->
    8.87 -    
    8.88 -    <target name="-jtreg-nb" depends="-jtreg" if="netbeans.home" unless="jtreg.passed">
    8.89 -        <nbbrowse file="${jtreg.report}/report.html"/>
    8.90 -        <fail>Some tests failed; see report for details.</fail>
    8.91 -    </target>
    8.92 -    
    8.93 -    <!-- debug tool in NetBeans -->
    8.94 -    
    8.95 -    <target name="-debug-nb" depends="build,-def-run,-def-start-debugger" if="netbeans.home">
    8.96 -        <start-debugger/>
    8.97 -        <run jpda.jvmargs="${jpda.jvmargs}"/>
    8.98 -    </target>
    8.99 -    
   8.100 -    <!-- debug a selected class -->
   8.101 -    
   8.102 -    <target name="debug-single-nb" depends="-def-start-debugger,-def-run">
   8.103 -        <fail unless="debug.classname">Must set property 'debug.classname'</fail>
   8.104 -        <start-debugger/>
   8.105 -        <run name="${debug.classname}" mainclass="${debug.classname}" default.args=""
   8.106 -             jpda.jvmargs="${jpda.jvmargs}"/>
   8.107 -    </target>
   8.108 -    
   8.109 -    <!-- debug a jtreg test -->
   8.110 -    
   8.111 -    <target name="debug-jtreg-nb" depends="-def-start-debugger,-def-jtreg"> 
   8.112 -        <fail unless="jtreg.tests">Must set property 'jtreg.tests'</fail>
   8.113 -        <start-debugger/>
   8.114 -        <jtreg-tool name="${tool.name}" samevm="false" tests="${jtreg.tests}" 
   8.115 -                    jpda.jvmargs="${jpda.jvmargs}"/>
   8.116 -    </target>
   8.117 -    
   8.118 -    <!-- update a class being debugged -->
   8.119 -    
   8.120 -    <target name="debug-fix">
   8.121 -        <fail unless="class">Must set property 'class'</fail>
   8.122 -        <antcall target="compile-single">
   8.123 -            <param name="includes" value="${class}.java"/>
   8.124 -        </antcall>
   8.125 -        <nbjpdareload>
   8.126 -            <fileset dir="${build.classes.dir}">
   8.127 -                <include name="${class}.class"/>
   8.128 -            </fileset>
   8.129 -        </nbjpdareload>
   8.130 -    </target>
   8.131 -    
   8.132 -    
   8.133 -    <!-- create javadoc documentation -->
   8.134 -    
   8.135 -    <target name="-javadoc-nb" depends="-javadoc" if="netbeans.home">
   8.136 -        <nbbrowse file="${build.javadoc.dir}/${tool.name}/index.html"/>
   8.137 -    </target>
   8.138 -    
   8.139 -    <!-- default target for those projects that don't have public API docs;
   8.140 -         override as needed for projects with public API docs.-->
   8.141 -    <target name="-javadoc"/>
   8.142 -    
   8.143 -    <!-- macro to run a tool or selected class - used by run* and debug* tasks -->
   8.144 -    
   8.145 -    <target name="-def-run">
   8.146 -        <macrodef name="run">
   8.147 -            <attribute name="name" default="${tool.name}"/>
   8.148 -            <attribute name="mainclass" default="${tool.mainclass}"/>
   8.149 -            <attribute name="default.args" default="${tool.default.args}"/>
   8.150 -            <attribute name="jpda.jvmargs" default=""/>
   8.151 -            <sequential>
   8.152 -                <input addproperty="run.args" message="Run @{name} with options" defaultvalue="@{default.args}"/>
   8.153 -                <java fork="true" jvm="${target.java}" classname="@{mainclass}">
   8.154 -                    <bootclasspath>
   8.155 -                        <pathelement location="${build.classes.dir}"/>
   8.156 -                        <pathelement location="${target.java.home}/jre/lib/rt.jar"/>
   8.157 -                    </bootclasspath>
   8.158 -                    <jvmarg line="@{jpda.jvmargs}"/> 
   8.159 -                    <arg line="${run.args}"/>
   8.160 -                </java>
   8.161 -            </sequential>
   8.162 -        </macrodef>
   8.163 -    </target>
   8.164 -    
   8.165 -    <!-- macro to start the debugger and set a property containg the args needed by the run task -->
   8.166 -    
   8.167 -    <target name="-def-start-debugger" if="netbeans.home">
   8.168 -        <macrodef name="start-debugger">
   8.169 -            <attribute name="jpda.jvmargs.property" default="jpda.jvmargs"/>
   8.170 -            <sequential>
   8.171 -                <nbjpdastart name="${ant.project.name}" addressproperty="jpda.address" transport="dt_socket">
   8.172 -                    <bootclasspath>
   8.173 -                        <pathelement location="${build.classes.dir}"/>
   8.174 -                        <pathelement location="${target.java.home}/jre/lib/rt.jar"/>
   8.175 -                    </bootclasspath>
   8.176 -                    <sourcepath>
   8.177 -                        <pathelement location="${src.classes.dir}"/>
   8.178 -                    </sourcepath>
   8.179 -                </nbjpdastart>
   8.180 -                <property 
   8.181 -                    name="@{jpda.jvmargs.property}" 
   8.182 -                    value="-Xdebug -Xnoagent -Djava.compiler=none -Xrunjdwp:transport=dt_socket,address=${jpda.address}"
   8.183 -                />
   8.184 -            </sequential>
   8.185 -        </macrodef>
   8.186 -    </target>
   8.187 -    
   8.188 -    
   8.189 -</project>
     9.1 --- a/make/netbeans/common/standard-context-menu-items-no-javadoc.ent	Thu Jan 22 14:42:22 2009 -0800
     9.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     9.3 @@ -1,56 +0,0 @@
     9.4 -<?xml version="1.0" encoding="UTF-8"?>
     9.5 -<!--
     9.6 - Copyright 2007 Sun Microsystems, Inc.  All Rights Reserved.
     9.7 -
     9.8 - Redistribution and use in source and binary forms, with or without
     9.9 - modification, are permitted provided that the following conditions
    9.10 - are met:
    9.11 -
    9.12 -   - Redistributions of source code must retain the above copyright
    9.13 -     notice, this list of conditions and the following disclaimer.
    9.14 -
    9.15 -   - Redistributions in binary form must reproduce the above copyright
    9.16 -     notice, this list of conditions and the following disclaimer in the
    9.17 -     documentation and/or other materials provided with the distribution.
    9.18 -
    9.19 -   - Neither the name of Sun Microsystems nor the names of its
    9.20 -     contributors may be used to endorse or promote products derived
    9.21 -     from this software without specific prior written permission.
    9.22 -
    9.23 - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
    9.24 - IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
    9.25 - THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
    9.26 - PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
    9.27 - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
    9.28 - EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
    9.29 - PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
    9.30 - PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
    9.31 - LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
    9.32 - NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    9.33 - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    9.34 --->
    9.35 -
    9.36 -<!-- 
    9.37 - This file defines the actions that will appear on the project's context
    9.38 - menu, in the Projects viewer.
    9.39 - It is normally included as an entity into a project's project.xml file.
    9.40 -
    9.41 - For information on these actions, see
    9.42 -   - NetBeans: Setting Up Projects
    9.43 -     at http://www.netbeans.org/kb/55/using-netbeans/project_setup.html
    9.44 -   - NetBeans: Advanced Freeform Project Configuration
    9.45 -     at http://www.netbeans.org/kb/41/freeform-config.html 
    9.46 --->
    9.47 -  
    9.48 -<ide-action name="build"/>
    9.49 -<ide-action name="rebuild"/>
    9.50 -<ide-action name="clean"/>
    9.51 -
    9.52 -<separator/>
    9.53 -
    9.54 -<ide-action name="run"/>
    9.55 -<ide-action name="debug"/>
    9.56 -
    9.57 -<separator/>
    9.58 -
    9.59 -<ide-action name="test"/>
    10.1 --- a/make/netbeans/common/standard-context-menu-items.ent	Thu Jan 22 14:42:22 2009 -0800
    10.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    10.3 @@ -1,57 +0,0 @@
    10.4 -<?xml version="1.0" encoding="UTF-8"?>
    10.5 -<!--
    10.6 - Copyright 2007 Sun Microsystems, Inc.  All Rights Reserved.
    10.7 -
    10.8 - Redistribution and use in source and binary forms, with or without
    10.9 - modification, are permitted provided that the following conditions
   10.10 - are met:
   10.11 -
   10.12 -   - Redistributions of source code must retain the above copyright
   10.13 -     notice, this list of conditions and the following disclaimer.
   10.14 -
   10.15 -   - Redistributions in binary form must reproduce the above copyright
   10.16 -     notice, this list of conditions and the following disclaimer in the
   10.17 -     documentation and/or other materials provided with the distribution.
   10.18 -
   10.19 -   - Neither the name of Sun Microsystems nor the names of its
   10.20 -     contributors may be used to endorse or promote products derived
   10.21 -     from this software without specific prior written permission.
   10.22 -
   10.23 - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
   10.24 - IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
   10.25 - THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
   10.26 - PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
   10.27 - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
   10.28 - EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
   10.29 - PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
   10.30 - PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
   10.31 - LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
   10.32 - NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
   10.33 - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
   10.34 --->
   10.35 -
   10.36 -<!-- 
   10.37 - This file defines the actions that will appear on the project's context
   10.38 - menu, in the Projects viewer.
   10.39 - It is normally included as an entity into a project's project.xml file.
   10.40 -
   10.41 - For information on these actions, see
   10.42 -   - NetBeans: Setting Up Projects
   10.43 -     at http://www.netbeans.org/kb/55/using-netbeans/project_setup.html
   10.44 -   - NetBeans: Advanced Freeform Project Configuration
   10.45 -     at http://www.netbeans.org/kb/41/freeform-config.html 
   10.46 --->
   10.47 -  
   10.48 -<ide-action name="build"/>
   10.49 -<ide-action name="rebuild"/>
   10.50 -<ide-action name="clean"/>
   10.51 -<ide-action name="javadoc"/>
   10.52 -
   10.53 -<separator/>
   10.54 -
   10.55 -<ide-action name="run"/>
   10.56 -<ide-action name="debug"/>
   10.57 -
   10.58 -<separator/>
   10.59 -
   10.60 -<ide-action name="test"/>
    11.1 --- a/make/netbeans/common/standard-ide-actions-no-javadoc.ent	Thu Jan 22 14:42:22 2009 -0800
    11.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    11.3 @@ -1,161 +0,0 @@
    11.4 -<?xml version="1.0" encoding="UTF-8"?>
    11.5 -<!--
    11.6 - Copyright 2007-2008 Sun Microsystems, Inc.  All Rights Reserved.
    11.7 -
    11.8 - Redistribution and use in source and binary forms, with or without
    11.9 - modification, are permitted provided that the following conditions
   11.10 - are met:
   11.11 -
   11.12 -   - Redistributions of source code must retain the above copyright
   11.13 -     notice, this list of conditions and the following disclaimer.
   11.14 -
   11.15 -   - Redistributions in binary form must reproduce the above copyright
   11.16 -     notice, this list of conditions and the following disclaimer in the
   11.17 -     documentation and/or other materials provided with the distribution.
   11.18 -
   11.19 -   - Neither the name of Sun Microsystems nor the names of its
   11.20 -     contributors may be used to endorse or promote products derived
   11.21 -     from this software without specific prior written permission.
   11.22 -
   11.23 - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
   11.24 - IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
   11.25 - THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
   11.26 - PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
   11.27 - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
   11.28 - EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
   11.29 - PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
   11.30 - PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
   11.31 - LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
   11.32 - NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
   11.33 - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
   11.34 --->
   11.35 -
   11.36 -<!-- 
   11.37 - This file defines the standard actions accepted by langtools projects.
   11.38 - It is normally included as an entity into a project's project.xml file.
   11.39 -
   11.40 - For information on these actions, see
   11.41 -   - NetBeans: Setting Up Projects
   11.42 -     at http://www.netbeans.org/kb/55/using-netbeans/project_setup.html
   11.43 -   - NetBeans: Advanced Freeform Project Configuration
   11.44 -     at http://www.netbeans.org/kb/41/freeform-config.html 
   11.45 --->
   11.46 -
   11.47 -<action name="build">
   11.48 -    <target>build</target>
   11.49 -</action>
   11.50 -
   11.51 -<action name="clean">
   11.52 -    <target>clean</target>
   11.53 -</action>
   11.54 -
   11.55 -<action name="rebuild">
   11.56 -    <target>clean</target>
   11.57 -    <target>build</target>
   11.58 -</action>
   11.59 -
   11.60 -<action name="compile.single">
   11.61 -    <target>compile-single</target>
   11.62 -    <property name="srcdir">${root}/src/share/classes</property>
   11.63 -    <context>
   11.64 -        <property>includes</property>
   11.65 -        <folder>${root}/src/share/classes</folder>
   11.66 -        <pattern>\.java$</pattern>
   11.67 -        <format>relative-path</format>
   11.68 -        <arity>
   11.69 -            <separated-files>,</separated-files>
   11.70 -        </arity>
   11.71 -    </context>
   11.72 -</action>
   11.73 -
   11.74 -<action name="run">
   11.75 -    <target>run</target>
   11.76 -</action>
   11.77 -
   11.78 -<action name="run.single">
   11.79 -    <target>run-single</target>
   11.80 -    <context>
   11.81 -        <property>run.classname</property>
   11.82 -        <folder>${root}/src/share/classes</folder>
   11.83 -        <pattern>\.java$</pattern>
   11.84 -        <format>java-name</format>
   11.85 -        <arity>
   11.86 -            <one-file-only/>
   11.87 -        </arity>
   11.88 -    </context>
   11.89 -</action>
   11.90 -
   11.91 -<!-- 
   11.92 - Note: NetBeans does not appear to support context menu items
   11.93 - on shell scripts :-(
   11.94 --->
   11.95 -
   11.96 -<action name="run.single">
   11.97 -    <target>jtreg</target>
   11.98 -    <context>
   11.99 -        <property>jtreg.tests</property>
  11.100 -        <folder>${root}/test</folder>
  11.101 -        <pattern>\.(java|sh)$</pattern>
  11.102 -        <format>relative-path</format>
  11.103 -        <arity>
  11.104 -            <separated-files>,</separated-files>
  11.105 -        </arity>
  11.106 -    </context>
  11.107 -</action>
  11.108 -
  11.109 -<action name="test">
  11.110 -    <target>jtreg</target>
  11.111 -</action>
  11.112 -
  11.113 -<action name="debug">
  11.114 -    <target>debug-nb</target>
  11.115 -</action>
  11.116 -
  11.117 -<action name="debug.single">
  11.118 -    <target>debug-single-nb</target>
  11.119 -    <context>
  11.120 -        <property>debug.classname</property>
  11.121 -        <folder>${root}/src/share/classes</folder>
  11.122 -        <pattern>\.java$</pattern>
  11.123 -        <format>java-name</format>
  11.124 -        <arity>
  11.125 -            <one-file-only/>
  11.126 -        </arity>
  11.127 -    </context>
  11.128 -</action>
  11.129 -
  11.130 -<!-- 
  11.131 - Note: NetBeans does not appear to support context menu items
  11.132 - on shell scripts :-(
  11.133 --->
  11.134 -
  11.135 -<action name="debug.single">
  11.136 -    <target>debug-jtreg-nb</target>
  11.137 -    <context>
  11.138 -        <property>jtreg.tests</property>
  11.139 -        <folder>${root}/test</folder>
  11.140 -        <pattern>\.(java|sh)$</pattern>
  11.141 -        <format>relative-path</format>
  11.142 -        <arity>
  11.143 -            <one-file-only/>
  11.144 -        </arity>
  11.145 -    </context>
  11.146 -</action>
  11.147 -
  11.148 -<action name="debug.fix">
  11.149 -    <target>debug-fix</target>
  11.150 -    <property name="srcdir">${root}/src/share/classes</property>
  11.151 -    <context>
  11.152 -        <property>class</property>
  11.153 -        <folder>${root}/src/share/classes</folder>
  11.154 -        <pattern>\.java$</pattern>
  11.155 -        <format>relative-path-noext</format>
  11.156 -        <arity>
  11.157 -            <one-file-only/>
  11.158 -        </arity>
  11.159 -    </context>
  11.160 -</action>
  11.161 -
  11.162 -<action name="javadoc">
  11.163 -    <target>-javadoc-nb</target>
  11.164 -</action>
    12.1 --- a/make/netbeans/common/standard-ide-actions.ent	Thu Jan 22 14:42:22 2009 -0800
    12.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    12.3 @@ -1,161 +0,0 @@
    12.4 -<?xml version="1.0" encoding="UTF-8"?>
    12.5 -<!--
    12.6 - Copyright 2007-2008 Sun Microsystems, Inc.  All Rights Reserved.
    12.7 -
    12.8 - Redistribution and use in source and binary forms, with or without
    12.9 - modification, are permitted provided that the following conditions
   12.10 - are met:
   12.11 -
   12.12 -   - Redistributions of source code must retain the above copyright
   12.13 -     notice, this list of conditions and the following disclaimer.
   12.14 -
   12.15 -   - Redistributions in binary form must reproduce the above copyright
   12.16 -     notice, this list of conditions and the following disclaimer in the
   12.17 -     documentation and/or other materials provided with the distribution.
   12.18 -
   12.19 -   - Neither the name of Sun Microsystems nor the names of its
   12.20 -     contributors may be used to endorse or promote products derived
   12.21 -     from this software without specific prior written permission.
   12.22 -
   12.23 - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
   12.24 - IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
   12.25 - THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
   12.26 - PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
   12.27 - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
   12.28 - EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
   12.29 - PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
   12.30 - PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
   12.31 - LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
   12.32 - NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
   12.33 - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
   12.34 --->
   12.35 -
   12.36 -<!-- 
   12.37 - This file defines the standard actions accepted by langtools projects.
   12.38 - It is normally included as an entity into a project's project.xml file.
   12.39 -
   12.40 - For information on these actions, see
   12.41 -   - NetBeans: Setting Up Projects
   12.42 -     at http://www.netbeans.org/kb/55/using-netbeans/project_setup.html
   12.43 -   - NetBeans: Advanced Freeform Project Configuration
   12.44 -     at http://www.netbeans.org/kb/41/freeform-config.html 
   12.45 --->
   12.46 -
   12.47 -<action name="build">
   12.48 -    <target>build</target>
   12.49 -</action>
   12.50 -
   12.51 -<action name="clean">
   12.52 -    <target>clean</target>
   12.53 -</action>
   12.54 -
   12.55 -<action name="rebuild">
   12.56 -    <target>clean</target>
   12.57 -    <target>build</target>
   12.58 -</action>
   12.59 -
   12.60 -<action name="compile.single">
   12.61 -    <target>compile-single</target>
   12.62 -    <property name="srcdir">${root}/src/share/classes</property>
   12.63 -    <context>
   12.64 -        <property>includes</property>
   12.65 -        <folder>${root}/src/share/classes</folder>
   12.66 -        <pattern>\.java$</pattern>
   12.67 -        <format>relative-path</format>
   12.68 -        <arity>
   12.69 -            <separated-files>,</separated-files>
   12.70 -        </arity>
   12.71 -    </context>
   12.72 -</action>
   12.73 -
   12.74 -<action name="run">
   12.75 -    <target>run</target>
   12.76 -</action>
   12.77 -
   12.78 -<action name="run.single">
   12.79 -    <target>run-single</target>
   12.80 -    <context>
   12.81 -        <property>run.classname</property>
   12.82 -        <folder>${root}/src/share/classes</folder>
   12.83 -        <pattern>\.java$</pattern>
   12.84 -        <format>java-name</format>
   12.85 -        <arity>
   12.86 -            <one-file-only/>
   12.87 -        </arity>
   12.88 -    </context>
   12.89 -</action>
   12.90 -
   12.91 -<!-- 
   12.92 - Note: NetBeans does not appear to support context menu items
   12.93 - on shell scripts :-(
   12.94 --->
   12.95 -
   12.96 -<action name="run.single">
   12.97 -    <target>jtreg</target>
   12.98 -    <context>
   12.99 -        <property>jtreg.tests</property>
  12.100 -        <folder>${root}/test</folder>
  12.101 -        <pattern>\.(java|sh)$</pattern>
  12.102 -        <format>relative-path</format>
  12.103 -        <arity>
  12.104 -            <separated-files>,</separated-files>
  12.105 -        </arity>
  12.106 -    </context>
  12.107 -</action>
  12.108 -
  12.109 -<action name="test">
  12.110 -    <target>jtreg</target>
  12.111 -</action>
  12.112 -
  12.113 -<action name="debug">
  12.114 -    <target>debug-nb</target>
  12.115 -</action>
  12.116 -
  12.117 -<action name="debug.single">
  12.118 -    <target>debug-single-nb</target>
  12.119 -    <context>
  12.120 -        <property>debug.classname</property>
  12.121 -        <folder>${root}/src/share/classes</folder>
  12.122 -        <pattern>\.java$</pattern>
  12.123 -        <format>java-name</format>
  12.124 -        <arity>
  12.125 -            <one-file-only/>
  12.126 -        </arity>
  12.127 -    </context>
  12.128 -</action>
  12.129 -
  12.130 -<!-- 
  12.131 - Note: NetBeans does not appear to support context menu items
  12.132 - on shell scripts :-(
  12.133 --->
  12.134 -
  12.135 -<action name="debug.single">
  12.136 -    <target>debug-jtreg-nb</target>
  12.137 -    <context>
  12.138 -        <property>jtreg.tests</property>
  12.139 -        <folder>${root}/test</folder>
  12.140 -        <pattern>\.(java|sh)$</pattern>
  12.141 -        <format>relative-path</format>
  12.142 -        <arity>
  12.143 -            <one-file-only/>
  12.144 -        </arity>
  12.145 -    </context>
  12.146 -</action>
  12.147 -
  12.148 -<action name="debug.fix">
  12.149 -    <target>debug-fix</target>
  12.150 -    <property name="srcdir">${root}/src/share/classes</property>
  12.151 -    <context>
  12.152 -        <property>class</property>
  12.153 -        <folder>${root}/src/share/classes</folder>
  12.154 -        <pattern>\.java$</pattern>
  12.155 -        <format>relative-path-noext</format>
  12.156 -        <arity>
  12.157 -            <one-file-only/>
  12.158 -        </arity>
  12.159 -    </context>
  12.160 -</action>
  12.161 -
  12.162 -<action name="javadoc">
  12.163 -    <target>-javadoc-nb</target>
  12.164 -</action>
    13.1 --- a/make/netbeans/compiler/README	Thu Jan 22 14:42:22 2009 -0800
    13.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    13.3 @@ -1,11 +0,0 @@
    13.4 -"compiler" project README.
    13.5 -
    13.6 -This project is for working on the compiler tool (javac)
    13.7 -in the OpenJDK langtools component.
    13.8 -
    13.9 -The main class for the tool is com.sun.tools.javac.Main.
   13.10 -
   13.11 -NetBeans 5.0 or later is required and sufficient to use this
   13.12 -project, and others in the OpenJDK langtools component. 
   13.13 -This is different from other projects in OpenJDK, which 
   13.14 -require version 6.0 or later.
    14.1 --- a/make/netbeans/compiler/build.xml	Thu Jan 22 14:42:22 2009 -0800
    14.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    14.3 @@ -1,63 +0,0 @@
    14.4 -<?xml version="1.0" encoding="UTF-8"?>
    14.5 -<!--
    14.6 - Copyright 2007 Sun Microsystems, Inc.  All Rights Reserved.
    14.7 -
    14.8 - Redistribution and use in source and binary forms, with or without
    14.9 - modification, are permitted provided that the following conditions
   14.10 - are met:
   14.11 -
   14.12 -   - Redistributions of source code must retain the above copyright
   14.13 -     notice, this list of conditions and the following disclaimer.
   14.14 -
   14.15 -   - Redistributions in binary form must reproduce the above copyright
   14.16 -     notice, this list of conditions and the following disclaimer in the
   14.17 -     documentation and/or other materials provided with the distribution.
   14.18 -
   14.19 -   - Neither the name of Sun Microsystems nor the names of its
   14.20 -     contributors may be used to endorse or promote products derived
   14.21 -     from this software without specific prior written permission.
   14.22 -
   14.23 - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
   14.24 - IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
   14.25 - THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
   14.26 - PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
   14.27 - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
   14.28 - EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
   14.29 - PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
   14.30 - PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
   14.31 - LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
   14.32 - NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
   14.33 - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
   14.34 --->
   14.35 -
   14.36 -<!--
   14.37 - Build file for the compiler.
   14.38 - - The basic functionality of the build is imported from make/build.xml.
   14.39 - - Additional support for NetBeans actions is imported from 
   14.40 -   make/netbeans/common/shared.xml.
   14.41 - - This file gives the final customizations.
   14.42 --->
   14.43 -
   14.44 -<project name="compiler" default="build" basedir="../../..">
   14.45 -    <property name="tool.name" value="javac"/>
   14.46 -    
   14.47 -    <import file="../common/shared.xml"/>
   14.48 -    
   14.49 -    <!-- 
   14.50 -      Alias the following imported targets, giving descriptions as appropriate.
   14.51 -      NetBeans will emphasize targets with descriptions in the Ant Targets list,
   14.52 -      and will display the targets in the context menu (under Run Target) for 
   14.53 -      this file in the Projects viewer. 
   14.54 -    -->
   14.55 -    
   14.56 -    <target name="build" depends="build-javac" description="Build the compiler."/>
   14.57 -    
   14.58 -    <target name="debug" depends="-debug-nb" description="Debug the compiler."/>
   14.59 -    
   14.60 -    <target name="-javadoc" depends="javadoc-javac"/>
   14.61 -    <target name="javadoc" depends="-javadoc-nb" description="Generate javadoc documentation for the compiler."/>
   14.62 -    
   14.63 -    <target name="-jtreg" depends="jtreg-javac"/>
   14.64 -    <target name="jtreg" depends="-jtreg-nb" description="Run the jtreg tests for the compiler."/>
   14.65 -    
   14.66 -</project>
    15.1 --- a/make/netbeans/compiler/nbproject/project.xml	Thu Jan 22 14:42:22 2009 -0800
    15.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    15.3 @@ -1,108 +0,0 @@
    15.4 -<?xml version="1.0" encoding="UTF-8"?>
    15.5 -<!--
    15.6 - Copyright 2007 Sun Microsystems, Inc.  All Rights Reserved.
    15.7 -
    15.8 - Redistribution and use in source and binary forms, with or without
    15.9 - modification, are permitted provided that the following conditions
   15.10 - are met:
   15.11 -
   15.12 -   - Redistributions of source code must retain the above copyright
   15.13 -     notice, this list of conditions and the following disclaimer.
   15.14 -
   15.15 -   - Redistributions in binary form must reproduce the above copyright
   15.16 -     notice, this list of conditions and the following disclaimer in the
   15.17 -     documentation and/or other materials provided with the distribution.
   15.18 -
   15.19 -   - Neither the name of Sun Microsystems nor the names of its
   15.20 -     contributors may be used to endorse or promote products derived
   15.21 -     from this software without specific prior written permission.
   15.22 -
   15.23 - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
   15.24 - IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
   15.25 - THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
   15.26 - PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
   15.27 - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
   15.28 - EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
   15.29 - PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
   15.30 - PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
   15.31 - LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
   15.32 - NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
   15.33 - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
   15.34 --->
   15.35 -
   15.36 -<!DOCTYPE project [
   15.37 -    <!ENTITY standard-ide-actions SYSTEM "../../common/standard-ide-actions.ent">
   15.38 -    <!ENTITY standard-context-menu-items SYSTEM "../../common/standard-context-menu-items.ent">
   15.39 -]>
   15.40 -<project xmlns="http://www.netbeans.org/ns/project/1">
   15.41 -    <type>org.netbeans.modules.ant.freeform</type>
   15.42 -    <configuration>
   15.43 -        <general-data xmlns="http://www.netbeans.org/ns/freeform-project/1">
   15.44 -            <!-- Do not use Project Properties customizer when editing this file manually. -->
   15.45 -            <name>compiler</name>
   15.46 -            <properties>
   15.47 -                <property name="root">../../..</property>
   15.48 -            </properties>
   15.49 -            <folders>
   15.50 -                <source-folder>
   15.51 -                    <label>langtools</label>
   15.52 -                    <location>${root}</location>
   15.53 -                </source-folder>
   15.54 -                <source-folder>
   15.55 -                    <label>Source files</label>
   15.56 -                    <type>java</type>
   15.57 -                    <location>${root}/src/share/classes</location>
   15.58 -                </source-folder>
   15.59 -                <source-folder>
   15.60 -                    <label>Test files</label>
   15.61 -                    <type>tests</type>
   15.62 -                    <location>${root}/test</location>
   15.63 -                </source-folder>
   15.64 -                <source-folder>
   15.65 -                    <label>Build files</label>
   15.66 -                    <type>build</type>
   15.67 -                    <location>${root}/make</location>
   15.68 -                </source-folder>
   15.69 -            </folders>
   15.70 -            <ide-actions>
   15.71 -                &standard-ide-actions;
   15.72 -            </ide-actions>
   15.73 -            <export>
   15.74 -                <type>folder</type>
   15.75 -                <location>${root}/build/classes</location>
   15.76 -                <build-target>build</build-target>
   15.77 -            </export>
   15.78 -            <view>
   15.79 -                <items>
   15.80 -                    <source-folder style="tree">
   15.81 -                        <label>Source files</label>
   15.82 -                        <location>${root}/src/share/classes</location>
   15.83 -                    </source-folder>
   15.84 -                    <source-folder style="tree">
   15.85 -                        <label>Test files</label>
   15.86 -                        <location>${root}/test</location>
   15.87 -                    </source-folder>
   15.88 -                    <source-folder style="tree">
   15.89 -                        <label>Build files</label>
   15.90 -                        <location>${root}/make</location>
   15.91 -                    </source-folder>
   15.92 -                    <source-file>
   15.93 -                        <label>README</label>
   15.94 -                        <location>README</location>
   15.95 -                    </source-file>
   15.96 -                </items>
   15.97 -                <context-menu>
   15.98 -                    &standard-context-menu-items;
   15.99 -                </context-menu>
  15.100 -            </view>
  15.101 -            <subprojects/>
  15.102 -        </general-data>
  15.103 -        <java-data xmlns="http://www.netbeans.org/ns/freeform-project-java/2">
  15.104 -            <compilation-unit>
  15.105 -                <package-root>${root}/src/share/classes</package-root>
  15.106 -                <built-to>${root}/build/classes</built-to>
  15.107 -                <source-level>1.5</source-level>  <!-- FIXME -->
  15.108 -            </compilation-unit>
  15.109 -        </java-data>
  15.110 -    </configuration>
  15.111 -</project>
    16.1 --- a/make/netbeans/doclets/README	Thu Jan 22 14:42:22 2009 -0800
    16.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    16.3 @@ -1,16 +0,0 @@
    16.4 -"doclets" project README.
    16.5 -
    16.6 -This project is for working on the standard doclets used by 
    16.7 -the documentation tool (javadoc) in the OpenJDK langtools component.
    16.8 -
    16.9 -The doclets are invoked as part of the documentation tool (javadoc). 
   16.10 -Using this project, you can also browse javadoc and any tools in langtools.
   16.11 -If you build the doclets, javadoc will be built automatically as well,
   16.12 -if necessary.
   16.13 -
   16.14 -The doclets are found in com.sun.tools.doclets.
   16.15 -
   16.16 -NetBeans 5.0 or later is required and sufficient to use this
   16.17 -project, and others in the OpenJDK langtools component. 
   16.18 -This is different from other projects in OpenJDK, which 
   16.19 -require version 6.0 or later.
    17.1 --- a/make/netbeans/doclets/build.xml	Thu Jan 22 14:42:22 2009 -0800
    17.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    17.3 @@ -1,60 +0,0 @@
    17.4 -<?xml version="1.0" encoding="UTF-8"?>
    17.5 -<!--
    17.6 - Copyright 2007 Sun Microsystems, Inc.  All Rights Reserved.
    17.7 -
    17.8 - Redistribution and use in source and binary forms, with or without
    17.9 - modification, are permitted provided that the following conditions
   17.10 - are met:
   17.11 -
   17.12 -   - Redistributions of source code must retain the above copyright
   17.13 -     notice, this list of conditions and the following disclaimer.
   17.14 -
   17.15 -   - Redistributions in binary form must reproduce the above copyright
   17.16 -     notice, this list of conditions and the following disclaimer in the
   17.17 -     documentation and/or other materials provided with the distribution.
   17.18 -
   17.19 -   - Neither the name of Sun Microsystems nor the names of its
   17.20 -     contributors may be used to endorse or promote products derived
   17.21 -     from this software without specific prior written permission.
   17.22 -
   17.23 - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
   17.24 - IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
   17.25 - THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
   17.26 - PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
   17.27 - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
   17.28 - EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
   17.29 - PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
   17.30 - PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
   17.31 - LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
   17.32 - NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
   17.33 - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
   17.34 --->
   17.35 -
   17.36 -<!--
   17.37 - Build file for the standard doclets used by documentation tool, javadoc.
   17.38 - - The basic functionality of the build is imported from make/build.xml.
   17.39 - - Additional support for NetBeans actions is imported from 
   17.40 -   make/netbeans/common/shared.xml.
   17.41 - - This file gives the final customizations.
   17.42 --->
   17.43 -
   17.44 -<project name="doclets" default="build" basedir="../../..">
   17.45 -    <property name="tool.name" value="doclets"/>
   17.46 -    
   17.47 -    <import file="../common/shared.xml"/>
   17.48 -    
   17.49 -    <!-- 
   17.50 -      Alias the following imported targets, giving descriptions as appropriate.
   17.51 -      NetBeans will emphasize targets with descriptions in the Ant Targets list,
   17.52 -      and will display the targets in the context menu (under Run Target) for 
   17.53 -      this file in the Projects viewer. 
   17.54 -    -->
   17.55 -    
   17.56 -    <target name="build" depends="build-doclets" description="Build the standard doclets for the documentation tool, javadoc."/>
   17.57 -    
   17.58 -    <target name="debug" depends="-debug-nb" description="Debug the standard doclets for the documentation tool, javadoc."/>
   17.59 -    
   17.60 -    <target name="-jtreg" depends="jtreg-doclets"/>    
   17.61 -    <target name="jtreg" depends="-jtreg-nb" description="Run the jtreg tests for the standard doclets used by the documentation tool, javadoc."/>
   17.62 -    
   17.63 -</project>
    18.1 --- a/make/netbeans/doclets/nbproject/project.xml	Thu Jan 22 14:42:22 2009 -0800
    18.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    18.3 @@ -1,108 +0,0 @@
    18.4 -<?xml version="1.0" encoding="UTF-8"?>
    18.5 -<!--
    18.6 - Copyright 2007 Sun Microsystems, Inc.  All Rights Reserved.
    18.7 -
    18.8 - Redistribution and use in source and binary forms, with or without
    18.9 - modification, are permitted provided that the following conditions
   18.10 - are met:
   18.11 -
   18.12 -   - Redistributions of source code must retain the above copyright
   18.13 -     notice, this list of conditions and the following disclaimer.
   18.14 -
   18.15 -   - Redistributions in binary form must reproduce the above copyright
   18.16 -     notice, this list of conditions and the following disclaimer in the
   18.17 -     documentation and/or other materials provided with the distribution.
   18.18 -
   18.19 -   - Neither the name of Sun Microsystems nor the names of its
   18.20 -     contributors may be used to endorse or promote products derived
   18.21 -     from this software without specific prior written permission.
   18.22 -
   18.23 - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
   18.24 - IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
   18.25 - THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
   18.26 - PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
   18.27 - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
   18.28 - EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
   18.29 - PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
   18.30 - PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
   18.31 - LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
   18.32 - NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
   18.33 - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
   18.34 --->
   18.35 -
   18.36 -<!DOCTYPE project [
   18.37 -    <!ENTITY standard-ide-actions-no-javadoc SYSTEM "../../common/standard-ide-actions-no-javadoc.ent">
   18.38 -    <!ENTITY standard-context-menu-items-no-javadoc SYSTEM "../../common/standard-context-menu-items-no-javadoc.ent">
   18.39 -]>
   18.40 -<project xmlns="http://www.netbeans.org/ns/project/1">
   18.41 -    <type>org.netbeans.modules.ant.freeform</type>
   18.42 -    <configuration>
   18.43 -        <general-data xmlns="http://www.netbeans.org/ns/freeform-project/1">
   18.44 -            <!-- Do not use Project Properties customizer when editing this file manually. -->
   18.45 -            <name>doclets</name>
   18.46 -            <properties>
   18.47 -                <property name="root">../../..</property>
   18.48 -            </properties>
   18.49 -            <folders>
   18.50 -                <source-folder>
   18.51 -                    <label>langtools</label>
   18.52 -                    <location>${root}</location>
   18.53 -                </source-folder>
   18.54 -                <source-folder>
   18.55 -                    <label>Source files</label>
   18.56 -                    <type>java</type>
   18.57 -                    <location>${root}/src/share/classes</location>
   18.58 -                </source-folder>
   18.59 -                <source-folder>
   18.60 -                    <label>Test files</label>
   18.61 -                    <type>tests</type>
   18.62 -                    <location>${root}/test</location>
   18.63 -                </source-folder>
   18.64 -                <source-folder>
   18.65 -                    <label>Build files</label>
   18.66 -                    <type>build</type>
   18.67 -                    <location>${root}/make</location>
   18.68 -                </source-folder>
   18.69 -            </folders>
   18.70 -            <ide-actions>
   18.71 -                &standard-ide-actions-no-javadoc;
   18.72 -            </ide-actions>
   18.73 -            <export>
   18.74 -                <type>folder</type>
   18.75 -                <location>${root}/build/classes</location>
   18.76 -                <build-target>build</build-target>
   18.77 -            </export>
   18.78 -            <view>
   18.79 -                <items>
   18.80 -                    <source-folder style="tree">
   18.81 -                        <label>Source files</label>
   18.82 -                        <location>${root}/src/share/classes</location>
   18.83 -                    </source-folder>
   18.84 -                    <source-folder style="tree">
   18.85 -                        <label>Test files</label>
   18.86 -                        <location>${root}/test</location>
   18.87 -                    </source-folder>
   18.88 -                    <source-folder style="tree">
   18.89 -                        <label>Build files</label>
   18.90 -                        <location>${root}/make</location>
   18.91 -                    </source-folder>
   18.92 -                    <source-file>
   18.93 -                        <label>README</label>
   18.94 -                        <location>README</location>
   18.95 -                    </source-file>
   18.96 -                </items>
   18.97 -                <context-menu>
   18.98 -                    &standard-context-menu-items-no-javadoc;
   18.99 -                </context-menu>
  18.100 -            </view>
  18.101 -            <subprojects/>
  18.102 -        </general-data>
  18.103 -        <java-data xmlns="http://www.netbeans.org/ns/freeform-project-java/2">
  18.104 -            <compilation-unit>
  18.105 -                <package-root>${root}/src/share/classes</package-root>
  18.106 -                <built-to>${root}/build/classes</built-to>
  18.107 -                <source-level>1.5</source-level>  <!-- FIXME -->
  18.108 -            </compilation-unit>
  18.109 -        </java-data>
  18.110 -    </configuration>
  18.111 -</project>
    19.1 --- a/make/netbeans/javadoc/README	Thu Jan 22 14:42:22 2009 -0800
    19.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    19.3 @@ -1,16 +0,0 @@
    19.4 -"javadoc" project README.
    19.5 -
    19.6 -This project is for working on the documentation tool (javadoc) 
    19.7 -in the OpenJDK langtools component.
    19.8 -
    19.9 -javadoc is built on top of the compiler (javac). Using this
   19.10 -project, you can also browse javac and any tools in langtools.
   19.11 -If you build javadoc, javac will be built automatically as well,
   19.12 -if necessary.
   19.13 -
   19.14 -The main class for the tool is com.sun.tools.javadoc.Main.
   19.15 -
   19.16 -NetBeans 5.0 or later is required and sufficient to use this
   19.17 -project, and others in the OpenJDK langtools component. 
   19.18 -This is different from other projects in OpenJDK, which 
   19.19 -require version 6.0 or later.
    20.1 --- a/make/netbeans/javadoc/build.xml	Thu Jan 22 14:42:22 2009 -0800
    20.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    20.3 @@ -1,63 +0,0 @@
    20.4 -<?xml version="1.0" encoding="UTF-8"?>
    20.5 -<!--
    20.6 - Copyright 2007 Sun Microsystems, Inc.  All Rights Reserved.
    20.7 -
    20.8 - Redistribution and use in source and binary forms, with or without
    20.9 - modification, are permitted provided that the following conditions
   20.10 - are met:
   20.11 -
   20.12 -   - Redistributions of source code must retain the above copyright
   20.13 -     notice, this list of conditions and the following disclaimer.
   20.14 -
   20.15 -   - Redistributions in binary form must reproduce the above copyright
   20.16 -     notice, this list of conditions and the following disclaimer in the
   20.17 -     documentation and/or other materials provided with the distribution.
   20.18 -
   20.19 -   - Neither the name of Sun Microsystems nor the names of its
   20.20 -     contributors may be used to endorse or promote products derived
   20.21 -     from this software without specific prior written permission.
   20.22 -
   20.23 - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
   20.24 - IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
   20.25 - THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
   20.26 - PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
   20.27 - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
   20.28 - EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
   20.29 - PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
   20.30 - PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
   20.31 - LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
   20.32 - NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
   20.33 - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
   20.34 --->
   20.35 -
   20.36 -<!--
   20.37 - Build file for the documentation tool, javadoc.
   20.38 - - The basic functionality of the build is imported from make/build.xml.
   20.39 - - Additional support for NetBeans actions is imported from 
   20.40 -   make/netbeans/common/shared.xml.
   20.41 - - This file gives the final customizations.
   20.42 --->
   20.43 -
   20.44 -<project name="javadoc" default="build" basedir="../../..">
   20.45 -    <property name="tool.name" value="javadoc"/>
   20.46 -    
   20.47 -    <import file="../common/shared.xml"/>
   20.48 -    
   20.49 -    <!-- 
   20.50 -      Alias the following imported targets, giving descriptions as appropriate.
   20.51 -      NetBeans will emphasize targets with descriptions in the Ant Targets list,
   20.52 -      and will display the targets in the context menu (under Run Target) for 
   20.53 -      this file in the Projects viewer. 
   20.54 -    -->
   20.55 -    
   20.56 -    <target name="build" depends="build-javadoc" description="Build the documentation tool, javadoc."/>
   20.57 -    
   20.58 -    <target name="debug" depends="-debug-nb" description="Debug the documentation tool, javadoc."/>
   20.59 -    
   20.60 -    <target name="-javadoc" depends="javadoc-javadoc"/>
   20.61 -    <target name="javadoc" depends="-javadoc-nb" description="Generate javadoc documentation for the Doclet API."/>
   20.62 -    
   20.63 -    <target name="-jtreg" depends="jtreg-javadoc"/>    
   20.64 -    <target name="jtreg" depends="-jtreg-nb" description="Run the jtreg tests for the documentation tool, javadoc."/>
   20.65 -    
   20.66 -</project>
    21.1 --- a/make/netbeans/javadoc/nbproject/project.xml	Thu Jan 22 14:42:22 2009 -0800
    21.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    21.3 @@ -1,108 +0,0 @@
    21.4 -<?xml version="1.0" encoding="UTF-8"?>
    21.5 -<!--
    21.6 - Copyright 2007 Sun Microsystems, Inc.  All Rights Reserved.
    21.7 -
    21.8 - Redistribution and use in source and binary forms, with or without
    21.9 - modification, are permitted provided that the following conditions
   21.10 - are met:
   21.11 -
   21.12 -   - Redistributions of source code must retain the above copyright
   21.13 -     notice, this list of conditions and the following disclaimer.
   21.14 -
   21.15 -   - Redistributions in binary form must reproduce the above copyright
   21.16 -     notice, this list of conditions and the following disclaimer in the
   21.17 -     documentation and/or other materials provided with the distribution.
   21.18 -
   21.19 -   - Neither the name of Sun Microsystems nor the names of its
   21.20 -     contributors may be used to endorse or promote products derived
   21.21 -     from this software without specific prior written permission.
   21.22 -
   21.23 - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
   21.24 - IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
   21.25 - THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
   21.26 - PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
   21.27 - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
   21.28 - EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
   21.29 - PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
   21.30 - PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
   21.31 - LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
   21.32 - NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
   21.33 - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
   21.34 --->
   21.35 -
   21.36 -<!DOCTYPE project [
   21.37 -    <!ENTITY standard-ide-actions SYSTEM "../../common/standard-ide-actions.ent">
   21.38 -    <!ENTITY standard-context-menu-items SYSTEM "../../common/standard-context-menu-items.ent">
   21.39 -]>
   21.40 -<project xmlns="http://www.netbeans.org/ns/project/1">
   21.41 -    <type>org.netbeans.modules.ant.freeform</type>
   21.42 -    <configuration>
   21.43 -        <general-data xmlns="http://www.netbeans.org/ns/freeform-project/1">
   21.44 -            <!-- Do not use Project Properties customizer when editing this file manually. -->
   21.45 -            <name>javadoc</name>
   21.46 -            <properties>
   21.47 -                <property name="root">../../..</property>
   21.48 -            </properties>
   21.49 -            <folders>
   21.50 -                <source-folder>
   21.51 -                    <label>langtools</label>
   21.52 -                    <location>${root}</location>
   21.53 -                </source-folder>
   21.54 -                <source-folder>
   21.55 -                    <label>Source files</label>
   21.56 -                    <type>java</type>
   21.57 -                    <location>${root}/src/share/classes</location>
   21.58 -                </source-folder>
   21.59 -                <source-folder>
   21.60 -                    <label>Test files</label>
   21.61 -                    <type>tests</type>
   21.62 -                    <location>${root}/test</location>
   21.63 -                </source-folder>
   21.64 -                <source-folder>
   21.65 -                    <label>Build files</label>
   21.66 -                    <type>build</type>
   21.67 -                    <location>${root}/make</location>
   21.68 -                </source-folder>
   21.69 -            </folders>
   21.70 -            <ide-actions>
   21.71 -                &standard-ide-actions;
   21.72 -            </ide-actions>
   21.73 -            <export>
   21.74 -                <type>folder</type>
   21.75 -                <location>${root}/build/classes</location>
   21.76 -                <build-target>build</build-target>
   21.77 -            </export>
   21.78 -            <view>
   21.79 -                <items>
   21.80 -                    <source-folder style="tree">
   21.81 -                        <label>Source files</label>
   21.82 -                        <location>${root}/src/share/classes</location>
   21.83 -                    </source-folder>
   21.84 -                    <source-folder style="tree">
   21.85 -                        <label>Test files</label>
   21.86 -                        <location>${root}/test</location>
   21.87 -                    </source-folder>
   21.88 -                    <source-folder style="tree">
   21.89 -                        <label>Build files</label>
   21.90 -                        <location>${root}/make</location>
   21.91 -                    </source-folder>
   21.92 -                    <source-file>
   21.93 -                        <label>README</label>
   21.94 -                        <location>README</location>
   21.95 -                    </source-file>
   21.96 -                </items>
   21.97 -                <context-menu>
   21.98 -                    &standard-context-menu-items;
   21.99 -                </context-menu>
  21.100 -            </view>
  21.101 -            <subprojects/>
  21.102 -        </general-data>
  21.103 -        <java-data xmlns="http://www.netbeans.org/ns/freeform-project-java/2">
  21.104 -            <compilation-unit>
  21.105 -                <package-root>${root}/src/share/classes</package-root>
  21.106 -                <built-to>${root}/build/classes</built-to>
  21.107 -                <source-level>1.5</source-level>  <!-- FIXME -->
  21.108 -            </compilation-unit>
  21.109 -        </java-data>
  21.110 -    </configuration>
  21.111 -</project>
    22.1 --- a/make/netbeans/javah/README	Thu Jan 22 14:42:22 2009 -0800
    22.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    22.3 @@ -1,21 +0,0 @@
    22.4 -"javah" project README.
    22.5 -
    22.6 -This project is for working on the native header tool (javah) 
    22.7 -in the OpenJDK langtools component.
    22.8 -
    22.9 -javah is built on top of the documentation tool (javadoc). Using this
   22.10 -project, you can also browse javadoc and any other tools in langtools.
   22.11 -If you build javah, javadoc will be built automatically as well,
   22.12 -if necessary.
   22.13 -
   22.14 -javah is in the process of being converted so that it runs directly on
   22.15 -top of the compiler, javac, using the annotation processing API, 
   22.16 -instead of on top of the documentation tool, javadoc, using the
   22.17 -Doclet API.
   22.18 -
   22.19 -The main class for the tool is com.sun.tools.javah.Main.
   22.20 -
   22.21 -NetBeans 5.0 or later is required and sufficient to use this
   22.22 -project, and others in the OpenJDK langtools component. 
   22.23 -This is different from other projects in OpenJDK, which 
   22.24 -require version 6.0 or later.
    23.1 --- a/make/netbeans/javah/build.xml	Thu Jan 22 14:42:22 2009 -0800
    23.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    23.3 @@ -1,60 +0,0 @@
    23.4 -<?xml version="1.0" encoding="UTF-8"?>
    23.5 -<!--
    23.6 - Copyright 2007 Sun Microsystems, Inc.  All Rights Reserved.
    23.7 -
    23.8 - Redistribution and use in source and binary forms, with or without
    23.9 - modification, are permitted provided that the following conditions
   23.10 - are met:
   23.11 -
   23.12 -   - Redistributions of source code must retain the above copyright
   23.13 -     notice, this list of conditions and the following disclaimer.
   23.14 -
   23.15 -   - Redistributions in binary form must reproduce the above copyright
   23.16 -     notice, this list of conditions and the following disclaimer in the
   23.17 -     documentation and/or other materials provided with the distribution.
   23.18 -
   23.19 -   - Neither the name of Sun Microsystems nor the names of its
   23.20 -     contributors may be used to endorse or promote products derived
   23.21 -     from this software without specific prior written permission.
   23.22 -
   23.23 - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
   23.24 - IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
   23.25 - THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
   23.26 - PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
   23.27 - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
   23.28 - EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
   23.29 - PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
   23.30 - PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
   23.31 - LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
   23.32 - NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
   23.33 - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
   23.34 --->
   23.35 -
   23.36 -<!--
   23.37 - Build file for the native header tool, javah.
   23.38 - - The basic functionality of the build is imported from make/build.xml.
   23.39 - - Additional support for NetBeans actions is imported from 
   23.40 -   make/netbeans/common/shared.xml.
   23.41 - - This file gives the final customizations.
   23.42 --->
   23.43 -
   23.44 -<project name="javah" default="build" basedir="../../..">
   23.45 -    <property name="tool.name" value="javah"/>
   23.46 -    
   23.47 -    <import file="../common/shared.xml"/>
   23.48 -    
   23.49 -    <!-- 
   23.50 -      Alias the following imported targets, giving descriptions as appropriate.
   23.51 -      NetBeans will emphasize targets with descriptions in the Ant Targets list,
   23.52 -      and will display the targets in the context menu (under Run Target) for 
   23.53 -      this file in the Projects viewer. 
   23.54 -    -->
   23.55 -    
   23.56 -    <target name="build" depends="build-javah" description="Build the native header tool, javah."/>
   23.57 -    
   23.58 -    <target name="debug" depends="-debug-nb" description="Debug the native header tool, javah."/>
   23.59 -    
   23.60 -    <target name="-jtreg" depends="jtreg-javah"/>
   23.61 -    <target name="jtreg" depends="-jtreg-nb" description="Run the jtreg tests for the native header tool, javah."/>
   23.62 -    
   23.63 -</project>
    24.1 --- a/make/netbeans/javah/nbproject/project.xml	Thu Jan 22 14:42:22 2009 -0800
    24.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    24.3 @@ -1,108 +0,0 @@
    24.4 -<?xml version="1.0" encoding="UTF-8"?>
    24.5 -<!--
    24.6 - Copyright 2007 Sun Microsystems, Inc.  All Rights Reserved.
    24.7 -
    24.8 - Redistribution and use in source and binary forms, with or without
    24.9 - modification, are permitted provided that the following conditions
   24.10 - are met:
   24.11 -
   24.12 -   - Redistributions of source code must retain the above copyright
   24.13 -     notice, this list of conditions and the following disclaimer.
   24.14 -
   24.15 -   - Redistributions in binary form must reproduce the above copyright
   24.16 -     notice, this list of conditions and the following disclaimer in the
   24.17 -     documentation and/or other materials provided with the distribution.
   24.18 -
   24.19 -   - Neither the name of Sun Microsystems nor the names of its
   24.20 -     contributors may be used to endorse or promote products derived
   24.21 -     from this software without specific prior written permission.
   24.22 -
   24.23 - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
   24.24 - IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
   24.25 - THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
   24.26 - PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
   24.27 - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
   24.28 - EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
   24.29 - PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
   24.30 - PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
   24.31 - LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
   24.32 - NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
   24.33 - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
   24.34 --->
   24.35 -
   24.36 -<!DOCTYPE project [
   24.37 -    <!ENTITY standard-ide-actions-no-javadoc SYSTEM "../../common/standard-ide-actions-no-javadoc.ent">
   24.38 -    <!ENTITY standard-context-menu-items-no-javadoc SYSTEM "../../common/standard-context-menu-items-no-javadoc.ent">
   24.39 -]>
   24.40 -<project xmlns="http://www.netbeans.org/ns/project/1">
   24.41 -    <type>org.netbeans.modules.ant.freeform</type>
   24.42 -    <configuration>
   24.43 -        <general-data xmlns="http://www.netbeans.org/ns/freeform-project/1">
   24.44 -            <!-- Do not use Project Properties customizer when editing this file manually. -->
   24.45 -            <name>javah</name>
   24.46 -            <properties>
   24.47 -                <property name="root">../../..</property>
   24.48 -            </properties>
   24.49 -            <folders>
   24.50 -                <source-folder>
   24.51 -                    <label>langtools</label>
   24.52 -                    <location>${root}</location>
   24.53 -                </source-folder>
   24.54 -                <source-folder>
   24.55 -                    <label>Source files</label>
   24.56 -                    <type>java</type>
   24.57 -                    <location>${root}/src/share/classes</location>
   24.58 -                </source-folder>
   24.59 -                <source-folder>
   24.60 -                    <label>Test files</label>
   24.61 -                    <type>tests</type>
   24.62 -                    <location>${root}/test</location>
   24.63 -                </source-folder>
   24.64 -                <source-folder>
   24.65 -                    <label>Build files</label>
   24.66 -                    <type>build</type>
   24.67 -                    <location>${root}/make</location>
   24.68 -                </source-folder>
   24.69 -            </folders>
   24.70 -            <ide-actions>
   24.71 -                &standard-ide-actions-no-javadoc;
   24.72 -            </ide-actions>
   24.73 -            <export>
   24.74 -                <type>folder</type>
   24.75 -                <location>${root}/build/classes</location>
   24.76 -                <build-target>build</build-target>
   24.77 -            </export>
   24.78 -            <view>
   24.79 -                <items>
   24.80 -                    <source-folder style="tree">
   24.81 -                        <label>Source files</label>
   24.82 -                        <location>${root}/src/share/classes</location>
   24.83 -                    </source-folder>
   24.84 -                    <source-folder style="tree">
   24.85 -                        <label>Test files</label>
   24.86 -                        <location>${root}/test</location>
   24.87 -                    </source-folder>
   24.88 -                    <source-folder style="tree">
   24.89 -                        <label>Build files</label>
   24.90 -                        <location>${root}/make</location>
   24.91 -                    </source-folder>
   24.92 -                    <source-file>
   24.93 -                        <label>README</label>
   24.94 -                        <location>README</location>
   24.95 -                    </source-file>
   24.96 -                </items>
   24.97 -                <context-menu>
   24.98 -                    &standard-context-menu-items-no-javadoc;
   24.99 -                </context-menu>
  24.100 -            </view>
  24.101 -            <subprojects/>
  24.102 -        </general-data>
  24.103 -        <java-data xmlns="http://www.netbeans.org/ns/freeform-project-java/2">
  24.104 -            <compilation-unit>
  24.105 -                <package-root>${root}/src/share/classes</package-root>
  24.106 -                <built-to>${root}/build/classes</built-to>
  24.107 -                <source-level>1.5</source-level>  <!-- FIXME -->
  24.108 -            </compilation-unit>
  24.109 -        </java-data>
  24.110 -    </configuration>
  24.111 -</project>
    25.1 --- a/make/netbeans/javap/README	Thu Jan 22 14:42:22 2009 -0800
    25.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    25.3 @@ -1,11 +0,0 @@
    25.4 -"javap" project README.
    25.5 -
    25.6 -This project is for working on the disassembler tool (javap) 
    25.7 -in the OpenJDK langtools component.
    25.8 -
    25.9 -The main class for the tool is sun.tools.javap.Main.
   25.10 -
   25.11 -NetBeans 5.0 or later is required and sufficient to use this
   25.12 -project, and others in the OpenJDK langtools component. 
   25.13 -This is different from other projects in OpenJDK, which 
   25.14 -require version 6.0 or later.
    26.1 --- a/make/netbeans/javap/build.xml	Thu Jan 22 14:42:22 2009 -0800
    26.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    26.3 @@ -1,60 +0,0 @@
    26.4 -<?xml version="1.0" encoding="UTF-8"?>
    26.5 -<!--
    26.6 - Copyright 2007 Sun Microsystems, Inc.  All Rights Reserved.
    26.7 -
    26.8 - Redistribution and use in source and binary forms, with or without
    26.9 - modification, are permitted provided that the following conditions
   26.10 - are met:
   26.11 -
   26.12 -   - Redistributions of source code must retain the above copyright
   26.13 -     notice, this list of conditions and the following disclaimer.
   26.14 -
   26.15 -   - Redistributions in binary form must reproduce the above copyright
   26.16 -     notice, this list of conditions and the following disclaimer in the
   26.17 -     documentation and/or other materials provided with the distribution.
   26.18 -
   26.19 -   - Neither the name of Sun Microsystems nor the names of its
   26.20 -     contributors may be used to endorse or promote products derived
   26.21 -     from this software without specific prior written permission.
   26.22 -
   26.23 - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
   26.24 - IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
   26.25 - THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
   26.26 - PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
   26.27 - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
   26.28 - EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
   26.29 - PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
   26.30 - PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
   26.31 - LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
   26.32 - NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
   26.33 - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
   26.34 --->
   26.35 -
   26.36 -<!--
   26.37 - Build file for the disassembler tool, javap.
   26.38 - - The basic functionality of the build is imported from make/build.xml.
   26.39 - - Additional support for NetBeans actions is imported from 
   26.40 -   make/netbeans/common/shared.xml.
   26.41 - - This file gives the final customizations.
   26.42 --->
   26.43 -
   26.44 -<project name="javap" default="build" basedir="../../..">
   26.45 -    <property name="tool.name" value="javap"/>
   26.46 -    
   26.47 -    <import file="../common/shared.xml"/>
   26.48 -    
   26.49 -    <!-- 
   26.50 -      Alias the following imported targets, giving descriptions as appropriate.
   26.51 -      NetBeans will emphasize targets with descriptions in the Ant Targets list,
   26.52 -      and will display the targets in the context menu (under Run Target) for 
   26.53 -      this file in the Projects viewer. 
   26.54 -    -->
   26.55 -    
   26.56 -    <target name="build" depends="build-javap" description="Build the disassembler tool, javap."/>
   26.57 -    
   26.58 -    <target name="debug" depends="-debug-nb" description="Debug the disassembler tool, javap."/>
   26.59 -    
   26.60 -    <target name="-jtreg" depends="jtreg-javap"/>
   26.61 -    <target name="jtreg" depends="-jtreg-nb" description="Run the jtreg tests for the disassembler tool, javap."/>
   26.62 -    
   26.63 -</project>
    27.1 --- a/make/netbeans/javap/nbproject/project.xml	Thu Jan 22 14:42:22 2009 -0800
    27.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    27.3 @@ -1,108 +0,0 @@
    27.4 -<?xml version="1.0" encoding="UTF-8"?>
    27.5 -<!--
    27.6 - Copyright 2007 Sun Microsystems, Inc.  All Rights Reserved.
    27.7 -
    27.8 - Redistribution and use in source and binary forms, with or without
    27.9 - modification, are permitted provided that the following conditions
   27.10 - are met:
   27.11 -
   27.12 -   - Redistributions of source code must retain the above copyright
   27.13 -     notice, this list of conditions and the following disclaimer.
   27.14 -
   27.15 -   - Redistributions in binary form must reproduce the above copyright
   27.16 -     notice, this list of conditions and the following disclaimer in the
   27.17 -     documentation and/or other materials provided with the distribution.
   27.18 -
   27.19 -   - Neither the name of Sun Microsystems nor the names of its
   27.20 -     contributors may be used to endorse or promote products derived
   27.21 -     from this software without specific prior written permission.
   27.22 -
   27.23 - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
   27.24 - IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
   27.25 - THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
   27.26 - PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
   27.27 - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
   27.28 - EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
   27.29 - PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
   27.30 - PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
   27.31 - LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
   27.32 - NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
   27.33 - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
   27.34 --->
   27.35 -
   27.36 -<!DOCTYPE project [
   27.37 -    <!ENTITY standard-ide-actions-no-javadoc SYSTEM "../../common/standard-ide-actions-no-javadoc.ent">
   27.38 -    <!ENTITY standard-context-menu-items-no-javadoc SYSTEM "../../common/standard-context-menu-items-no-javadoc.ent">
   27.39 -]>
   27.40 -<project xmlns="http://www.netbeans.org/ns/project/1">
   27.41 -    <type>org.netbeans.modules.ant.freeform</type>
   27.42 -    <configuration>
   27.43 -        <general-data xmlns="http://www.netbeans.org/ns/freeform-project/1">
   27.44 -            <!-- Do not use Project Properties customizer when editing this file manually. -->
   27.45 -            <name>javap</name>
   27.46 -            <properties>
   27.47 -                <property name="root">../../..</property>
   27.48 -            </properties>
   27.49 -            <folders>
   27.50 -                <source-folder>
   27.51 -                    <label>langtools</label>
   27.52 -                    <location>${root}</location>
   27.53 -                </source-folder>
   27.54 -                <source-folder>
   27.55 -                    <label>Source files</label>
   27.56 -                    <type>java</type>
   27.57 -                    <location>${root}/src/share/classes</location>
   27.58 -                </source-folder>
   27.59 -                <source-folder>
   27.60 -                    <label>Test files</label>
   27.61 -                    <type>tests</type>
   27.62 -                    <location>${root}/test</location>
   27.63 -                </source-folder>
   27.64 -                <source-folder>
   27.65 -                    <label>Build files</label>
   27.66 -                    <type>build</type>
   27.67 -                    <location>${root}/make</location>
   27.68 -                </source-folder>
   27.69 -            </folders>
   27.70 -            <ide-actions>
   27.71 -                &standard-ide-actions-no-javadoc;
   27.72 -            </ide-actions>
   27.73 -            <export>
   27.74 -                <type>folder</type>
   27.75 -                <location>${root}/build/classes</location>
   27.76 -                <build-target>build</build-target>
   27.77 -            </export>
   27.78 -            <view>
   27.79 -                <items>
   27.80 -                    <source-folder style="tree">
   27.81 -                        <label>Source files</label>
   27.82 -                        <location>${root}/src/share/classes</location>
   27.83 -                    </source-folder>
   27.84 -                    <source-folder style="tree">
   27.85 -                        <label>Test files</label>
   27.86 -                        <location>${root}/test</location>
   27.87 -                    </source-folder>
   27.88 -                    <source-folder style="tree">
   27.89 -                        <label>Build files</label>
   27.90 -                        <location>${root}/make</location>
   27.91 -                    </source-folder>
   27.92 -                    <source-file>
   27.93 -                        <label>README</label>
   27.94 -                        <location>README</location>
   27.95 -                    </source-file>
   27.96 -                </items>
   27.97 -                <context-menu>
   27.98 -                    &standard-context-menu-items-no-javadoc;
   27.99 -                </context-menu>
  27.100 -            </view>
  27.101 -            <subprojects/>
  27.102 -        </general-data>
  27.103 -        <java-data xmlns="http://www.netbeans.org/ns/freeform-project-java/2">
  27.104 -            <compilation-unit>
  27.105 -                <package-root>${root}/src/share/classes</package-root>
  27.106 -                <built-to>${root}/build/classes</built-to>
  27.107 -                <source-level>1.5</source-level>  <!-- FIXME -->
  27.108 -            </compilation-unit>
  27.109 -        </java-data>
  27.110 -    </configuration>
  27.111 -</project>
    28.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    28.2 +++ b/make/netbeans/langtools/build.xml	Sat Jan 24 16:35:52 2009 -0800
    28.3 @@ -0,0 +1,279 @@
    28.4 +<?xml version="1.0" encoding="UTF-8"?>
    28.5 +<!--
    28.6 + Copyright 2007-2008 Sun Microsystems, Inc.  All Rights Reserved.
    28.7 +
    28.8 + Redistribution and use in source and binary forms, with or without
    28.9 + modification, are permitted provided that the following conditions
   28.10 + are met:
   28.11 +
   28.12 +   - Redistributions of source code must retain the above copyright
   28.13 +     notice, this list of conditions and the following disclaimer.
   28.14 +
   28.15 +   - Redistributions in binary form must reproduce the above copyright
   28.16 +     notice, this list of conditions and the following disclaimer in the
   28.17 +     documentation and/or other materials provided with the distribution.
   28.18 +
   28.19 +   - Neither the name of Sun Microsystems nor the names of its
   28.20 +     contributors may be used to endorse or promote products derived
   28.21 +     from this software without specific prior written permission.
   28.22 +
   28.23 + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
   28.24 + IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
   28.25 + THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
   28.26 + PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
   28.27 + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
   28.28 + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
   28.29 + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
   28.30 + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
   28.31 + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
   28.32 + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
   28.33 + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
   28.34 +-->
   28.35 +
   28.36 +<project name="langtools-netbeans" default="build" basedir="../../..">
   28.37 +    
   28.38 +    <property name="langtools.properties" 
   28.39 +        location="make/netbeans/langtools/nbproject/private/langtools.properties"/>
   28.40 +    
   28.41 +    <!-- 
   28.42 +        Instead of importing the main build file, we could call it when needed.
   28.43 +        That would reduce the list of Ant targets that get displayed for this
   28.44 +        file, but it also complicates the interface between the project build 
   28.45 +        file and the main build file. For example, some imported targets
   28.46 +        would have to be reclared, properties would have to be restructured,
   28.47 +        and it would be harder to run results (e.g. in properties) from nested 
   28.48 +        targets.
   28.49 +     -->
   28.50 +    <import file="../../build.xml"/> 
   28.51 +    
   28.52 +    <!-- Build project. (action: build; F11)
   28.53 +        If langtools.tool.name is set, then just build that tool; otherwise
   28.54 +        build all tools.
   28.55 +    -->
   28.56 +    
   28.57 +    <target name="build" depends="-get-tool-if-set,-build-tool,-build-all" 
   28.58 +        description="Build one or all langtools tools"
   28.59 +        />
   28.60 +        
   28.61 +    <target name="-build-tool" if="langtools.tool.name">
   28.62 +        <echo level="info" message="Building ${langtools.tool.name}"/>
   28.63 +        <echo level="verbose" message="(Unset langtools.tool.name to build all tools)"/>
   28.64 +        <antcall target="build-${langtools.tool.name}"/>
   28.65 +    </target>
   28.66 +    
   28.67 +    <target name="-build-all" unless="langtools.tool.name">
   28.68 +        <echo level="info" message="Building all tools"/>
   28.69 +        <echo level="verbose" message="(Set langtools.tool.name to build a single tool)"/>
   28.70 +        <antcall target="build-all-tools"/>
   28.71 +    </target>
   28.72 +    
   28.73 +    <!-- Compile a single file. (action: compile.single; F9) -->
   28.74 +    
   28.75 +    <target name="compile-single" depends="build-bootstrap-javac">
   28.76 +        <fail unless="includes">Must set property 'includes'</fail>
   28.77 +        <javac fork="true" executable="${build.bootstrap.dir}/bin/javac"
   28.78 +               srcdir="${src.classes.dir}"
   28.79 +               destdir="${build.classes.dir}"
   28.80 +               includes="${includes}"
   28.81 +               sourcepath=""
   28.82 +               includeAntRuntime="no"
   28.83 +               target="${javac.target}"
   28.84 +               debug="${javac.debug}" 
   28.85 +               debuglevel="${javac.debuglevel}"/>
   28.86 +    </target>
   28.87 +    
   28.88 +    <!-- Run tool. (action: run; F6) 
   28.89 +        Use langtools.tool.name and langtools.tool.args properties if set; otherwise prompt
   28.90 +        the user.
   28.91 +    -->
   28.92 +    
   28.93 +    <target name="run" depends="-check-target.java.home,build,-def-run,-get-tool-and-args" 
   28.94 +            description="run tool">
   28.95 +        <echo level="info" message="Run ${langtools.tool.name} with args ${langtools.tool.args}"/>
   28.96 +        <run mainclass="com.sun.tools.${langtools.tool.name}.Main" args="${langtools.tool.args}"/>
   28.97 +    </target>
   28.98 +    
   28.99 +    <!-- Run a selected class. (action: run.single;  shift-F6) -->
  28.100 +    
  28.101 +    <target name="run-single" depends="-check-target.java.home,-def-run">
  28.102 +        <fail unless="run.classname">Must set property 'run.classname' </fail>
  28.103 +        <echo level="info" message="run ${run.classname}"/>
  28.104 +        <run mainclass="${run.classname}" args=""/>
  28.105 +    </target>
  28.106 +    
  28.107 +    <!-- Test project, and display results if tests failed. (action: test; Alt-F6)
  28.108 +        If langtools.tool.name is set, then just test that tool; otherwise
  28.109 +        test all tools.
  28.110 +    -->
  28.111 +    
  28.112 +    <target name="jtreg" depends="-get-tool-if-set,-jtreg-tool,-jtreg-all" 
  28.113 +        description="Test one or all langtools tools"
  28.114 +        />
  28.115 +    
  28.116 +    <target name="-jtreg-tool" if="langtools.tool.name">
  28.117 +        <echo level="info" message="Testing ${langtools.tool.name}"/>
  28.118 +        <echo level="verbose" message="(Unset langtools.tool.name to test all tools)"/>
  28.119 +        <antcall>
  28.120 +            <target name="jtreg-${langtools.tool.name}"/>
  28.121 +            <target name="-show-jtreg"/>
  28.122 +        </antcall>
  28.123 +    </target>
  28.124 +    
  28.125 +    <target name="-jtreg-all" unless="langtools.tool.name">
  28.126 +        <echo level="info" message="Testing all tools"/>
  28.127 +        <echo level="verbose" message="(Set langtools.tool.name to test a single tool)"/>
  28.128 +        <antcall>
  28.129 +            <target name="langtools.jtreg"/>
  28.130 +            <target name="-show-jtreg"/>
  28.131 +        </antcall>
  28.132 +    </target>
  28.133 +    
  28.134 +    <target name="-show-jtreg" if="netbeans.home" unless="jtreg.passed">
  28.135 +        <nbbrowse file="${jtreg.report}/report.html"/>
  28.136 +        <fail>Some tests failed; see report for details.</fail>
  28.137 +    </target>
  28.138 +    
  28.139 +    <!-- Debug tool in NetBeans. -->
  28.140 +    
  28.141 +    <target name="debug" depends="-check-target.java.home,-def-run,-def-start-debugger,-get-tool-and-args,build" if="netbeans.home">
  28.142 +        <echo level="info" message="Debug ${langtools.tool.name} with args ${langtools.tool.args}"/>
  28.143 +        <start-debugger/>
  28.144 +        <run mainclass="com.sun.tools.${langtools.tool.name}.Main" args="${langtools.tool.args}" jpda.jvmargs="${jpda.jvmargs}"/>
  28.145 +    </target>
  28.146 +    
  28.147 +    <!-- Debug a selected class . -->
  28.148 +    <target name="debug-single" depends="-check-target.java.home,-def-start-debugger,-def-run">
  28.149 +        <fail unless="debug.classname">Must set property 'debug.classname'</fail>
  28.150 +        <start-debugger/>
  28.151 +        <run mainclass="${debug.classname}" default.args="" jpda.jvmargs="${jpda.jvmargs}"/>
  28.152 +    </target>
  28.153 +    
  28.154 +    <!-- Debug a jtreg test. -->
  28.155 +    <target name="debug-jtreg" depends="-check-target.java.home,-def-start-debugger,-def-jtreg">
  28.156 +        <fail unless="jtreg.tests">Must set property 'jtreg.tests'</fail>
  28.157 +        <start-debugger/>
  28.158 +        <jtreg-tool name="debug" samevm="false" tests="${jtreg.tests}" jpda.jvmargs="${jpda.jvmargs}"/>
  28.159 +    </target>
  28.160 +    
  28.161 +    <!-- Update a class being debugged. -->
  28.162 +    
  28.163 +    <target name="debug-fix" if="langtools.tool.name">
  28.164 +        <fail unless="class">Must set property 'class'
  28.165 +        </fail>
  28.166 +        <antcall target="compile-single">
  28.167 +            <param name="includes" value="${class}.java"/>
  28.168 +        </antcall>
  28.169 +        <nbjpdareload>
  28.170 +            <fileset dir="${build.classes.dir}">
  28.171 +                <include name="${class}.class"/>
  28.172 +            </fileset>
  28.173 +        </nbjpdareload>
  28.174 +    </target>
  28.175 +    
  28.176 +    <!-- Generate javadoc for one or all tools. (action: javadoc; Alt-F6)
  28.177 +        If langtools.tool.name is set, then just test that tool; otherwise
  28.178 +        test all tools.
  28.179 +    -->
  28.180 +    
  28.181 +    <target name="javadoc" depends="-javadoc-tool,-javadoc-all" 
  28.182 +        description="Generate javadoc for one or all langtools tools"
  28.183 +        />
  28.184 +        
  28.185 +    <target name="-javadoc-tool" if="langtools.tool.name">
  28.186 +        <echo level="info" message="Generate javadoc for ${langtools.tool.name}"/>
  28.187 +        <echo level="verbose" message="(Unset langtools.tool.name to generate javadoc for all tools)"/>
  28.188 +        <antcall>
  28.189 +            <target name="javadoc-${langtools.tool.name}"/>
  28.190 +            <target name="-show-javadoc"/>
  28.191 +        </antcall>
  28.192 +    </target>
  28.193 +    
  28.194 +    <target name="-javadoc-all" unless="langtools.tool.name">
  28.195 +        <echo level="info" message="Generate javadoc for all tools"/>
  28.196 +        <echo level="verbose" message="(Set langtools.tool.name to generate javadoc for a single tool)"/>
  28.197 +        <antcall>
  28.198 +            <target name="langtools.javadoc"/>
  28.199 +            <target name="-show-javadoc"/>
  28.200 +        </antcall>
  28.201 +    </target>
  28.202 +    
  28.203 +    <target name="-show-javadoc" if="netbeans.home">
  28.204 +        <!-- what if doing javadoc for all? -->
  28.205 +        <nbbrowse file="${build.javadoc.dir}/${langtools.tool.name}/index.html"/>
  28.206 +    </target>
  28.207 +    
  28.208 +    <!-- Prompt for values. -->
  28.209 +    
  28.210 +    <target name="-get-tool-if-set" depends="-def-select-tool">
  28.211 +        <select-tool 
  28.212 +            toolproperty="langtools.tool.name" 
  28.213 +            propertyfile="${langtools.properties}"
  28.214 +            askIfUnset="false"
  28.215 +            />
  28.216 +    </target>
  28.217 +    
  28.218 +    <target name="-get-tool-and-args" depends="-def-select-tool">
  28.219 +        <select-tool 
  28.220 +            toolproperty="langtools.tool.name" 
  28.221 +            argsproperty="langtools.tool.args" 
  28.222 +            propertyfile="${langtools.properties}"
  28.223 +            askIfUnset="true"
  28.224 +            />
  28.225 +    </target>
  28.226 +
  28.227 +    <!-- Macro to run a tool or selected class - used by run* and debug* tasks -->
  28.228 +    <target name="-def-run">
  28.229 +        <macrodef name="run">
  28.230 +            <attribute name="mainclass"/>
  28.231 +            <attribute name="args" default=""/>
  28.232 +            <attribute name="jpda.jvmargs" default=""/>
  28.233 +            <sequential>
  28.234 +                <java fork="true" jvm="${target.java}" classname="@{mainclass}">
  28.235 +                    <jvmarg line="-Xbootclasspath/p:${build.classes.dir}"/>
  28.236 +                    <jvmarg line="@{jpda.jvmargs}"/>
  28.237 +                    <arg line="@{args}"/>
  28.238 +                </java>
  28.239 +            </sequential>
  28.240 +        </macrodef>
  28.241 +    </target>
  28.242 +    
  28.243 +    <!-- Macro to start the debugger and set a property containg the args needed by the run task -->
  28.244 +    <target name="-def-start-debugger" if="netbeans.home">
  28.245 +        <macrodef name="start-debugger">
  28.246 +            <attribute name="jpda.jvmargs.property" default="jpda.jvmargs"/>
  28.247 +            <sequential>
  28.248 +                <nbjpdastart name="${ant.project.name}" addressproperty="jpda.address" transport="dt_socket">
  28.249 +                    <bootclasspath>
  28.250 +                        <pathelement location="${build.classes.dir}"/>
  28.251 +                        <pathelement location="${target.java.home}/jre/lib/rt.jar"/>
  28.252 +                    </bootclasspath>
  28.253 +                    <sourcepath>
  28.254 +                        <pathelement location="${src.classes.dir}"/>
  28.255 +                    </sourcepath>
  28.256 +                </nbjpdastart>
  28.257 +                <property 
  28.258 +                    name="@{jpda.jvmargs.property}" 
  28.259 +                    value="-Xdebug -Xnoagent -Djava.compiler=none -Xrunjdwp:transport=dt_socket,address=${jpda.address}"
  28.260 +                />
  28.261 +            </sequential>
  28.262 +        </macrodef>
  28.263 +    </target>
  28.264 +    
  28.265 +    <target name="-def-select-tool">
  28.266 +        <mkdir dir="${build.toolclasses.dir}"/>
  28.267 +        <javac srcdir="${make.tools.dir}/SelectTool"
  28.268 +               destdir="${build.toolclasses.dir}/"
  28.269 +               classpath="${ant.home}/lib/ant.jar"
  28.270 +               debug="${javac.debug}" 
  28.271 +               debuglevel="${javac.debuglevel}">
  28.272 +                   <compilerarg line="-Xlint"/>
  28.273 +        </javac>
  28.274 +        <taskdef name="select-tool"
  28.275 +                 classname="SelectToolTask" 
  28.276 +                 classpath="${build.toolclasses.dir}/"/>
  28.277 +    </target>
  28.278 +        
  28.279 +    <target name="select-tool" depends="-def-select-tool">
  28.280 +        <select-tool propertyfile="${langtools.properties}"/>
  28.281 +    </target>
  28.282 +</project>
    29.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    29.2 +++ b/make/netbeans/langtools/nbproject/project.xml	Sat Jan 24 16:35:52 2009 -0800
    29.3 @@ -0,0 +1,108 @@
    29.4 +<?xml version="1.0" encoding="UTF-8"?>
    29.5 +<!--
    29.6 + Copyright 2007-2008 Sun Microsystems, Inc.  All Rights Reserved.
    29.7 +
    29.8 + Redistribution and use in source and binary forms, with or without
    29.9 + modification, are permitted provided that the following conditions
   29.10 + are met:
   29.11 +
   29.12 +   - Redistributions of source code must retain the above copyright
   29.13 +     notice, this list of conditions and the following disclaimer.
   29.14 +
   29.15 +   - Redistributions in binary form must reproduce the above copyright
   29.16 +     notice, this list of conditions and the following disclaimer in the
   29.17 +     documentation and/or other materials provided with the distribution.
   29.18 +
   29.19 +   - Neither the name of Sun Microsystems nor the names of its
   29.20 +     contributors may be used to endorse or promote products derived
   29.21 +     from this software without specific prior written permission.
   29.22 +
   29.23 + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
   29.24 + IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
   29.25 + THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
   29.26 + PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
   29.27 + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
   29.28 + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
   29.29 + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
   29.30 + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
   29.31 + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
   29.32 + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
   29.33 + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
   29.34 +-->
   29.35 +
   29.36 +<!DOCTYPE project [
   29.37 +    <!ENTITY standard-ide-actions SYSTEM "standard-ide-actions.ent">
   29.38 +    <!ENTITY standard-context-menu-items SYSTEM "standard-context-menu-items.ent">
   29.39 +]>
   29.40 +<project xmlns="http://www.netbeans.org/ns/project/1">
   29.41 +    <type>org.netbeans.modules.ant.freeform</type>
   29.42 +    <configuration>
   29.43 +        <general-data xmlns="http://www.netbeans.org/ns/freeform-project/1">
   29.44 +            <!-- Do not use Project Properties customizer when editing this file manually. -->
   29.45 +            <name>langtools</name>
   29.46 +            <properties>
   29.47 +                <property name="root">../../..</property>
   29.48 +            </properties>
   29.49 +            <folders>
   29.50 +                <source-folder>
   29.51 +                    <label>langtools</label>
   29.52 +                    <location>${root}</location>
   29.53 +                </source-folder>
   29.54 +                <source-folder>
   29.55 +                    <label>Source files</label>
   29.56 +                    <type>java</type>
   29.57 +                    <location>${root}/src/share/classes</location>
   29.58 +                </source-folder>
   29.59 +                <source-folder>
   29.60 +                    <label>Test files</label>
   29.61 +                    <type>tests</type>
   29.62 +                    <location>${root}/test</location>
   29.63 +                </source-folder>
   29.64 +                <source-folder>
   29.65 +                    <label>Build files</label>
   29.66 +                    <type>build</type>
   29.67 +                    <location>${root}/make</location>
   29.68 +                </source-folder>
   29.69 +            </folders>
   29.70 +            <ide-actions>
   29.71 +                &standard-ide-actions;
   29.72 +            </ide-actions>
   29.73 +            <export>
   29.74 +                <type>folder</type>
   29.75 +                <location>${root}/build/classes</location>
   29.76 +                <build-target>build</build-target>
   29.77 +            </export>
   29.78 +            <view>
   29.79 +                <items>
   29.80 +                    <source-folder style="tree">
   29.81 +                        <label>Source files</label>
   29.82 +                        <location>${root}/src/share/classes</location>
   29.83 +                    </source-folder>
   29.84 +                    <source-folder style="tree">
   29.85 +                        <label>Test files</label>
   29.86 +                        <location>${root}/test</location>
   29.87 +                    </source-folder>
   29.88 +                    <source-folder style="tree">
   29.89 +                        <label>Build files</label>
   29.90 +                        <location>${root}/make</location>
   29.91 +                    </source-folder>
   29.92 +                    <source-file>
   29.93 +                        <label>README</label>
   29.94 +                        <location>README</location>
   29.95 +                    </source-file>
   29.96 +                </items>
   29.97 +                <context-menu>
   29.98 +                    &standard-context-menu-items;
   29.99 +                </context-menu>
  29.100 +            </view>
  29.101 +            <subprojects/>
  29.102 +        </general-data>
  29.103 +        <java-data xmlns="http://www.netbeans.org/ns/freeform-project-java/2">
  29.104 +            <compilation-unit>
  29.105 +                <package-root>${root}/src/share/classes</package-root>
  29.106 +                <built-to>${root}/build/classes</built-to>
  29.107 +                <source-level>1.5</source-level>  <!-- FIXME -->
  29.108 +            </compilation-unit>
  29.109 +        </java-data>
  29.110 +    </configuration>
  29.111 +</project>
    30.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    30.2 +++ b/make/netbeans/langtools/nbproject/standard-context-menu-items.ent	Sat Jan 24 16:35:52 2009 -0800
    30.3 @@ -0,0 +1,61 @@
    30.4 +<?xml version="1.0" encoding="UTF-8"?>
    30.5 +<!--
    30.6 + Copyright 2007-2008 Sun Microsystems, Inc.  All Rights Reserved.
    30.7 +
    30.8 + Redistribution and use in source and binary forms, with or without
    30.9 + modification, are permitted provided that the following conditions
   30.10 + are met:
   30.11 +
   30.12 +   - Redistributions of source code must retain the above copyright
   30.13 +     notice, this list of conditions and the following disclaimer.
   30.14 +
   30.15 +   - Redistributions in binary form must reproduce the above copyright
   30.16 +     notice, this list of conditions and the following disclaimer in the
   30.17 +     documentation and/or other materials provided with the distribution.
   30.18 +
   30.19 +   - Neither the name of Sun Microsystems nor the names of its
   30.20 +     contributors may be used to endorse or promote products derived
   30.21 +     from this software without specific prior written permission.
   30.22 +
   30.23 + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
   30.24 + IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
   30.25 + THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
   30.26 + PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
   30.27 + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
   30.28 + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
   30.29 + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
   30.30 + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
   30.31 + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
   30.32 + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
   30.33 + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
   30.34 +-->
   30.35 +
   30.36 +<!-- 
   30.37 + This file defines the actions that will appear on the project's context
   30.38 + menu, in the Projects viewer.
   30.39 + It is normally included as an entity into a project's project.xml file.
   30.40 +
   30.41 + For information on these actions, see
   30.42 +   - NetBeans: Setting Up Projects
   30.43 +     at http://www.netbeans.org/kb/55/using-netbeans/project_setup.html
   30.44 +   - NetBeans: Advanced Freeform Project Configuration
   30.45 +     at http://www.netbeans.org/kb/41/freeform-config.html 
   30.46 +-->
   30.47 +
   30.48 +<ide-action name="select-tool"/>
   30.49 +
   30.50 +<separator/>
   30.51 +  
   30.52 +<ide-action name="build"/>
   30.53 +<ide-action name="rebuild"/>
   30.54 +<ide-action name="clean"/>
   30.55 +<ide-action name="javadoc"/>
   30.56 +
   30.57 +<separator/>
   30.58 +
   30.59 +<ide-action name="run"/>
   30.60 +<ide-action name="debug"/>
   30.61 +
   30.62 +<separator/>
   30.63 +
   30.64 +<ide-action name="test"/>
    31.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    31.2 +++ b/make/netbeans/langtools/nbproject/standard-ide-actions.ent	Sat Jan 24 16:35:52 2009 -0800
    31.3 @@ -0,0 +1,173 @@
    31.4 +<?xml version="1.0" encoding="UTF-8"?>
    31.5 +<!--
    31.6 + Copyright 2007-2008 Sun Microsystems, Inc.  All Rights Reserved.
    31.7 +
    31.8 + Redistribution and use in source and binary forms, with or without
    31.9 + modification, are permitted provided that the following conditions
   31.10 + are met:
   31.11 +
   31.12 +   - Redistributions of source code must retain the above copyright
   31.13 +     notice, this list of conditions and the following disclaimer.
   31.14 +
   31.15 +   - Redistributions in binary form must reproduce the above copyright
   31.16 +     notice, this list of conditions and the following disclaimer in the
   31.17 +     documentation and/or other materials provided with the distribution.
   31.18 +
   31.19 +   - Neither the name of Sun Microsystems nor the names of its
   31.20 +     contributors may be used to endorse or promote products derived
   31.21 +     from this software without specific prior written permission.
   31.22 +
   31.23 + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
   31.24 + IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
   31.25 + THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
   31.26 + PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
   31.27 + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
   31.28 + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
   31.29 + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
   31.30 + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
   31.31 + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
   31.32 + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
   31.33 + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
   31.34 +-->
   31.35 +
   31.36 +<!-- 
   31.37 + This file defines the standard actions accepted by langtools projects.
   31.38 + It is normally included as an entity into a project's project.xml file.
   31.39 +
   31.40 + For information on these actions, see
   31.41 +   - NetBeans: Setting Up Projects
   31.42 +     at http://www.netbeans.org/kb/55/using-netbeans/project_setup.html
   31.43 +   - NetBeans: Advanced Freeform Project Configuration
   31.44 +     at http://www.netbeans.org/kb/41/freeform-config.html 
   31.45 +-->
   31.46 +
   31.47 +<action name="build">
   31.48 +    <target>build</target>
   31.49 +</action>
   31.50 +
   31.51 +<action name="clean">
   31.52 +    <target>clean</target>
   31.53 +</action>
   31.54 +
   31.55 +<action name="rebuild">
   31.56 +    <target>clean</target>
   31.57 +    <target>build</target>
   31.58 +</action>
   31.59 +
   31.60 +<action name="compile.single">
   31.61 +    <target>compile-single</target>
   31.62 +    <property name="srcdir">${root}/src/share/classes</property>
   31.63 +    <context>
   31.64 +        <property>includes</property>
   31.65 +        <folder>${root}/src/share/classes</folder>
   31.66 +        <pattern>\.java$</pattern>
   31.67 +        <format>relative-path</format>
   31.68 +        <arity>
   31.69 +            <separated-files>,</separated-files>
   31.70 +        </arity>
   31.71 +    </context>
   31.72 +</action>
   31.73 +
   31.74 +<action name="run">
   31.75 +    <target>run</target>
   31.76 +</action>
   31.77 +
   31.78 +<action name="run.single">
   31.79 +    <target>run-single</target>
   31.80 +    <context>
   31.81 +        <property>run.classname</property>
   31.82 +        <folder>${root}/src/share/classes</folder>
   31.83 +        <pattern>\.java$</pattern>
   31.84 +        <format>java-name</format>
   31.85 +        <arity>
   31.86 +            <one-file-only/>
   31.87 +        </arity>
   31.88 +    </context>
   31.89 +</action>
   31.90 +
   31.91 +<!-- 
   31.92 + Note: NetBeans does not appear to support context menu items
   31.93 + on shell scripts :-(
   31.94 +-->
   31.95 +
   31.96 +<action name="run.single">
   31.97 +    <target>jtreg</target>
   31.98 +    <context>
   31.99 +        <property>jtreg.tests</property>
  31.100 +        <folder>${root}/test</folder>
  31.101 +        <pattern>\.(java|sh)$</pattern>
  31.102 +        <format>relative-path</format>
  31.103 +        <arity>
  31.104 +            <separated-files>,</separated-files>
  31.105 +        </arity>
  31.106 +    </context>
  31.107 +</action>
  31.108 +
  31.109 +<action name="test">
  31.110 +    <target>jtreg</target>
  31.111 +</action>
  31.112 +
  31.113 +<action name="debug">
  31.114 +    <target>debug</target>
  31.115 +</action>
  31.116 +
  31.117 +<action name="debug.single">
  31.118 +    <target>debug-single</target>
  31.119 +    <context>
  31.120 +        <property>debug.classname</property>
  31.121 +        <folder>${root}/src/share/classes</folder>
  31.122 +        <pattern>\.java$</pattern>
  31.123 +        <format>java-name</format>
  31.124 +        <arity>
  31.125 +            <one-file-only/>
  31.126 +        </arity>
  31.127 +    </context>
  31.128 +</action>
  31.129 +
  31.130 +<!-- 
  31.131 + Note: NetBeans does not appear to support context menu items
  31.132 + on shell scripts :-(
  31.133 +-->
  31.134 +
  31.135 +<action name="debug.single">
  31.136 +    <target>debug-jtreg</target>
  31.137 +    <context>
  31.138 +        <property>jtreg.tests</property>
  31.139 +        <folder>${root}/test</folder>
  31.140 +        <pattern>\.(java|sh)$</pattern>
  31.141 +        <format>relative-path</format>
  31.142 +        <arity>
  31.143 +            <one-file-only/>
  31.144 +        </arity>
  31.145 +    </context>
  31.146 +</action>
  31.147 +
  31.148 +<action name="debug.fix">
  31.149 +    <target>debug-fix</target>
  31.150 +    <property name="srcdir">${root}/src/share/classes</property>
  31.151 +    <context>
  31.152 +        <property>class</property>
  31.153 +        <folder>${root}/src/share/classes</folder>
  31.154 +        <pattern>\.java$</pattern>
  31.155 +        <format>relative-path-noext</format>
  31.156 +        <arity>
  31.157 +            <one-file-only/>
  31.158 +        </arity>
  31.159 +    </context>
  31.160 +</action>
  31.161 +
  31.162 +<action name="javadoc">
  31.163 +    <target>javadoc</target>
  31.164 +</action>
  31.165 +
  31.166 +<action name="select-tool">
  31.167 +    <target>select-tool</target>
  31.168 +</action>
  31.169 +
  31.170 +<action name="test-select-tool-1">
  31.171 +    <target>test-select-tool-1</target>
  31.172 +</action>
  31.173 +
  31.174 +<action name="test-select-tool-2">
  31.175 +    <target>test-select-tool-2</target>
  31.176 +</action>
    32.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    32.2 +++ b/make/tools/SelectTool/SelectToolTask.java	Sat Jan 24 16:35:52 2009 -0800
    32.3 @@ -0,0 +1,284 @@
    32.4 +/*
    32.5 + * Copyright 2008 Sun Microsystems, Inc.  All Rights Reserved.
    32.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    32.7 + *
    32.8 + * This code is free software; you can redistribute it and/or modify it
    32.9 + * under the terms of the GNU General Public License version 2 only, as
   32.10 + * published by the Free Software Foundation.  Sun designates this
   32.11 + * particular file as subject to the "Classpath" exception as provided
   32.12 + * by Sun in the LICENSE file that accompanied this code.
   32.13 + *
   32.14 + * This code is distributed in the hope that it will be useful, but WITHOUT
   32.15 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
   32.16 + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
   32.17 + * version 2 for more details (a copy is included in the LICENSE file that
   32.18 + * accompanied this code).
   32.19 + *
   32.20 + * You should have received a copy of the GNU General Public License version
   32.21 + * 2 along with this work; if not, write to the Free Software Foundation,
   32.22 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
   32.23 + *
   32.24 + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
   32.25 + * CA 95054 USA or visit www.sun.com if you need additional information or
   32.26 + * have any questions.
   32.27 + */
   32.28 +
   32.29 +import java.awt.GridBagConstraints;
   32.30 +import java.awt.GridBagLayout;
   32.31 +import java.awt.event.ActionEvent;
   32.32 +import java.awt.event.ActionListener;
   32.33 +import java.awt.event.FocusEvent;
   32.34 +import java.awt.event.FocusListener;
   32.35 +import java.awt.event.ItemEvent;
   32.36 +import java.awt.event.ItemListener;
   32.37 +import java.io.BufferedReader;
   32.38 +import java.io.BufferedWriter;
   32.39 +import java.io.File;
   32.40 +import java.io.FileReader;
   32.41 +import java.io.FileWriter;
   32.42 +import java.io.IOException;
   32.43 +import java.io.Reader;
   32.44 +import java.io.Writer;
   32.45 +import java.util.ArrayList;
   32.46 +import java.util.Arrays;
   32.47 +import java.util.List;
   32.48 +import java.util.Properties;
   32.49 +import javax.swing.JButton;
   32.50 +import javax.swing.JCheckBox;
   32.51 +import javax.swing.JComboBox;
   32.52 +import javax.swing.JDialog;
   32.53 +import javax.swing.JLabel;
   32.54 +import javax.swing.JOptionPane;
   32.55 +import javax.swing.JPanel;
   32.56 +import javax.swing.JTextField;
   32.57 +
   32.58 +import javax.swing.SwingUtilities;
   32.59 +import org.apache.tools.ant.BuildException;
   32.60 +import org.apache.tools.ant.Project;
   32.61 +import org.apache.tools.ant.Task;
   32.62 +
   32.63 +/**
   32.64 + * Task to allow the user to control langtools tools built when using NetBeans.
   32.65 + *
   32.66 + * There are two primary modes.
   32.67 + * 1) Property mode. In this mode, property names are provided to get values
   32.68 + * that may be specified by the user, either directly in a GUI dialog, or
   32.69 + * read from a properties file. If the GUI dialog is invoked, values may
   32.70 + * optionally be set for future use.
   32.71 + * 2) Setup mode. In this mode, no property names are provided, and the GUI
   32.72 + * is invoked to allow the user to set or reset values for use in property mode.
   32.73 + */
   32.74 +public class SelectToolTask extends Task {
   32.75 +    /**
   32.76 +     * Set the location of the private properties file used to keep the retain
   32.77 +     * user preferences for this repository.
   32.78 +     */
   32.79 +    public void setPropertyFile(File propertyFile) {
   32.80 +        this.propertyFile = propertyFile;
   32.81 +    }
   32.82 +
   32.83 +    /**
   32.84 +     * Set the name of the property which will be set to the name of the
   32.85 +     * selected tool, if any. If no tool is selected, the property will
   32.86 +     * remain unset.
   32.87 +     */
   32.88 +    public void setToolProperty(String toolProperty) {
   32.89 +        this.toolProperty = toolProperty;
   32.90 +    }
   32.91 +
   32.92 +    /**
   32.93 +     * Set the name of the property which will be set to the execution args of the
   32.94 +     * selected tool, if any. The args default to an empty string.
   32.95 +     */
   32.96 +    public void setArgsProperty(String argsProperty) {
   32.97 +        this.argsProperty = argsProperty;
   32.98 +    }
   32.99 +
  32.100 +    /**
  32.101 +     * Specify whether or not to pop up a dialog if the user has not specified
  32.102 +     * a default value for a property.
  32.103 +     */
  32.104 +    public void setAskIfUnset(boolean askIfUnset) {
  32.105 +        this.askIfUnset = askIfUnset;
  32.106 +    }
  32.107 +
  32.108 +    @Override
  32.109 +    public void execute() {
  32.110 +        Project p = getProject();
  32.111 +
  32.112 +        Properties props = readProperties(propertyFile);
  32.113 +        toolName = props.getProperty("tool.name");
  32.114 +        if (toolName != null) {
  32.115 +            toolArgs = props.getProperty(toolName + ".args", "");
  32.116 +        }
  32.117 +
  32.118 +        if (toolProperty == null ||
  32.119 +            askIfUnset && (toolName == null
  32.120 +                || (argsProperty != null && toolArgs == null))) {
  32.121 +            showGUI(props);
  32.122 +        }
  32.123 +
  32.124 +        // finally, return required values, if any
  32.125 +        if (toolProperty != null && !(toolName == null || toolName.equals(""))) {
  32.126 +            p.setProperty(toolProperty, toolName);
  32.127 +
  32.128 +            if (argsProperty != null && toolArgs != null)
  32.129 +                p.setProperty(argsProperty, toolArgs);
  32.130 +        }
  32.131 +    }
  32.132 +
  32.133 +    void showGUI(Properties fileProps) {
  32.134 +        Properties guiProps = new Properties(fileProps);
  32.135 +        JOptionPane p = createPane(guiProps);
  32.136 +        p.createDialog("Select Tool").setVisible(true);
  32.137 +
  32.138 +        toolName = (String) toolChoice.getSelectedItem();
  32.139 +        toolArgs = argsField.getText();
  32.140 +
  32.141 +        if (defaultCheck.isSelected()) {
  32.142 +            if (toolName.equals("")) {
  32.143 +                fileProps.remove("tool.name");
  32.144 +            } else {
  32.145 +                fileProps.put("tool.name", toolName);
  32.146 +                fileProps.put(toolName + ".args", toolArgs);
  32.147 +            }
  32.148 +            writeProperties(propertyFile, fileProps);
  32.149 +        }
  32.150 +    }
  32.151 +
  32.152 +    JOptionPane createPane(final Properties props) {
  32.153 +        JPanel body = new JPanel(new GridBagLayout());
  32.154 +        GridBagConstraints lc = new GridBagConstraints();
  32.155 +        lc.insets.right = 10;
  32.156 +        lc.insets.bottom = 3;
  32.157 +        GridBagConstraints fc = new GridBagConstraints();
  32.158 +        fc.anchor = GridBagConstraints.WEST;
  32.159 +        fc.gridx = 1;
  32.160 +        fc.gridwidth = GridBagConstraints.REMAINDER;
  32.161 +        fc.insets.bottom = 3;
  32.162 +
  32.163 +        JLabel toolLabel = new JLabel("Tool:");
  32.164 +        body.add(toolLabel, lc);
  32.165 +        String[] toolChoices = { "apt", "javac", "javadoc", "javah", "javap" };
  32.166 +        if (true || toolProperty == null) {
  32.167 +            // include empty value in setup mode
  32.168 +            List<String> l = new ArrayList<String>(Arrays.asList(toolChoices));
  32.169 +            l.add(0, "");
  32.170 +            toolChoices = l.toArray(new String[l.size()]);
  32.171 +        }
  32.172 +        toolChoice = new JComboBox(toolChoices);
  32.173 +        if (toolName != null)
  32.174 +            toolChoice.setSelectedItem(toolName);
  32.175 +        toolChoice.addItemListener(new ItemListener() {
  32.176 +            public void itemStateChanged(ItemEvent e) {
  32.177 +                String tn = (String) e.getItem();
  32.178 +                argsField.setText(getDefaultArgsForTool(props, tn));
  32.179 +                if (toolProperty != null)
  32.180 +                    okButton.setEnabled(!tn.equals(""));
  32.181 +            }
  32.182 +        });
  32.183 +        body.add(toolChoice, fc);
  32.184 +
  32.185 +        argsField = new JTextField(getDefaultArgsForTool(props, toolName), 40);
  32.186 +        if (toolProperty == null || argsProperty != null) {
  32.187 +            JLabel argsLabel = new JLabel("Args:");
  32.188 +            body.add(argsLabel, lc);
  32.189 +            body.add(argsField, fc);
  32.190 +            argsField.addFocusListener(new FocusListener() {
  32.191 +                public void focusGained(FocusEvent e) {
  32.192 +                }
  32.193 +                public void focusLost(FocusEvent e) {
  32.194 +                    String toolName = (String) toolChoice.getSelectedItem();
  32.195 +                    if (toolName.length() > 0)
  32.196 +                        props.put(toolName + ".args", argsField.getText());
  32.197 +                }
  32.198 +            });
  32.199 +        }
  32.200 +
  32.201 +        defaultCheck = new JCheckBox("Set as default");
  32.202 +        if (toolProperty == null)
  32.203 +            defaultCheck.setSelected(true);
  32.204 +        else
  32.205 +            body.add(defaultCheck, fc);
  32.206 +
  32.207 +        final JOptionPane p = new JOptionPane(body);
  32.208 +        okButton = new JButton("OK");
  32.209 +        okButton.setEnabled(toolProperty == null || (toolName != null && !toolName.equals("")));
  32.210 +        okButton.addActionListener(new ActionListener() {
  32.211 +            public void actionPerformed(ActionEvent e) {
  32.212 +                JDialog d = (JDialog) SwingUtilities.getAncestorOfClass(JDialog.class, p);
  32.213 +                d.setVisible(false);
  32.214 +            }
  32.215 +        });
  32.216 +        p.setOptions(new Object[] { okButton });
  32.217 +
  32.218 +        return p;
  32.219 +    }
  32.220 +
  32.221 +    Properties readProperties(File file) {
  32.222 +        Properties p = new Properties();
  32.223 +        if (file != null && file.exists()) {
  32.224 +            Reader in = null;
  32.225 +            try {
  32.226 +                in = new BufferedReader(new FileReader(file));
  32.227 +                p.load(in);
  32.228 +                in.close();
  32.229 +            } catch (IOException e) {
  32.230 +                throw new BuildException("error reading property file", e);
  32.231 +            } finally {
  32.232 +                if (in != null) {
  32.233 +                    try {
  32.234 +                        in.close();
  32.235 +                    } catch (IOException e) {
  32.236 +                        throw new BuildException("cannot close property file", e);
  32.237 +                    }
  32.238 +                }
  32.239 +            }
  32.240 +        }
  32.241 +        return p;
  32.242 +    }
  32.243 +
  32.244 +    void writeProperties(File file, Properties p) {
  32.245 +        if (file != null) {
  32.246 +            Writer out = null;
  32.247 +            try {
  32.248 +                File dir = file.getParentFile();
  32.249 +                if (dir != null && !dir.exists())
  32.250 +                    dir.mkdirs();
  32.251 +                out = new BufferedWriter(new FileWriter(file));
  32.252 +                p.store(out, "langtools properties");
  32.253 +                out.close();
  32.254 +            } catch (IOException e) {
  32.255 +                throw new BuildException("error writing property file", e);
  32.256 +            } finally {
  32.257 +                if (out != null) {
  32.258 +                    try {
  32.259 +                        out.close();
  32.260 +                    } catch (IOException e) {
  32.261 +                        throw new BuildException("cannot close property file", e);
  32.262 +                    }
  32.263 +                }
  32.264 +            }
  32.265 +        }
  32.266 +    }
  32.267 +
  32.268 +    String getDefaultArgsForTool(Properties props, String tn) {
  32.269 +        return (tn == null || tn.equals("")) ? "" : props.getProperty(tn + ".args", "");
  32.270 +    }
  32.271 +
  32.272 +    // Ant task parameters
  32.273 +    private boolean askIfUnset;
  32.274 +    private String toolProperty;
  32.275 +    private String argsProperty;
  32.276 +    private File propertyFile;
  32.277 +
  32.278 +    // GUI components
  32.279 +    private JComboBox toolChoice;
  32.280 +    private JTextField argsField;
  32.281 +    private JCheckBox defaultCheck;
  32.282 +    private JButton okButton;
  32.283 +
  32.284 +    // Result values for the client
  32.285 +    private String toolName;
  32.286 +    private String toolArgs;
  32.287 +}
    33.1 --- a/src/share/classes/com/sun/tools/apt/comp/AnnotationProcessingError.java	Thu Jan 22 14:42:22 2009 -0800
    33.2 +++ b/src/share/classes/com/sun/tools/apt/comp/AnnotationProcessingError.java	Sat Jan 24 16:35:52 2009 -0800
    33.3 @@ -26,6 +26,7 @@
    33.4  package com.sun.tools.apt.comp;
    33.5  
    33.6  public class AnnotationProcessingError extends Error {
    33.7 +    private static final long serialVersionUID = 3279196183341719287L;
    33.8      AnnotationProcessingError(Throwable cause) {
    33.9          super(cause);
   33.10      }
    34.1 --- a/src/share/classes/com/sun/tools/apt/comp/Apt.java	Thu Jan 22 14:42:22 2009 -0800
    34.2 +++ b/src/share/classes/com/sun/tools/apt/comp/Apt.java	Sat Jan 24 16:35:52 2009 -0800
    34.3 @@ -316,8 +316,13 @@
    34.4                      }
    34.5  
    34.6                      providers = list.iterator();
    34.7 -                } else
    34.8 -                    providers = sun.misc.Service.providers(AnnotationProcessorFactory.class, aptCL);
    34.9 +                } else {
   34.10 +                    @SuppressWarnings("unchecked")
   34.11 +                    Iterator<AnnotationProcessorFactory> iter =
   34.12 +                            sun.misc.Service.providers(AnnotationProcessorFactory.class, aptCL);
   34.13 +                    providers = iter;
   34.14 +
   34.15 +                }
   34.16              }
   34.17  
   34.18              java.util.Map<AnnotationProcessorFactory, Set<AnnotationTypeDeclaration>> factoryToAnnotation =
    35.1 --- a/src/share/classes/com/sun/tools/apt/comp/UsageMessageNeededException.java	Thu Jan 22 14:42:22 2009 -0800
    35.2 +++ b/src/share/classes/com/sun/tools/apt/comp/UsageMessageNeededException.java	Sat Jan 24 16:35:52 2009 -0800
    35.3 @@ -26,4 +26,6 @@
    35.4  package com.sun.tools.apt.comp;
    35.5  
    35.6  
    35.7 -public class UsageMessageNeededException extends RuntimeException {}
    35.8 +public class UsageMessageNeededException extends RuntimeException {
    35.9 +    private static final long serialVersionUID = -3265159608992825840L;
   35.10 +}
    36.1 --- a/src/share/classes/com/sun/tools/apt/main/JavaCompiler.java	Thu Jan 22 14:42:22 2009 -0800
    36.2 +++ b/src/share/classes/com/sun/tools/apt/main/JavaCompiler.java	Sat Jan 24 16:35:52 2009 -0800
    36.3 @@ -233,6 +233,7 @@
    36.4  
    36.5          ListBuffer<ClassSymbol> classes = new ListBuffer<ClassSymbol>();
    36.6          try {
    36.7 +            JavacFileManager fm = (JavacFileManager)fileManager;
    36.8              //parse all files
    36.9              ListBuffer<JCCompilationUnit> trees = new ListBuffer<JCCompilationUnit>();
   36.10              for (List<String> l = filenames; l.nonEmpty(); l = l.tail) {
   36.11 @@ -250,7 +251,8 @@
   36.12                          continue;
   36.13                      }
   36.14                  }
   36.15 -                trees.append(parse(l.head));
   36.16 +                JavaFileObject fo = fm.getJavaFileObjectsFromStrings(List.of(l.head)).iterator().next();
   36.17 +                trees.append(parse(fo));
   36.18              }
   36.19  
   36.20              //enter symbols for all files
    37.1 --- a/src/share/classes/com/sun/tools/apt/mirror/apt/RoundCompleteEventImpl.java	Thu Jan 22 14:42:22 2009 -0800
    37.2 +++ b/src/share/classes/com/sun/tools/apt/mirror/apt/RoundCompleteEventImpl.java	Sat Jan 24 16:35:52 2009 -0800
    37.3 @@ -30,6 +30,8 @@
    37.4  import com.sun.mirror.apt.RoundState;
    37.5  
    37.6  public class RoundCompleteEventImpl extends RoundCompleteEvent {
    37.7 +    private static final long serialVersionUID = 7067621446720784300L;
    37.8 +
    37.9      public RoundCompleteEventImpl(AnnotationProcessorEnvironment source,
   37.10                                    RoundState rs) {
   37.11          super(source, rs);
    38.1 --- a/src/share/classes/com/sun/tools/apt/mirror/declaration/AnnotationProxyMaker.java	Thu Jan 22 14:42:22 2009 -0800
    38.2 +++ b/src/share/classes/com/sun/tools/apt/mirror/declaration/AnnotationProxyMaker.java	Sat Jan 24 16:35:52 2009 -0800
    38.3 @@ -252,6 +252,7 @@
    38.4           */
    38.5          private void typeMismatch(final Method method, final Attribute attr) {
    38.6              value = new ExceptionProxy() {
    38.7 +                private static final long serialVersionUID = 8473323277815075163L;
    38.8                  public String toString() {
    38.9                      return "<error>";   // eg:  @Anno(value=<error>)
   38.10                  }
   38.11 @@ -270,6 +271,7 @@
   38.12       * type.
   38.13       */
   38.14      private static class MirroredTypeExceptionProxy extends ExceptionProxy {
   38.15 +        private static final long serialVersionUID = 6662035281599933545L;
   38.16  
   38.17          private MirroredTypeException ex;
   38.18  
   38.19 @@ -311,6 +313,7 @@
   38.20       * types.
   38.21       */
   38.22      private static class MirroredTypesExceptionProxy extends ExceptionProxy {
   38.23 +        private static final long serialVersionUID = -6670822532616693951L;
   38.24  
   38.25          private MirroredTypesException ex;
   38.26  
    39.1 --- a/src/share/classes/com/sun/tools/apt/mirror/type/TypeVariableImpl.java	Thu Jan 22 14:42:22 2009 -0800
    39.2 +++ b/src/share/classes/com/sun/tools/apt/mirror/type/TypeVariableImpl.java	Sat Jan 24 16:35:52 2009 -0800
    39.3 @@ -64,7 +64,7 @@
    39.4       * {@inheritDoc}
    39.5       */
    39.6      public TypeParameterDeclaration getDeclaration() {
    39.7 -        TypeSymbol sym = (TypeSymbol) type.tsym;
    39.8 +        TypeSymbol sym = type.tsym;
    39.9          return env.declMaker.getTypeParameterDeclaration(sym);
   39.10      }
   39.11  
    40.1 --- a/src/share/classes/com/sun/tools/classfile/Annotation.java	Thu Jan 22 14:42:22 2009 -0800
    40.2 +++ b/src/share/classes/com/sun/tools/classfile/Annotation.java	Sat Jan 24 16:35:52 2009 -0800
    40.3 @@ -37,6 +37,7 @@
    40.4   */
    40.5  public class Annotation {
    40.6      static class InvalidAnnotation extends AttributeException {
    40.7 +        private static final long serialVersionUID = -4620480740735772708L;
    40.8          InvalidAnnotation(String msg) {
    40.9              super(msg);
   40.10          }
    41.1 --- a/src/share/classes/com/sun/tools/classfile/AttributeException.java	Thu Jan 22 14:42:22 2009 -0800
    41.2 +++ b/src/share/classes/com/sun/tools/classfile/AttributeException.java	Sat Jan 24 16:35:52 2009 -0800
    41.3 @@ -32,6 +32,7 @@
    41.4   *  deletion without notice.</b>
    41.5   */
    41.6  public class AttributeException extends Exception {
    41.7 +    private static final long serialVersionUID = -4231486387714867770L;
    41.8      AttributeException() { }
    41.9  
   41.10      AttributeException(String msg) {
    42.1 --- a/src/share/classes/com/sun/tools/classfile/Code_attribute.java	Thu Jan 22 14:42:22 2009 -0800
    42.2 +++ b/src/share/classes/com/sun/tools/classfile/Code_attribute.java	Sat Jan 24 16:35:52 2009 -0800
    42.3 @@ -37,6 +37,7 @@
    42.4   */
    42.5  public class Code_attribute extends Attribute {
    42.6      public class InvalidIndex extends AttributeException {
    42.7 +        private static final long serialVersionUID = -8904527774589382802L;
    42.8          InvalidIndex(int index) {
    42.9              this.index = index;
   42.10          }
    43.1 --- a/src/share/classes/com/sun/tools/classfile/ConstantPool.java	Thu Jan 22 14:42:22 2009 -0800
    43.2 +++ b/src/share/classes/com/sun/tools/classfile/ConstantPool.java	Sat Jan 24 16:35:52 2009 -0800
    43.3 @@ -38,6 +38,7 @@
    43.4  public class ConstantPool {
    43.5  
    43.6      public class InvalidIndex extends ConstantPoolException {
    43.7 +        private static final long serialVersionUID = -4350294289300939730L;
    43.8          InvalidIndex(int index) {
    43.9              super(index);
   43.10          }
   43.11 @@ -50,6 +51,7 @@
   43.12      }
   43.13  
   43.14      public class UnexpectedEntry extends ConstantPoolException {
   43.15 +        private static final long serialVersionUID = 6986335935377933211L;
   43.16          UnexpectedEntry(int index, int expected_tag, int found_tag) {
   43.17              super(index);
   43.18              this.expected_tag = expected_tag;
   43.19 @@ -67,6 +69,7 @@
   43.20      }
   43.21  
   43.22      public class InvalidEntry extends ConstantPoolException {
   43.23 +        private static final long serialVersionUID = 1000087545585204447L;
   43.24          InvalidEntry(int index, int tag) {
   43.25              super(index);
   43.26              this.tag = tag;
   43.27 @@ -82,6 +85,7 @@
   43.28      }
   43.29  
   43.30      public class EntryNotFound extends ConstantPoolException {
   43.31 +        private static final long serialVersionUID = 2885537606468581850L;
   43.32          EntryNotFound(Object value) {
   43.33              super(-1);
   43.34              this.value = value;
    44.1 --- a/src/share/classes/com/sun/tools/classfile/ConstantPoolException.java	Thu Jan 22 14:42:22 2009 -0800
    44.2 +++ b/src/share/classes/com/sun/tools/classfile/ConstantPoolException.java	Sat Jan 24 16:35:52 2009 -0800
    44.3 @@ -33,6 +33,7 @@
    44.4   *  deletion without notice.</b>
    44.5   */
    44.6  public class ConstantPoolException extends Exception {
    44.7 +    private static final long serialVersionUID = -2324397349644754565L;
    44.8      ConstantPoolException(int index) {
    44.9          this.index = index;
   44.10      }
    45.1 --- a/src/share/classes/com/sun/tools/classfile/Descriptor.java	Thu Jan 22 14:42:22 2009 -0800
    45.2 +++ b/src/share/classes/com/sun/tools/classfile/Descriptor.java	Sat Jan 24 16:35:52 2009 -0800
    45.3 @@ -38,6 +38,7 @@
    45.4   */
    45.5  public class Descriptor {
    45.6      public class InvalidDescriptor extends DescriptorException {
    45.7 +        private static final long serialVersionUID = 1L;
    45.8          InvalidDescriptor(String desc) {
    45.9              this.desc = desc;
   45.10              this.index = -1;
    46.1 --- a/src/share/classes/com/sun/tools/classfile/DescriptorException.java	Thu Jan 22 14:42:22 2009 -0800
    46.2 +++ b/src/share/classes/com/sun/tools/classfile/DescriptorException.java	Sat Jan 24 16:35:52 2009 -0800
    46.3 @@ -33,4 +33,5 @@
    46.4   *  deletion without notice.</b>
    46.5   */
    46.6  public class DescriptorException extends Exception {
    46.7 +    private static final long serialVersionUID = 2411890273788901032L;
    46.8  }
    47.1 --- a/src/share/classes/com/sun/tools/classfile/StackMapTable_attribute.java	Thu Jan 22 14:42:22 2009 -0800
    47.2 +++ b/src/share/classes/com/sun/tools/classfile/StackMapTable_attribute.java	Sat Jan 24 16:35:52 2009 -0800
    47.3 @@ -37,6 +37,7 @@
    47.4   */
    47.5  public class StackMapTable_attribute extends Attribute {
    47.6      static class InvalidStackMap extends AttributeException {
    47.7 +        private static final long serialVersionUID = -5659038410855089780L;
    47.8          InvalidStackMap(String msg) {
    47.9              super(msg);
   47.10          }
    48.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/ConfigurationImpl.java	Thu Jan 22 14:42:22 2009 -0800
    48.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/ConfigurationImpl.java	Sat Jan 24 16:35:52 2009 -0800
    48.3 @@ -493,4 +493,14 @@
    48.4      public Comparator<ProgramElementDoc> getMemberComparator() {
    48.5          return null;
    48.6      }
    48.7 +
    48.8 +    /**
    48.9 +     * {@inheritDoc}
   48.10 +     */
   48.11 +    public Locale getLocale() {
   48.12 +        if (root instanceof com.sun.tools.javadoc.RootDocImpl)
   48.13 +            return ((com.sun.tools.javadoc.RootDocImpl)root).getLocale();
   48.14 +        else
   48.15 +            return Locale.getDefault();
   48.16 +    }
   48.17  }
    49.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/PackageIndexWriter.java	Thu Jan 22 14:42:22 2009 -0800
    49.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/PackageIndexWriter.java	Sat Jan 24 16:35:52 2009 -0800
    49.3 @@ -119,7 +119,7 @@
    49.4       */
    49.5      protected void generateIndex() {
    49.6          for (int i = 0; i < groupList.size(); i++) {
    49.7 -        String groupname = (String)groupList.get(i);
    49.8 +        String groupname = groupList.get(i);
    49.9          List<PackageDoc> list = groupPackageMap.get(groupname);
   49.10              if (list != null && list.size() > 0) {
   49.11                  printIndexContents(list.toArray(new PackageDoc[list.size()]),
    50.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlDocWriter.java	Thu Jan 22 14:42:22 2009 -0800
    50.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlDocWriter.java	Sat Jan 24 16:35:52 2009 -0800
    50.3 @@ -25,12 +25,11 @@
    50.4  
    50.5  package com.sun.tools.doclets.formats.html.markup;
    50.6  
    50.7 -import com.sun.tools.doclets.internal.toolkit.*;
    50.8 +import java.io.*;
    50.9 +import java.util.*;
   50.10  
   50.11  import com.sun.javadoc.*;
   50.12 -import java.io.*;
   50.13 -import java.util.*;
   50.14 -import com.sun.tools.doclets.internal.toolkit.util.*;
   50.15 +import com.sun.tools.doclets.internal.toolkit.*;
   50.16  
   50.17  
   50.18  /**
   50.19 @@ -56,8 +55,9 @@
   50.20          super(configuration,
   50.21                null, configuration.destDirName + filename,
   50.22                configuration.docencoding);
   50.23 +        // use File to normalize file separators
   50.24          configuration.message.notice("doclet.Generating_0",
   50.25 -                                     configuration.destDirName + filename);
   50.26 +            new File(configuration.destDirName, filename));
   50.27      }
   50.28  
   50.29      public HtmlDocWriter(Configuration configuration,
   50.30 @@ -65,10 +65,10 @@
   50.31          super(configuration,
   50.32                configuration.destDirName + path, filename,
   50.33                configuration.docencoding);
   50.34 +        // use File to normalize file separators
   50.35          configuration.message.notice("doclet.Generating_0",
   50.36 -                                     configuration.destDirName +
   50.37 -                                         ((path.length() > 0)?
   50.38 -                                              path + File.separator: "") + filename);
   50.39 +            new File(configuration.destDirName,
   50.40 +                    ((path.length() > 0)? path + File.separator: "") + filename));
   50.41      }
   50.42  
   50.43      /**
    51.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlWriter.java	Thu Jan 22 14:42:22 2009 -0800
    51.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlWriter.java	Sat Jan 24 16:35:52 2009 -0800
    51.3 @@ -85,7 +85,7 @@
    51.4       * Print &lt;HTML&gt; tag. Add a newline character at the end.
    51.5       */
    51.6      public void html() {
    51.7 -        println("<HTML>");
    51.8 +        println("<HTML lang=\"" + configuration.getLocale().getLanguage() + "\">");
    51.9      }
   51.10  
   51.11      /**
    52.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/Configuration.java	Thu Jan 22 14:42:22 2009 -0800
    52.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/Configuration.java	Sat Jan 24 16:35:52 2009 -0800
    52.3 @@ -707,6 +707,11 @@
    52.4      }
    52.5  
    52.6      /**
    52.7 +     * Return the Locale for this document.
    52.8 +     */
    52.9 +    public abstract Locale getLocale();
   52.10 +
   52.11 +    /**
   52.12       * Return the comparator that will be used to sort member documentation.
   52.13       * To no do any sorting, return null.
   52.14       *
    53.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/SerializedFormBuilder.java	Thu Jan 22 14:42:22 2009 -0800
    53.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/SerializedFormBuilder.java	Sat Jan 24 16:35:52 2009 -0800
    53.3 @@ -402,7 +402,7 @@
    53.4      public void buildFieldSerializationOverview(ClassDoc classDoc) {
    53.5          if (classDoc.definesSerializableFields()) {
    53.6              FieldDoc serialPersistentField =
    53.7 -                (FieldDoc)((Util.asList(classDoc.serializableFields()).get(0)));
    53.8 +                Util.asList(classDoc.serializableFields()).get(0);
    53.9              String comment = serialPersistentField.commentText();
   53.10              if (comment.length() > 0) {
   53.11                  fieldWriter.writeHeader(
    54.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/DocletAbortException.java	Thu Jan 22 14:42:22 2009 -0800
    54.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/DocletAbortException.java	Sat Jan 24 16:35:52 2009 -0800
    54.3 @@ -26,6 +26,7 @@
    54.4  package com.sun.tools.doclets.internal.toolkit.util;
    54.5  
    54.6  public class DocletAbortException extends RuntimeException {
    54.7 +    private static final long serialVersionUID = -9131058909576418984L;
    54.8  
    54.9      public DocletAbortException() {
   54.10      }
    55.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/MessageRetriever.java	Thu Jan 22 14:42:22 2009 -0800
    55.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/MessageRetriever.java	Sat Jan 24 16:35:52 2009 -0800
    55.3 @@ -81,46 +81,14 @@
    55.4      }
    55.5  
    55.6      /**
    55.7 -     * get and format message string from resource
    55.8 -     *
    55.9 -     * @param key selects message from resource
   55.10 -     */
   55.11 -    public String getText(String key) {
   55.12 -        return getText(key, (String)null);
   55.13 -    }
   55.14 -
   55.15 -    /**
   55.16       * Get and format message string from resource
   55.17       *
   55.18       * @param key selects message from resource
   55.19 -     * @param a1 Argument, to be repalced in the message.
   55.20 -     */
   55.21 -    public String getText(String key, String a1) {
   55.22 -        return getText(key, a1, null);
   55.23 -    }
   55.24 -
   55.25 -    /**
   55.26 -     * Get and format message string from resource
   55.27 -     *
   55.28 -     * @param key selects message from resource
   55.29 -     * @param a1 first argument to be replaced in the message.
   55.30 -     * @param a2 second argument to be replaced in the message.
   55.31 -     */
   55.32 -    public String getText(String key, String a1, String a2) {
   55.33 -        return getText(key, a1, a2, null);
   55.34 -    }
   55.35 -
   55.36 -    /**
   55.37 -     * Get and format message string from resource
   55.38 -     *
   55.39 -     * @param key selects message from resource
   55.40 -     * @param a1 first argument to be replaced in the message.
   55.41 -     * @param a2 second argument to be replaced in the message.
   55.42 -     * @param a3 third argument to be replaced in the message.
   55.43 +     * @param args arguments to be replaced in the message.
   55.44       * @throws MissingResourceException when the key does not
   55.45       * exist in the properties file.
   55.46       */
   55.47 -    public String getText(String key, String a1, String a2, String a3) throws MissingResourceException {
   55.48 +    public String getText(String key, Object... args) throws MissingResourceException {
   55.49          if (messageRB == null) {
   55.50              try {
   55.51                  messageRB = ResourceBundle.getBundle(resourcelocation);
   55.52 @@ -130,7 +98,7 @@
   55.53              }
   55.54          }
   55.55          String message = messageRB.getString(key);
   55.56 -        return MessageFormat.format(message, a1, a2, a3);
   55.57 +        return MessageFormat.format(message, args);
   55.58      }
   55.59  
   55.60      /**
   55.61 @@ -195,87 +163,20 @@
   55.62       *
   55.63       * @param pos the position of the source
   55.64       * @param key selects message from resource
   55.65 +     * @param args arguments to be replaced in the message.
   55.66       */
   55.67 -    public void error(SourcePosition pos, String key) {
   55.68 -        printError(pos, getText(key));
   55.69 +    public void error(SourcePosition pos, String key, Object... args) {
   55.70 +        printError(pos, getText(key, args));
   55.71      }
   55.72  
   55.73      /**
   55.74       * Print error message, increment error count.
   55.75       *
   55.76       * @param key selects message from resource
   55.77 +     * @param args arguments to be replaced in the message.
   55.78       */
   55.79 -    public void error(String key) {
   55.80 -        printError(getText(key));
   55.81 -    }
   55.82 -
   55.83 -    /**
   55.84 -     * Print error message, increment error count.
   55.85 -     *
   55.86 -     * @param pos the position of the source
   55.87 -     * @param key selects message from resource
   55.88 -     * @param a1 first argument to be replaced in the message.
   55.89 -     */
   55.90 -    public void error(SourcePosition pos, String key, String a1) {
   55.91 -        printError(pos, getText(key, a1));
   55.92 -    }
   55.93 -
   55.94 -    /**
   55.95 -     * Print error message, increment error count.
   55.96 -     *
   55.97 -     * @param key selects message from resource
   55.98 -     * @param a1 first argument to be replaced in the message.
   55.99 -     */
  55.100 -    public void error(String key, String a1) {
  55.101 -        printError(getText(key, a1));
  55.102 -    }
  55.103 -
  55.104 -    /**
  55.105 -     * Print error message, increment error count.
  55.106 -     *
  55.107 -     * @param pos the position of the source
  55.108 -     * @param key selects message from resource
  55.109 -     * @param a1 first argument to be replaced in the message.
  55.110 -     * @param a2 second argument to be replaced in the message.
  55.111 -     */
  55.112 -    public void error(SourcePosition pos, String key, String a1, String a2) {
  55.113 -        printError(pos, getText(key, a1, a2));
  55.114 -    }
  55.115 -
  55.116 -    /**
  55.117 -     * Print error message, increment error count.
  55.118 -     *
  55.119 -     * @param key selects message from resource
  55.120 -     * @param a1 first argument to be replaced in the message.
  55.121 -     * @param a2 second argument to be replaced in the message.
  55.122 -     */
  55.123 -    public void error(String key, String a1, String a2) {
  55.124 -        printError(getText(key, a1, a2));
  55.125 -    }
  55.126 -
  55.127 -    /**
  55.128 -     * Print error message, increment error count.
  55.129 -     *
  55.130 -     * @param pos the position of the source
  55.131 -     * @param key selects message from resource
  55.132 -     * @param a1 first argument to be replaced in the message.
  55.133 -     * @param a2 second argument to be replaced in the message.
  55.134 -     * @param a3 third argument to be replaced in the message.
  55.135 -     */
  55.136 -    public void error(SourcePosition pos, String key, String a1, String a2, String a3) {
  55.137 -        printError(pos, getText(key, a1, a2, a3));
  55.138 -    }
  55.139 -
  55.140 -    /**
  55.141 -     * Print error message, increment error count.
  55.142 -     *
  55.143 -     * @param key selects message from resource
  55.144 -     * @param a1 first argument to be replaced in the message.
  55.145 -     * @param a2 second argument to be replaced in the message.
  55.146 -     * @param a3 third argument to be replaced in the message.
  55.147 -     */
  55.148 -    public void error(String key, String a1, String a2, String a3) {
  55.149 -        printError(getText(key, a1, a2, a3));
  55.150 +    public void error(String key, Object... args) {
  55.151 +        printError(getText(key, args));
  55.152      }
  55.153  
  55.154      /**
  55.155 @@ -283,87 +184,20 @@
  55.156       *
  55.157       * @param pos the position of the source
  55.158       * @param key selects message from resource
  55.159 +     * @param args arguments to be replaced in the message.
  55.160       */
  55.161 -    public void warning(SourcePosition pos, String key) {
  55.162 -        printWarning(pos, getText(key));
  55.163 +    public void warning(SourcePosition pos, String key, Object... args) {
  55.164 +        printWarning(pos, getText(key, args));
  55.165      }
  55.166  
  55.167      /**
  55.168       * Print warning message, increment warning count.
  55.169       *
  55.170       * @param key selects message from resource
  55.171 +     * @param args arguments to be replaced in the message.
  55.172       */
  55.173 -    public void warning(String key) {
  55.174 -        printWarning(getText(key));
  55.175 -    }
  55.176 -
  55.177 -    /**
  55.178 -     * Print warning message, increment warning count.
  55.179 -     *
  55.180 -     * @param pos the position of the source
  55.181 -     * @param key selects message from resource
  55.182 -     * @param a1 first argument to be replaced in the message.
  55.183 -     */
  55.184 -    public void warning(SourcePosition pos, String key, String a1) {
  55.185 -        printWarning(pos, getText(key, a1));
  55.186 -    }
  55.187 -
  55.188 -    /**
  55.189 -     * Print warning message, increment warning count.
  55.190 -     *
  55.191 -     * @param key selects message from resource
  55.192 -     * @param a1 first argument to be replaced in the message.
  55.193 -     */
  55.194 -    public void warning(String key, String a1) {
  55.195 -        printWarning(getText(key, a1));
  55.196 -    }
  55.197 -
  55.198 -    /**
  55.199 -     * Print warning message, increment warning count.
  55.200 -     *
  55.201 -     * @param pos the position of the source
  55.202 -     * @param key selects message from resource
  55.203 -     * @param a1 first argument to be replaced in the message.
  55.204 -     * @param a2 second argument to be replaced in the message.
  55.205 -     */
  55.206 -    public void warning(SourcePosition pos, String key, String a1, String a2) {
  55.207 -        printWarning(pos, getText(key, a1, a2));
  55.208 -    }
  55.209 -
  55.210 -    /**
  55.211 -     * Print warning message, increment warning count.
  55.212 -     *
  55.213 -     * @param key selects message from resource
  55.214 -     * @param a1 first argument to be replaced in the message.
  55.215 -     * @param a2 second argument to be replaced in the message.
  55.216 -     */
  55.217 -    public void warning(String key, String a1, String a2) {
  55.218 -        printWarning(getText(key, a1, a2));
  55.219 -    }
  55.220 -
  55.221 -    /**
  55.222 -     * Print warning message, increment warning count.
  55.223 -     *
  55.224 -     * @param pos the position of the source
  55.225 -     * @param key selects message from resource
  55.226 -     * @param a1 first argument to be replaced in the message.
  55.227 -     * @param a2 second argument to be replaced in the message.
  55.228 -     * @param a3 third argument to be replaced in the message.
  55.229 -     */
  55.230 -    public void warning(SourcePosition pos, String key, String a1, String a2, String a3) {
  55.231 -        printWarning(pos, getText(key, a1, a2, a3));
  55.232 -    }
  55.233 -
  55.234 -    /**
  55.235 -     * Print warning message, increment warning count.
  55.236 -     *
  55.237 -     * @param key selects message from resource
  55.238 -     * @param a1 first argument to be replaced in the message.
  55.239 -     * @param a2 second argument to be replaced in the message.
  55.240 -     * @param a3 third argument to be replaced in the message.
  55.241 -     */
  55.242 -    public void warning(String key, String a1, String a2, String a3) {
  55.243 -        printWarning(getText(key, a1, a2, a3));
  55.244 +    public void warning(String key, Object... args) {
  55.245 +        printWarning(getText(key, args));
  55.246      }
  55.247  
  55.248      /**
  55.249 @@ -371,85 +205,19 @@
  55.250       *
  55.251       * @param pos the position of the source
  55.252       * @param key selects message from resource
  55.253 +     * @param args arguments to be replaced in the message.
  55.254       */
  55.255 -    public void notice(SourcePosition pos, String key) {
  55.256 -        printNotice(pos, getText(key));
  55.257 +    public void notice(SourcePosition pos, String key, Object... args) {
  55.258 +        printNotice(pos, getText(key, args));
  55.259      }
  55.260  
  55.261      /**
  55.262       * Print a message.
  55.263       *
  55.264       * @param key selects message from resource
  55.265 +     * @param args arguments to be replaced in the message.
  55.266       */
  55.267 -    public void notice(String key) {
  55.268 -        printNotice(getText(key));
  55.269 -    }
  55.270 -
  55.271 -    /**
  55.272 -     * Print a message.
  55.273 -     * @param pos the position of the source
  55.274 -     * @param key selects message from resource
  55.275 -     * @param a1 first argument to be replaced in the message.
  55.276 -     */
  55.277 -    public void notice(SourcePosition pos, String key, String a1) {
  55.278 -        printNotice(pos, getText(key, a1));
  55.279 -    }
  55.280 -
  55.281 -    /**
  55.282 -     * Print a message.
  55.283 -     *
  55.284 -     * @param key selects message from resource
  55.285 -     * @param a1 first argument to be replaced in the message.
  55.286 -     */
  55.287 -    public void notice(String key, String a1) {
  55.288 -        printNotice(getText(key, a1));
  55.289 -    }
  55.290 -
  55.291 -    /**
  55.292 -     * Print a message.
  55.293 -     *
  55.294 -     * @param pos the position of the source
  55.295 -     * @param key selects message from resource
  55.296 -     * @param a1 first argument to be replaced in the message.
  55.297 -     * @param a2 second argument to be replaced in the message.
  55.298 -     */
  55.299 -    public void notice(SourcePosition pos, String key, String a1, String a2) {
  55.300 -        printNotice(pos, getText(key, a1, a2));
  55.301 -    }
  55.302 -
  55.303 -    /**
  55.304 -     * Print a message.
  55.305 -     *
  55.306 -     * @param key selects message from resource
  55.307 -     * @param a1 first argument to be replaced in the message.
  55.308 -     * @param a2 second argument to be replaced in the message.
  55.309 -     */
  55.310 -    public void notice(String key, String a1, String a2) {
  55.311 -        printNotice(getText(key, a1, a2));
  55.312 -    }
  55.313 -
  55.314 -    /**
  55.315 -     * Print a message.
  55.316 -     *
  55.317 -     * @param pos the position of the source
  55.318 -     * @param key selects message from resource
  55.319 -     * @param a1 first argument to be replaced in the message.
  55.320 -     * @param a2 second argument to be replaced in the message.
  55.321 -     * @param a3 third argument to be replaced in the message.
  55.322 -     */
  55.323 -    public void notice(SourcePosition pos, String key, String a1, String a2, String a3) {
  55.324 -        printNotice(pos, getText(key, a1, a2, a3));
  55.325 -    }
  55.326 -
  55.327 -    /**
  55.328 -     * Print a message.
  55.329 -     *
  55.330 -     * @param key selects message from resource
  55.331 -     * @param a1 first argument to be replaced in the message.
  55.332 -     * @param a2 second argument to be replaced in the message.
  55.333 -     * @param a3 third argument to be replaced in the message.
  55.334 -     */
  55.335 -    public void notice(String key, String a1, String a2, String a3) {
  55.336 -        printNotice(getText(key, a1, a2, a3));
  55.337 +    public void notice(String key, Object... args) {
  55.338 +        printNotice(getText(key, args));
  55.339      }
  55.340  }
    56.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/SourceToHTMLConverter.java	Thu Jan 22 14:42:22 2009 -0800
    56.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/SourceToHTMLConverter.java	Sat Jan 24 16:35:52 2009 -0800
    56.3 @@ -25,10 +25,12 @@
    56.4  
    56.5  package com.sun.tools.doclets.internal.toolkit.util;
    56.6  
    56.7 -import com.sun.tools.doclets.internal.toolkit.*;
    56.8 -import com.sun.javadoc.*;
    56.9  import java.io.*;
   56.10  import java.util.*;
   56.11 +import javax.tools.FileObject;
   56.12 +
   56.13 +import com.sun.javadoc.*;
   56.14 +import com.sun.tools.doclets.internal.toolkit.*;
   56.15  
   56.16  /**
   56.17   * Converts Java Source Code to HTML.
   56.18 @@ -123,16 +125,27 @@
   56.19          if (cd == null || outputdir == null) {
   56.20              return;
   56.21          }
   56.22 -        File file;
   56.23 -        SourcePosition sp = cd.position();
   56.24 -        if (sp == null || (file = sp.file()) == null) {
   56.25 -            return;
   56.26 -        }
   56.27          try {
   56.28 +            SourcePosition sp = cd.position();
   56.29 +            if (sp == null)
   56.30 +                return;
   56.31 +            Reader r;
   56.32 +            // temp hack until we can update SourcePosition API.
   56.33 +            if (sp instanceof com.sun.tools.javadoc.SourcePositionImpl) {
   56.34 +                FileObject fo = ((com.sun.tools.javadoc.SourcePositionImpl) sp).fileObject();
   56.35 +                if (fo == null)
   56.36 +                    return;
   56.37 +                r = fo.openReader(true);
   56.38 +            } else {
   56.39 +                File file = sp.file();
   56.40 +                if (file == null)
   56.41 +                    return;
   56.42 +                r = new FileReader(file);
   56.43 +            }
   56.44 +            LineNumberReader reader = new LineNumberReader(r);
   56.45              int lineno = 1;
   56.46              String line;
   56.47              StringBuffer output = new StringBuffer();
   56.48 -            LineNumberReader reader = new LineNumberReader(new FileReader(file));
   56.49              try {
   56.50                  while ((line = reader.readLine()) != null) {
   56.51                      output.append(formatLine(line, configuration.sourcetab, lineno));
   56.52 @@ -142,7 +155,7 @@
   56.53                  reader.close();
   56.54              }
   56.55              output = addLineNumbers(output.toString());
   56.56 -            output.insert(0, getHeader());
   56.57 +            output.insert(0, getHeader(configuration));
   56.58              output.append(getFooter());
   56.59              writeToFile(output.toString(), outputdir, cd.name(), configuration);
   56.60          } catch (Exception e){
   56.61 @@ -192,10 +205,11 @@
   56.62  
   56.63      /**
   56.64       * Get the header.
   56.65 +     * @param configuration the Doclet configuration
   56.66       * @return the header to the output file
   56.67       */
   56.68 -    protected static String getHeader() {
   56.69 -        StringBuffer result = new StringBuffer("<HTML>" + DocletConstants.NL);
   56.70 +    protected static String getHeader(Configuration configuration) {
   56.71 +        StringBuffer result = new StringBuffer("<HTML lang=\"" + configuration.getLocale().getLanguage() + "\">" + DocletConstants.NL);
   56.72          result.append("<BODY BGCOLOR=\""+ BGCOLOR + "\">" + DocletConstants.NL);
   56.73          result.append("<PRE>" + DocletConstants.NL);
   56.74          return result.toString();
    57.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/Util.java	Thu Jan 22 14:42:22 2009 -0800
    57.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/Util.java	Sat Jan 24 16:35:52 2009 -0800
    57.3 @@ -25,10 +25,11 @@
    57.4  
    57.5  package com.sun.tools.doclets.internal.toolkit.util;
    57.6  
    57.7 +import java.io.*;
    57.8 +import java.util.*;
    57.9 +
   57.10  import com.sun.javadoc.*;
   57.11  import com.sun.tools.doclets.internal.toolkit.*;
   57.12 -import java.util.*;
   57.13 -import java.io.*;
   57.14  
   57.15  /**
   57.16   * Utilities Class for Doclets.
   57.17 @@ -579,7 +580,7 @@
   57.18       * @param docencoding Encoding to be used for this file.
   57.19       * @exception IOException Exception raised by the FileWriter is passed on
   57.20       * to next level.
   57.21 -     * @exception UnSupportedEncodingException Exception raised by the
   57.22 +     * @exception UnsupportedEncodingException Exception raised by the
   57.23       * OutputStreamWriter is passed on to next level.
   57.24       * @return Writer Writer for the file getting generated.
   57.25       * @see java.io.FileOutputStream
   57.26 @@ -598,9 +599,7 @@
   57.27              fos = new FileOutputStream(filename);
   57.28          }
   57.29          if (docencoding == null) {
   57.30 -            OutputStreamWriter oswriter = new OutputStreamWriter(fos);
   57.31 -            docencoding = oswriter.getEncoding();
   57.32 -            return oswriter;
   57.33 +            return new OutputStreamWriter(fos);
   57.34          } else {
   57.35              return new OutputStreamWriter(fos, docencoding);
   57.36          }
    58.1 --- a/src/share/classes/com/sun/tools/javac/main/JavaCompiler.java	Thu Jan 22 14:42:22 2009 -0800
    58.2 +++ b/src/share/classes/com/sun/tools/javac/main/JavaCompiler.java	Sat Jan 24 16:35:52 2009 -0800
    58.3 @@ -471,6 +471,7 @@
    58.4          private int value;
    58.5      };
    58.6      protected class CompileStates extends HashMap<Env<AttrContext>,CompileState> {
    58.7 +        private static final long serialVersionUID = 1812267524140424433L;
    58.8          boolean isDone(Env<AttrContext> env, CompileState cs) {
    58.9              CompileState ecs = get(env);
   58.10              return ecs != null && ecs.isDone(cs);
    59.1 --- a/src/share/classes/com/sun/tools/javac/main/Main.java	Thu Jan 22 14:42:22 2009 -0800
    59.2 +++ b/src/share/classes/com/sun/tools/javac/main/Main.java	Sat Jan 24 16:35:52 2009 -0800
    59.3 @@ -338,13 +338,13 @@
    59.4                  return EXIT_CMDERR;
    59.5              }
    59.6  
    59.7 -            List<File> filenames;
    59.8 +            List<File> files;
    59.9              try {
   59.10 -                filenames = processArgs(CommandLine.parse(args));
   59.11 -                if (filenames == null) {
   59.12 +                files = processArgs(CommandLine.parse(args));
   59.13 +                if (files == null) {
   59.14                      // null signals an error in options, abort
   59.15                      return EXIT_CMDERR;
   59.16 -                } else if (filenames.isEmpty() && fileObjects.isEmpty() && classnames.isEmpty()) {
   59.17 +                } else if (files.isEmpty() && fileObjects.isEmpty() && classnames.isEmpty()) {
   59.18                      // it is allowed to compile nothing if just asking for help or version info
   59.19                      if (options.get("-help") != null
   59.20                          || options.get("-X") != null
   59.21 @@ -380,12 +380,14 @@
   59.22              comp = JavaCompiler.instance(context);
   59.23              if (comp == null) return EXIT_SYSERR;
   59.24  
   59.25 -            if (!filenames.isEmpty()) {
   59.26 +            Log log = Log.instance(context);
   59.27 +
   59.28 +            if (!files.isEmpty()) {
   59.29                  // add filenames to fileObjects
   59.30                  comp = JavaCompiler.instance(context);
   59.31                  List<JavaFileObject> otherFiles = List.nil();
   59.32                  JavacFileManager dfm = (JavacFileManager)fileManager;
   59.33 -                for (JavaFileObject fo : dfm.getJavaFileObjectsFromFiles(filenames))
   59.34 +                for (JavaFileObject fo : dfm.getJavaFileObjectsFromFiles(files))
   59.35                      otherFiles = otherFiles.prepend(fo);
   59.36                  for (JavaFileObject fo : otherFiles)
   59.37                      fileObjects = fileObjects.prepend(fo);
   59.38 @@ -394,6 +396,16 @@
   59.39                           classnames.toList(),
   59.40                           processors);
   59.41  
   59.42 +            if (log.expectDiagKeys != null) {
   59.43 +                if (log.expectDiagKeys.size() == 0) {
   59.44 +                    Log.printLines(log.noticeWriter, "all expected diagnostics found");
   59.45 +                    return EXIT_OK;
   59.46 +                } else {
   59.47 +                    Log.printLines(log.noticeWriter, "expected diagnostic keys not found: " + log.expectDiagKeys);
   59.48 +                    return EXIT_ERROR;
   59.49 +                }
   59.50 +            }
   59.51 +
   59.52              if (comp.errorCount() != 0 ||
   59.53                  options.get("-Werror") != null && comp.warningCount() != 0)
   59.54                  return EXIT_ERROR;
    60.1 --- a/src/share/classes/com/sun/tools/javac/parser/JavacParser.java	Thu Jan 22 14:42:22 2009 -0800
    60.2 +++ b/src/share/classes/com/sun/tools/javac/parser/JavacParser.java	Sat Jan 24 16:35:52 2009 -0800
    60.3 @@ -863,13 +863,13 @@
    60.4                          accept(GT);
    60.5                          t = F.at(pos1).TypeApply(t, args.toList());
    60.6                          checkGenerics();
    60.7 -                        t = bracketsOpt(toP(t));
    60.8                          while (S.token() == DOT) {
    60.9                              S.nextToken();
   60.10                              mode = TYPE;
   60.11                              t = toP(F.at(S.pos()).Select(t, ident()));
   60.12                              t = typeArgumentsOpt(t);
   60.13                          }
   60.14 +                        t = bracketsOpt(toP(t));
   60.15                      } else if ((mode & EXPR) != 0) {
   60.16                          mode = EXPR;
   60.17                          t = F.at(pos1).Binary(op, t, term2Rest(t1, TreeInfo.shiftPrec));
    61.1 --- a/src/share/classes/com/sun/tools/javac/util/BasicDiagnosticFormatter.java	Thu Jan 22 14:42:22 2009 -0800
    61.2 +++ b/src/share/classes/com/sun/tools/javac/util/BasicDiagnosticFormatter.java	Sat Jan 24 16:35:52 2009 -0800
    61.3 @@ -61,6 +61,7 @@
    61.4       * @param opts list of command-line options
    61.5       * @param msgs JavacMessages object used for i18n
    61.6       */
    61.7 +    @SuppressWarnings("fallthrough")
    61.8      BasicDiagnosticFormatter(Options opts, JavacMessages msgs) {
    61.9          super(msgs, opts, true);
   61.10          initAvailableFormats();
    62.1 --- a/src/share/classes/com/sun/tools/javac/util/Log.java	Thu Jan 22 14:42:22 2009 -0800
    62.2 +++ b/src/share/classes/com/sun/tools/javac/util/Log.java	Sat Jan 24 16:35:52 2009 -0800
    62.3 @@ -26,6 +26,7 @@
    62.4  package com.sun.tools.javac.util;
    62.5  
    62.6  import java.io.*;
    62.7 +import java.util.Arrays;
    62.8  import java.util.HashSet;
    62.9  import java.util.Map;
   62.10  import java.util.Set;
   62.11 @@ -97,6 +98,11 @@
   62.12      private DiagnosticFormatter<JCDiagnostic> diagFormatter;
   62.13  
   62.14      /**
   62.15 +     * Keys for expected diagnostics
   62.16 +     */
   62.17 +    public Set<String> expectDiagKeys;
   62.18 +
   62.19 +    /**
   62.20       * JavacMessages object used for localization
   62.21       */
   62.22      private JavacMessages messages;
   62.23 @@ -123,9 +129,13 @@
   62.24          this.diagFormatter = rawDiagnostics ? new RawDiagnosticFormatter(options) :
   62.25                                                new BasicDiagnosticFormatter(options, messages);
   62.26          @SuppressWarnings("unchecked") // FIXME
   62.27 -        DiagnosticListener<? super JavaFileObject> diagListener =
   62.28 +        DiagnosticListener<? super JavaFileObject> dl =
   62.29              context.get(DiagnosticListener.class);
   62.30 -        this.diagListener = diagListener;
   62.31 +        this.diagListener = dl;
   62.32 +
   62.33 +        String ek = options.get("expectKeys");
   62.34 +        if (ek != null)
   62.35 +            expectDiagKeys = new HashSet<String>(Arrays.asList(ek.split(", *")));
   62.36      }
   62.37      // where
   62.38          private int getIntOption(Options options, String optionName, int defaultValue) {
   62.39 @@ -291,6 +301,9 @@
   62.40       * reported so far, the diagnostic may be handed off to writeDiagnostic.
   62.41       */
   62.42      public void report(JCDiagnostic diagnostic) {
   62.43 +        if (expectDiagKeys != null)
   62.44 +            expectDiagKeys.remove(diagnostic.getCode());
   62.45 +
   62.46          switch (diagnostic.getType()) {
   62.47          case FRAGMENT:
   62.48              throw new IllegalArgumentException();
    63.1 --- a/src/share/classes/com/sun/tools/javadoc/ClassDocImpl.java	Thu Jan 22 14:42:22 2009 -0800
    63.2 +++ b/src/share/classes/com/sun/tools/javadoc/ClassDocImpl.java	Sat Jan 24 16:35:52 2009 -0800
    63.3 @@ -25,42 +25,48 @@
    63.4  
    63.5  package com.sun.tools.javadoc;
    63.6  
    63.7 +import java.io.File;
    63.8 +import java.io.IOException;
    63.9 +import java.lang.reflect.Modifier;
   63.10 +import java.net.URI;
   63.11 +import java.util.HashSet;
   63.12 +import java.util.Set;
   63.13 +import javax.tools.FileObject;
   63.14 +import javax.tools.JavaFileManager.Location;
   63.15 +import javax.tools.StandardJavaFileManager;
   63.16 +import javax.tools.StandardLocation;
   63.17 +
   63.18  import com.sun.javadoc.*;
   63.19  
   63.20  import static com.sun.javadoc.LanguageVersion.*;
   63.21  
   63.22 -import com.sun.tools.javac.util.List;
   63.23 -import com.sun.tools.javac.util.ListBuffer;
   63.24 -import com.sun.tools.javac.util.Name;
   63.25 -import com.sun.tools.javac.util.Position;
   63.26 -
   63.27  import com.sun.tools.javac.code.Flags;
   63.28  import com.sun.tools.javac.code.Kinds;
   63.29 -import com.sun.tools.javac.code.TypeTags;
   63.30 -import com.sun.tools.javac.code.Type;
   63.31 -import com.sun.tools.javac.code.Type.ClassType;
   63.32  import com.sun.tools.javac.code.Scope;
   63.33  import com.sun.tools.javac.code.Symbol;
   63.34  import com.sun.tools.javac.code.Symbol.*;
   63.35 +import com.sun.tools.javac.code.Type;
   63.36 +import com.sun.tools.javac.code.Type.ClassType;
   63.37 +import com.sun.tools.javac.code.TypeTags;
   63.38  
   63.39  import com.sun.tools.javac.comp.AttrContext;
   63.40  import com.sun.tools.javac.comp.Env;
   63.41  
   63.42  import com.sun.tools.javac.tree.JCTree;
   63.43 +import com.sun.tools.javac.tree.JCTree.JCClassDecl;
   63.44  import com.sun.tools.javac.tree.JCTree.JCFieldAccess;
   63.45  import com.sun.tools.javac.tree.JCTree.JCImport;
   63.46 -import com.sun.tools.javac.tree.JCTree.JCClassDecl;
   63.47  import com.sun.tools.javac.tree.TreeInfo;
   63.48  
   63.49 +import com.sun.tools.javac.util.List;
   63.50 +import com.sun.tools.javac.util.ListBuffer;
   63.51 +import com.sun.tools.javac.util.Name;
   63.52  import com.sun.tools.javac.util.Names;
   63.53 +import com.sun.tools.javac.util.Position;
   63.54 +
   63.55  import static com.sun.tools.javac.code.Flags.*;
   63.56  import static com.sun.tools.javac.code.Kinds.*;
   63.57  
   63.58 -import java.io.File;
   63.59 -import java.util.Set;
   63.60 -import java.util.HashSet;
   63.61 -import java.lang.reflect.Modifier;
   63.62 -
   63.63  /**
   63.64   * Represents a java class and provides access to information
   63.65   * about the class, the class' comment and tags, and the
   63.66 @@ -271,16 +277,41 @@
   63.67       */
   63.68      public PackageDoc containingPackage() {
   63.69          PackageDocImpl p = env.getPackageDoc(tsym.packge());
   63.70 -        SourcePosition po = position();
   63.71 -        if (po != null && p.setDocPath == false && p.zipDocPath == null) {
   63.72 -            //Set the package path if possible
   63.73 -            File packageDir = po.file().getParentFile();
   63.74 -            if (packageDir != null
   63.75 -                && (new File(packageDir, "package.html")).exists()) {
   63.76 -                p.setDocPath(packageDir.getPath());
   63.77 -            } else {
   63.78 -                p.setDocPath(null);
   63.79 +        if (p.setDocPath == false) {
   63.80 +            FileObject docPath;
   63.81 +            try {
   63.82 +                Location location = env.fileManager.hasLocation(StandardLocation.SOURCE_PATH)
   63.83 +                    ? StandardLocation.SOURCE_PATH : StandardLocation.CLASS_PATH;
   63.84 +
   63.85 +                docPath = env.fileManager.getFileForInput(
   63.86 +                        location, p.qualifiedName(), "package.html");
   63.87 +            } catch (IOException e) {
   63.88 +                docPath = null;
   63.89              }
   63.90 +
   63.91 +            if (docPath == null) {
   63.92 +                // fall back on older semantics of looking in same directory as
   63.93 +                // source file for this class
   63.94 +                SourcePosition po = position();
   63.95 +                if (env.fileManager instanceof StandardJavaFileManager &&
   63.96 +                        po instanceof SourcePositionImpl) {
   63.97 +                    URI uri = ((SourcePositionImpl) po).filename.toUri();
   63.98 +                    if ("file".equals(uri.getScheme())) {
   63.99 +                        File f = new File(uri.getPath());
  63.100 +                        File dir = f.getParentFile();
  63.101 +                        if (dir != null) {
  63.102 +                            File pf = new File(dir, "package.html");
  63.103 +                            if (pf.exists()) {
  63.104 +                                StandardJavaFileManager sfm = (StandardJavaFileManager) env.fileManager;
  63.105 +                                docPath = sfm.getJavaFileObjects(pf).iterator().next();
  63.106 +                            }
  63.107 +                        }
  63.108 +
  63.109 +                    }
  63.110 +                }
  63.111 +            }
  63.112 +
  63.113 +            p.setDocPath(docPath);
  63.114          }
  63.115          return p;
  63.116      }
  63.117 @@ -1251,7 +1282,7 @@
  63.118       */
  63.119      public SourcePosition position() {
  63.120          if (tsym.sourcefile == null) return null;
  63.121 -        return SourcePositionImpl.make(tsym.sourcefile.toString(),
  63.122 +        return SourcePositionImpl.make(tsym.sourcefile,
  63.123                                         (tree==null) ? Position.NOPOS : tree.pos,
  63.124                                         lineMap);
  63.125      }
    64.1 --- a/src/share/classes/com/sun/tools/javadoc/Comment.java	Thu Jan 22 14:42:22 2009 -0800
    64.2 +++ b/src/share/classes/com/sun/tools/javadoc/Comment.java	Sat Jan 24 16:35:52 2009 -0800
    64.3 @@ -74,6 +74,7 @@
    64.4           * the tag text.
    64.5           * </pre>
    64.6           */
    64.7 +        @SuppressWarnings("fallthrough")
    64.8          class CommentStringParser {
    64.9              /**
   64.10               * The entry point to the comment string parser
    65.1 --- a/src/share/classes/com/sun/tools/javadoc/DocEnv.java	Thu Jan 22 14:42:22 2009 -0800
    65.2 +++ b/src/share/classes/com/sun/tools/javadoc/DocEnv.java	Sat Jan 24 16:35:52 2009 -0800
    65.3 @@ -25,8 +25,9 @@
    65.4  
    65.5  package com.sun.tools.javadoc;
    65.6  
    65.7 +import java.lang.reflect.Modifier;
    65.8  import java.util.*;
    65.9 -import java.lang.reflect.Modifier;
   65.10 +import javax.tools.JavaFileManager;
   65.11  
   65.12  import com.sun.javadoc.*;
   65.13  
   65.14 @@ -40,7 +41,6 @@
   65.15  import com.sun.tools.javac.util.Names;
   65.16  import com.sun.tools.javac.util.Position;
   65.17  
   65.18 -
   65.19  /**
   65.20   * Holds the environment for a run of javadoc.
   65.21   * Holds only the information needed throughout the
   65.22 @@ -103,6 +103,7 @@
   65.23  
   65.24      Check chk;
   65.25      Types types;
   65.26 +    JavaFileManager fileManager;
   65.27  
   65.28      /** Allow documenting from class files? */
   65.29      boolean docClasses = false;
   65.30 @@ -133,6 +134,7 @@
   65.31          externalizableSym = reader.enterClass(names.fromString("java.io.Externalizable"));
   65.32          chk = Check.instance(context);
   65.33          types = Types.instance(context);
   65.34 +        fileManager = context.get(JavaFileManager.class);
   65.35  
   65.36          // Default.  Should normally be reset with setLocale.
   65.37          this.doclocale = new DocLocale(this, "", breakiterator);
    66.1 --- a/src/share/classes/com/sun/tools/javadoc/DocImpl.java	Thu Jan 22 14:42:22 2009 -0800
    66.2 +++ b/src/share/classes/com/sun/tools/javadoc/DocImpl.java	Sat Jan 24 16:35:52 2009 -0800
    66.3 @@ -25,11 +25,13 @@
    66.4  
    66.5  package com.sun.tools.javadoc;
    66.6  
    66.7 -import com.sun.javadoc.*;
    66.8 -
    66.9  import java.io.InputStream;
   66.10  import java.io.IOException;
   66.11  import java.text.CollationKey;
   66.12 +import javax.tools.FileObject;
   66.13 +
   66.14 +import com.sun.javadoc.*;
   66.15 +
   66.16  import com.sun.tools.javac.util.Position;
   66.17  
   66.18  /**
   66.19 @@ -43,7 +45,7 @@
   66.20   * @author Atul M Dambalkar
   66.21   * @author Neal Gafter (rewrite)
   66.22   */
   66.23 -abstract class DocImpl implements Doc, Comparable<Object> {
   66.24 +public abstract class DocImpl implements Doc, Comparable<Object> {
   66.25  
   66.26      /**
   66.27       * Doc environment
   66.28 @@ -163,7 +165,7 @@
   66.29      /**
   66.30       * Utility for subclasses which read HTML documentation files.
   66.31       */
   66.32 -    String readHTMLDocumentation(InputStream input, String filename) throws IOException {
   66.33 +    String readHTMLDocumentation(InputStream input, FileObject filename) throws IOException {
   66.34          int filesize = input.available();
   66.35          byte[] filecontents = new byte[filesize];
   66.36          input.read(filecontents, 0, filesize);
    67.1 --- a/src/share/classes/com/sun/tools/javadoc/ExecutableMemberDocImpl.java	Thu Jan 22 14:42:22 2009 -0800
    67.2 +++ b/src/share/classes/com/sun/tools/javadoc/ExecutableMemberDocImpl.java	Sat Jan 24 16:35:52 2009 -0800
    67.3 @@ -25,20 +25,18 @@
    67.4  
    67.5  package com.sun.tools.javadoc;
    67.6  
    67.7 +import java.lang.reflect.Modifier;
    67.8 +import java.text.CollationKey;
    67.9 +
   67.10  import com.sun.javadoc.*;
   67.11  
   67.12 +import com.sun.tools.javac.code.Flags;
   67.13 +import com.sun.tools.javac.code.Symbol.*;
   67.14 +import com.sun.tools.javac.code.Type;
   67.15 +import com.sun.tools.javac.tree.JCTree.JCMethodDecl;
   67.16  import com.sun.tools.javac.util.List;
   67.17  import com.sun.tools.javac.util.ListBuffer;
   67.18  import com.sun.tools.javac.util.Position;
   67.19 -import com.sun.tools.javac.code.Flags;
   67.20 -import com.sun.tools.javac.code.Type;
   67.21 -import com.sun.tools.javac.code.Symbol;
   67.22 -import com.sun.tools.javac.code.Symbol.*;
   67.23 -import com.sun.tools.javac.tree.JCTree.JCMethodDecl;
   67.24 -
   67.25 -import java.text.CollationKey;
   67.26 -
   67.27 -import java.lang.reflect.Modifier;
   67.28  
   67.29  /**
   67.30   * Represents a method or constructor of a java class.
   67.31 @@ -267,7 +265,7 @@
   67.32       */
   67.33      public SourcePosition position() {
   67.34          if (sym.enclClass().sourcefile == null) return null;
   67.35 -        return SourcePositionImpl.make(sym.enclClass().sourcefile.toString(),
   67.36 +        return SourcePositionImpl.make(sym.enclClass().sourcefile,
   67.37                                         (tree==null) ? 0 : tree.pos,
   67.38                                         lineMap);
   67.39      }
    68.1 --- a/src/share/classes/com/sun/tools/javadoc/FieldDocImpl.java	Thu Jan 22 14:42:22 2009 -0800
    68.2 +++ b/src/share/classes/com/sun/tools/javadoc/FieldDocImpl.java	Sat Jan 24 16:35:52 2009 -0800
    68.3 @@ -25,6 +25,8 @@
    68.4  
    68.5  package com.sun.tools.javadoc;
    68.6  
    68.7 +import java.lang.reflect.Modifier;
    68.8 +
    68.9  import com.sun.javadoc.*;
   68.10  
   68.11  import static com.sun.javadoc.LanguageVersion.*;
   68.12 @@ -38,9 +40,6 @@
   68.13  
   68.14  import com.sun.tools.javac.util.Position;
   68.15  
   68.16 -import java.lang.reflect.Modifier;
   68.17 -
   68.18 -
   68.19  /**
   68.20   * Represents a field in a java class.
   68.21   *
   68.22 @@ -260,7 +259,7 @@
   68.23       */
   68.24      public SourcePosition position() {
   68.25          if (sym.enclClass().sourcefile == null) return null;
   68.26 -        return SourcePositionImpl.make(sym.enclClass().sourcefile.toString(),
   68.27 +        return SourcePositionImpl.make(sym.enclClass().sourcefile,
   68.28                                         (tree==null) ? 0 : tree.pos,
   68.29                                         lineMap);
   68.30      }
    69.1 --- a/src/share/classes/com/sun/tools/javadoc/JavadocClassReader.java	Thu Jan 22 14:42:22 2009 -0800
    69.2 +++ b/src/share/classes/com/sun/tools/javadoc/JavadocClassReader.java	Sat Jan 24 16:35:52 2009 -0800
    69.3 @@ -25,18 +25,13 @@
    69.4  
    69.5  package com.sun.tools.javadoc;
    69.6  
    69.7 +import java.util.EnumSet;
    69.8 +import javax.tools.JavaFileObject;
    69.9 +
   69.10  import com.sun.tools.javac.code.Symbol.PackageSymbol;
   69.11 -import com.sun.tools.javac.file.JavacFileManager;
   69.12 -import com.sun.tools.javac.file.ZipArchive.ZipFileObject;
   69.13 -import com.sun.tools.javac.file.Old199;
   69.14 -import com.sun.tools.javac.file.ZipFileIndexArchive;
   69.15  import com.sun.tools.javac.jvm.ClassReader;
   69.16  import com.sun.tools.javac.util.Context;
   69.17  
   69.18 -import java.io.File;
   69.19 -import java.util.EnumSet;
   69.20 -import javax.tools.JavaFileObject;
   69.21 -
   69.22  /** Javadoc uses an extended class reader that records package.html entries
   69.23   *  @author Neal Gafter
   69.24   */
   69.25 @@ -82,32 +77,7 @@
   69.26       */
   69.27      @Override
   69.28      protected void extraFileActions(PackageSymbol pack, JavaFileObject fo) {
   69.29 -        CharSequence fileName = Old199.getName(fo);
   69.30 -        if (docenv != null && fileName.equals("package.html")) {
   69.31 -            if (fo instanceof ZipFileObject) {
   69.32 -                ZipFileObject zfo = (ZipFileObject) fo;
   69.33 -                String zipName = zfo.getZipName();
   69.34 -                String entryName = zfo.getZipEntryName();
   69.35 -                int lastSep = entryName.lastIndexOf("/");
   69.36 -                String classPathName = entryName.substring(0, lastSep + 1);
   69.37 -                docenv.getPackageDoc(pack).setDocPath(zipName, classPathName);
   69.38 -            }
   69.39 -            else if (fo instanceof ZipFileIndexArchive.ZipFileIndexFileObject) {
   69.40 -                ZipFileIndexArchive.ZipFileIndexFileObject zfo = (ZipFileIndexArchive.ZipFileIndexFileObject) fo;
   69.41 -                String zipName = zfo.getZipName();
   69.42 -                String entryName = zfo.getZipEntryName();
   69.43 -                if (File.separatorChar != '/') {
   69.44 -                    entryName = entryName.replace(File.separatorChar, '/');
   69.45 -                }
   69.46 -
   69.47 -                int lastSep = entryName.lastIndexOf("/");
   69.48 -                String classPathName = entryName.substring(0, lastSep + 1);
   69.49 -                docenv.getPackageDoc(pack).setDocPath(zipName, classPathName);
   69.50 -            }
   69.51 -            else {
   69.52 -                File fileDir = new File(Old199.getPath(fo)).getParentFile();
   69.53 -                docenv.getPackageDoc(pack).setDocPath(fileDir.getAbsolutePath());
   69.54 -            }
   69.55 -        }
   69.56 +        if (fo.isNameCompatible("package", JavaFileObject.Kind.HTML))
   69.57 +            docenv.getPackageDoc(pack).setDocPath(fo);
   69.58      }
   69.59  }
    70.1 --- a/src/share/classes/com/sun/tools/javadoc/JavadocTool.java	Thu Jan 22 14:42:22 2009 -0800
    70.2 +++ b/src/share/classes/com/sun/tools/javadoc/JavadocTool.java	Sat Jan 24 16:35:52 2009 -0800
    70.3 @@ -25,17 +25,29 @@
    70.4  
    70.5  package com.sun.tools.javadoc;
    70.6  
    70.7 -import java.io.*;
    70.8 +import java.io.File;
    70.9 +import java.io.IOException;
   70.10 +import java.util.Collection;
   70.11 +import java.util.EnumSet;
   70.12 +import java.util.HashMap;
   70.13 +import java.util.Map;
   70.14 +import java.util.Set;
   70.15 +import javax.tools.JavaFileManager.Location;
   70.16 +import javax.tools.JavaFileObject;
   70.17 +import javax.tools.StandardJavaFileManager;
   70.18 +import javax.tools.StandardLocation;
   70.19  
   70.20 -import java.util.Collection;
   70.21 -
   70.22 -import com.sun.tools.javac.code.Symbol.*;
   70.23 -import com.sun.tools.javac.comp.*;
   70.24 -import com.sun.tools.javac.file.Paths;
   70.25 +import com.sun.tools.javac.code.Symbol.CompletionFailure;
   70.26 +import com.sun.tools.javac.comp.Annotate;
   70.27  import com.sun.tools.javac.parser.DocCommentScanner;
   70.28 -import com.sun.tools.javac.tree.*;
   70.29 -import com.sun.tools.javac.tree.JCTree.*;
   70.30 -import com.sun.tools.javac.util.*;
   70.31 +import com.sun.tools.javac.tree.JCTree;
   70.32 +import com.sun.tools.javac.tree.JCTree.JCClassDecl;
   70.33 +import com.sun.tools.javac.tree.JCTree.JCCompilationUnit;
   70.34 +import com.sun.tools.javac.util.Abort;
   70.35 +import com.sun.tools.javac.util.Context;
   70.36 +import com.sun.tools.javac.util.List;
   70.37 +import com.sun.tools.javac.util.ListBuffer;
   70.38 +import com.sun.tools.javac.util.Position;
   70.39  
   70.40  
   70.41  /**
   70.42 @@ -53,7 +65,6 @@
   70.43      final JavadocClassReader reader;
   70.44      final JavadocEnter enter;
   70.45      final Annotate annotate;
   70.46 -    private final Paths paths;
   70.47  
   70.48      /**
   70.49       * Construct a new JavaCompiler processor, using appropriately
   70.50 @@ -66,7 +77,6 @@
   70.51          reader = JavadocClassReader.instance0(context);
   70.52          enter = JavadocEnter.instance0(context);
   70.53          annotate = Annotate.instance(context);
   70.54 -        paths = Paths.instance(context);
   70.55      }
   70.56  
   70.57      /**
   70.58 @@ -120,7 +130,7 @@
   70.59                        boolean quiet) throws IOException {
   70.60          docenv = DocEnv.instance(context);
   70.61          docenv.showAccess = filter;
   70.62 -    docenv.quiet = quiet;
   70.63 +        docenv.quiet = quiet;
   70.64          docenv.breakiterator = breakiterator;
   70.65          docenv.setLocale(doclocale);
   70.66          docenv.setEncoding(encoding);
   70.67 @@ -133,12 +143,14 @@
   70.68          ListBuffer<JCCompilationUnit> packTrees = new ListBuffer<JCCompilationUnit>();
   70.69  
   70.70          try {
   70.71 +            StandardJavaFileManager fm = (StandardJavaFileManager) docenv.fileManager;
   70.72              for (List<String> it = javaNames; it.nonEmpty(); it = it.tail) {
   70.73                  String name = it.head;
   70.74                  if (!docClasses && name.endsWith(".java") && new File(name).exists()) {
   70.75 +                    JavaFileObject fo = fm.getJavaFileObjects(name).iterator().next();
   70.76                      docenv.notice("main.Loading_source_file", name);
   70.77 -                        JCCompilationUnit tree = parse(name);
   70.78 -                        classTrees.append(tree);
   70.79 +                    JCCompilationUnit tree = parse(fo);
   70.80 +                    classTrees.append(tree);
   70.81                  } else if (isValidPackageName(name)) {
   70.82                      names = names.append(name);
   70.83                  } else if (name.endsWith(".java")) {
   70.84 @@ -151,12 +163,14 @@
   70.85              if (!docClasses) {
   70.86                  // Recursively search given subpackages.  If any packages
   70.87                  //are found, add them to the list.
   70.88 -                searchSubPackages(subPackages, names, excludedPackages);
   70.89 +                Map<String,List<JavaFileObject>> packageFiles =
   70.90 +                        searchSubPackages(subPackages, names, excludedPackages);
   70.91  
   70.92                  // Parse the packages
   70.93                  for (List<String> packs = names.toList(); packs.nonEmpty(); packs = packs.tail) {
   70.94                      // Parse sources ostensibly belonging to package.
   70.95 -                    parsePackageClasses(packs.head, packTrees, excludedPackages);
   70.96 +                    String packageName = packs.head;
   70.97 +                    parsePackageClasses(packageName, packageFiles.get(packageName), packTrees, excludedPackages);
   70.98                  }
   70.99  
  70.100                  if (messager.nerrors() != 0) return null;
  70.101 @@ -167,7 +181,8 @@
  70.102              }
  70.103          } catch (Abort ex) {}
  70.104  
  70.105 -        if (messager.nerrors() != 0) return null;
  70.106 +        if (messager.nerrors() != 0)
  70.107 +            return null;
  70.108  
  70.109          if (docClasses)
  70.110              return new RootDocImpl(docenv, javaNames, options);
  70.111 @@ -185,66 +200,129 @@
  70.112          return isValidClassName(s);
  70.113      }
  70.114  
  70.115 -
  70.116 -    private final static char pathSep = File.pathSeparatorChar;
  70.117 -
  70.118      /**
  70.119       * search all directories in path for subdirectory name. Add all
  70.120       * .java files found in such a directory to args.
  70.121       */
  70.122      private void parsePackageClasses(String name,
  70.123 -                                     ListBuffer<JCCompilationUnit> trees,
  70.124 -                                     List<String> excludedPackages)
  70.125 -        throws IOException {
  70.126 +            Iterable<JavaFileObject> files,
  70.127 +            ListBuffer<JCCompilationUnit> trees,
  70.128 +            List<String> excludedPackages)
  70.129 +            throws IOException {
  70.130          if (excludedPackages.contains(name)) {
  70.131              return;
  70.132          }
  70.133 +
  70.134          boolean hasFiles = false;
  70.135          docenv.notice("main.Loading_source_files_for_package", name);
  70.136 -        name = name.replace('.', File.separatorChar);
  70.137 -        for (File pathname : paths.sourceSearchPath()) {
  70.138 -            File f = new File(pathname, name);
  70.139 -            String names[] = f.list();
  70.140 -            // if names not null, then found directory with source files
  70.141 -            if (names != null) {
  70.142 -                String dir = f.getAbsolutePath();
  70.143 -                if (!dir.endsWith(File.separator))
  70.144 -                    dir = dir + File.separator;
  70.145 -                for (int j = 0; j < names.length; j++) {
  70.146 -                    if (isValidJavaSourceFile(names[j])) {
  70.147 -                        String fn = dir + names[j];
  70.148 -                        // messager.notice("main.Loading_source_file", fn);
  70.149 -                            trees.append(parse(fn));
  70.150 -                        hasFiles = true;
  70.151 -                    }
  70.152 +
  70.153 +        if (files == null) {
  70.154 +            Location location = docenv.fileManager.hasLocation(StandardLocation.SOURCE_PATH)
  70.155 +                    ? StandardLocation.SOURCE_PATH : StandardLocation.CLASS_PATH;
  70.156 +            ListBuffer<JavaFileObject> lb = new ListBuffer<JavaFileObject>();
  70.157 +            for (JavaFileObject fo: docenv.fileManager.list(
  70.158 +                    location, name, EnumSet.of(JavaFileObject.Kind.SOURCE), false)) {
  70.159 +                String binaryName = docenv.fileManager.inferBinaryName(location, fo);
  70.160 +                String simpleName = getSimpleName(binaryName);
  70.161 +                if (isValidClassName(simpleName)) {
  70.162 +                    lb.append(fo);
  70.163                  }
  70.164              }
  70.165 +            files = lb.toList();
  70.166          }
  70.167 -        if (!hasFiles)
  70.168 +
  70.169 +        for (JavaFileObject fo : files) {
  70.170 +            // messager.notice("main.Loading_source_file", fn);
  70.171 +            trees.append(parse(fo));
  70.172 +            hasFiles = true;
  70.173 +        }
  70.174 +
  70.175 +        if (!hasFiles) {
  70.176              messager.warning(null, "main.no_source_files_for_package",
  70.177 -                             name.replace(File.separatorChar, '.'));
  70.178 +                    name.replace(File.separatorChar, '.'));
  70.179 +        }
  70.180      }
  70.181  
  70.182      /**
  70.183       * Recursively search all directories in path for subdirectory name.
  70.184       * Add all packages found in such a directory to packages list.
  70.185       */
  70.186 +    private Map<String,List<JavaFileObject>> searchSubPackages(
  70.187 +            List<String> subPackages,
  70.188 +            ListBuffer<String> packages,
  70.189 +            List<String> excludedPackages)
  70.190 +            throws IOException {
  70.191 +        Map<String,List<JavaFileObject>> packageFiles =
  70.192 +                new HashMap<String,List<JavaFileObject>>();
  70.193 +
  70.194 +        Map<String,Boolean> includedPackages = new HashMap<String,Boolean>();
  70.195 +        includedPackages.put("", true);
  70.196 +        for (String p: excludedPackages)
  70.197 +            includedPackages.put(p, false);
  70.198 +
  70.199 +        if (docenv.fileManager.hasLocation(StandardLocation.SOURCE_PATH)) {
  70.200 +            searchSubPackages(subPackages,
  70.201 +                    includedPackages,
  70.202 +                    packages, packageFiles,
  70.203 +                    StandardLocation.SOURCE_PATH,
  70.204 +                    EnumSet.of(JavaFileObject.Kind.SOURCE));
  70.205 +            searchSubPackages(subPackages,
  70.206 +                    includedPackages,
  70.207 +                    packages, packageFiles,
  70.208 +                    StandardLocation.CLASS_PATH,
  70.209 +                    EnumSet.of(JavaFileObject.Kind.CLASS));
  70.210 +        } else {
  70.211 +            searchSubPackages(subPackages,
  70.212 +                    includedPackages,
  70.213 +                    packages, packageFiles,
  70.214 +                    StandardLocation.CLASS_PATH,
  70.215 +                    EnumSet.of(JavaFileObject.Kind.SOURCE, JavaFileObject.Kind.CLASS));
  70.216 +        }
  70.217 +        return packageFiles;
  70.218 +    }
  70.219 +
  70.220      private void searchSubPackages(List<String> subPackages,
  70.221 -                                   ListBuffer<String> packages,
  70.222 -                                   List<String> excludedPackages) {
  70.223 -        // FIXME: This search path is bogus.
  70.224 -        // Only the effective source path should be searched for sources.
  70.225 -        // Only the effective class path should be searched for classes.
  70.226 -        // Should the bootclasspath/extdirs also be searched for classes?
  70.227 -        java.util.List<File> pathnames = new java.util.ArrayList<File>();
  70.228 -        if (paths.sourcePath() != null)
  70.229 -            for (File elt : paths.sourcePath())
  70.230 -                pathnames.add(elt);
  70.231 -        for (File elt : paths.userClassPath())
  70.232 -            pathnames.add(elt);
  70.233 +            Map<String,Boolean> includedPackages,
  70.234 +            ListBuffer<String> packages,
  70.235 +            Map<String, List<JavaFileObject>> packageFiles,
  70.236 +            StandardLocation location, Set<JavaFileObject.Kind> kinds)
  70.237 +            throws IOException {
  70.238 +        for (String subPackage: subPackages) {
  70.239 +            if (!isIncluded(subPackage, includedPackages))
  70.240 +                continue;
  70.241  
  70.242 -        for (String subPackage : subPackages)
  70.243 -            searchSubPackage(subPackage, packages, excludedPackages, pathnames);
  70.244 +            for (JavaFileObject fo: docenv.fileManager.list(location, subPackage, kinds, true)) {
  70.245 +                String binaryName = docenv.fileManager.inferBinaryName(location, fo);
  70.246 +                String packageName = getPackageName(binaryName);
  70.247 +                String simpleName = getSimpleName(binaryName);
  70.248 +                if (isIncluded(packageName, includedPackages) && isValidClassName(simpleName)) {
  70.249 +                    List<JavaFileObject> list = packageFiles.get(packageName);
  70.250 +                    list = (list == null ? List.of(fo) : list.prepend(fo));
  70.251 +                    packageFiles.put(packageName, list);
  70.252 +                    if (!packages.contains(packageName))
  70.253 +                        packages.add(packageName);
  70.254 +                }
  70.255 +            }
  70.256 +        }
  70.257 +    }
  70.258 +
  70.259 +    private String getPackageName(String name) {
  70.260 +        int lastDot = name.lastIndexOf(".");
  70.261 +        return (lastDot == -1 ? "" : name.substring(0, lastDot));
  70.262 +    }
  70.263 +
  70.264 +    private String getSimpleName(String name) {
  70.265 +        int lastDot = name.lastIndexOf(".");
  70.266 +        return (lastDot == -1 ? name : name.substring(lastDot + 1));
  70.267 +    }
  70.268 +
  70.269 +    private boolean isIncluded(String packageName, Map<String,Boolean> includedPackages) {
  70.270 +        Boolean b = includedPackages.get(packageName);
  70.271 +        if (b == null) {
  70.272 +            b = isIncluded(getPackageName(packageName), includedPackages);
  70.273 +            includedPackages.put(packageName, b);
  70.274 +        }
  70.275 +        return b;
  70.276      }
  70.277  
  70.278      /**
    71.1 --- a/src/share/classes/com/sun/tools/javadoc/Messager.java	Thu Jan 22 14:42:22 2009 -0800
    71.2 +++ b/src/share/classes/com/sun/tools/javadoc/Messager.java	Sat Jan 24 16:35:52 2009 -0800
    71.3 @@ -111,6 +111,7 @@
    71.4       * @param warnWriter   Stream for warnings
    71.5       * @param noticeWriter Stream for other messages
    71.6       */
    71.7 +    @SuppressWarnings("deprecation")
    71.8      protected Messager(Context context,
    71.9                         String programName,
   71.10                         PrintWriter errWriter,
    72.1 --- a/src/share/classes/com/sun/tools/javadoc/PackageDocImpl.java	Thu Jan 22 14:42:22 2009 -0800
    72.2 +++ b/src/share/classes/com/sun/tools/javadoc/PackageDocImpl.java	Sat Jan 24 16:35:52 2009 -0800
    72.3 @@ -25,30 +25,23 @@
    72.4  
    72.5  package com.sun.tools.javadoc;
    72.6  
    72.7 +import java.io.InputStream;
    72.8 +import java.io.IOException;
    72.9 +import javax.tools.FileObject;
   72.10 +
   72.11  import com.sun.javadoc.*;
   72.12  
   72.13 -import java.io.File;
   72.14 -import java.io.InputStream;
   72.15 -import java.io.FileInputStream;
   72.16 -import java.io.IOException;
   72.17 -import java.util.zip.ZipFile;
   72.18 -import java.util.zip.ZipEntry;
   72.19 -
   72.20  import com.sun.tools.javac.code.Attribute;
   72.21  import com.sun.tools.javac.code.Scope;
   72.22  import com.sun.tools.javac.code.Symbol.ClassSymbol;
   72.23  import com.sun.tools.javac.code.Symbol.PackageSymbol;
   72.24 -import com.sun.tools.javac.comp.AttrContext;
   72.25 -import com.sun.tools.javac.comp.Env;
   72.26  import com.sun.tools.javac.tree.JCTree;
   72.27 +import com.sun.tools.javac.tree.JCTree.JCCompilationUnit;
   72.28  import com.sun.tools.javac.util.List;
   72.29  import com.sun.tools.javac.util.ListBuffer;
   72.30  import com.sun.tools.javac.util.Name;
   72.31  import com.sun.tools.javac.util.Position;
   72.32  
   72.33 -import com.sun.tools.javac.tree.JCTree.JCCompilationUnit;
   72.34 -
   72.35 -
   72.36  /**
   72.37   * Represents a java package.  Provides access to information
   72.38   * about the package, the package's comment and tags, and the
   72.39 @@ -63,14 +56,10 @@
   72.40  
   72.41  public class PackageDocImpl extends DocImpl implements PackageDoc {
   72.42  
   72.43 -    private static final String PACKAGE_HTML_FILE_NAME = "package.html";
   72.44 -
   72.45      protected PackageSymbol sym;
   72.46      private JCCompilationUnit tree = null;    // for source position
   72.47  
   72.48 -    public String docPath = null;
   72.49 -    public String zipDocPath = null;
   72.50 -    public String zipDocEntry = null;
   72.51 +    public FileObject docPath = null;
   72.52      private boolean foundDoc;   // found a doc comment in either
   72.53                                  // package.html or package-info.java
   72.54  
   72.55 @@ -108,30 +97,16 @@
   72.56       * Do lazy initialization of "documentation" string.
   72.57       */
   72.58      String documentation() {
   72.59 -        if (documentation != null) return documentation;
   72.60 -        if (zipDocPath != null) {
   72.61 -            try {
   72.62 -                ZipFile f = new ZipFile(zipDocPath);
   72.63 -                ZipEntry entry = f.getEntry(zipDocEntry);
   72.64 -                if (entry != null) {
   72.65 -                    InputStream s = f.getInputStream(entry);
   72.66 -                    return (documentation = readHTMLDocumentation(s,
   72.67 -                        zipDocPath + File.separatorChar + zipDocEntry));
   72.68 -                }
   72.69 -            } catch (IOException exc) {
   72.70 -                documentation = "";
   72.71 -                env.error(null, "javadoc.File_Read_Error",
   72.72 -                          zipDocPath + File.separatorChar + zipDocEntry);
   72.73 -            }
   72.74 -        }
   72.75 +        if (documentation != null)
   72.76 +            return documentation;
   72.77          if (docPath != null) {
   72.78              // read from file
   72.79              try {
   72.80 -                InputStream s = new FileInputStream(docPath);
   72.81 +                InputStream s = docPath.openInputStream();
   72.82                  documentation = readHTMLDocumentation(s, docPath);
   72.83              } catch (IOException exc) {
   72.84                  documentation = "";
   72.85 -                env.error(null, "javadoc.File_Read_Error", docPath);
   72.86 +                env.error(null, "javadoc.File_Read_Error", docPath.getName());
   72.87              }
   72.88          } else {
   72.89              // no doc file to be had
   72.90 @@ -363,24 +338,12 @@
   72.91      /**
   72.92       * set doc path for an unzipped directory
   72.93       */
   72.94 -    public void setDocPath(String path) {
   72.95 +    public void setDocPath(FileObject path) {
   72.96          setDocPath = true;
   72.97          if (path == null)
   72.98              return;
   72.99 -        String newDocPath = path + File.separatorChar + PACKAGE_HTML_FILE_NAME;
  72.100 -        if (!newDocPath.equals(docPath)) {
  72.101 -            docPath = newDocPath;
  72.102 -            checkDoc();
  72.103 -        }
  72.104 -    }
  72.105 -
  72.106 -    /**
  72.107 -     * set the doc path for zipped directory
  72.108 -     */
  72.109 -    public void setDocPath(String path, String entry) {
  72.110 -        if (!path.equals(zipDocPath)) {
  72.111 -            zipDocPath = path;
  72.112 -            zipDocEntry = entry + PACKAGE_HTML_FILE_NAME;
  72.113 +        if (!path.equals(docPath)) {
  72.114 +            docPath = path;
  72.115              checkDoc();
  72.116          }
  72.117      }
  72.118 @@ -409,7 +372,7 @@
  72.119       */
  72.120      public SourcePosition position() {
  72.121          return (tree != null)
  72.122 -                ? SourcePositionImpl.make(tree.sourcefile + "", tree.pos, tree.lineMap)
  72.123 +                ? SourcePositionImpl.make(tree.sourcefile, tree.pos, tree.lineMap)
  72.124                  : SourcePositionImpl.make(docPath, Position.NOPOS, null);
  72.125      }
  72.126  }
    73.1 --- a/src/share/classes/com/sun/tools/javadoc/RootDocImpl.java	Thu Jan 22 14:42:22 2009 -0800
    73.2 +++ b/src/share/classes/com/sun/tools/javadoc/RootDocImpl.java	Sat Jan 24 16:35:52 2009 -0800
    73.3 @@ -26,13 +26,13 @@
    73.4  package com.sun.tools.javadoc;
    73.5  
    73.6  import java.io.IOException;
    73.7 -import java.io.FileInputStream;
    73.8 -import java.io.File;
    73.9 +import java.util.Locale;
   73.10 +import javax.tools.JavaFileObject;
   73.11 +import javax.tools.StandardJavaFileManager;
   73.12  
   73.13  import com.sun.javadoc.*;
   73.14  
   73.15  import com.sun.tools.javac.tree.JCTree.JCClassDecl;
   73.16 -import com.sun.tools.javac.code.Symbol;
   73.17  import com.sun.tools.javac.util.List;
   73.18  import com.sun.tools.javac.util.ListBuffer;
   73.19  import com.sun.tools.javac.util.Position;
   73.20 @@ -307,10 +307,13 @@
   73.21       * Return the path of the overview file and null if it does not exist.
   73.22       * @return the path of the overview file and null if it does not exist.
   73.23       */
   73.24 -    private String getOverviewPath() {
   73.25 +    private JavaFileObject getOverviewPath() {
   73.26          for (String[] opt : options) {
   73.27              if (opt[0].equals("-overview")) {
   73.28 -                return opt[1];
   73.29 +                if (env.fileManager instanceof StandardJavaFileManager) {
   73.30 +                    StandardJavaFileManager fm = (StandardJavaFileManager) env.fileManager;
   73.31 +                    return fm.getJavaFileObjects(opt[1]).iterator().next();
   73.32 +                }
   73.33              }
   73.34          }
   73.35          return null;
   73.36 @@ -322,7 +325,7 @@
   73.37      protected String documentation() {
   73.38          if (documentation == null) {
   73.39              int cnt = options.length();
   73.40 -            String overviewPath = getOverviewPath();
   73.41 +            JavaFileObject overviewPath = getOverviewPath();
   73.42              if (overviewPath == null) {
   73.43                  // no doc file to be had
   73.44                  documentation = "";
   73.45 @@ -330,11 +333,11 @@
   73.46                  // read from file
   73.47                  try {
   73.48                      documentation = readHTMLDocumentation(
   73.49 -                        new FileInputStream(overviewPath),
   73.50 +                        overviewPath.openInputStream(),
   73.51                          overviewPath);
   73.52                  } catch (IOException exc) {
   73.53                      documentation = "";
   73.54 -                    env.error(null, "javadoc.File_Read_Error", overviewPath);
   73.55 +                    env.error(null, "javadoc.File_Read_Error", overviewPath.getName());
   73.56                  }
   73.57              }
   73.58          }
   73.59 @@ -346,9 +349,16 @@
   73.60       * no position is available.
   73.61       */
   73.62      public SourcePosition position() {
   73.63 -        String path;
   73.64 +        JavaFileObject path;
   73.65          return ((path = getOverviewPath()) == null) ?
   73.66              null :
   73.67              SourcePositionImpl.make(path, Position.NOPOS, null);
   73.68      }
   73.69 +
   73.70 +    /**
   73.71 +     * Return the locale provided by the user or the default locale value.
   73.72 +     */
   73.73 +    public Locale getLocale() {
   73.74 +        return env.doclocale.locale;
   73.75 +    }
   73.76  }
    74.1 --- a/src/share/classes/com/sun/tools/javadoc/SourcePositionImpl.java	Thu Jan 22 14:42:22 2009 -0800
    74.2 +++ b/src/share/classes/com/sun/tools/javadoc/SourcePositionImpl.java	Sat Jan 24 16:35:52 2009 -0800
    74.3 @@ -25,11 +25,12 @@
    74.4  
    74.5  package com.sun.tools.javadoc;
    74.6  
    74.7 +import java.io.File;
    74.8 +import javax.tools.FileObject;
    74.9 +
   74.10  import com.sun.javadoc.SourcePosition;
   74.11  import com.sun.tools.javac.util.Position;
   74.12  
   74.13 -import java.io.File;
   74.14 -
   74.15  /**
   74.16   * A source position: filename, line number, and column number.
   74.17   *
   74.18 @@ -37,15 +38,21 @@
   74.19   * @author Neal M Gafter
   74.20   * @author Michael Van De Vanter (position representation changed to char offsets)
   74.21   */
   74.22 -class SourcePositionImpl implements SourcePosition {
   74.23 -    String filename;
   74.24 +public class SourcePositionImpl implements SourcePosition {
   74.25 +    FileObject filename;
   74.26      int position;
   74.27      Position.LineMap lineMap;
   74.28  
   74.29      /** The source file. Returns null if no file information is
   74.30       *  available. */
   74.31      public File file() {
   74.32 -        return (filename == null) ? null : new File(filename);
   74.33 +        return (filename == null) ? null : new File(filename.getName());
   74.34 +    }
   74.35 +
   74.36 +    /** The source file. Returns null if no file information is
   74.37 +     *  available. */
   74.38 +    public FileObject fileObject() {
   74.39 +        return filename;
   74.40      }
   74.41  
   74.42      /** The line in the source file. The first line is numbered 1;
   74.43 @@ -71,7 +78,7 @@
   74.44          }
   74.45      }
   74.46  
   74.47 -    private SourcePositionImpl(String file, int position,
   74.48 +    private SourcePositionImpl(FileObject file, int position,
   74.49                                 Position.LineMap lineMap) {
   74.50          super();
   74.51          this.filename = file;
   74.52 @@ -79,16 +86,27 @@
   74.53          this.lineMap = lineMap;
   74.54      }
   74.55  
   74.56 -    public static SourcePosition make(String file, int pos,
   74.57 +    public static SourcePosition make(FileObject file, int pos,
   74.58                                        Position.LineMap lineMap) {
   74.59          if (file == null) return null;
   74.60          return new SourcePositionImpl(file, pos, lineMap);
   74.61      }
   74.62  
   74.63      public String toString() {
   74.64 +        // Backwards compatibility hack. ZipFileObjects use the format
   74.65 +        // zipfile(zipentry) but javadoc has been using zipfile/zipentry
   74.66 +        String fn = filename.toString();
   74.67 +        if (fn.endsWith(")")) {
   74.68 +            int paren = fn.lastIndexOf("(");
   74.69 +            if (paren != -1)
   74.70 +                fn = fn.substring(0, paren)
   74.71 +                        + File.separatorChar
   74.72 +                        + fn.substring(paren + 1, fn.length() - 1);
   74.73 +        }
   74.74 +
   74.75          if (position == Position.NOPOS)
   74.76 -            return filename;
   74.77 +            return fn;
   74.78          else
   74.79 -            return filename + ":" + line();
   74.80 +            return fn + ":" + line();
   74.81      }
   74.82  }
    75.1 --- a/src/share/classes/com/sun/tools/javadoc/TypeMaker.java	Thu Jan 22 14:42:22 2009 -0800
    75.2 +++ b/src/share/classes/com/sun/tools/javadoc/TypeMaker.java	Sat Jan 24 16:35:52 2009 -0800
    75.3 @@ -51,6 +51,7 @@
    75.4       * @param errToClassDoc  if true, ERROR type results in a ClassDoc;
    75.5       *          false preserves legacy behavior
    75.6       */
    75.7 +    @SuppressWarnings("fallthrough")
    75.8      public static com.sun.javadoc.Type getType(DocEnv env, Type t,
    75.9                                                 boolean errToClassDoc) {
   75.10          if (env.legacyDoclet) {
    76.1 --- a/src/share/classes/com/sun/tools/javah/Gen.java	Thu Jan 22 14:42:22 2009 -0800
    76.2 +++ b/src/share/classes/com/sun/tools/javah/Gen.java	Sat Jan 24 16:35:52 2009 -0800
    76.3 @@ -342,6 +342,6 @@
    76.4              fields.addAll(Arrays.asList(cd.fields()));
    76.5          }
    76.6  
    76.7 -        return (FieldDoc[]) fields.toArray(new FieldDoc[fields.size()]);
    76.8 +        return fields.toArray(new FieldDoc[fields.size()]);
    76.9      }
   76.10  }
    77.1 --- a/src/share/classes/com/sun/tools/javap/InternalError.java	Thu Jan 22 14:42:22 2009 -0800
    77.2 +++ b/src/share/classes/com/sun/tools/javap/InternalError.java	Sat Jan 24 16:35:52 2009 -0800
    77.3 @@ -32,6 +32,7 @@
    77.4   *  deletion without notice.</b>
    77.5   */
    77.6  public class InternalError extends Error {
    77.7 +    private static final long serialVersionUID = 8114054446416187030L;
    77.8      InternalError(Throwable t, Object... args) {
    77.9          super("Internal error", t);
   77.10          this.args = args;
    78.1 --- a/src/share/classes/javax/lang/model/type/MirroredTypeException.java	Thu Jan 22 14:42:22 2009 -0800
    78.2 +++ b/src/share/classes/javax/lang/model/type/MirroredTypeException.java	Sat Jan 24 16:35:52 2009 -0800
    78.3 @@ -1,5 +1,5 @@
    78.4  /*
    78.5 - * Copyright 2005-2006 Sun Microsystems, Inc.  All Rights Reserved.
    78.6 + * Copyright 2005-2009 Sun Microsystems, Inc.  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 @@ -25,7 +25,8 @@
   78.11  
   78.12  package javax.lang.model.type;
   78.13  
   78.14 -
   78.15 +import java.io.ObjectInputStream;
   78.16 +import java.io.IOException;
   78.17  import java.lang.annotation.Annotation;
   78.18  import javax.lang.model.element.Element;
   78.19  
   78.20 @@ -67,4 +68,13 @@
   78.21      public TypeMirror getTypeMirror() {
   78.22          return type;
   78.23      }
   78.24 +
   78.25 +    /**
   78.26 +     * Explicitly set all transient fields.
   78.27 +     */
   78.28 +    private void readObject(ObjectInputStream s)
   78.29 +        throws IOException, ClassNotFoundException {
   78.30 +        s.defaultReadObject();
   78.31 +        type = null;
   78.32 +    }
   78.33  }
    79.1 --- a/src/share/classes/javax/lang/model/type/MirroredTypesException.java	Thu Jan 22 14:42:22 2009 -0800
    79.2 +++ b/src/share/classes/javax/lang/model/type/MirroredTypesException.java	Sat Jan 24 16:35:52 2009 -0800
    79.3 @@ -1,5 +1,5 @@
    79.4  /*
    79.5 - * Copyright 2005-2006 Sun Microsystems, Inc.  All Rights Reserved.
    79.6 + * Copyright 2005-2009 Sun Microsystems, Inc.  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 @@ -25,12 +25,12 @@
   79.11  
   79.12  package javax.lang.model.type;
   79.13  
   79.14 -
   79.15  import java.lang.annotation.Annotation;
   79.16  import java.util.ArrayList;
   79.17  import java.util.List;
   79.18  import java.util.Collections;
   79.19 -
   79.20 +import java.io.ObjectInputStream;
   79.21 +import java.io.IOException;
   79.22  import javax.lang.model.element.Element;
   79.23  
   79.24  
   79.25 @@ -49,8 +49,7 @@
   79.26  
   79.27      private static final long serialVersionUID = 269;
   79.28  
   79.29 -    // Should this be non-final for a custum readObject method?
   79.30 -    private final transient List<? extends TypeMirror> types;   // cannot be serialized
   79.31 +    private transient List<? extends TypeMirror> types; // cannot be serialized
   79.32  
   79.33      /**
   79.34       * Constructs a new MirroredTypesException for the specified types.
   79.35 @@ -58,7 +57,9 @@
   79.36       * @param types  the types being accessed
   79.37       */
   79.38      public MirroredTypesException(List<? extends TypeMirror> types) {
   79.39 -        super("Attempt to access Class objects for TypeMirrors " + types);
   79.40 +        super("Attempt to access Class objects for TypeMirrors " +
   79.41 +              (types = // defensive copy
   79.42 +               new ArrayList<TypeMirror>(types)).toString() );
   79.43          this.types = Collections.unmodifiableList(types);
   79.44      }
   79.45  
   79.46 @@ -72,4 +73,13 @@
   79.47      public List<? extends TypeMirror> getTypeMirrors() {
   79.48          return types;
   79.49      }
   79.50 +
   79.51 +    /**
   79.52 +     * Explicitly set all transient fields.
   79.53 +     */
   79.54 +    private void readObject(ObjectInputStream s)
   79.55 +        throws IOException, ClassNotFoundException {
   79.56 +        s.defaultReadObject();
   79.57 +        types = null;
   79.58 +    }
   79.59  }
    80.1 --- a/src/share/classes/sun/tools/javap/JavapPrinter.java	Thu Jan 22 14:42:22 2009 -0800
    80.2 +++ b/src/share/classes/sun/tools/javap/JavapPrinter.java	Sat Jan 24 16:35:52 2009 -0800
    80.3 @@ -719,6 +719,7 @@
    80.4      /**
    80.5       * Print constant pool entry information.
    80.6       */
    80.7 +    @SuppressWarnings("fallthrough")
    80.8      public int PrintlnConstantEntry(int cpx) {
    80.9          int size=1;
   80.10          byte tag=0;
   80.11 @@ -757,6 +758,7 @@
   80.12          case CONSTANT_LONG:
   80.13          case CONSTANT_DOUBLE:
   80.14              size=2;
   80.15 +            // fall through
   80.16          default:
   80.17              out.println(str+";");
   80.18          }
    81.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    81.2 +++ b/test/com/sun/javadoc/testHtmlTag/TestHtmlTag.java	Sat Jan 24 16:35:52 2009 -0800
    81.3 @@ -0,0 +1,93 @@
    81.4 +/*
    81.5 + * Copyright 2009 Sun Microsystems, Inc.  All Rights Reserved.
    81.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    81.7 + *
    81.8 + * This code is free software; you can redistribute it and/or modify it
    81.9 + * under the terms of the GNU General Public License version 2 only, as
   81.10 + * published by the Free Software Foundation.  Sun designates this
   81.11 + * particular file as subject to the "Classpath" exception as provided
   81.12 + * by Sun in the LICENSE file that accompanied this code.
   81.13 + *
   81.14 + * This code is distributed in the hope that it will be useful, but WITHOUT
   81.15 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
   81.16 + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
   81.17 + * version 2 for more details (a copy is included in the LICENSE file that
   81.18 + * accompanied this code).
   81.19 + *
   81.20 + * You should have received a copy of the GNU General Public License version
   81.21 + * 2 along with this work; if not, write to the Free Software Foundation,
   81.22 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
   81.23 + *
   81.24 + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
   81.25 + * CA 95054 USA or visit www.sun.com if you need additional information or
   81.26 + * have any questions.
   81.27 + */
   81.28 +
   81.29 +/*
   81.30 + * @test
   81.31 + * @bug 6786682
   81.32 + * @summary This test verifies the use of lang attribute by <HTML>.
   81.33 + * @author Bhavesh Patel
   81.34 + * @library ../lib/
   81.35 + * @build JavadocTester
   81.36 + * @build TestHtmlTag
   81.37 + * @run main TestHtmlTag
   81.38 + */
   81.39 +
   81.40 +import java.util.Locale;
   81.41 +
   81.42 +public class TestHtmlTag extends JavadocTester {
   81.43 +
   81.44 +    private static final String BUG_ID = "6786682";
   81.45 +    private static final String[][] TEST1 = {
   81.46 +        {BUG_ID + FS + "pkg1" + FS + "C1.html", "<HTML lang=\"" + Locale.getDefault().getLanguage() + "\">"},
   81.47 +        {BUG_ID + FS + "pkg1" + FS + "package-summary.html", "<HTML lang=\"" + Locale.getDefault().getLanguage() + "\">"}};
   81.48 +    private static final String[][] NEGATED_TEST1 = {
   81.49 +        {BUG_ID + FS + "pkg1" + FS + "C1.html", "<HTML>"}};
   81.50 +    private static final String[][] TEST2 = {
   81.51 +        {BUG_ID + FS + "pkg2" + FS + "C2.html", "<HTML lang=\"ja\">"},
   81.52 +        {BUG_ID + FS + "pkg2" + FS + "package-summary.html", "<HTML lang=\"ja\">"}};
   81.53 +    private static final String[][] NEGATED_TEST2 = {
   81.54 +        {BUG_ID + FS + "pkg2" + FS + "C2.html", "<HTML>"}};
   81.55 +    private static final String[][] TEST3 = {
   81.56 +        {BUG_ID + FS + "pkg1" + FS + "C1.html", "<HTML lang=\"en\">"},
   81.57 +        {BUG_ID + FS + "pkg1" + FS + "package-summary.html", "<HTML lang=\"en\">"}};
   81.58 +    private static final String[][] NEGATED_TEST3 = {
   81.59 +        {BUG_ID + FS + "pkg1" + FS + "C1.html", "<HTML>"}};
   81.60 +
   81.61 +    private static final String[] ARGS1 =
   81.62 +        new String[] {
   81.63 +            "-d", BUG_ID, "-sourcepath", SRC_DIR, "pkg1"};
   81.64 +    private static final String[] ARGS2 =
   81.65 +        new String[] {
   81.66 +            "-locale", "ja", "-d", BUG_ID, "-sourcepath", SRC_DIR, "pkg2"};
   81.67 +    private static final String[] ARGS3 =
   81.68 +        new String[] {
   81.69 +            "-locale", "en_US", "-d", BUG_ID, "-sourcepath", SRC_DIR, "pkg1"};
   81.70 +
   81.71 +    /**
   81.72 +     * The entry point of the test.
   81.73 +     * @param args the array of command line arguments.
   81.74 +     */
   81.75 +    public static void main(String[] args) {
   81.76 +        TestHtmlTag tester = new TestHtmlTag();
   81.77 +        run(tester, ARGS1, TEST1, NEGATED_TEST1);
   81.78 +        run(tester, ARGS2, TEST2, NEGATED_TEST2);
   81.79 +        run(tester, ARGS3, TEST3, NEGATED_TEST3);
   81.80 +        tester.printSummary();
   81.81 +    }
   81.82 +
   81.83 +    /**
   81.84 +     * {@inheritDoc}
   81.85 +     */
   81.86 +    public String getBugId() {
   81.87 +        return BUG_ID;
   81.88 +    }
   81.89 +
   81.90 +    /**
   81.91 +     * {@inheritDoc}
   81.92 +     */
   81.93 +    public String getBugName() {
   81.94 +        return getClass().getName();
   81.95 +    }
   81.96 +}
    82.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    82.2 +++ b/test/com/sun/javadoc/testHtmlTag/pkg1/C1.java	Sat Jan 24 16:35:52 2009 -0800
    82.3 @@ -0,0 +1,33 @@
    82.4 +/*
    82.5 + * Copyright 2009 Sun Microsystems, Inc.  All Rights Reserved.
    82.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    82.7 + *
    82.8 + * This code is free software; you can redistribute it and/or modify it
    82.9 + * under the terms of the GNU General Public License version 2 only, as
   82.10 + * published by the Free Software Foundation.  Sun designates this
   82.11 + * particular file as subject to the "Classpath" exception as provided
   82.12 + * by Sun in the LICENSE file that accompanied this code.
   82.13 + *
   82.14 + * This code is distributed in the hope that it will be useful, but WITHOUT
   82.15 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
   82.16 + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
   82.17 + * version 2 for more details (a copy is included in the LICENSE file that
   82.18 + * accompanied this code).
   82.19 + *
   82.20 + * You should have received a copy of the GNU General Public License version
   82.21 + * 2 along with this work; if not, write to the Free Software Foundation,
   82.22 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
   82.23 + *
   82.24 + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
   82.25 + * CA 95054 USA or visit www.sun.com if you need additional information or
   82.26 + * have any questions.
   82.27 + */
   82.28 +
   82.29 +package pkg1;
   82.30 +
   82.31 +public class C1 {
   82.32 +
   82.33 +    public void method(int param1, int param2) {
   82.34 +
   82.35 +    }
   82.36 +}
    83.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    83.2 +++ b/test/com/sun/javadoc/testHtmlTag/pkg2/C2.java	Sat Jan 24 16:35:52 2009 -0800
    83.3 @@ -0,0 +1,31 @@
    83.4 +/*
    83.5 + * Copyright 2009 Sun Microsystems, Inc.  All Rights Reserved.
    83.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    83.7 + *
    83.8 + * This code is free software; you can redistribute it and/or modify it
    83.9 + * under the terms of the GNU General Public License version 2 only, as
   83.10 + * published by the Free Software Foundation.  Sun designates this
   83.11 + * particular file as subject to the "Classpath" exception as provided
   83.12 + * by Sun in the LICENSE file that accompanied this code.
   83.13 + *
   83.14 + * This code is distributed in the hope that it will be useful, but WITHOUT
   83.15 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
   83.16 + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
   83.17 + * version 2 for more details (a copy is included in the LICENSE file that
   83.18 + * accompanied this code).
   83.19 + *
   83.20 + * You should have received a copy of the GNU General Public License version
   83.21 + * 2 along with this work; if not, write to the Free Software Foundation,
   83.22 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
   83.23 + *
   83.24 + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
   83.25 + * CA 95054 USA or visit www.sun.com if you need additional information or
   83.26 + * have any questions.
   83.27 + */
   83.28 +
   83.29 +package pkg2;
   83.30 +
   83.31 +/**
   83.32 + * <B>Comments:</B> Class 2
   83.33 + */
   83.34 +public class C2 {}
    84.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    84.2 +++ b/test/tools/javac/T6794959.java	Sat Jan 24 16:35:52 2009 -0800
    84.3 @@ -0,0 +1,36 @@
    84.4 +/*
    84.5 + * Copyright 2009 Sun Microsystems, Inc.  All Rights Reserved.
    84.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    84.7 + *
    84.8 + * This code is free software; you can redistribute it and/or modify it
    84.9 + * under the terms of the GNU General Public License version 2 only, as
   84.10 + * published by the Free Software Foundation.
   84.11 + *
   84.12 + * This code is distributed in the hope that it will be useful, but WITHOUT
   84.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
   84.14 + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
   84.15 + * version 2 for more details (a copy is included in the LICENSE file that
   84.16 + * accompanied this code).
   84.17 + *
   84.18 + * You should have received a copy of the GNU General Public License version
   84.19 + * 2 along with this work; if not, write to the Free Software Foundation,
   84.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
   84.21 + *
   84.22 + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
   84.23 + * CA 95054 USA or visit www.sun.com if you need additional information or
   84.24 + * have any questions.
   84.25 + */
   84.26 +
   84.27 +/*
   84.28 + * @test
   84.29 + * @bug 6794959
   84.30 + * @summary add new switch -XDexpectKeys=key,key,...
   84.31 + * @compile T6794959.java
   84.32 + * @compile/fail -XDfailcomplete=java.lang.String T6794959.java
   84.33 + * @compile -XDfailcomplete=java.lang.String -XDexpectKeys=compiler.err.cant.resolve.location T6794959.java
   84.34 + * @compile/fail -XDexpectKeys=compiler.err.cant.resolve.location T6794959.java
   84.35 + */
   84.36 +
   84.37 +class T6794959 {
   84.38 +    String s;
   84.39 +}
    85.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    85.2 +++ b/test/tools/javac/cast/6795580/T6795580.java	Sat Jan 24 16:35:52 2009 -0800
    85.3 @@ -0,0 +1,80 @@
    85.4 +/*
    85.5 + * Copyright 2009 Sun Microsystems, Inc.  All Rights Reserved.
    85.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    85.7 + *
    85.8 + * This code is free software; you can redistribute it and/or modify it
    85.9 + * under the terms of the GNU General Public License version 2 only, as
   85.10 + * published by the Free Software Foundation.
   85.11 + *
   85.12 + * This code is distributed in the hope that it will be useful, but WITHOUT
   85.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
   85.14 + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
   85.15 + * version 2 for more details (a copy is included in the LICENSE file that
   85.16 + * accompanied this code).
   85.17 + *
   85.18 + * You should have received a copy of the GNU General Public License version
   85.19 + * 2 along with this work; if not, write to the Free Software Foundation,
   85.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
   85.21 + *
   85.22 + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
   85.23 + * CA 95054 USA or visit www.sun.com if you need additional information or
   85.24 + * have any questions.
   85.25 + */
   85.26 +
   85.27 +/*
   85.28 + * @test
   85.29 + * @author Maurizio Cimadamore
   85.30 + * @bug     6795580
   85.31 + * @summary parser confused by square brackets in qualified generic cast
   85.32 + * @compile/fail/ref=T6795580.out -XDrawDiagnostics T6795580.java
   85.33 + */
   85.34 +
   85.35 +class T6795580 {
   85.36 +    class Outer<S> {
   85.37 +        class Inner<T> {}
   85.38 +    }
   85.39 +
   85.40 +    void cast1(Outer<Integer>.Inner<Long>[] p) {
   85.41 +        Object o = (Outer<Integer>.Inner<Long>[])p;
   85.42 +    }
   85.43 +
   85.44 +    void cast2(Outer<Integer>.Inner<Long>[] p) {
   85.45 +        Object o = (Outer<? extends Number>.Inner<Long>[])p;
   85.46 +    }
   85.47 +
   85.48 +    void cast3(Outer<Integer>.Inner<Long>[] p) {
   85.49 +        Object o = (Outer<Integer>.Inner<? extends Number>[])p;
   85.50 +    }
   85.51 +
   85.52 +    void cast4(Outer<Integer>.Inner<Long>[] p) {
   85.53 +        Object o = (Outer<? extends Number>.Inner<? extends Number>[])p;
   85.54 +    }
   85.55 +
   85.56 +    void cast5(Outer<Integer>.Inner<Long>[] p) {
   85.57 +        Object o = (Outer<? super Number>.Inner<Long>[])p;
   85.58 +    }
   85.59 +
   85.60 +    void cast6(Outer<Integer>.Inner<Long>[] p) {
   85.61 +        Object o = (Outer<Integer>.Inner<? super Number>[])p;
   85.62 +    }
   85.63 +
   85.64 +    void cast7(Outer<Integer>.Inner<Long>[] p) {
   85.65 +        Object o = (Outer<? super Number>.Inner<? super Number>[])p;
   85.66 +    }
   85.67 +
   85.68 +    void cast8(Outer<Integer>.Inner<Long>[] p) {
   85.69 +        Object o = (Outer<? extends String>.Inner<Long>[])p;
   85.70 +    }
   85.71 +
   85.72 +    void cast9(Outer<Integer>.Inner<Long>[] p) {
   85.73 +        Object o = (Outer<Integer>.Inner<? extends String>[])p;
   85.74 +    }
   85.75 +
   85.76 +    void cast10(Outer<Integer>.Inner<Long>[] p) {
   85.77 +        Object o = (Outer<? super String>.Inner<Long>[])p;
   85.78 +    }
   85.79 +
   85.80 +    void cast11(Outer<Integer>.Inner<Long>[] p) {
   85.81 +        Object o = (Outer<Integer>.Inner<? super String>[])p;
   85.82 +    }
   85.83 +}
   85.84 \ No newline at end of file
    86.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    86.2 +++ b/test/tools/javac/cast/6795580/T6795580.out	Sat Jan 24 16:35:52 2009 -0800
    86.3 @@ -0,0 +1,8 @@
    86.4 +T6795580.java:54:57: compiler.err.prob.found.req: (- compiler.misc.inconvertible.types), T6795580.Outer<java.lang.Integer>.Inner<java.lang.Long>[], T6795580.Outer<? super java.lang.Number>.Inner<java.lang.Long>[]
    86.5 +T6795580.java:58:60: compiler.err.prob.found.req: (- compiler.misc.inconvertible.types), T6795580.Outer<java.lang.Integer>.Inner<java.lang.Long>[], T6795580.Outer<java.lang.Integer>.Inner<? super java.lang.Number>[]
    86.6 +T6795580.java:62:67: compiler.err.prob.found.req: (- compiler.misc.inconvertible.types), T6795580.Outer<java.lang.Integer>.Inner<java.lang.Long>[], T6795580.Outer<? super java.lang.Number>.Inner<? super java.lang.Number>[]
    86.7 +T6795580.java:66:59: compiler.err.prob.found.req: (- compiler.misc.inconvertible.types), T6795580.Outer<java.lang.Integer>.Inner<java.lang.Long>[], T6795580.Outer<? extends java.lang.String>.Inner<java.lang.Long>[]
    86.8 +T6795580.java:70:62: compiler.err.prob.found.req: (- compiler.misc.inconvertible.types), T6795580.Outer<java.lang.Integer>.Inner<java.lang.Long>[], T6795580.Outer<java.lang.Integer>.Inner<? extends java.lang.String>[]
    86.9 +T6795580.java:74:57: compiler.err.prob.found.req: (- compiler.misc.inconvertible.types), T6795580.Outer<java.lang.Integer>.Inner<java.lang.Long>[], T6795580.Outer<? super java.lang.String>.Inner<java.lang.Long>[]
   86.10 +T6795580.java:78:60: compiler.err.prob.found.req: (- compiler.misc.inconvertible.types), T6795580.Outer<java.lang.Integer>.Inner<java.lang.Long>[], T6795580.Outer<java.lang.Integer>.Inner<? super java.lang.String>[]
   86.11 +7 errors
    87.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    87.2 +++ b/test/tools/javac/generics/rawOverride/6557199/T6557199.java	Sat Jan 24 16:35:52 2009 -0800
    87.3 @@ -0,0 +1,44 @@
    87.4 +/*
    87.5 + * Copyright 2009 Sun Microsystems, Inc.  All Rights Reserved.
    87.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    87.7 + *
    87.8 + * This code is free software; you can redistribute it and/or modify it
    87.9 + * under the terms of the GNU General Public License version 2 only, as
   87.10 + * published by the Free Software Foundation.
   87.11 + *
   87.12 + * This code is distributed in the hope that it will be useful, but WITHOUT
   87.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
   87.14 + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
   87.15 + * version 2 for more details (a copy is included in the LICENSE file that
   87.16 + * accompanied this code).
   87.17 + *
   87.18 + * You should have received a copy of the GNU General Public License version
   87.19 + * 2 along with this work; if not, write to the Free Software Foundation,
   87.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
   87.21 + *
   87.22 + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
   87.23 + * CA 95054 USA or visit www.sun.com if you need additional information or
   87.24 + * have any questions.
   87.25 + */
   87.26 +
   87.27 +/*
   87.28 + * @test
   87.29 + * @bug 6557199
   87.30 + * @summary  Fails to reject bad override of generic method
   87.31 + * @author Maurizio Cimadamore
   87.32 + * @compile/fail/ref=T6557199.out T6557199.java -XDrawDiagnostics
   87.33 + */
   87.34 +
   87.35 +class T6557199 {
   87.36 +    static class X<S> {
   87.37 +        public static <U> X<U> test() {
   87.38 +            return null;
   87.39 +        }
   87.40 +    }
   87.41 +
   87.42 +    static class B extends X<B> {
   87.43 +        public static B test() {
   87.44 +            return null;
   87.45 +        }
   87.46 +    }
   87.47 +}
    88.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    88.2 +++ b/test/tools/javac/generics/rawOverride/6557199/T6557199.out	Sat Jan 24 16:35:52 2009 -0800
    88.3 @@ -0,0 +1,2 @@
    88.4 +T6557199.java:40:25: compiler.err.prob.found.req: (- compiler.misc.override.incompatible.ret: (- compiler.misc.cant.override: test(), T6557199.B, <U>test(), T6557199.X)), T6557199.B, T6557199.X<U>
    88.5 +1 error

mercurial