--- a/langtools/make/README Wed Jul 05 16:45:59 2017 +0200
+++ b/langtools/make/README Sat Jan 24 16:35:52 2009 -0800
@@ -15,7 +15,7 @@
System Requirements:
Ant: version 1.6.5 or later
- NetBeans: version 5.0 or later (optional)
+ NetBeans: version 6.0 or later (optional)
JDK: currently version 1.5.0, although 1.6.0 is recommended
OS: any system supporting the above tools
--- a/langtools/make/build.properties Wed Jul 05 16:45:59 2017 +0200
+++ b/langtools/make/build.properties Sat Jan 24 16:35:52 2009 -0800
@@ -66,7 +66,7 @@
# set the following to -version to verify the versions of javac being used
javac.version.opt =
# in time, there should be no exceptions to -Xlint:all
-javac.lint.opts = -Xlint:all,-deprecation,-fallthrough,-serial,-unchecked,-cast
+javac.lint.opts = -Xlint:all -Werror
# options for the <javadoc> task for javac
javadoc.jls3.url=http://java.sun.com/docs/books/jls/
--- a/langtools/make/build.xml Wed Jul 05 16:45:59 2017 +0200
+++ b/langtools/make/build.xml Sat Jan 24 16:35:52 2009 -0800
@@ -392,6 +392,7 @@
<attribute name="lib.dir" default="${dist.lib.dir}"/>
<attribute name="java" default="java"/>
<attribute name="javac.bootclasspath" default="-J-Xbootclasspath/p:${build.bootstrap.dir}/classes"/>
+ <attribute name="javac.java.home" default="${boot.java.home}"/>
<attribute name="javac.target" default="${javac.target}"/>
<attribute name="jarmainclass" default="com.sun.tools.@{name}.Main"/>
<attribute name="jarclasspath" default=""/>
@@ -433,6 +434,7 @@
<attribute name="gensrc.dir" default="${build.gensrc.dir}"/>
<attribute name="lib.dir" default="${dist.lib.dir}"/>
<attribute name="javac.bootclasspath" default="-J-Xbootclasspath/p:${build.bootstrap.dir}/classes"/>
+ <attribute name="javac.java.home" default="${boot.java.home}"/>
<attribute name="javac.target" default="${javac.target}"/>
<attribute name="jarmainclass" default="com.sun.tools.@{name}.Main"/>
<attribute name="jarclasspath" default=""/>
@@ -471,6 +473,7 @@
<attribute name="classes.dir" default="${build.classes.dir}"/>
<attribute name="gensrc.dir" default="${build.gensrc.dir}"/>
<attribute name="javac.bootclasspath" default="${build.bootstrap.dir}/classes"/>
+ <attribute name="javac.java.home" default="${boot.java.home}"/>
<attribute name="javac.target" default="${javac.target}"/>
<attribute name="release" default="${release}"/>
<attribute name="full.version" default="${full.version}"/>
@@ -493,6 +496,7 @@
destdir="@{gensrc.dir}"
includes="**/*.properties"/>
<javac fork="true"
+ executable="@{javac.java.home}/bin/javac"
srcdir="@{gensrc.dir}"
destdir="@{classes.dir}"
includes="@{includes}"
@@ -504,6 +508,7 @@
<compilerarg line="-Xlint"/>
</javac>
<javac fork="true"
+ executable="@{javac.java.home}/bin/javac"
srcdir="${src.classes.dir}"
destdir="@{classes.dir}"
includes="@{includes}"
@@ -562,7 +567,9 @@
<target name="-def-pcompile">
<mkdir dir="${build.toolclasses.dir}"/>
- <javac srcdir="${make.tools.dir}/CompileProperties"
+ <javac fork="true"
+ executable="${boot.java.home}/bin/javac"
+ srcdir="${make.tools.dir}/CompileProperties"
destdir="${build.toolclasses.dir}/"
classpath="${ant.home}/lib/ant.jar"/>
<taskdef name="pcompile"
@@ -653,7 +660,7 @@
<!-- the next two properties are for convenience, when only
a single instance of jtreg will be invoked. -->
<condition property="jtreg.passed">
- <equals arg1="${jtreg.javac.result}" arg2="0"/>
+ <equals arg1="${jtreg.@{name}.result}" arg2="0"/>
</condition>
<property name="jtreg.report" value="${build.jtreg.dir}/@{name}/report"/>
</sequential>
--- a/langtools/make/netbeans/README Wed Jul 05 16:45:59 2017 +0200
+++ b/langtools/make/netbeans/README Sat Jan 24 16:35:52 2009 -0800
@@ -1,28 +1,39 @@
-Working on the "langtools" workspace using NetBeans.
+Using NetBeans to work on the langtools repository.
+
+Netbeans 6.0 or later is recommended.
-This directory (make/netbeans) contains NetBeans projects that
-allow you to work on the various tools using the NetBeans IDE.
+The "langtools" project in this directory allows you to
+edit, run, test and debug the tools in the OpenJDK langtools
+repository.
-NetBeans 5.0 or later is required and sufficient to use these
-projects. This is different from other projects in OpenJDK,
-which requires version 6.0 or later.
+The repository contains a number of tools:
+ apt, javac, javadoc and its doclets, javah and javap.
+
+Build Properties.
-The following projects are provided:
+To build this repository, you must set some properties for Ant.
+You can set these properties in a number of ways:
+
+- Set the properties in the Properties panel under Tool> Options> Ant.
+ Properties set this way will apply globally to all the langtools
+ repositories you may be working on.
-compiler: for working on the compiler, javac
-javadoc: for working on the documentation tool, javadoc
-doclets: for working on the standard doclets used by the
- documentation tool, javadoc
-javah: for working on the C header tool, javah
-javap: for working on the disassembler, javap
-apt: for working on the annotation processing tool, apt.
- Note that this is just provided for completeness;
- the tool has been superceded by new features in javac,
- and work on apt itself is discouraged.
+- Create a file build.properties in the root directory of a
+ langtools repository, and set the properties in that file.
+ These properties will be specific to that repository.
+
+To build the repository, at a minimum you must set the "boot.java.home"
+property. To run the tools, you must also set "target.java.home". To
+run the regression tests, you must set "jtreg.home".
-However, any tool can be worked on from any project; the only difference
-between these projects is the behavior of the standard NetBeans actions,
-so that "Build" in the compiler project will build the compiler, etc.
+By default, the build and test targets will build and test all
+of these tools. The run and debug targets will prompt you for the
+name of a tool to execute.
-
-
+As an alternative, you can focus on a single tool. When you do
+this, you will still see all the source code for all the tools,
+but the various Ant targets will now be focussed on the selected tool.
+To focus on a tool, bring up the context menu on the "langtools"
+project (i.e. right-click on the project) and select "Select Tool".
+This brings up a dialog which allows you to specify which tool you
+wish to work on, and the arguments to use if and when you run it.
--- a/langtools/make/netbeans/apt/README Wed Jul 05 16:45:59 2017 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,15 +0,0 @@
-"apt" project README.
-
-This project is for working on the annotation processing tool (apt)
-in the OpenJDK langtools component.
-
-The tool was provided in Java 1.5, but has been superceded by new
-features in the compiler (javac) in Java 6. apt itself is now
-deprecated, and any further devlopment on it is strongly discouraged.
-
-The main class for the tool is com.sun.tools.apt.Main.
-
-NetBeans 5.0 or later is required and sufficient to use this
-project, and others in the OpenJDK langtools component.
-This is different from other projects in OpenJDK, which
-require version 6.0 or later.
--- a/langtools/make/netbeans/apt/build.xml Wed Jul 05 16:45:59 2017 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,62 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright 2007 Sun Microsystems, Inc. All Rights Reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
-
- - Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- - Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- - Neither the name of Sun Microsystems nor the names of its
- contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
- IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
--->
-
-<!--
- Build file for the annotation processing tool, apt.
- - The basic functionality of the build is imported from make/build.xml.
- - Additional support for NetBeans actions is imported from
- make/netbeans/common/shared.xml.
- - This file gives the final customizations.
- This tool is now deprecated, and any further development is strongly
- discouraged.
--->
-
-<project name="apt" default="build" basedir="../../..">
- <property name="tool.name" value="apt"/>
-
- <import file="../common/shared.xml"/>
-
- <!--
- Alias the following imported targets, giving descriptions as appropriate.
- NetBeans will emphasize targets with descriptions in the Ant Targets list,
- and will display the targets in the context menu (under Run Target) for
- this file in the Projects viewer.
- -->
-
- <target name="build" depends="build-apt" description="Build the annotation processing tool, apt."/>
-
- <target name="debug" depends="-debug-nb" description="Debug the annotation processing tool, apt."/>
-
- <target name="-jtreg" depends="jtreg-apt"/>
- <target name="jtreg" depends="-jtreg-nb" description="Run the jtreg tests for the annotation processing tool, apt."/>
-
-</project>
--- a/langtools/make/netbeans/apt/nbproject/project.xml Wed Jul 05 16:45:59 2017 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,108 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright 2007 Sun Microsystems, Inc. All Rights Reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
-
- - Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- - Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- - Neither the name of Sun Microsystems nor the names of its
- contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
- IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
--->
-
-<!DOCTYPE project [
- <!ENTITY standard-ide-actions-no-javadoc SYSTEM "../../common/standard-ide-actions-no-javadoc.ent">
- <!ENTITY standard-context-menu-items-no-javadoc SYSTEM "../../common/standard-context-menu-items-no-javadoc.ent">
-]>
-<project xmlns="http://www.netbeans.org/ns/project/1">
- <type>org.netbeans.modules.ant.freeform</type>
- <configuration>
- <general-data xmlns="http://www.netbeans.org/ns/freeform-project/1">
- <!-- Do not use Project Properties customizer when editing this file manually. -->
- <name>apt</name>
- <properties>
- <property name="root">../../..</property>
- </properties>
- <folders>
- <source-folder>
- <label>langtools</label>
- <location>${root}</location>
- </source-folder>
- <source-folder>
- <label>Source files</label>
- <type>java</type>
- <location>${root}/src/share/classes</location>
- </source-folder>
- <source-folder>
- <label>Test files</label>
- <type>tests</type>
- <location>${root}/test</location>
- </source-folder>
- <source-folder>
- <label>Build files</label>
- <type>build</type>
- <location>${root}/make</location>
- </source-folder>
- </folders>
- <ide-actions>
- &standard-ide-actions-no-javadoc;
- </ide-actions>
- <export>
- <type>folder</type>
- <location>${root}/build/classes</location>
- <build-target>build</build-target>
- </export>
- <view>
- <items>
- <source-folder style="tree">
- <label>Source files</label>
- <location>${root}/src/share/classes</location>
- </source-folder>
- <source-folder style="tree">
- <label>Test files</label>
- <location>${root}/test</location>
- </source-folder>
- <source-folder style="tree">
- <label>Build files</label>
- <location>${root}/make</location>
- </source-folder>
- <source-file>
- <label>README</label>
- <location>README</location>
- </source-file>
- </items>
- <context-menu>
- &standard-context-menu-items-no-javadoc;
- </context-menu>
- </view>
- <subprojects/>
- </general-data>
- <java-data xmlns="http://www.netbeans.org/ns/freeform-project-java/2">
- <compilation-unit>
- <package-root>${root}/src/share/classes</package-root>
- <built-to>${root}/build/classes</built-to>
- <source-level>1.5</source-level> <!-- FIXME -->
- </compilation-unit>
- </java-data>
- </configuration>
-</project>
--- a/langtools/make/netbeans/common/shared.xml Wed Jul 05 16:45:59 2017 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,186 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright 2007 Sun Microsystems, Inc. All Rights Reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
-
- - Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- - Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- - Neither the name of Sun Microsystems nor the names of its
- contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
- IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
--->
-
-<!--
- The file contains targets for NetBeans action that are shared across
- all langtools projects.
--->
-
-<project name="shared" default="build" basedir="../../..">
- <!--
- Instead of importing the main build file, we could call it when needed.
- That would reduce the list of Ant targets that get displayed for this
- file, but it also complicates the interface between the project build
- file and the main build file. For example, some imported targets
- would have to be reclared, properties would have to be restructured,
- and it would be harder to run results (e.g. in properties) from nested
- targets.
- -->
- <import file="../../build.xml"/>
-
- <property name="tool.mainclass" value="com.sun.tools.${tool.name}.Main"/>
- <property name="tool.default.args" value="-version"/>
-
- <!-- compile a single file -->
-
- <!-- for compile-single, etc, we might want different targets for
- javac and not javac, because of bootstrap issues -->
- <target name="compile-single" depends="build-bootstrap-javac">
- <fail unless="includes">Must set property 'includes'</fail>
- <javac fork="true" executable="${build.bootstrap.dir}/bin/javac"
- srcdir="${src.classes.dir}"
- destdir="${build.classes.dir}"
- includes="${includes}"
- sourcepath=""
- includeAntRuntime="no"
- target="${target}"
- debug="${javac.debug}"
- debuglevel="${javac.debuglevel}"/>
- </target>
-
- <!-- run tool -->
-
- <target name="run" depends="build,-def-run" description="run ${tool.description}">
- <run/>
- </target>
-
- <!-- run a selected class -->
-
- <target name="run-single" depends="-def-run">
- <fail unless="run.classname">Must set property 'run.classname'</fail>
- <run name="${run.classname}" mainclass="${run.classname}" default.args=""/>
- </target>
-
- <!-- run jtreg tests, and display results in NetBeans -->
-
- <target name="-jtreg-nb" depends="-jtreg" if="netbeans.home" unless="jtreg.passed">
- <nbbrowse file="${jtreg.report}/report.html"/>
- <fail>Some tests failed; see report for details.</fail>
- </target>
-
- <!-- debug tool in NetBeans -->
-
- <target name="-debug-nb" depends="build,-def-run,-def-start-debugger" if="netbeans.home">
- <start-debugger/>
- <run jpda.jvmargs="${jpda.jvmargs}"/>
- </target>
-
- <!-- debug a selected class -->
-
- <target name="debug-single-nb" depends="-def-start-debugger,-def-run">
- <fail unless="debug.classname">Must set property 'debug.classname'</fail>
- <start-debugger/>
- <run name="${debug.classname}" mainclass="${debug.classname}" default.args=""
- jpda.jvmargs="${jpda.jvmargs}"/>
- </target>
-
- <!-- debug a jtreg test -->
-
- <target name="debug-jtreg-nb" depends="-def-start-debugger,-def-jtreg">
- <fail unless="jtreg.tests">Must set property 'jtreg.tests'</fail>
- <start-debugger/>
- <jtreg-tool name="${tool.name}" samevm="false" tests="${jtreg.tests}"
- jpda.jvmargs="${jpda.jvmargs}"/>
- </target>
-
- <!-- update a class being debugged -->
-
- <target name="debug-fix">
- <fail unless="class">Must set property 'class'</fail>
- <antcall target="compile-single">
- <param name="includes" value="${class}.java"/>
- </antcall>
- <nbjpdareload>
- <fileset dir="${build.classes.dir}">
- <include name="${class}.class"/>
- </fileset>
- </nbjpdareload>
- </target>
-
-
- <!-- create javadoc documentation -->
-
- <target name="-javadoc-nb" depends="-javadoc" if="netbeans.home">
- <nbbrowse file="${build.javadoc.dir}/${tool.name}/index.html"/>
- </target>
-
- <!-- default target for those projects that don't have public API docs;
- override as needed for projects with public API docs.-->
- <target name="-javadoc"/>
-
- <!-- macro to run a tool or selected class - used by run* and debug* tasks -->
-
- <target name="-def-run">
- <macrodef name="run">
- <attribute name="name" default="${tool.name}"/>
- <attribute name="mainclass" default="${tool.mainclass}"/>
- <attribute name="default.args" default="${tool.default.args}"/>
- <attribute name="jpda.jvmargs" default=""/>
- <sequential>
- <input addproperty="run.args" message="Run @{name} with options" defaultvalue="@{default.args}"/>
- <java fork="true" jvm="${target.java}" classname="@{mainclass}">
- <bootclasspath>
- <pathelement location="${build.classes.dir}"/>
- <pathelement location="${target.java.home}/jre/lib/rt.jar"/>
- </bootclasspath>
- <jvmarg line="@{jpda.jvmargs}"/>
- <arg line="${run.args}"/>
- </java>
- </sequential>
- </macrodef>
- </target>
-
- <!-- macro to start the debugger and set a property containg the args needed by the run task -->
-
- <target name="-def-start-debugger" if="netbeans.home">
- <macrodef name="start-debugger">
- <attribute name="jpda.jvmargs.property" default="jpda.jvmargs"/>
- <sequential>
- <nbjpdastart name="${ant.project.name}" addressproperty="jpda.address" transport="dt_socket">
- <bootclasspath>
- <pathelement location="${build.classes.dir}"/>
- <pathelement location="${target.java.home}/jre/lib/rt.jar"/>
- </bootclasspath>
- <sourcepath>
- <pathelement location="${src.classes.dir}"/>
- </sourcepath>
- </nbjpdastart>
- <property
- name="@{jpda.jvmargs.property}"
- value="-Xdebug -Xnoagent -Djava.compiler=none -Xrunjdwp:transport=dt_socket,address=${jpda.address}"
- />
- </sequential>
- </macrodef>
- </target>
-
-
-</project>
--- a/langtools/make/netbeans/common/standard-context-menu-items-no-javadoc.ent Wed Jul 05 16:45:59 2017 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright 2007 Sun Microsystems, Inc. All Rights Reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
-
- - Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- - Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- - Neither the name of Sun Microsystems nor the names of its
- contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
- IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
--->
-
-<!--
- This file defines the actions that will appear on the project's context
- menu, in the Projects viewer.
- It is normally included as an entity into a project's project.xml file.
-
- For information on these actions, see
- - NetBeans: Setting Up Projects
- at http://www.netbeans.org/kb/55/using-netbeans/project_setup.html
- - NetBeans: Advanced Freeform Project Configuration
- at http://www.netbeans.org/kb/41/freeform-config.html
--->
-
-<ide-action name="build"/>
-<ide-action name="rebuild"/>
-<ide-action name="clean"/>
-
-<separator/>
-
-<ide-action name="run"/>
-<ide-action name="debug"/>
-
-<separator/>
-
-<ide-action name="test"/>
--- a/langtools/make/netbeans/common/standard-context-menu-items.ent Wed Jul 05 16:45:59 2017 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright 2007 Sun Microsystems, Inc. All Rights Reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
-
- - Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- - Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- - Neither the name of Sun Microsystems nor the names of its
- contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
- IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
--->
-
-<!--
- This file defines the actions that will appear on the project's context
- menu, in the Projects viewer.
- It is normally included as an entity into a project's project.xml file.
-
- For information on these actions, see
- - NetBeans: Setting Up Projects
- at http://www.netbeans.org/kb/55/using-netbeans/project_setup.html
- - NetBeans: Advanced Freeform Project Configuration
- at http://www.netbeans.org/kb/41/freeform-config.html
--->
-
-<ide-action name="build"/>
-<ide-action name="rebuild"/>
-<ide-action name="clean"/>
-<ide-action name="javadoc"/>
-
-<separator/>
-
-<ide-action name="run"/>
-<ide-action name="debug"/>
-
-<separator/>
-
-<ide-action name="test"/>
--- a/langtools/make/netbeans/common/standard-ide-actions-no-javadoc.ent Wed Jul 05 16:45:59 2017 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,161 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright 2007-2008 Sun Microsystems, Inc. All Rights Reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
-
- - Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- - Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- - Neither the name of Sun Microsystems nor the names of its
- contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
- IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
--->
-
-<!--
- This file defines the standard actions accepted by langtools projects.
- It is normally included as an entity into a project's project.xml file.
-
- For information on these actions, see
- - NetBeans: Setting Up Projects
- at http://www.netbeans.org/kb/55/using-netbeans/project_setup.html
- - NetBeans: Advanced Freeform Project Configuration
- at http://www.netbeans.org/kb/41/freeform-config.html
--->
-
-<action name="build">
- <target>build</target>
-</action>
-
-<action name="clean">
- <target>clean</target>
-</action>
-
-<action name="rebuild">
- <target>clean</target>
- <target>build</target>
-</action>
-
-<action name="compile.single">
- <target>compile-single</target>
- <property name="srcdir">${root}/src/share/classes</property>
- <context>
- <property>includes</property>
- <folder>${root}/src/share/classes</folder>
- <pattern>\.java$</pattern>
- <format>relative-path</format>
- <arity>
- <separated-files>,</separated-files>
- </arity>
- </context>
-</action>
-
-<action name="run">
- <target>run</target>
-</action>
-
-<action name="run.single">
- <target>run-single</target>
- <context>
- <property>run.classname</property>
- <folder>${root}/src/share/classes</folder>
- <pattern>\.java$</pattern>
- <format>java-name</format>
- <arity>
- <one-file-only/>
- </arity>
- </context>
-</action>
-
-<!--
- Note: NetBeans does not appear to support context menu items
- on shell scripts :-(
--->
-
-<action name="run.single">
- <target>jtreg</target>
- <context>
- <property>jtreg.tests</property>
- <folder>${root}/test</folder>
- <pattern>\.(java|sh)$</pattern>
- <format>relative-path</format>
- <arity>
- <separated-files>,</separated-files>
- </arity>
- </context>
-</action>
-
-<action name="test">
- <target>jtreg</target>
-</action>
-
-<action name="debug">
- <target>debug-nb</target>
-</action>
-
-<action name="debug.single">
- <target>debug-single-nb</target>
- <context>
- <property>debug.classname</property>
- <folder>${root}/src/share/classes</folder>
- <pattern>\.java$</pattern>
- <format>java-name</format>
- <arity>
- <one-file-only/>
- </arity>
- </context>
-</action>
-
-<!--
- Note: NetBeans does not appear to support context menu items
- on shell scripts :-(
--->
-
-<action name="debug.single">
- <target>debug-jtreg-nb</target>
- <context>
- <property>jtreg.tests</property>
- <folder>${root}/test</folder>
- <pattern>\.(java|sh)$</pattern>
- <format>relative-path</format>
- <arity>
- <one-file-only/>
- </arity>
- </context>
-</action>
-
-<action name="debug.fix">
- <target>debug-fix</target>
- <property name="srcdir">${root}/src/share/classes</property>
- <context>
- <property>class</property>
- <folder>${root}/src/share/classes</folder>
- <pattern>\.java$</pattern>
- <format>relative-path-noext</format>
- <arity>
- <one-file-only/>
- </arity>
- </context>
-</action>
-
-<action name="javadoc">
- <target>-javadoc-nb</target>
-</action>
--- a/langtools/make/netbeans/common/standard-ide-actions.ent Wed Jul 05 16:45:59 2017 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,161 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright 2007-2008 Sun Microsystems, Inc. All Rights Reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
-
- - Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- - Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- - Neither the name of Sun Microsystems nor the names of its
- contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
- IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
--->
-
-<!--
- This file defines the standard actions accepted by langtools projects.
- It is normally included as an entity into a project's project.xml file.
-
- For information on these actions, see
- - NetBeans: Setting Up Projects
- at http://www.netbeans.org/kb/55/using-netbeans/project_setup.html
- - NetBeans: Advanced Freeform Project Configuration
- at http://www.netbeans.org/kb/41/freeform-config.html
--->
-
-<action name="build">
- <target>build</target>
-</action>
-
-<action name="clean">
- <target>clean</target>
-</action>
-
-<action name="rebuild">
- <target>clean</target>
- <target>build</target>
-</action>
-
-<action name="compile.single">
- <target>compile-single</target>
- <property name="srcdir">${root}/src/share/classes</property>
- <context>
- <property>includes</property>
- <folder>${root}/src/share/classes</folder>
- <pattern>\.java$</pattern>
- <format>relative-path</format>
- <arity>
- <separated-files>,</separated-files>
- </arity>
- </context>
-</action>
-
-<action name="run">
- <target>run</target>
-</action>
-
-<action name="run.single">
- <target>run-single</target>
- <context>
- <property>run.classname</property>
- <folder>${root}/src/share/classes</folder>
- <pattern>\.java$</pattern>
- <format>java-name</format>
- <arity>
- <one-file-only/>
- </arity>
- </context>
-</action>
-
-<!--
- Note: NetBeans does not appear to support context menu items
- on shell scripts :-(
--->
-
-<action name="run.single">
- <target>jtreg</target>
- <context>
- <property>jtreg.tests</property>
- <folder>${root}/test</folder>
- <pattern>\.(java|sh)$</pattern>
- <format>relative-path</format>
- <arity>
- <separated-files>,</separated-files>
- </arity>
- </context>
-</action>
-
-<action name="test">
- <target>jtreg</target>
-</action>
-
-<action name="debug">
- <target>debug-nb</target>
-</action>
-
-<action name="debug.single">
- <target>debug-single-nb</target>
- <context>
- <property>debug.classname</property>
- <folder>${root}/src/share/classes</folder>
- <pattern>\.java$</pattern>
- <format>java-name</format>
- <arity>
- <one-file-only/>
- </arity>
- </context>
-</action>
-
-<!--
- Note: NetBeans does not appear to support context menu items
- on shell scripts :-(
--->
-
-<action name="debug.single">
- <target>debug-jtreg-nb</target>
- <context>
- <property>jtreg.tests</property>
- <folder>${root}/test</folder>
- <pattern>\.(java|sh)$</pattern>
- <format>relative-path</format>
- <arity>
- <one-file-only/>
- </arity>
- </context>
-</action>
-
-<action name="debug.fix">
- <target>debug-fix</target>
- <property name="srcdir">${root}/src/share/classes</property>
- <context>
- <property>class</property>
- <folder>${root}/src/share/classes</folder>
- <pattern>\.java$</pattern>
- <format>relative-path-noext</format>
- <arity>
- <one-file-only/>
- </arity>
- </context>
-</action>
-
-<action name="javadoc">
- <target>-javadoc-nb</target>
-</action>
--- a/langtools/make/netbeans/compiler/README Wed Jul 05 16:45:59 2017 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,11 +0,0 @@
-"compiler" project README.
-
-This project is for working on the compiler tool (javac)
-in the OpenJDK langtools component.
-
-The main class for the tool is com.sun.tools.javac.Main.
-
-NetBeans 5.0 or later is required and sufficient to use this
-project, and others in the OpenJDK langtools component.
-This is different from other projects in OpenJDK, which
-require version 6.0 or later.
--- a/langtools/make/netbeans/compiler/build.xml Wed Jul 05 16:45:59 2017 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,63 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright 2007 Sun Microsystems, Inc. All Rights Reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
-
- - Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- - Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- - Neither the name of Sun Microsystems nor the names of its
- contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
- IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
--->
-
-<!--
- Build file for the compiler.
- - The basic functionality of the build is imported from make/build.xml.
- - Additional support for NetBeans actions is imported from
- make/netbeans/common/shared.xml.
- - This file gives the final customizations.
--->
-
-<project name="compiler" default="build" basedir="../../..">
- <property name="tool.name" value="javac"/>
-
- <import file="../common/shared.xml"/>
-
- <!--
- Alias the following imported targets, giving descriptions as appropriate.
- NetBeans will emphasize targets with descriptions in the Ant Targets list,
- and will display the targets in the context menu (under Run Target) for
- this file in the Projects viewer.
- -->
-
- <target name="build" depends="build-javac" description="Build the compiler."/>
-
- <target name="debug" depends="-debug-nb" description="Debug the compiler."/>
-
- <target name="-javadoc" depends="javadoc-javac"/>
- <target name="javadoc" depends="-javadoc-nb" description="Generate javadoc documentation for the compiler."/>
-
- <target name="-jtreg" depends="jtreg-javac"/>
- <target name="jtreg" depends="-jtreg-nb" description="Run the jtreg tests for the compiler."/>
-
-</project>
--- a/langtools/make/netbeans/compiler/nbproject/project.xml Wed Jul 05 16:45:59 2017 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,108 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright 2007 Sun Microsystems, Inc. All Rights Reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
-
- - Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- - Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- - Neither the name of Sun Microsystems nor the names of its
- contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
- IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
--->
-
-<!DOCTYPE project [
- <!ENTITY standard-ide-actions SYSTEM "../../common/standard-ide-actions.ent">
- <!ENTITY standard-context-menu-items SYSTEM "../../common/standard-context-menu-items.ent">
-]>
-<project xmlns="http://www.netbeans.org/ns/project/1">
- <type>org.netbeans.modules.ant.freeform</type>
- <configuration>
- <general-data xmlns="http://www.netbeans.org/ns/freeform-project/1">
- <!-- Do not use Project Properties customizer when editing this file manually. -->
- <name>compiler</name>
- <properties>
- <property name="root">../../..</property>
- </properties>
- <folders>
- <source-folder>
- <label>langtools</label>
- <location>${root}</location>
- </source-folder>
- <source-folder>
- <label>Source files</label>
- <type>java</type>
- <location>${root}/src/share/classes</location>
- </source-folder>
- <source-folder>
- <label>Test files</label>
- <type>tests</type>
- <location>${root}/test</location>
- </source-folder>
- <source-folder>
- <label>Build files</label>
- <type>build</type>
- <location>${root}/make</location>
- </source-folder>
- </folders>
- <ide-actions>
- &standard-ide-actions;
- </ide-actions>
- <export>
- <type>folder</type>
- <location>${root}/build/classes</location>
- <build-target>build</build-target>
- </export>
- <view>
- <items>
- <source-folder style="tree">
- <label>Source files</label>
- <location>${root}/src/share/classes</location>
- </source-folder>
- <source-folder style="tree">
- <label>Test files</label>
- <location>${root}/test</location>
- </source-folder>
- <source-folder style="tree">
- <label>Build files</label>
- <location>${root}/make</location>
- </source-folder>
- <source-file>
- <label>README</label>
- <location>README</location>
- </source-file>
- </items>
- <context-menu>
- &standard-context-menu-items;
- </context-menu>
- </view>
- <subprojects/>
- </general-data>
- <java-data xmlns="http://www.netbeans.org/ns/freeform-project-java/2">
- <compilation-unit>
- <package-root>${root}/src/share/classes</package-root>
- <built-to>${root}/build/classes</built-to>
- <source-level>1.5</source-level> <!-- FIXME -->
- </compilation-unit>
- </java-data>
- </configuration>
-</project>
--- a/langtools/make/netbeans/doclets/README Wed Jul 05 16:45:59 2017 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,16 +0,0 @@
-"doclets" project README.
-
-This project is for working on the standard doclets used by
-the documentation tool (javadoc) in the OpenJDK langtools component.
-
-The doclets are invoked as part of the documentation tool (javadoc).
-Using this project, you can also browse javadoc and any tools in langtools.
-If you build the doclets, javadoc will be built automatically as well,
-if necessary.
-
-The doclets are found in com.sun.tools.doclets.
-
-NetBeans 5.0 or later is required and sufficient to use this
-project, and others in the OpenJDK langtools component.
-This is different from other projects in OpenJDK, which
-require version 6.0 or later.
--- a/langtools/make/netbeans/doclets/build.xml Wed Jul 05 16:45:59 2017 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,60 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright 2007 Sun Microsystems, Inc. All Rights Reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
-
- - Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- - Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- - Neither the name of Sun Microsystems nor the names of its
- contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
- IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
--->
-
-<!--
- Build file for the standard doclets used by documentation tool, javadoc.
- - The basic functionality of the build is imported from make/build.xml.
- - Additional support for NetBeans actions is imported from
- make/netbeans/common/shared.xml.
- - This file gives the final customizations.
--->
-
-<project name="doclets" default="build" basedir="../../..">
- <property name="tool.name" value="doclets"/>
-
- <import file="../common/shared.xml"/>
-
- <!--
- Alias the following imported targets, giving descriptions as appropriate.
- NetBeans will emphasize targets with descriptions in the Ant Targets list,
- and will display the targets in the context menu (under Run Target) for
- this file in the Projects viewer.
- -->
-
- <target name="build" depends="build-doclets" description="Build the standard doclets for the documentation tool, javadoc."/>
-
- <target name="debug" depends="-debug-nb" description="Debug the standard doclets for the documentation tool, javadoc."/>
-
- <target name="-jtreg" depends="jtreg-doclets"/>
- <target name="jtreg" depends="-jtreg-nb" description="Run the jtreg tests for the standard doclets used by the documentation tool, javadoc."/>
-
-</project>
--- a/langtools/make/netbeans/doclets/nbproject/project.xml Wed Jul 05 16:45:59 2017 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,108 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright 2007 Sun Microsystems, Inc. All Rights Reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
-
- - Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- - Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- - Neither the name of Sun Microsystems nor the names of its
- contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
- IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
--->
-
-<!DOCTYPE project [
- <!ENTITY standard-ide-actions-no-javadoc SYSTEM "../../common/standard-ide-actions-no-javadoc.ent">
- <!ENTITY standard-context-menu-items-no-javadoc SYSTEM "../../common/standard-context-menu-items-no-javadoc.ent">
-]>
-<project xmlns="http://www.netbeans.org/ns/project/1">
- <type>org.netbeans.modules.ant.freeform</type>
- <configuration>
- <general-data xmlns="http://www.netbeans.org/ns/freeform-project/1">
- <!-- Do not use Project Properties customizer when editing this file manually. -->
- <name>doclets</name>
- <properties>
- <property name="root">../../..</property>
- </properties>
- <folders>
- <source-folder>
- <label>langtools</label>
- <location>${root}</location>
- </source-folder>
- <source-folder>
- <label>Source files</label>
- <type>java</type>
- <location>${root}/src/share/classes</location>
- </source-folder>
- <source-folder>
- <label>Test files</label>
- <type>tests</type>
- <location>${root}/test</location>
- </source-folder>
- <source-folder>
- <label>Build files</label>
- <type>build</type>
- <location>${root}/make</location>
- </source-folder>
- </folders>
- <ide-actions>
- &standard-ide-actions-no-javadoc;
- </ide-actions>
- <export>
- <type>folder</type>
- <location>${root}/build/classes</location>
- <build-target>build</build-target>
- </export>
- <view>
- <items>
- <source-folder style="tree">
- <label>Source files</label>
- <location>${root}/src/share/classes</location>
- </source-folder>
- <source-folder style="tree">
- <label>Test files</label>
- <location>${root}/test</location>
- </source-folder>
- <source-folder style="tree">
- <label>Build files</label>
- <location>${root}/make</location>
- </source-folder>
- <source-file>
- <label>README</label>
- <location>README</location>
- </source-file>
- </items>
- <context-menu>
- &standard-context-menu-items-no-javadoc;
- </context-menu>
- </view>
- <subprojects/>
- </general-data>
- <java-data xmlns="http://www.netbeans.org/ns/freeform-project-java/2">
- <compilation-unit>
- <package-root>${root}/src/share/classes</package-root>
- <built-to>${root}/build/classes</built-to>
- <source-level>1.5</source-level> <!-- FIXME -->
- </compilation-unit>
- </java-data>
- </configuration>
-</project>
--- a/langtools/make/netbeans/javadoc/README Wed Jul 05 16:45:59 2017 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,16 +0,0 @@
-"javadoc" project README.
-
-This project is for working on the documentation tool (javadoc)
-in the OpenJDK langtools component.
-
-javadoc is built on top of the compiler (javac). Using this
-project, you can also browse javac and any tools in langtools.
-If you build javadoc, javac will be built automatically as well,
-if necessary.
-
-The main class for the tool is com.sun.tools.javadoc.Main.
-
-NetBeans 5.0 or later is required and sufficient to use this
-project, and others in the OpenJDK langtools component.
-This is different from other projects in OpenJDK, which
-require version 6.0 or later.
--- a/langtools/make/netbeans/javadoc/build.xml Wed Jul 05 16:45:59 2017 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,63 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright 2007 Sun Microsystems, Inc. All Rights Reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
-
- - Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- - Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- - Neither the name of Sun Microsystems nor the names of its
- contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
- IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
--->
-
-<!--
- Build file for the documentation tool, javadoc.
- - The basic functionality of the build is imported from make/build.xml.
- - Additional support for NetBeans actions is imported from
- make/netbeans/common/shared.xml.
- - This file gives the final customizations.
--->
-
-<project name="javadoc" default="build" basedir="../../..">
- <property name="tool.name" value="javadoc"/>
-
- <import file="../common/shared.xml"/>
-
- <!--
- Alias the following imported targets, giving descriptions as appropriate.
- NetBeans will emphasize targets with descriptions in the Ant Targets list,
- and will display the targets in the context menu (under Run Target) for
- this file in the Projects viewer.
- -->
-
- <target name="build" depends="build-javadoc" description="Build the documentation tool, javadoc."/>
-
- <target name="debug" depends="-debug-nb" description="Debug the documentation tool, javadoc."/>
-
- <target name="-javadoc" depends="javadoc-javadoc"/>
- <target name="javadoc" depends="-javadoc-nb" description="Generate javadoc documentation for the Doclet API."/>
-
- <target name="-jtreg" depends="jtreg-javadoc"/>
- <target name="jtreg" depends="-jtreg-nb" description="Run the jtreg tests for the documentation tool, javadoc."/>
-
-</project>
--- a/langtools/make/netbeans/javadoc/nbproject/project.xml Wed Jul 05 16:45:59 2017 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,108 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright 2007 Sun Microsystems, Inc. All Rights Reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
-
- - Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- - Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- - Neither the name of Sun Microsystems nor the names of its
- contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
- IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
--->
-
-<!DOCTYPE project [
- <!ENTITY standard-ide-actions SYSTEM "../../common/standard-ide-actions.ent">
- <!ENTITY standard-context-menu-items SYSTEM "../../common/standard-context-menu-items.ent">
-]>
-<project xmlns="http://www.netbeans.org/ns/project/1">
- <type>org.netbeans.modules.ant.freeform</type>
- <configuration>
- <general-data xmlns="http://www.netbeans.org/ns/freeform-project/1">
- <!-- Do not use Project Properties customizer when editing this file manually. -->
- <name>javadoc</name>
- <properties>
- <property name="root">../../..</property>
- </properties>
- <folders>
- <source-folder>
- <label>langtools</label>
- <location>${root}</location>
- </source-folder>
- <source-folder>
- <label>Source files</label>
- <type>java</type>
- <location>${root}/src/share/classes</location>
- </source-folder>
- <source-folder>
- <label>Test files</label>
- <type>tests</type>
- <location>${root}/test</location>
- </source-folder>
- <source-folder>
- <label>Build files</label>
- <type>build</type>
- <location>${root}/make</location>
- </source-folder>
- </folders>
- <ide-actions>
- &standard-ide-actions;
- </ide-actions>
- <export>
- <type>folder</type>
- <location>${root}/build/classes</location>
- <build-target>build</build-target>
- </export>
- <view>
- <items>
- <source-folder style="tree">
- <label>Source files</label>
- <location>${root}/src/share/classes</location>
- </source-folder>
- <source-folder style="tree">
- <label>Test files</label>
- <location>${root}/test</location>
- </source-folder>
- <source-folder style="tree">
- <label>Build files</label>
- <location>${root}/make</location>
- </source-folder>
- <source-file>
- <label>README</label>
- <location>README</location>
- </source-file>
- </items>
- <context-menu>
- &standard-context-menu-items;
- </context-menu>
- </view>
- <subprojects/>
- </general-data>
- <java-data xmlns="http://www.netbeans.org/ns/freeform-project-java/2">
- <compilation-unit>
- <package-root>${root}/src/share/classes</package-root>
- <built-to>${root}/build/classes</built-to>
- <source-level>1.5</source-level> <!-- FIXME -->
- </compilation-unit>
- </java-data>
- </configuration>
-</project>
--- a/langtools/make/netbeans/javah/README Wed Jul 05 16:45:59 2017 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,21 +0,0 @@
-"javah" project README.
-
-This project is for working on the native header tool (javah)
-in the OpenJDK langtools component.
-
-javah is built on top of the documentation tool (javadoc). Using this
-project, you can also browse javadoc and any other tools in langtools.
-If you build javah, javadoc will be built automatically as well,
-if necessary.
-
-javah is in the process of being converted so that it runs directly on
-top of the compiler, javac, using the annotation processing API,
-instead of on top of the documentation tool, javadoc, using the
-Doclet API.
-
-The main class for the tool is com.sun.tools.javah.Main.
-
-NetBeans 5.0 or later is required and sufficient to use this
-project, and others in the OpenJDK langtools component.
-This is different from other projects in OpenJDK, which
-require version 6.0 or later.
--- a/langtools/make/netbeans/javah/build.xml Wed Jul 05 16:45:59 2017 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,60 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright 2007 Sun Microsystems, Inc. All Rights Reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
-
- - Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- - Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- - Neither the name of Sun Microsystems nor the names of its
- contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
- IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
--->
-
-<!--
- Build file for the native header tool, javah.
- - The basic functionality of the build is imported from make/build.xml.
- - Additional support for NetBeans actions is imported from
- make/netbeans/common/shared.xml.
- - This file gives the final customizations.
--->
-
-<project name="javah" default="build" basedir="../../..">
- <property name="tool.name" value="javah"/>
-
- <import file="../common/shared.xml"/>
-
- <!--
- Alias the following imported targets, giving descriptions as appropriate.
- NetBeans will emphasize targets with descriptions in the Ant Targets list,
- and will display the targets in the context menu (under Run Target) for
- this file in the Projects viewer.
- -->
-
- <target name="build" depends="build-javah" description="Build the native header tool, javah."/>
-
- <target name="debug" depends="-debug-nb" description="Debug the native header tool, javah."/>
-
- <target name="-jtreg" depends="jtreg-javah"/>
- <target name="jtreg" depends="-jtreg-nb" description="Run the jtreg tests for the native header tool, javah."/>
-
-</project>
--- a/langtools/make/netbeans/javah/nbproject/project.xml Wed Jul 05 16:45:59 2017 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,108 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright 2007 Sun Microsystems, Inc. All Rights Reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
-
- - Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- - Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- - Neither the name of Sun Microsystems nor the names of its
- contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
- IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
--->
-
-<!DOCTYPE project [
- <!ENTITY standard-ide-actions-no-javadoc SYSTEM "../../common/standard-ide-actions-no-javadoc.ent">
- <!ENTITY standard-context-menu-items-no-javadoc SYSTEM "../../common/standard-context-menu-items-no-javadoc.ent">
-]>
-<project xmlns="http://www.netbeans.org/ns/project/1">
- <type>org.netbeans.modules.ant.freeform</type>
- <configuration>
- <general-data xmlns="http://www.netbeans.org/ns/freeform-project/1">
- <!-- Do not use Project Properties customizer when editing this file manually. -->
- <name>javah</name>
- <properties>
- <property name="root">../../..</property>
- </properties>
- <folders>
- <source-folder>
- <label>langtools</label>
- <location>${root}</location>
- </source-folder>
- <source-folder>
- <label>Source files</label>
- <type>java</type>
- <location>${root}/src/share/classes</location>
- </source-folder>
- <source-folder>
- <label>Test files</label>
- <type>tests</type>
- <location>${root}/test</location>
- </source-folder>
- <source-folder>
- <label>Build files</label>
- <type>build</type>
- <location>${root}/make</location>
- </source-folder>
- </folders>
- <ide-actions>
- &standard-ide-actions-no-javadoc;
- </ide-actions>
- <export>
- <type>folder</type>
- <location>${root}/build/classes</location>
- <build-target>build</build-target>
- </export>
- <view>
- <items>
- <source-folder style="tree">
- <label>Source files</label>
- <location>${root}/src/share/classes</location>
- </source-folder>
- <source-folder style="tree">
- <label>Test files</label>
- <location>${root}/test</location>
- </source-folder>
- <source-folder style="tree">
- <label>Build files</label>
- <location>${root}/make</location>
- </source-folder>
- <source-file>
- <label>README</label>
- <location>README</location>
- </source-file>
- </items>
- <context-menu>
- &standard-context-menu-items-no-javadoc;
- </context-menu>
- </view>
- <subprojects/>
- </general-data>
- <java-data xmlns="http://www.netbeans.org/ns/freeform-project-java/2">
- <compilation-unit>
- <package-root>${root}/src/share/classes</package-root>
- <built-to>${root}/build/classes</built-to>
- <source-level>1.5</source-level> <!-- FIXME -->
- </compilation-unit>
- </java-data>
- </configuration>
-</project>
--- a/langtools/make/netbeans/javap/README Wed Jul 05 16:45:59 2017 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,11 +0,0 @@
-"javap" project README.
-
-This project is for working on the disassembler tool (javap)
-in the OpenJDK langtools component.
-
-The main class for the tool is sun.tools.javap.Main.
-
-NetBeans 5.0 or later is required and sufficient to use this
-project, and others in the OpenJDK langtools component.
-This is different from other projects in OpenJDK, which
-require version 6.0 or later.
--- a/langtools/make/netbeans/javap/build.xml Wed Jul 05 16:45:59 2017 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,60 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright 2007 Sun Microsystems, Inc. All Rights Reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
-
- - Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- - Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- - Neither the name of Sun Microsystems nor the names of its
- contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
- IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
--->
-
-<!--
- Build file for the disassembler tool, javap.
- - The basic functionality of the build is imported from make/build.xml.
- - Additional support for NetBeans actions is imported from
- make/netbeans/common/shared.xml.
- - This file gives the final customizations.
--->
-
-<project name="javap" default="build" basedir="../../..">
- <property name="tool.name" value="javap"/>
-
- <import file="../common/shared.xml"/>
-
- <!--
- Alias the following imported targets, giving descriptions as appropriate.
- NetBeans will emphasize targets with descriptions in the Ant Targets list,
- and will display the targets in the context menu (under Run Target) for
- this file in the Projects viewer.
- -->
-
- <target name="build" depends="build-javap" description="Build the disassembler tool, javap."/>
-
- <target name="debug" depends="-debug-nb" description="Debug the disassembler tool, javap."/>
-
- <target name="-jtreg" depends="jtreg-javap"/>
- <target name="jtreg" depends="-jtreg-nb" description="Run the jtreg tests for the disassembler tool, javap."/>
-
-</project>
--- a/langtools/make/netbeans/javap/nbproject/project.xml Wed Jul 05 16:45:59 2017 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,108 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright 2007 Sun Microsystems, Inc. All Rights Reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
-
- - Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- - Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- - Neither the name of Sun Microsystems nor the names of its
- contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
- IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
--->
-
-<!DOCTYPE project [
- <!ENTITY standard-ide-actions-no-javadoc SYSTEM "../../common/standard-ide-actions-no-javadoc.ent">
- <!ENTITY standard-context-menu-items-no-javadoc SYSTEM "../../common/standard-context-menu-items-no-javadoc.ent">
-]>
-<project xmlns="http://www.netbeans.org/ns/project/1">
- <type>org.netbeans.modules.ant.freeform</type>
- <configuration>
- <general-data xmlns="http://www.netbeans.org/ns/freeform-project/1">
- <!-- Do not use Project Properties customizer when editing this file manually. -->
- <name>javap</name>
- <properties>
- <property name="root">../../..</property>
- </properties>
- <folders>
- <source-folder>
- <label>langtools</label>
- <location>${root}</location>
- </source-folder>
- <source-folder>
- <label>Source files</label>
- <type>java</type>
- <location>${root}/src/share/classes</location>
- </source-folder>
- <source-folder>
- <label>Test files</label>
- <type>tests</type>
- <location>${root}/test</location>
- </source-folder>
- <source-folder>
- <label>Build files</label>
- <type>build</type>
- <location>${root}/make</location>
- </source-folder>
- </folders>
- <ide-actions>
- &standard-ide-actions-no-javadoc;
- </ide-actions>
- <export>
- <type>folder</type>
- <location>${root}/build/classes</location>
- <build-target>build</build-target>
- </export>
- <view>
- <items>
- <source-folder style="tree">
- <label>Source files</label>
- <location>${root}/src/share/classes</location>
- </source-folder>
- <source-folder style="tree">
- <label>Test files</label>
- <location>${root}/test</location>
- </source-folder>
- <source-folder style="tree">
- <label>Build files</label>
- <location>${root}/make</location>
- </source-folder>
- <source-file>
- <label>README</label>
- <location>README</location>
- </source-file>
- </items>
- <context-menu>
- &standard-context-menu-items-no-javadoc;
- </context-menu>
- </view>
- <subprojects/>
- </general-data>
- <java-data xmlns="http://www.netbeans.org/ns/freeform-project-java/2">
- <compilation-unit>
- <package-root>${root}/src/share/classes</package-root>
- <built-to>${root}/build/classes</built-to>
- <source-level>1.5</source-level> <!-- FIXME -->
- </compilation-unit>
- </java-data>
- </configuration>
-</project>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/make/netbeans/langtools/build.xml Sat Jan 24 16:35:52 2009 -0800
@@ -0,0 +1,279 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2007-2008 Sun Microsystems, Inc. All Rights Reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+
+ - Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ - Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ - Neither the name of Sun Microsystems nor the names of its
+ contributors may be used to endorse or promote products derived
+ from this software without specific prior written permission.
+
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
+ IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+-->
+
+<project name="langtools-netbeans" default="build" basedir="../../..">
+
+ <property name="langtools.properties"
+ location="make/netbeans/langtools/nbproject/private/langtools.properties"/>
+
+ <!--
+ Instead of importing the main build file, we could call it when needed.
+ That would reduce the list of Ant targets that get displayed for this
+ file, but it also complicates the interface between the project build
+ file and the main build file. For example, some imported targets
+ would have to be reclared, properties would have to be restructured,
+ and it would be harder to run results (e.g. in properties) from nested
+ targets.
+ -->
+ <import file="../../build.xml"/>
+
+ <!-- Build project. (action: build; F11)
+ If langtools.tool.name is set, then just build that tool; otherwise
+ build all tools.
+ -->
+
+ <target name="build" depends="-get-tool-if-set,-build-tool,-build-all"
+ description="Build one or all langtools tools"
+ />
+
+ <target name="-build-tool" if="langtools.tool.name">
+ <echo level="info" message="Building ${langtools.tool.name}"/>
+ <echo level="verbose" message="(Unset langtools.tool.name to build all tools)"/>
+ <antcall target="build-${langtools.tool.name}"/>
+ </target>
+
+ <target name="-build-all" unless="langtools.tool.name">
+ <echo level="info" message="Building all tools"/>
+ <echo level="verbose" message="(Set langtools.tool.name to build a single tool)"/>
+ <antcall target="build-all-tools"/>
+ </target>
+
+ <!-- Compile a single file. (action: compile.single; F9) -->
+
+ <target name="compile-single" depends="build-bootstrap-javac">
+ <fail unless="includes">Must set property 'includes'</fail>
+ <javac fork="true" executable="${build.bootstrap.dir}/bin/javac"
+ srcdir="${src.classes.dir}"
+ destdir="${build.classes.dir}"
+ includes="${includes}"
+ sourcepath=""
+ includeAntRuntime="no"
+ target="${javac.target}"
+ debug="${javac.debug}"
+ debuglevel="${javac.debuglevel}"/>
+ </target>
+
+ <!-- Run tool. (action: run; F6)
+ Use langtools.tool.name and langtools.tool.args properties if set; otherwise prompt
+ the user.
+ -->
+
+ <target name="run" depends="-check-target.java.home,build,-def-run,-get-tool-and-args"
+ description="run tool">
+ <echo level="info" message="Run ${langtools.tool.name} with args ${langtools.tool.args}"/>
+ <run mainclass="com.sun.tools.${langtools.tool.name}.Main" args="${langtools.tool.args}"/>
+ </target>
+
+ <!-- Run a selected class. (action: run.single; shift-F6) -->
+
+ <target name="run-single" depends="-check-target.java.home,-def-run">
+ <fail unless="run.classname">Must set property 'run.classname' </fail>
+ <echo level="info" message="run ${run.classname}"/>
+ <run mainclass="${run.classname}" args=""/>
+ </target>
+
+ <!-- Test project, and display results if tests failed. (action: test; Alt-F6)
+ If langtools.tool.name is set, then just test that tool; otherwise
+ test all tools.
+ -->
+
+ <target name="jtreg" depends="-get-tool-if-set,-jtreg-tool,-jtreg-all"
+ description="Test one or all langtools tools"
+ />
+
+ <target name="-jtreg-tool" if="langtools.tool.name">
+ <echo level="info" message="Testing ${langtools.tool.name}"/>
+ <echo level="verbose" message="(Unset langtools.tool.name to test all tools)"/>
+ <antcall>
+ <target name="jtreg-${langtools.tool.name}"/>
+ <target name="-show-jtreg"/>
+ </antcall>
+ </target>
+
+ <target name="-jtreg-all" unless="langtools.tool.name">
+ <echo level="info" message="Testing all tools"/>
+ <echo level="verbose" message="(Set langtools.tool.name to test a single tool)"/>
+ <antcall>
+ <target name="langtools.jtreg"/>
+ <target name="-show-jtreg"/>
+ </antcall>
+ </target>
+
+ <target name="-show-jtreg" if="netbeans.home" unless="jtreg.passed">
+ <nbbrowse file="${jtreg.report}/report.html"/>
+ <fail>Some tests failed; see report for details.</fail>
+ </target>
+
+ <!-- Debug tool in NetBeans. -->
+
+ <target name="debug" depends="-check-target.java.home,-def-run,-def-start-debugger,-get-tool-and-args,build" if="netbeans.home">
+ <echo level="info" message="Debug ${langtools.tool.name} with args ${langtools.tool.args}"/>
+ <start-debugger/>
+ <run mainclass="com.sun.tools.${langtools.tool.name}.Main" args="${langtools.tool.args}" jpda.jvmargs="${jpda.jvmargs}"/>
+ </target>
+
+ <!-- Debug a selected class . -->
+ <target name="debug-single" depends="-check-target.java.home,-def-start-debugger,-def-run">
+ <fail unless="debug.classname">Must set property 'debug.classname'</fail>
+ <start-debugger/>
+ <run mainclass="${debug.classname}" default.args="" jpda.jvmargs="${jpda.jvmargs}"/>
+ </target>
+
+ <!-- Debug a jtreg test. -->
+ <target name="debug-jtreg" depends="-check-target.java.home,-def-start-debugger,-def-jtreg">
+ <fail unless="jtreg.tests">Must set property 'jtreg.tests'</fail>
+ <start-debugger/>
+ <jtreg-tool name="debug" samevm="false" tests="${jtreg.tests}" jpda.jvmargs="${jpda.jvmargs}"/>
+ </target>
+
+ <!-- Update a class being debugged. -->
+
+ <target name="debug-fix" if="langtools.tool.name">
+ <fail unless="class">Must set property 'class'
+ </fail>
+ <antcall target="compile-single">
+ <param name="includes" value="${class}.java"/>
+ </antcall>
+ <nbjpdareload>
+ <fileset dir="${build.classes.dir}">
+ <include name="${class}.class"/>
+ </fileset>
+ </nbjpdareload>
+ </target>
+
+ <!-- Generate javadoc for one or all tools. (action: javadoc; Alt-F6)
+ If langtools.tool.name is set, then just test that tool; otherwise
+ test all tools.
+ -->
+
+ <target name="javadoc" depends="-javadoc-tool,-javadoc-all"
+ description="Generate javadoc for one or all langtools tools"
+ />
+
+ <target name="-javadoc-tool" if="langtools.tool.name">
+ <echo level="info" message="Generate javadoc for ${langtools.tool.name}"/>
+ <echo level="verbose" message="(Unset langtools.tool.name to generate javadoc for all tools)"/>
+ <antcall>
+ <target name="javadoc-${langtools.tool.name}"/>
+ <target name="-show-javadoc"/>
+ </antcall>
+ </target>
+
+ <target name="-javadoc-all" unless="langtools.tool.name">
+ <echo level="info" message="Generate javadoc for all tools"/>
+ <echo level="verbose" message="(Set langtools.tool.name to generate javadoc for a single tool)"/>
+ <antcall>
+ <target name="langtools.javadoc"/>
+ <target name="-show-javadoc"/>
+ </antcall>
+ </target>
+
+ <target name="-show-javadoc" if="netbeans.home">
+ <!-- what if doing javadoc for all? -->
+ <nbbrowse file="${build.javadoc.dir}/${langtools.tool.name}/index.html"/>
+ </target>
+
+ <!-- Prompt for values. -->
+
+ <target name="-get-tool-if-set" depends="-def-select-tool">
+ <select-tool
+ toolproperty="langtools.tool.name"
+ propertyfile="${langtools.properties}"
+ askIfUnset="false"
+ />
+ </target>
+
+ <target name="-get-tool-and-args" depends="-def-select-tool">
+ <select-tool
+ toolproperty="langtools.tool.name"
+ argsproperty="langtools.tool.args"
+ propertyfile="${langtools.properties}"
+ askIfUnset="true"
+ />
+ </target>
+
+ <!-- Macro to run a tool or selected class - used by run* and debug* tasks -->
+ <target name="-def-run">
+ <macrodef name="run">
+ <attribute name="mainclass"/>
+ <attribute name="args" default=""/>
+ <attribute name="jpda.jvmargs" default=""/>
+ <sequential>
+ <java fork="true" jvm="${target.java}" classname="@{mainclass}">
+ <jvmarg line="-Xbootclasspath/p:${build.classes.dir}"/>
+ <jvmarg line="@{jpda.jvmargs}"/>
+ <arg line="@{args}"/>
+ </java>
+ </sequential>
+ </macrodef>
+ </target>
+
+ <!-- Macro to start the debugger and set a property containg the args needed by the run task -->
+ <target name="-def-start-debugger" if="netbeans.home">
+ <macrodef name="start-debugger">
+ <attribute name="jpda.jvmargs.property" default="jpda.jvmargs"/>
+ <sequential>
+ <nbjpdastart name="${ant.project.name}" addressproperty="jpda.address" transport="dt_socket">
+ <bootclasspath>
+ <pathelement location="${build.classes.dir}"/>
+ <pathelement location="${target.java.home}/jre/lib/rt.jar"/>
+ </bootclasspath>
+ <sourcepath>
+ <pathelement location="${src.classes.dir}"/>
+ </sourcepath>
+ </nbjpdastart>
+ <property
+ name="@{jpda.jvmargs.property}"
+ value="-Xdebug -Xnoagent -Djava.compiler=none -Xrunjdwp:transport=dt_socket,address=${jpda.address}"
+ />
+ </sequential>
+ </macrodef>
+ </target>
+
+ <target name="-def-select-tool">
+ <mkdir dir="${build.toolclasses.dir}"/>
+ <javac srcdir="${make.tools.dir}/SelectTool"
+ destdir="${build.toolclasses.dir}/"
+ classpath="${ant.home}/lib/ant.jar"
+ debug="${javac.debug}"
+ debuglevel="${javac.debuglevel}">
+ <compilerarg line="-Xlint"/>
+ </javac>
+ <taskdef name="select-tool"
+ classname="SelectToolTask"
+ classpath="${build.toolclasses.dir}/"/>
+ </target>
+
+ <target name="select-tool" depends="-def-select-tool">
+ <select-tool propertyfile="${langtools.properties}"/>
+ </target>
+</project>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/make/netbeans/langtools/nbproject/project.xml Sat Jan 24 16:35:52 2009 -0800
@@ -0,0 +1,108 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2007-2008 Sun Microsystems, Inc. All Rights Reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+
+ - Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ - Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ - Neither the name of Sun Microsystems nor the names of its
+ contributors may be used to endorse or promote products derived
+ from this software without specific prior written permission.
+
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
+ IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+-->
+
+<!DOCTYPE project [
+ <!ENTITY standard-ide-actions SYSTEM "standard-ide-actions.ent">
+ <!ENTITY standard-context-menu-items SYSTEM "standard-context-menu-items.ent">
+]>
+<project xmlns="http://www.netbeans.org/ns/project/1">
+ <type>org.netbeans.modules.ant.freeform</type>
+ <configuration>
+ <general-data xmlns="http://www.netbeans.org/ns/freeform-project/1">
+ <!-- Do not use Project Properties customizer when editing this file manually. -->
+ <name>langtools</name>
+ <properties>
+ <property name="root">../../..</property>
+ </properties>
+ <folders>
+ <source-folder>
+ <label>langtools</label>
+ <location>${root}</location>
+ </source-folder>
+ <source-folder>
+ <label>Source files</label>
+ <type>java</type>
+ <location>${root}/src/share/classes</location>
+ </source-folder>
+ <source-folder>
+ <label>Test files</label>
+ <type>tests</type>
+ <location>${root}/test</location>
+ </source-folder>
+ <source-folder>
+ <label>Build files</label>
+ <type>build</type>
+ <location>${root}/make</location>
+ </source-folder>
+ </folders>
+ <ide-actions>
+ &standard-ide-actions;
+ </ide-actions>
+ <export>
+ <type>folder</type>
+ <location>${root}/build/classes</location>
+ <build-target>build</build-target>
+ </export>
+ <view>
+ <items>
+ <source-folder style="tree">
+ <label>Source files</label>
+ <location>${root}/src/share/classes</location>
+ </source-folder>
+ <source-folder style="tree">
+ <label>Test files</label>
+ <location>${root}/test</location>
+ </source-folder>
+ <source-folder style="tree">
+ <label>Build files</label>
+ <location>${root}/make</location>
+ </source-folder>
+ <source-file>
+ <label>README</label>
+ <location>README</location>
+ </source-file>
+ </items>
+ <context-menu>
+ &standard-context-menu-items;
+ </context-menu>
+ </view>
+ <subprojects/>
+ </general-data>
+ <java-data xmlns="http://www.netbeans.org/ns/freeform-project-java/2">
+ <compilation-unit>
+ <package-root>${root}/src/share/classes</package-root>
+ <built-to>${root}/build/classes</built-to>
+ <source-level>1.5</source-level> <!-- FIXME -->
+ </compilation-unit>
+ </java-data>
+ </configuration>
+</project>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/make/netbeans/langtools/nbproject/standard-context-menu-items.ent Sat Jan 24 16:35:52 2009 -0800
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2007-2008 Sun Microsystems, Inc. All Rights Reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+
+ - Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ - Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ - Neither the name of Sun Microsystems nor the names of its
+ contributors may be used to endorse or promote products derived
+ from this software without specific prior written permission.
+
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
+ IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+-->
+
+<!--
+ This file defines the actions that will appear on the project's context
+ menu, in the Projects viewer.
+ It is normally included as an entity into a project's project.xml file.
+
+ For information on these actions, see
+ - NetBeans: Setting Up Projects
+ at http://www.netbeans.org/kb/55/using-netbeans/project_setup.html
+ - NetBeans: Advanced Freeform Project Configuration
+ at http://www.netbeans.org/kb/41/freeform-config.html
+-->
+
+<ide-action name="select-tool"/>
+
+<separator/>
+
+<ide-action name="build"/>
+<ide-action name="rebuild"/>
+<ide-action name="clean"/>
+<ide-action name="javadoc"/>
+
+<separator/>
+
+<ide-action name="run"/>
+<ide-action name="debug"/>
+
+<separator/>
+
+<ide-action name="test"/>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/make/netbeans/langtools/nbproject/standard-ide-actions.ent Sat Jan 24 16:35:52 2009 -0800
@@ -0,0 +1,173 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2007-2008 Sun Microsystems, Inc. All Rights Reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+
+ - Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ - Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ - Neither the name of Sun Microsystems nor the names of its
+ contributors may be used to endorse or promote products derived
+ from this software without specific prior written permission.
+
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
+ IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+-->
+
+<!--
+ This file defines the standard actions accepted by langtools projects.
+ It is normally included as an entity into a project's project.xml file.
+
+ For information on these actions, see
+ - NetBeans: Setting Up Projects
+ at http://www.netbeans.org/kb/55/using-netbeans/project_setup.html
+ - NetBeans: Advanced Freeform Project Configuration
+ at http://www.netbeans.org/kb/41/freeform-config.html
+-->
+
+<action name="build">
+ <target>build</target>
+</action>
+
+<action name="clean">
+ <target>clean</target>
+</action>
+
+<action name="rebuild">
+ <target>clean</target>
+ <target>build</target>
+</action>
+
+<action name="compile.single">
+ <target>compile-single</target>
+ <property name="srcdir">${root}/src/share/classes</property>
+ <context>
+ <property>includes</property>
+ <folder>${root}/src/share/classes</folder>
+ <pattern>\.java$</pattern>
+ <format>relative-path</format>
+ <arity>
+ <separated-files>,</separated-files>
+ </arity>
+ </context>
+</action>
+
+<action name="run">
+ <target>run</target>
+</action>
+
+<action name="run.single">
+ <target>run-single</target>
+ <context>
+ <property>run.classname</property>
+ <folder>${root}/src/share/classes</folder>
+ <pattern>\.java$</pattern>
+ <format>java-name</format>
+ <arity>
+ <one-file-only/>
+ </arity>
+ </context>
+</action>
+
+<!--
+ Note: NetBeans does not appear to support context menu items
+ on shell scripts :-(
+-->
+
+<action name="run.single">
+ <target>jtreg</target>
+ <context>
+ <property>jtreg.tests</property>
+ <folder>${root}/test</folder>
+ <pattern>\.(java|sh)$</pattern>
+ <format>relative-path</format>
+ <arity>
+ <separated-files>,</separated-files>
+ </arity>
+ </context>
+</action>
+
+<action name="test">
+ <target>jtreg</target>
+</action>
+
+<action name="debug">
+ <target>debug</target>
+</action>
+
+<action name="debug.single">
+ <target>debug-single</target>
+ <context>
+ <property>debug.classname</property>
+ <folder>${root}/src/share/classes</folder>
+ <pattern>\.java$</pattern>
+ <format>java-name</format>
+ <arity>
+ <one-file-only/>
+ </arity>
+ </context>
+</action>
+
+<!--
+ Note: NetBeans does not appear to support context menu items
+ on shell scripts :-(
+-->
+
+<action name="debug.single">
+ <target>debug-jtreg</target>
+ <context>
+ <property>jtreg.tests</property>
+ <folder>${root}/test</folder>
+ <pattern>\.(java|sh)$</pattern>
+ <format>relative-path</format>
+ <arity>
+ <one-file-only/>
+ </arity>
+ </context>
+</action>
+
+<action name="debug.fix">
+ <target>debug-fix</target>
+ <property name="srcdir">${root}/src/share/classes</property>
+ <context>
+ <property>class</property>
+ <folder>${root}/src/share/classes</folder>
+ <pattern>\.java$</pattern>
+ <format>relative-path-noext</format>
+ <arity>
+ <one-file-only/>
+ </arity>
+ </context>
+</action>
+
+<action name="javadoc">
+ <target>javadoc</target>
+</action>
+
+<action name="select-tool">
+ <target>select-tool</target>
+</action>
+
+<action name="test-select-tool-1">
+ <target>test-select-tool-1</target>
+</action>
+
+<action name="test-select-tool-2">
+ <target>test-select-tool-2</target>
+</action>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/make/tools/SelectTool/SelectToolTask.java Sat Jan 24 16:35:52 2009 -0800
@@ -0,0 +1,284 @@
+/*
+ * Copyright 2008 Sun Microsystems, Inc. All Rights Reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+import java.awt.GridBagConstraints;
+import java.awt.GridBagLayout;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.FocusEvent;
+import java.awt.event.FocusListener;
+import java.awt.event.ItemEvent;
+import java.awt.event.ItemListener;
+import java.io.BufferedReader;
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileReader;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.io.Reader;
+import java.io.Writer;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Properties;
+import javax.swing.JButton;
+import javax.swing.JCheckBox;
+import javax.swing.JComboBox;
+import javax.swing.JDialog;
+import javax.swing.JLabel;
+import javax.swing.JOptionPane;
+import javax.swing.JPanel;
+import javax.swing.JTextField;
+
+import javax.swing.SwingUtilities;
+import org.apache.tools.ant.BuildException;
+import org.apache.tools.ant.Project;
+import org.apache.tools.ant.Task;
+
+/**
+ * Task to allow the user to control langtools tools built when using NetBeans.
+ *
+ * There are two primary modes.
+ * 1) Property mode. In this mode, property names are provided to get values
+ * that may be specified by the user, either directly in a GUI dialog, or
+ * read from a properties file. If the GUI dialog is invoked, values may
+ * optionally be set for future use.
+ * 2) Setup mode. In this mode, no property names are provided, and the GUI
+ * is invoked to allow the user to set or reset values for use in property mode.
+ */
+public class SelectToolTask extends Task {
+ /**
+ * Set the location of the private properties file used to keep the retain
+ * user preferences for this repository.
+ */
+ public void setPropertyFile(File propertyFile) {
+ this.propertyFile = propertyFile;
+ }
+
+ /**
+ * Set the name of the property which will be set to the name of the
+ * selected tool, if any. If no tool is selected, the property will
+ * remain unset.
+ */
+ public void setToolProperty(String toolProperty) {
+ this.toolProperty = toolProperty;
+ }
+
+ /**
+ * Set the name of the property which will be set to the execution args of the
+ * selected tool, if any. The args default to an empty string.
+ */
+ public void setArgsProperty(String argsProperty) {
+ this.argsProperty = argsProperty;
+ }
+
+ /**
+ * Specify whether or not to pop up a dialog if the user has not specified
+ * a default value for a property.
+ */
+ public void setAskIfUnset(boolean askIfUnset) {
+ this.askIfUnset = askIfUnset;
+ }
+
+ @Override
+ public void execute() {
+ Project p = getProject();
+
+ Properties props = readProperties(propertyFile);
+ toolName = props.getProperty("tool.name");
+ if (toolName != null) {
+ toolArgs = props.getProperty(toolName + ".args", "");
+ }
+
+ if (toolProperty == null ||
+ askIfUnset && (toolName == null
+ || (argsProperty != null && toolArgs == null))) {
+ showGUI(props);
+ }
+
+ // finally, return required values, if any
+ if (toolProperty != null && !(toolName == null || toolName.equals(""))) {
+ p.setProperty(toolProperty, toolName);
+
+ if (argsProperty != null && toolArgs != null)
+ p.setProperty(argsProperty, toolArgs);
+ }
+ }
+
+ void showGUI(Properties fileProps) {
+ Properties guiProps = new Properties(fileProps);
+ JOptionPane p = createPane(guiProps);
+ p.createDialog("Select Tool").setVisible(true);
+
+ toolName = (String) toolChoice.getSelectedItem();
+ toolArgs = argsField.getText();
+
+ if (defaultCheck.isSelected()) {
+ if (toolName.equals("")) {
+ fileProps.remove("tool.name");
+ } else {
+ fileProps.put("tool.name", toolName);
+ fileProps.put(toolName + ".args", toolArgs);
+ }
+ writeProperties(propertyFile, fileProps);
+ }
+ }
+
+ JOptionPane createPane(final Properties props) {
+ JPanel body = new JPanel(new GridBagLayout());
+ GridBagConstraints lc = new GridBagConstraints();
+ lc.insets.right = 10;
+ lc.insets.bottom = 3;
+ GridBagConstraints fc = new GridBagConstraints();
+ fc.anchor = GridBagConstraints.WEST;
+ fc.gridx = 1;
+ fc.gridwidth = GridBagConstraints.REMAINDER;
+ fc.insets.bottom = 3;
+
+ JLabel toolLabel = new JLabel("Tool:");
+ body.add(toolLabel, lc);
+ String[] toolChoices = { "apt", "javac", "javadoc", "javah", "javap" };
+ if (true || toolProperty == null) {
+ // include empty value in setup mode
+ List<String> l = new ArrayList<String>(Arrays.asList(toolChoices));
+ l.add(0, "");
+ toolChoices = l.toArray(new String[l.size()]);
+ }
+ toolChoice = new JComboBox(toolChoices);
+ if (toolName != null)
+ toolChoice.setSelectedItem(toolName);
+ toolChoice.addItemListener(new ItemListener() {
+ public void itemStateChanged(ItemEvent e) {
+ String tn = (String) e.getItem();
+ argsField.setText(getDefaultArgsForTool(props, tn));
+ if (toolProperty != null)
+ okButton.setEnabled(!tn.equals(""));
+ }
+ });
+ body.add(toolChoice, fc);
+
+ argsField = new JTextField(getDefaultArgsForTool(props, toolName), 40);
+ if (toolProperty == null || argsProperty != null) {
+ JLabel argsLabel = new JLabel("Args:");
+ body.add(argsLabel, lc);
+ body.add(argsField, fc);
+ argsField.addFocusListener(new FocusListener() {
+ public void focusGained(FocusEvent e) {
+ }
+ public void focusLost(FocusEvent e) {
+ String toolName = (String) toolChoice.getSelectedItem();
+ if (toolName.length() > 0)
+ props.put(toolName + ".args", argsField.getText());
+ }
+ });
+ }
+
+ defaultCheck = new JCheckBox("Set as default");
+ if (toolProperty == null)
+ defaultCheck.setSelected(true);
+ else
+ body.add(defaultCheck, fc);
+
+ final JOptionPane p = new JOptionPane(body);
+ okButton = new JButton("OK");
+ okButton.setEnabled(toolProperty == null || (toolName != null && !toolName.equals("")));
+ okButton.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ JDialog d = (JDialog) SwingUtilities.getAncestorOfClass(JDialog.class, p);
+ d.setVisible(false);
+ }
+ });
+ p.setOptions(new Object[] { okButton });
+
+ return p;
+ }
+
+ Properties readProperties(File file) {
+ Properties p = new Properties();
+ if (file != null && file.exists()) {
+ Reader in = null;
+ try {
+ in = new BufferedReader(new FileReader(file));
+ p.load(in);
+ in.close();
+ } catch (IOException e) {
+ throw new BuildException("error reading property file", e);
+ } finally {
+ if (in != null) {
+ try {
+ in.close();
+ } catch (IOException e) {
+ throw new BuildException("cannot close property file", e);
+ }
+ }
+ }
+ }
+ return p;
+ }
+
+ void writeProperties(File file, Properties p) {
+ if (file != null) {
+ Writer out = null;
+ try {
+ File dir = file.getParentFile();
+ if (dir != null && !dir.exists())
+ dir.mkdirs();
+ out = new BufferedWriter(new FileWriter(file));
+ p.store(out, "langtools properties");
+ out.close();
+ } catch (IOException e) {
+ throw new BuildException("error writing property file", e);
+ } finally {
+ if (out != null) {
+ try {
+ out.close();
+ } catch (IOException e) {
+ throw new BuildException("cannot close property file", e);
+ }
+ }
+ }
+ }
+ }
+
+ String getDefaultArgsForTool(Properties props, String tn) {
+ return (tn == null || tn.equals("")) ? "" : props.getProperty(tn + ".args", "");
+ }
+
+ // Ant task parameters
+ private boolean askIfUnset;
+ private String toolProperty;
+ private String argsProperty;
+ private File propertyFile;
+
+ // GUI components
+ private JComboBox toolChoice;
+ private JTextField argsField;
+ private JCheckBox defaultCheck;
+ private JButton okButton;
+
+ // Result values for the client
+ private String toolName;
+ private String toolArgs;
+}
--- a/langtools/src/share/classes/com/sun/tools/apt/comp/AnnotationProcessingError.java Wed Jul 05 16:45:59 2017 +0200
+++ b/langtools/src/share/classes/com/sun/tools/apt/comp/AnnotationProcessingError.java Sat Jan 24 16:35:52 2009 -0800
@@ -26,6 +26,7 @@
package com.sun.tools.apt.comp;
public class AnnotationProcessingError extends Error {
+ private static final long serialVersionUID = 3279196183341719287L;
AnnotationProcessingError(Throwable cause) {
super(cause);
}
--- a/langtools/src/share/classes/com/sun/tools/apt/comp/Apt.java Wed Jul 05 16:45:59 2017 +0200
+++ b/langtools/src/share/classes/com/sun/tools/apt/comp/Apt.java Sat Jan 24 16:35:52 2009 -0800
@@ -316,8 +316,13 @@
}
providers = list.iterator();
- } else
- providers = sun.misc.Service.providers(AnnotationProcessorFactory.class, aptCL);
+ } else {
+ @SuppressWarnings("unchecked")
+ Iterator<AnnotationProcessorFactory> iter =
+ sun.misc.Service.providers(AnnotationProcessorFactory.class, aptCL);
+ providers = iter;
+
+ }
}
java.util.Map<AnnotationProcessorFactory, Set<AnnotationTypeDeclaration>> factoryToAnnotation =
--- a/langtools/src/share/classes/com/sun/tools/apt/comp/UsageMessageNeededException.java Wed Jul 05 16:45:59 2017 +0200
+++ b/langtools/src/share/classes/com/sun/tools/apt/comp/UsageMessageNeededException.java Sat Jan 24 16:35:52 2009 -0800
@@ -26,4 +26,6 @@
package com.sun.tools.apt.comp;
-public class UsageMessageNeededException extends RuntimeException {}
+public class UsageMessageNeededException extends RuntimeException {
+ private static final long serialVersionUID = -3265159608992825840L;
+}
--- a/langtools/src/share/classes/com/sun/tools/apt/main/JavaCompiler.java Wed Jul 05 16:45:59 2017 +0200
+++ b/langtools/src/share/classes/com/sun/tools/apt/main/JavaCompiler.java Sat Jan 24 16:35:52 2009 -0800
@@ -233,6 +233,7 @@
ListBuffer<ClassSymbol> classes = new ListBuffer<ClassSymbol>();
try {
+ JavacFileManager fm = (JavacFileManager)fileManager;
//parse all files
ListBuffer<JCCompilationUnit> trees = new ListBuffer<JCCompilationUnit>();
for (List<String> l = filenames; l.nonEmpty(); l = l.tail) {
@@ -250,7 +251,8 @@
continue;
}
}
- trees.append(parse(l.head));
+ JavaFileObject fo = fm.getJavaFileObjectsFromStrings(List.of(l.head)).iterator().next();
+ trees.append(parse(fo));
}
//enter symbols for all files
--- a/langtools/src/share/classes/com/sun/tools/apt/mirror/apt/RoundCompleteEventImpl.java Wed Jul 05 16:45:59 2017 +0200
+++ b/langtools/src/share/classes/com/sun/tools/apt/mirror/apt/RoundCompleteEventImpl.java Sat Jan 24 16:35:52 2009 -0800
@@ -30,6 +30,8 @@
import com.sun.mirror.apt.RoundState;
public class RoundCompleteEventImpl extends RoundCompleteEvent {
+ private static final long serialVersionUID = 7067621446720784300L;
+
public RoundCompleteEventImpl(AnnotationProcessorEnvironment source,
RoundState rs) {
super(source, rs);
--- a/langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/AnnotationProxyMaker.java Wed Jul 05 16:45:59 2017 +0200
+++ b/langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/AnnotationProxyMaker.java Sat Jan 24 16:35:52 2009 -0800
@@ -252,6 +252,7 @@
*/
private void typeMismatch(final Method method, final Attribute attr) {
value = new ExceptionProxy() {
+ private static final long serialVersionUID = 8473323277815075163L;
public String toString() {
return "<error>"; // eg: @Anno(value=<error>)
}
@@ -270,6 +271,7 @@
* type.
*/
private static class MirroredTypeExceptionProxy extends ExceptionProxy {
+ private static final long serialVersionUID = 6662035281599933545L;
private MirroredTypeException ex;
@@ -311,6 +313,7 @@
* types.
*/
private static class MirroredTypesExceptionProxy extends ExceptionProxy {
+ private static final long serialVersionUID = -6670822532616693951L;
private MirroredTypesException ex;
--- a/langtools/src/share/classes/com/sun/tools/apt/mirror/type/TypeVariableImpl.java Wed Jul 05 16:45:59 2017 +0200
+++ b/langtools/src/share/classes/com/sun/tools/apt/mirror/type/TypeVariableImpl.java Sat Jan 24 16:35:52 2009 -0800
@@ -64,7 +64,7 @@
* {@inheritDoc}
*/
public TypeParameterDeclaration getDeclaration() {
- TypeSymbol sym = (TypeSymbol) type.tsym;
+ TypeSymbol sym = type.tsym;
return env.declMaker.getTypeParameterDeclaration(sym);
}
--- a/langtools/src/share/classes/com/sun/tools/classfile/Annotation.java Wed Jul 05 16:45:59 2017 +0200
+++ b/langtools/src/share/classes/com/sun/tools/classfile/Annotation.java Sat Jan 24 16:35:52 2009 -0800
@@ -37,6 +37,7 @@
*/
public class Annotation {
static class InvalidAnnotation extends AttributeException {
+ private static final long serialVersionUID = -4620480740735772708L;
InvalidAnnotation(String msg) {
super(msg);
}
--- a/langtools/src/share/classes/com/sun/tools/classfile/AttributeException.java Wed Jul 05 16:45:59 2017 +0200
+++ b/langtools/src/share/classes/com/sun/tools/classfile/AttributeException.java Sat Jan 24 16:35:52 2009 -0800
@@ -32,6 +32,7 @@
* deletion without notice.</b>
*/
public class AttributeException extends Exception {
+ private static final long serialVersionUID = -4231486387714867770L;
AttributeException() { }
AttributeException(String msg) {
--- a/langtools/src/share/classes/com/sun/tools/classfile/Code_attribute.java Wed Jul 05 16:45:59 2017 +0200
+++ b/langtools/src/share/classes/com/sun/tools/classfile/Code_attribute.java Sat Jan 24 16:35:52 2009 -0800
@@ -37,6 +37,7 @@
*/
public class Code_attribute extends Attribute {
public class InvalidIndex extends AttributeException {
+ private static final long serialVersionUID = -8904527774589382802L;
InvalidIndex(int index) {
this.index = index;
}
--- a/langtools/src/share/classes/com/sun/tools/classfile/ConstantPool.java Wed Jul 05 16:45:59 2017 +0200
+++ b/langtools/src/share/classes/com/sun/tools/classfile/ConstantPool.java Sat Jan 24 16:35:52 2009 -0800
@@ -38,6 +38,7 @@
public class ConstantPool {
public class InvalidIndex extends ConstantPoolException {
+ private static final long serialVersionUID = -4350294289300939730L;
InvalidIndex(int index) {
super(index);
}
@@ -50,6 +51,7 @@
}
public class UnexpectedEntry extends ConstantPoolException {
+ private static final long serialVersionUID = 6986335935377933211L;
UnexpectedEntry(int index, int expected_tag, int found_tag) {
super(index);
this.expected_tag = expected_tag;
@@ -67,6 +69,7 @@
}
public class InvalidEntry extends ConstantPoolException {
+ private static final long serialVersionUID = 1000087545585204447L;
InvalidEntry(int index, int tag) {
super(index);
this.tag = tag;
@@ -82,6 +85,7 @@
}
public class EntryNotFound extends ConstantPoolException {
+ private static final long serialVersionUID = 2885537606468581850L;
EntryNotFound(Object value) {
super(-1);
this.value = value;
--- a/langtools/src/share/classes/com/sun/tools/classfile/ConstantPoolException.java Wed Jul 05 16:45:59 2017 +0200
+++ b/langtools/src/share/classes/com/sun/tools/classfile/ConstantPoolException.java Sat Jan 24 16:35:52 2009 -0800
@@ -33,6 +33,7 @@
* deletion without notice.</b>
*/
public class ConstantPoolException extends Exception {
+ private static final long serialVersionUID = -2324397349644754565L;
ConstantPoolException(int index) {
this.index = index;
}
--- a/langtools/src/share/classes/com/sun/tools/classfile/Descriptor.java Wed Jul 05 16:45:59 2017 +0200
+++ b/langtools/src/share/classes/com/sun/tools/classfile/Descriptor.java Sat Jan 24 16:35:52 2009 -0800
@@ -38,6 +38,7 @@
*/
public class Descriptor {
public class InvalidDescriptor extends DescriptorException {
+ private static final long serialVersionUID = 1L;
InvalidDescriptor(String desc) {
this.desc = desc;
this.index = -1;
--- a/langtools/src/share/classes/com/sun/tools/classfile/DescriptorException.java Wed Jul 05 16:45:59 2017 +0200
+++ b/langtools/src/share/classes/com/sun/tools/classfile/DescriptorException.java Sat Jan 24 16:35:52 2009 -0800
@@ -33,4 +33,5 @@
* deletion without notice.</b>
*/
public class DescriptorException extends Exception {
+ private static final long serialVersionUID = 2411890273788901032L;
}
--- a/langtools/src/share/classes/com/sun/tools/classfile/StackMapTable_attribute.java Wed Jul 05 16:45:59 2017 +0200
+++ b/langtools/src/share/classes/com/sun/tools/classfile/StackMapTable_attribute.java Sat Jan 24 16:35:52 2009 -0800
@@ -37,6 +37,7 @@
*/
public class StackMapTable_attribute extends Attribute {
static class InvalidStackMap extends AttributeException {
+ private static final long serialVersionUID = -5659038410855089780L;
InvalidStackMap(String msg) {
super(msg);
}
--- a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/ConfigurationImpl.java Wed Jul 05 16:45:59 2017 +0200
+++ b/langtools/src/share/classes/com/sun/tools/doclets/formats/html/ConfigurationImpl.java Sat Jan 24 16:35:52 2009 -0800
@@ -493,4 +493,14 @@
public Comparator<ProgramElementDoc> getMemberComparator() {
return null;
}
+
+ /**
+ * {@inheritDoc}
+ */
+ public Locale getLocale() {
+ if (root instanceof com.sun.tools.javadoc.RootDocImpl)
+ return ((com.sun.tools.javadoc.RootDocImpl)root).getLocale();
+ else
+ return Locale.getDefault();
+ }
}
--- a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/PackageIndexWriter.java Wed Jul 05 16:45:59 2017 +0200
+++ b/langtools/src/share/classes/com/sun/tools/doclets/formats/html/PackageIndexWriter.java Sat Jan 24 16:35:52 2009 -0800
@@ -119,7 +119,7 @@
*/
protected void generateIndex() {
for (int i = 0; i < groupList.size(); i++) {
- String groupname = (String)groupList.get(i);
+ String groupname = groupList.get(i);
List<PackageDoc> list = groupPackageMap.get(groupname);
if (list != null && list.size() > 0) {
printIndexContents(list.toArray(new PackageDoc[list.size()]),
--- a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlDocWriter.java Wed Jul 05 16:45:59 2017 +0200
+++ b/langtools/src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlDocWriter.java Sat Jan 24 16:35:52 2009 -0800
@@ -25,12 +25,11 @@
package com.sun.tools.doclets.formats.html.markup;
-import com.sun.tools.doclets.internal.toolkit.*;
+import java.io.*;
+import java.util.*;
import com.sun.javadoc.*;
-import java.io.*;
-import java.util.*;
-import com.sun.tools.doclets.internal.toolkit.util.*;
+import com.sun.tools.doclets.internal.toolkit.*;
/**
@@ -56,8 +55,9 @@
super(configuration,
null, configuration.destDirName + filename,
configuration.docencoding);
+ // use File to normalize file separators
configuration.message.notice("doclet.Generating_0",
- configuration.destDirName + filename);
+ new File(configuration.destDirName, filename));
}
public HtmlDocWriter(Configuration configuration,
@@ -65,10 +65,10 @@
super(configuration,
configuration.destDirName + path, filename,
configuration.docencoding);
+ // use File to normalize file separators
configuration.message.notice("doclet.Generating_0",
- configuration.destDirName +
- ((path.length() > 0)?
- path + File.separator: "") + filename);
+ new File(configuration.destDirName,
+ ((path.length() > 0)? path + File.separator: "") + filename));
}
/**
--- a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlWriter.java Wed Jul 05 16:45:59 2017 +0200
+++ b/langtools/src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlWriter.java Sat Jan 24 16:35:52 2009 -0800
@@ -85,7 +85,7 @@
* Print <HTML> tag. Add a newline character at the end.
*/
public void html() {
- println("<HTML>");
+ println("<HTML lang=\"" + configuration.getLocale().getLanguage() + "\">");
}
/**
--- a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/Configuration.java Wed Jul 05 16:45:59 2017 +0200
+++ b/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/Configuration.java Sat Jan 24 16:35:52 2009 -0800
@@ -707,6 +707,11 @@
}
/**
+ * Return the Locale for this document.
+ */
+ public abstract Locale getLocale();
+
+ /**
* Return the comparator that will be used to sort member documentation.
* To no do any sorting, return null.
*
--- a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/SerializedFormBuilder.java Wed Jul 05 16:45:59 2017 +0200
+++ b/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/SerializedFormBuilder.java Sat Jan 24 16:35:52 2009 -0800
@@ -402,7 +402,7 @@
public void buildFieldSerializationOverview(ClassDoc classDoc) {
if (classDoc.definesSerializableFields()) {
FieldDoc serialPersistentField =
- (FieldDoc)((Util.asList(classDoc.serializableFields()).get(0)));
+ Util.asList(classDoc.serializableFields()).get(0);
String comment = serialPersistentField.commentText();
if (comment.length() > 0) {
fieldWriter.writeHeader(
--- a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/DocletAbortException.java Wed Jul 05 16:45:59 2017 +0200
+++ b/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/DocletAbortException.java Sat Jan 24 16:35:52 2009 -0800
@@ -26,6 +26,7 @@
package com.sun.tools.doclets.internal.toolkit.util;
public class DocletAbortException extends RuntimeException {
+ private static final long serialVersionUID = -9131058909576418984L;
public DocletAbortException() {
}
--- a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/MessageRetriever.java Wed Jul 05 16:45:59 2017 +0200
+++ b/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/MessageRetriever.java Sat Jan 24 16:35:52 2009 -0800
@@ -81,46 +81,14 @@
}
/**
- * get and format message string from resource
- *
- * @param key selects message from resource
- */
- public String getText(String key) {
- return getText(key, (String)null);
- }
-
- /**
* Get and format message string from resource
*
* @param key selects message from resource
- * @param a1 Argument, to be repalced in the message.
- */
- public String getText(String key, String a1) {
- return getText(key, a1, null);
- }
-
- /**
- * Get and format message string from resource
- *
- * @param key selects message from resource
- * @param a1 first argument to be replaced in the message.
- * @param a2 second argument to be replaced in the message.
- */
- public String getText(String key, String a1, String a2) {
- return getText(key, a1, a2, null);
- }
-
- /**
- * Get and format message string from resource
- *
- * @param key selects message from resource
- * @param a1 first argument to be replaced in the message.
- * @param a2 second argument to be replaced in the message.
- * @param a3 third argument to be replaced in the message.
+ * @param args arguments to be replaced in the message.
* @throws MissingResourceException when the key does not
* exist in the properties file.
*/
- public String getText(String key, String a1, String a2, String a3) throws MissingResourceException {
+ public String getText(String key, Object... args) throws MissingResourceException {
if (messageRB == null) {
try {
messageRB = ResourceBundle.getBundle(resourcelocation);
@@ -130,7 +98,7 @@
}
}
String message = messageRB.getString(key);
- return MessageFormat.format(message, a1, a2, a3);
+ return MessageFormat.format(message, args);
}
/**
@@ -195,127 +163,20 @@
*
* @param pos the position of the source
* @param key selects message from resource
- */
- public void error(SourcePosition pos, String key) {
- printError(pos, getText(key));
- }
-
- /**
- * Print error message, increment error count.
- *
- * @param key selects message from resource
- */
- public void error(String key) {
- printError(getText(key));
- }
-
- /**
- * Print error message, increment error count.
- *
- * @param pos the position of the source
- * @param key selects message from resource
- * @param a1 first argument to be replaced in the message.
+ * @param args arguments to be replaced in the message.
*/
- public void error(SourcePosition pos, String key, String a1) {
- printError(pos, getText(key, a1));
- }
-
- /**
- * Print error message, increment error count.
- *
- * @param key selects message from resource
- * @param a1 first argument to be replaced in the message.
- */
- public void error(String key, String a1) {
- printError(getText(key, a1));
- }
-
- /**
- * Print error message, increment error count.
- *
- * @param pos the position of the source
- * @param key selects message from resource
- * @param a1 first argument to be replaced in the message.
- * @param a2 second argument to be replaced in the message.
- */
- public void error(SourcePosition pos, String key, String a1, String a2) {
- printError(pos, getText(key, a1, a2));
+ public void error(SourcePosition pos, String key, Object... args) {
+ printError(pos, getText(key, args));
}
/**
* Print error message, increment error count.
*
* @param key selects message from resource
- * @param a1 first argument to be replaced in the message.
- * @param a2 second argument to be replaced in the message.
- */
- public void error(String key, String a1, String a2) {
- printError(getText(key, a1, a2));
- }
-
- /**
- * Print error message, increment error count.
- *
- * @param pos the position of the source
- * @param key selects message from resource
- * @param a1 first argument to be replaced in the message.
- * @param a2 second argument to be replaced in the message.
- * @param a3 third argument to be replaced in the message.
- */
- public void error(SourcePosition pos, String key, String a1, String a2, String a3) {
- printError(pos, getText(key, a1, a2, a3));
- }
-
- /**
- * Print error message, increment error count.
- *
- * @param key selects message from resource
- * @param a1 first argument to be replaced in the message.
- * @param a2 second argument to be replaced in the message.
- * @param a3 third argument to be replaced in the message.
+ * @param args arguments to be replaced in the message.
*/
- public void error(String key, String a1, String a2, String a3) {
- printError(getText(key, a1, a2, a3));
- }
-
- /**
- * Print warning message, increment warning count.
- *
- * @param pos the position of the source
- * @param key selects message from resource
- */
- public void warning(SourcePosition pos, String key) {
- printWarning(pos, getText(key));
- }
-
- /**
- * Print warning message, increment warning count.
- *
- * @param key selects message from resource
- */
- public void warning(String key) {
- printWarning(getText(key));
- }
-
- /**
- * Print warning message, increment warning count.
- *
- * @param pos the position of the source
- * @param key selects message from resource
- * @param a1 first argument to be replaced in the message.
- */
- public void warning(SourcePosition pos, String key, String a1) {
- printWarning(pos, getText(key, a1));
- }
-
- /**
- * Print warning message, increment warning count.
- *
- * @param key selects message from resource
- * @param a1 first argument to be replaced in the message.
- */
- public void warning(String key, String a1) {
- printWarning(getText(key, a1));
+ public void error(String key, Object... args) {
+ printError(getText(key, args));
}
/**
@@ -323,47 +184,20 @@
*
* @param pos the position of the source
* @param key selects message from resource
- * @param a1 first argument to be replaced in the message.
- * @param a2 second argument to be replaced in the message.
+ * @param args arguments to be replaced in the message.
*/
- public void warning(SourcePosition pos, String key, String a1, String a2) {
- printWarning(pos, getText(key, a1, a2));
+ public void warning(SourcePosition pos, String key, Object... args) {
+ printWarning(pos, getText(key, args));
}
/**
* Print warning message, increment warning count.
*
* @param key selects message from resource
- * @param a1 first argument to be replaced in the message.
- * @param a2 second argument to be replaced in the message.
+ * @param args arguments to be replaced in the message.
*/
- public void warning(String key, String a1, String a2) {
- printWarning(getText(key, a1, a2));
- }
-
- /**
- * Print warning message, increment warning count.
- *
- * @param pos the position of the source
- * @param key selects message from resource
- * @param a1 first argument to be replaced in the message.
- * @param a2 second argument to be replaced in the message.
- * @param a3 third argument to be replaced in the message.
- */
- public void warning(SourcePosition pos, String key, String a1, String a2, String a3) {
- printWarning(pos, getText(key, a1, a2, a3));
- }
-
- /**
- * Print warning message, increment warning count.
- *
- * @param key selects message from resource
- * @param a1 first argument to be replaced in the message.
- * @param a2 second argument to be replaced in the message.
- * @param a3 third argument to be replaced in the message.
- */
- public void warning(String key, String a1, String a2, String a3) {
- printWarning(getText(key, a1, a2, a3));
+ public void warning(String key, Object... args) {
+ printWarning(getText(key, args));
}
/**
@@ -371,85 +205,19 @@
*
* @param pos the position of the source
* @param key selects message from resource
- */
- public void notice(SourcePosition pos, String key) {
- printNotice(pos, getText(key));
- }
-
- /**
- * Print a message.
- *
- * @param key selects message from resource
+ * @param args arguments to be replaced in the message.
*/
- public void notice(String key) {
- printNotice(getText(key));
- }
-
- /**
- * Print a message.
- * @param pos the position of the source
- * @param key selects message from resource
- * @param a1 first argument to be replaced in the message.
- */
- public void notice(SourcePosition pos, String key, String a1) {
- printNotice(pos, getText(key, a1));
+ public void notice(SourcePosition pos, String key, Object... args) {
+ printNotice(pos, getText(key, args));
}
/**
* Print a message.
*
* @param key selects message from resource
- * @param a1 first argument to be replaced in the message.
- */
- public void notice(String key, String a1) {
- printNotice(getText(key, a1));
- }
-
- /**
- * Print a message.
- *
- * @param pos the position of the source
- * @param key selects message from resource
- * @param a1 first argument to be replaced in the message.
- * @param a2 second argument to be replaced in the message.
- */
- public void notice(SourcePosition pos, String key, String a1, String a2) {
- printNotice(pos, getText(key, a1, a2));
- }
-
- /**
- * Print a message.
- *
- * @param key selects message from resource
- * @param a1 first argument to be replaced in the message.
- * @param a2 second argument to be replaced in the message.
+ * @param args arguments to be replaced in the message.
*/
- public void notice(String key, String a1, String a2) {
- printNotice(getText(key, a1, a2));
- }
-
- /**
- * Print a message.
- *
- * @param pos the position of the source
- * @param key selects message from resource
- * @param a1 first argument to be replaced in the message.
- * @param a2 second argument to be replaced in the message.
- * @param a3 third argument to be replaced in the message.
- */
- public void notice(SourcePosition pos, String key, String a1, String a2, String a3) {
- printNotice(pos, getText(key, a1, a2, a3));
- }
-
- /**
- * Print a message.
- *
- * @param key selects message from resource
- * @param a1 first argument to be replaced in the message.
- * @param a2 second argument to be replaced in the message.
- * @param a3 third argument to be replaced in the message.
- */
- public void notice(String key, String a1, String a2, String a3) {
- printNotice(getText(key, a1, a2, a3));
+ public void notice(String key, Object... args) {
+ printNotice(getText(key, args));
}
}
--- a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/SourceToHTMLConverter.java Wed Jul 05 16:45:59 2017 +0200
+++ b/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/SourceToHTMLConverter.java Sat Jan 24 16:35:52 2009 -0800
@@ -25,10 +25,12 @@
package com.sun.tools.doclets.internal.toolkit.util;
-import com.sun.tools.doclets.internal.toolkit.*;
-import com.sun.javadoc.*;
import java.io.*;
import java.util.*;
+import javax.tools.FileObject;
+
+import com.sun.javadoc.*;
+import com.sun.tools.doclets.internal.toolkit.*;
/**
* Converts Java Source Code to HTML.
@@ -123,16 +125,27 @@
if (cd == null || outputdir == null) {
return;
}
- File file;
- SourcePosition sp = cd.position();
- if (sp == null || (file = sp.file()) == null) {
- return;
- }
try {
+ SourcePosition sp = cd.position();
+ if (sp == null)
+ return;
+ Reader r;
+ // temp hack until we can update SourcePosition API.
+ if (sp instanceof com.sun.tools.javadoc.SourcePositionImpl) {
+ FileObject fo = ((com.sun.tools.javadoc.SourcePositionImpl) sp).fileObject();
+ if (fo == null)
+ return;
+ r = fo.openReader(true);
+ } else {
+ File file = sp.file();
+ if (file == null)
+ return;
+ r = new FileReader(file);
+ }
+ LineNumberReader reader = new LineNumberReader(r);
int lineno = 1;
String line;
StringBuffer output = new StringBuffer();
- LineNumberReader reader = new LineNumberReader(new FileReader(file));
try {
while ((line = reader.readLine()) != null) {
output.append(formatLine(line, configuration.sourcetab, lineno));
@@ -142,7 +155,7 @@
reader.close();
}
output = addLineNumbers(output.toString());
- output.insert(0, getHeader());
+ output.insert(0, getHeader(configuration));
output.append(getFooter());
writeToFile(output.toString(), outputdir, cd.name(), configuration);
} catch (Exception e){
@@ -192,10 +205,11 @@
/**
* Get the header.
+ * @param configuration the Doclet configuration
* @return the header to the output file
*/
- protected static String getHeader() {
- StringBuffer result = new StringBuffer("<HTML>" + DocletConstants.NL);
+ protected static String getHeader(Configuration configuration) {
+ StringBuffer result = new StringBuffer("<HTML lang=\"" + configuration.getLocale().getLanguage() + "\">" + DocletConstants.NL);
result.append("<BODY BGCOLOR=\""+ BGCOLOR + "\">" + DocletConstants.NL);
result.append("<PRE>" + DocletConstants.NL);
return result.toString();
--- a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/Util.java Wed Jul 05 16:45:59 2017 +0200
+++ b/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/Util.java Sat Jan 24 16:35:52 2009 -0800
@@ -25,10 +25,11 @@
package com.sun.tools.doclets.internal.toolkit.util;
+import java.io.*;
+import java.util.*;
+
import com.sun.javadoc.*;
import com.sun.tools.doclets.internal.toolkit.*;
-import java.util.*;
-import java.io.*;
/**
* Utilities Class for Doclets.
@@ -579,7 +580,7 @@
* @param docencoding Encoding to be used for this file.
* @exception IOException Exception raised by the FileWriter is passed on
* to next level.
- * @exception UnSupportedEncodingException Exception raised by the
+ * @exception UnsupportedEncodingException Exception raised by the
* OutputStreamWriter is passed on to next level.
* @return Writer Writer for the file getting generated.
* @see java.io.FileOutputStream
@@ -598,9 +599,7 @@
fos = new FileOutputStream(filename);
}
if (docencoding == null) {
- OutputStreamWriter oswriter = new OutputStreamWriter(fos);
- docencoding = oswriter.getEncoding();
- return oswriter;
+ return new OutputStreamWriter(fos);
} else {
return new OutputStreamWriter(fos, docencoding);
}
--- a/langtools/src/share/classes/com/sun/tools/javac/main/JavaCompiler.java Wed Jul 05 16:45:59 2017 +0200
+++ b/langtools/src/share/classes/com/sun/tools/javac/main/JavaCompiler.java Sat Jan 24 16:35:52 2009 -0800
@@ -471,6 +471,7 @@
private int value;
};
protected class CompileStates extends HashMap<Env<AttrContext>,CompileState> {
+ private static final long serialVersionUID = 1812267524140424433L;
boolean isDone(Env<AttrContext> env, CompileState cs) {
CompileState ecs = get(env);
return ecs != null && ecs.isDone(cs);
--- a/langtools/src/share/classes/com/sun/tools/javac/main/Main.java Wed Jul 05 16:45:59 2017 +0200
+++ b/langtools/src/share/classes/com/sun/tools/javac/main/Main.java Sat Jan 24 16:35:52 2009 -0800
@@ -338,13 +338,13 @@
return EXIT_CMDERR;
}
- List<File> filenames;
+ List<File> files;
try {
- filenames = processArgs(CommandLine.parse(args));
- if (filenames == null) {
+ files = processArgs(CommandLine.parse(args));
+ if (files == null) {
// null signals an error in options, abort
return EXIT_CMDERR;
- } else if (filenames.isEmpty() && fileObjects.isEmpty() && classnames.isEmpty()) {
+ } else if (files.isEmpty() && fileObjects.isEmpty() && classnames.isEmpty()) {
// it is allowed to compile nothing if just asking for help or version info
if (options.get("-help") != null
|| options.get("-X") != null
@@ -380,12 +380,14 @@
comp = JavaCompiler.instance(context);
if (comp == null) return EXIT_SYSERR;
- if (!filenames.isEmpty()) {
+ Log log = Log.instance(context);
+
+ if (!files.isEmpty()) {
// add filenames to fileObjects
comp = JavaCompiler.instance(context);
List<JavaFileObject> otherFiles = List.nil();
JavacFileManager dfm = (JavacFileManager)fileManager;
- for (JavaFileObject fo : dfm.getJavaFileObjectsFromFiles(filenames))
+ for (JavaFileObject fo : dfm.getJavaFileObjectsFromFiles(files))
otherFiles = otherFiles.prepend(fo);
for (JavaFileObject fo : otherFiles)
fileObjects = fileObjects.prepend(fo);
@@ -394,6 +396,16 @@
classnames.toList(),
processors);
+ if (log.expectDiagKeys != null) {
+ if (log.expectDiagKeys.size() == 0) {
+ Log.printLines(log.noticeWriter, "all expected diagnostics found");
+ return EXIT_OK;
+ } else {
+ Log.printLines(log.noticeWriter, "expected diagnostic keys not found: " + log.expectDiagKeys);
+ return EXIT_ERROR;
+ }
+ }
+
if (comp.errorCount() != 0 ||
options.get("-Werror") != null && comp.warningCount() != 0)
return EXIT_ERROR;
--- a/langtools/src/share/classes/com/sun/tools/javac/parser/JavacParser.java Wed Jul 05 16:45:59 2017 +0200
+++ b/langtools/src/share/classes/com/sun/tools/javac/parser/JavacParser.java Sat Jan 24 16:35:52 2009 -0800
@@ -863,13 +863,13 @@
accept(GT);
t = F.at(pos1).TypeApply(t, args.toList());
checkGenerics();
- t = bracketsOpt(toP(t));
while (S.token() == DOT) {
S.nextToken();
mode = TYPE;
t = toP(F.at(S.pos()).Select(t, ident()));
t = typeArgumentsOpt(t);
}
+ t = bracketsOpt(toP(t));
} else if ((mode & EXPR) != 0) {
mode = EXPR;
t = F.at(pos1).Binary(op, t, term2Rest(t1, TreeInfo.shiftPrec));
--- a/langtools/src/share/classes/com/sun/tools/javac/util/BasicDiagnosticFormatter.java Wed Jul 05 16:45:59 2017 +0200
+++ b/langtools/src/share/classes/com/sun/tools/javac/util/BasicDiagnosticFormatter.java Sat Jan 24 16:35:52 2009 -0800
@@ -61,6 +61,7 @@
* @param opts list of command-line options
* @param msgs JavacMessages object used for i18n
*/
+ @SuppressWarnings("fallthrough")
BasicDiagnosticFormatter(Options opts, JavacMessages msgs) {
super(msgs, opts, true);
initAvailableFormats();
--- a/langtools/src/share/classes/com/sun/tools/javac/util/Log.java Wed Jul 05 16:45:59 2017 +0200
+++ b/langtools/src/share/classes/com/sun/tools/javac/util/Log.java Sat Jan 24 16:35:52 2009 -0800
@@ -26,6 +26,7 @@
package com.sun.tools.javac.util;
import java.io.*;
+import java.util.Arrays;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
@@ -97,6 +98,11 @@
private DiagnosticFormatter<JCDiagnostic> diagFormatter;
/**
+ * Keys for expected diagnostics
+ */
+ public Set<String> expectDiagKeys;
+
+ /**
* JavacMessages object used for localization
*/
private JavacMessages messages;
@@ -123,9 +129,13 @@
this.diagFormatter = rawDiagnostics ? new RawDiagnosticFormatter(options) :
new BasicDiagnosticFormatter(options, messages);
@SuppressWarnings("unchecked") // FIXME
- DiagnosticListener<? super JavaFileObject> diagListener =
+ DiagnosticListener<? super JavaFileObject> dl =
context.get(DiagnosticListener.class);
- this.diagListener = diagListener;
+ this.diagListener = dl;
+
+ String ek = options.get("expectKeys");
+ if (ek != null)
+ expectDiagKeys = new HashSet<String>(Arrays.asList(ek.split(", *")));
}
// where
private int getIntOption(Options options, String optionName, int defaultValue) {
@@ -291,6 +301,9 @@
* reported so far, the diagnostic may be handed off to writeDiagnostic.
*/
public void report(JCDiagnostic diagnostic) {
+ if (expectDiagKeys != null)
+ expectDiagKeys.remove(diagnostic.getCode());
+
switch (diagnostic.getType()) {
case FRAGMENT:
throw new IllegalArgumentException();
--- a/langtools/src/share/classes/com/sun/tools/javadoc/ClassDocImpl.java Wed Jul 05 16:45:59 2017 +0200
+++ b/langtools/src/share/classes/com/sun/tools/javadoc/ClassDocImpl.java Sat Jan 24 16:35:52 2009 -0800
@@ -25,42 +25,48 @@
package com.sun.tools.javadoc;
+import java.io.File;
+import java.io.IOException;
+import java.lang.reflect.Modifier;
+import java.net.URI;
+import java.util.HashSet;
+import java.util.Set;
+import javax.tools.FileObject;
+import javax.tools.JavaFileManager.Location;
+import javax.tools.StandardJavaFileManager;
+import javax.tools.StandardLocation;
+
import com.sun.javadoc.*;
import static com.sun.javadoc.LanguageVersion.*;
-import com.sun.tools.javac.util.List;
-import com.sun.tools.javac.util.ListBuffer;
-import com.sun.tools.javac.util.Name;
-import com.sun.tools.javac.util.Position;
-
import com.sun.tools.javac.code.Flags;
import com.sun.tools.javac.code.Kinds;
-import com.sun.tools.javac.code.TypeTags;
-import com.sun.tools.javac.code.Type;
-import com.sun.tools.javac.code.Type.ClassType;
import com.sun.tools.javac.code.Scope;
import com.sun.tools.javac.code.Symbol;
import com.sun.tools.javac.code.Symbol.*;
+import com.sun.tools.javac.code.Type;
+import com.sun.tools.javac.code.Type.ClassType;
+import com.sun.tools.javac.code.TypeTags;
import com.sun.tools.javac.comp.AttrContext;
import com.sun.tools.javac.comp.Env;
import com.sun.tools.javac.tree.JCTree;
+import com.sun.tools.javac.tree.JCTree.JCClassDecl;
import com.sun.tools.javac.tree.JCTree.JCFieldAccess;
import com.sun.tools.javac.tree.JCTree.JCImport;
-import com.sun.tools.javac.tree.JCTree.JCClassDecl;
import com.sun.tools.javac.tree.TreeInfo;
+import com.sun.tools.javac.util.List;
+import com.sun.tools.javac.util.ListBuffer;
+import com.sun.tools.javac.util.Name;
import com.sun.tools.javac.util.Names;
+import com.sun.tools.javac.util.Position;
+
import static com.sun.tools.javac.code.Flags.*;
import static com.sun.tools.javac.code.Kinds.*;
-import java.io.File;
-import java.util.Set;
-import java.util.HashSet;
-import java.lang.reflect.Modifier;
-
/**
* Represents a java class and provides access to information
* about the class, the class' comment and tags, and the
@@ -271,16 +277,41 @@
*/
public PackageDoc containingPackage() {
PackageDocImpl p = env.getPackageDoc(tsym.packge());
- SourcePosition po = position();
- if (po != null && p.setDocPath == false && p.zipDocPath == null) {
- //Set the package path if possible
- File packageDir = po.file().getParentFile();
- if (packageDir != null
- && (new File(packageDir, "package.html")).exists()) {
- p.setDocPath(packageDir.getPath());
- } else {
- p.setDocPath(null);
+ if (p.setDocPath == false) {
+ FileObject docPath;
+ try {
+ Location location = env.fileManager.hasLocation(StandardLocation.SOURCE_PATH)
+ ? StandardLocation.SOURCE_PATH : StandardLocation.CLASS_PATH;
+
+ docPath = env.fileManager.getFileForInput(
+ location, p.qualifiedName(), "package.html");
+ } catch (IOException e) {
+ docPath = null;
}
+
+ if (docPath == null) {
+ // fall back on older semantics of looking in same directory as
+ // source file for this class
+ SourcePosition po = position();
+ if (env.fileManager instanceof StandardJavaFileManager &&
+ po instanceof SourcePositionImpl) {
+ URI uri = ((SourcePositionImpl) po).filename.toUri();
+ if ("file".equals(uri.getScheme())) {
+ File f = new File(uri.getPath());
+ File dir = f.getParentFile();
+ if (dir != null) {
+ File pf = new File(dir, "package.html");
+ if (pf.exists()) {
+ StandardJavaFileManager sfm = (StandardJavaFileManager) env.fileManager;
+ docPath = sfm.getJavaFileObjects(pf).iterator().next();
+ }
+ }
+
+ }
+ }
+ }
+
+ p.setDocPath(docPath);
}
return p;
}
@@ -1251,7 +1282,7 @@
*/
public SourcePosition position() {
if (tsym.sourcefile == null) return null;
- return SourcePositionImpl.make(tsym.sourcefile.toString(),
+ return SourcePositionImpl.make(tsym.sourcefile,
(tree==null) ? Position.NOPOS : tree.pos,
lineMap);
}
--- a/langtools/src/share/classes/com/sun/tools/javadoc/Comment.java Wed Jul 05 16:45:59 2017 +0200
+++ b/langtools/src/share/classes/com/sun/tools/javadoc/Comment.java Sat Jan 24 16:35:52 2009 -0800
@@ -74,6 +74,7 @@
* the tag text.
* </pre>
*/
+ @SuppressWarnings("fallthrough")
class CommentStringParser {
/**
* The entry point to the comment string parser
--- a/langtools/src/share/classes/com/sun/tools/javadoc/DocEnv.java Wed Jul 05 16:45:59 2017 +0200
+++ b/langtools/src/share/classes/com/sun/tools/javadoc/DocEnv.java Sat Jan 24 16:35:52 2009 -0800
@@ -25,8 +25,9 @@
package com.sun.tools.javadoc;
+import java.lang.reflect.Modifier;
import java.util.*;
-import java.lang.reflect.Modifier;
+import javax.tools.JavaFileManager;
import com.sun.javadoc.*;
@@ -40,7 +41,6 @@
import com.sun.tools.javac.util.Names;
import com.sun.tools.javac.util.Position;
-
/**
* Holds the environment for a run of javadoc.
* Holds only the information needed throughout the
@@ -103,6 +103,7 @@
Check chk;
Types types;
+ JavaFileManager fileManager;
/** Allow documenting from class files? */
boolean docClasses = false;
@@ -133,6 +134,7 @@
externalizableSym = reader.enterClass(names.fromString("java.io.Externalizable"));
chk = Check.instance(context);
types = Types.instance(context);
+ fileManager = context.get(JavaFileManager.class);
// Default. Should normally be reset with setLocale.
this.doclocale = new DocLocale(this, "", breakiterator);
--- a/langtools/src/share/classes/com/sun/tools/javadoc/DocImpl.java Wed Jul 05 16:45:59 2017 +0200
+++ b/langtools/src/share/classes/com/sun/tools/javadoc/DocImpl.java Sat Jan 24 16:35:52 2009 -0800
@@ -25,11 +25,13 @@
package com.sun.tools.javadoc;
-import com.sun.javadoc.*;
-
import java.io.InputStream;
import java.io.IOException;
import java.text.CollationKey;
+import javax.tools.FileObject;
+
+import com.sun.javadoc.*;
+
import com.sun.tools.javac.util.Position;
/**
@@ -43,7 +45,7 @@
* @author Atul M Dambalkar
* @author Neal Gafter (rewrite)
*/
-abstract class DocImpl implements Doc, Comparable<Object> {
+public abstract class DocImpl implements Doc, Comparable<Object> {
/**
* Doc environment
@@ -163,7 +165,7 @@
/**
* Utility for subclasses which read HTML documentation files.
*/
- String readHTMLDocumentation(InputStream input, String filename) throws IOException {
+ String readHTMLDocumentation(InputStream input, FileObject filename) throws IOException {
int filesize = input.available();
byte[] filecontents = new byte[filesize];
input.read(filecontents, 0, filesize);
--- a/langtools/src/share/classes/com/sun/tools/javadoc/ExecutableMemberDocImpl.java Wed Jul 05 16:45:59 2017 +0200
+++ b/langtools/src/share/classes/com/sun/tools/javadoc/ExecutableMemberDocImpl.java Sat Jan 24 16:35:52 2009 -0800
@@ -25,20 +25,18 @@
package com.sun.tools.javadoc;
+import java.lang.reflect.Modifier;
+import java.text.CollationKey;
+
import com.sun.javadoc.*;
+import com.sun.tools.javac.code.Flags;
+import com.sun.tools.javac.code.Symbol.*;
+import com.sun.tools.javac.code.Type;
+import com.sun.tools.javac.tree.JCTree.JCMethodDecl;
import com.sun.tools.javac.util.List;
import com.sun.tools.javac.util.ListBuffer;
import com.sun.tools.javac.util.Position;
-import com.sun.tools.javac.code.Flags;
-import com.sun.tools.javac.code.Type;
-import com.sun.tools.javac.code.Symbol;
-import com.sun.tools.javac.code.Symbol.*;
-import com.sun.tools.javac.tree.JCTree.JCMethodDecl;
-
-import java.text.CollationKey;
-
-import java.lang.reflect.Modifier;
/**
* Represents a method or constructor of a java class.
@@ -267,7 +265,7 @@
*/
public SourcePosition position() {
if (sym.enclClass().sourcefile == null) return null;
- return SourcePositionImpl.make(sym.enclClass().sourcefile.toString(),
+ return SourcePositionImpl.make(sym.enclClass().sourcefile,
(tree==null) ? 0 : tree.pos,
lineMap);
}
--- a/langtools/src/share/classes/com/sun/tools/javadoc/FieldDocImpl.java Wed Jul 05 16:45:59 2017 +0200
+++ b/langtools/src/share/classes/com/sun/tools/javadoc/FieldDocImpl.java Sat Jan 24 16:35:52 2009 -0800
@@ -25,6 +25,8 @@
package com.sun.tools.javadoc;
+import java.lang.reflect.Modifier;
+
import com.sun.javadoc.*;
import static com.sun.javadoc.LanguageVersion.*;
@@ -38,9 +40,6 @@
import com.sun.tools.javac.util.Position;
-import java.lang.reflect.Modifier;
-
-
/**
* Represents a field in a java class.
*
@@ -260,7 +259,7 @@
*/
public SourcePosition position() {
if (sym.enclClass().sourcefile == null) return null;
- return SourcePositionImpl.make(sym.enclClass().sourcefile.toString(),
+ return SourcePositionImpl.make(sym.enclClass().sourcefile,
(tree==null) ? 0 : tree.pos,
lineMap);
}
--- a/langtools/src/share/classes/com/sun/tools/javadoc/JavadocClassReader.java Wed Jul 05 16:45:59 2017 +0200
+++ b/langtools/src/share/classes/com/sun/tools/javadoc/JavadocClassReader.java Sat Jan 24 16:35:52 2009 -0800
@@ -25,18 +25,13 @@
package com.sun.tools.javadoc;
+import java.util.EnumSet;
+import javax.tools.JavaFileObject;
+
import com.sun.tools.javac.code.Symbol.PackageSymbol;
-import com.sun.tools.javac.file.JavacFileManager;
-import com.sun.tools.javac.file.ZipArchive.ZipFileObject;
-import com.sun.tools.javac.file.Old199;
-import com.sun.tools.javac.file.ZipFileIndexArchive;
import com.sun.tools.javac.jvm.ClassReader;
import com.sun.tools.javac.util.Context;
-import java.io.File;
-import java.util.EnumSet;
-import javax.tools.JavaFileObject;
-
/** Javadoc uses an extended class reader that records package.html entries
* @author Neal Gafter
*/
@@ -82,32 +77,7 @@
*/
@Override
protected void extraFileActions(PackageSymbol pack, JavaFileObject fo) {
- CharSequence fileName = Old199.getName(fo);
- if (docenv != null && fileName.equals("package.html")) {
- if (fo instanceof ZipFileObject) {
- ZipFileObject zfo = (ZipFileObject) fo;
- String zipName = zfo.getZipName();
- String entryName = zfo.getZipEntryName();
- int lastSep = entryName.lastIndexOf("/");
- String classPathName = entryName.substring(0, lastSep + 1);
- docenv.getPackageDoc(pack).setDocPath(zipName, classPathName);
- }
- else if (fo instanceof ZipFileIndexArchive.ZipFileIndexFileObject) {
- ZipFileIndexArchive.ZipFileIndexFileObject zfo = (ZipFileIndexArchive.ZipFileIndexFileObject) fo;
- String zipName = zfo.getZipName();
- String entryName = zfo.getZipEntryName();
- if (File.separatorChar != '/') {
- entryName = entryName.replace(File.separatorChar, '/');
- }
-
- int lastSep = entryName.lastIndexOf("/");
- String classPathName = entryName.substring(0, lastSep + 1);
- docenv.getPackageDoc(pack).setDocPath(zipName, classPathName);
- }
- else {
- File fileDir = new File(Old199.getPath(fo)).getParentFile();
- docenv.getPackageDoc(pack).setDocPath(fileDir.getAbsolutePath());
- }
- }
+ if (fo.isNameCompatible("package", JavaFileObject.Kind.HTML))
+ docenv.getPackageDoc(pack).setDocPath(fo);
}
}
--- a/langtools/src/share/classes/com/sun/tools/javadoc/JavadocTool.java Wed Jul 05 16:45:59 2017 +0200
+++ b/langtools/src/share/classes/com/sun/tools/javadoc/JavadocTool.java Sat Jan 24 16:35:52 2009 -0800
@@ -25,17 +25,29 @@
package com.sun.tools.javadoc;
-import java.io.*;
-
+import java.io.File;
+import java.io.IOException;
import java.util.Collection;
+import java.util.EnumSet;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Set;
+import javax.tools.JavaFileManager.Location;
+import javax.tools.JavaFileObject;
+import javax.tools.StandardJavaFileManager;
+import javax.tools.StandardLocation;
-import com.sun.tools.javac.code.Symbol.*;
-import com.sun.tools.javac.comp.*;
-import com.sun.tools.javac.file.Paths;
+import com.sun.tools.javac.code.Symbol.CompletionFailure;
+import com.sun.tools.javac.comp.Annotate;
import com.sun.tools.javac.parser.DocCommentScanner;
-import com.sun.tools.javac.tree.*;
-import com.sun.tools.javac.tree.JCTree.*;
-import com.sun.tools.javac.util.*;
+import com.sun.tools.javac.tree.JCTree;
+import com.sun.tools.javac.tree.JCTree.JCClassDecl;
+import com.sun.tools.javac.tree.JCTree.JCCompilationUnit;
+import com.sun.tools.javac.util.Abort;
+import com.sun.tools.javac.util.Context;
+import com.sun.tools.javac.util.List;
+import com.sun.tools.javac.util.ListBuffer;
+import com.sun.tools.javac.util.Position;
/**
@@ -53,7 +65,6 @@
final JavadocClassReader reader;
final JavadocEnter enter;
final Annotate annotate;
- private final Paths paths;
/**
* Construct a new JavaCompiler processor, using appropriately
@@ -66,7 +77,6 @@
reader = JavadocClassReader.instance0(context);
enter = JavadocEnter.instance0(context);
annotate = Annotate.instance(context);
- paths = Paths.instance(context);
}
/**
@@ -120,7 +130,7 @@
boolean quiet) throws IOException {
docenv = DocEnv.instance(context);
docenv.showAccess = filter;
- docenv.quiet = quiet;
+ docenv.quiet = quiet;
docenv.breakiterator = breakiterator;
docenv.setLocale(doclocale);
docenv.setEncoding(encoding);
@@ -133,12 +143,14 @@
ListBuffer<JCCompilationUnit> packTrees = new ListBuffer<JCCompilationUnit>();
try {
+ StandardJavaFileManager fm = (StandardJavaFileManager) docenv.fileManager;
for (List<String> it = javaNames; it.nonEmpty(); it = it.tail) {
String name = it.head;
if (!docClasses && name.endsWith(".java") && new File(name).exists()) {
+ JavaFileObject fo = fm.getJavaFileObjects(name).iterator().next();
docenv.notice("main.Loading_source_file", name);
- JCCompilationUnit tree = parse(name);
- classTrees.append(tree);
+ JCCompilationUnit tree = parse(fo);
+ classTrees.append(tree);
} else if (isValidPackageName(name)) {
names = names.append(name);
} else if (name.endsWith(".java")) {
@@ -151,12 +163,14 @@
if (!docClasses) {
// Recursively search given subpackages. If any packages
//are found, add them to the list.
- searchSubPackages(subPackages, names, excludedPackages);
+ Map<String,List<JavaFileObject>> packageFiles =
+ searchSubPackages(subPackages, names, excludedPackages);
// Parse the packages
for (List<String> packs = names.toList(); packs.nonEmpty(); packs = packs.tail) {
// Parse sources ostensibly belonging to package.
- parsePackageClasses(packs.head, packTrees, excludedPackages);
+ String packageName = packs.head;
+ parsePackageClasses(packageName, packageFiles.get(packageName), packTrees, excludedPackages);
}
if (messager.nerrors() != 0) return null;
@@ -167,7 +181,8 @@
}
} catch (Abort ex) {}
- if (messager.nerrors() != 0) return null;
+ if (messager.nerrors() != 0)
+ return null;
if (docClasses)
return new RootDocImpl(docenv, javaNames, options);
@@ -185,66 +200,129 @@
return isValidClassName(s);
}
-
- private final static char pathSep = File.pathSeparatorChar;
-
/**
* search all directories in path for subdirectory name. Add all
* .java files found in such a directory to args.
*/
private void parsePackageClasses(String name,
- ListBuffer<JCCompilationUnit> trees,
- List<String> excludedPackages)
- throws IOException {
+ Iterable<JavaFileObject> files,
+ ListBuffer<JCCompilationUnit> trees,
+ List<String> excludedPackages)
+ throws IOException {
if (excludedPackages.contains(name)) {
return;
}
+
boolean hasFiles = false;
docenv.notice("main.Loading_source_files_for_package", name);
- name = name.replace('.', File.separatorChar);
- for (File pathname : paths.sourceSearchPath()) {
- File f = new File(pathname, name);
- String names[] = f.list();
- // if names not null, then found directory with source files
- if (names != null) {
- String dir = f.getAbsolutePath();
- if (!dir.endsWith(File.separator))
- dir = dir + File.separator;
- for (int j = 0; j < names.length; j++) {
- if (isValidJavaSourceFile(names[j])) {
- String fn = dir + names[j];
- // messager.notice("main.Loading_source_file", fn);
- trees.append(parse(fn));
- hasFiles = true;
- }
+
+ if (files == null) {
+ Location location = docenv.fileManager.hasLocation(StandardLocation.SOURCE_PATH)
+ ? StandardLocation.SOURCE_PATH : StandardLocation.CLASS_PATH;
+ ListBuffer<JavaFileObject> lb = new ListBuffer<JavaFileObject>();
+ for (JavaFileObject fo: docenv.fileManager.list(
+ location, name, EnumSet.of(JavaFileObject.Kind.SOURCE), false)) {
+ String binaryName = docenv.fileManager.inferBinaryName(location, fo);
+ String simpleName = getSimpleName(binaryName);
+ if (isValidClassName(simpleName)) {
+ lb.append(fo);
}
}
+ files = lb.toList();
}
- if (!hasFiles)
+
+ for (JavaFileObject fo : files) {
+ // messager.notice("main.Loading_source_file", fn);
+ trees.append(parse(fo));
+ hasFiles = true;
+ }
+
+ if (!hasFiles) {
messager.warning(null, "main.no_source_files_for_package",
- name.replace(File.separatorChar, '.'));
+ name.replace(File.separatorChar, '.'));
+ }
}
/**
* Recursively search all directories in path for subdirectory name.
* Add all packages found in such a directory to packages list.
*/
+ private Map<String,List<JavaFileObject>> searchSubPackages(
+ List<String> subPackages,
+ ListBuffer<String> packages,
+ List<String> excludedPackages)
+ throws IOException {
+ Map<String,List<JavaFileObject>> packageFiles =
+ new HashMap<String,List<JavaFileObject>>();
+
+ Map<String,Boolean> includedPackages = new HashMap<String,Boolean>();
+ includedPackages.put("", true);
+ for (String p: excludedPackages)
+ includedPackages.put(p, false);
+
+ if (docenv.fileManager.hasLocation(StandardLocation.SOURCE_PATH)) {
+ searchSubPackages(subPackages,
+ includedPackages,
+ packages, packageFiles,
+ StandardLocation.SOURCE_PATH,
+ EnumSet.of(JavaFileObject.Kind.SOURCE));
+ searchSubPackages(subPackages,
+ includedPackages,
+ packages, packageFiles,
+ StandardLocation.CLASS_PATH,
+ EnumSet.of(JavaFileObject.Kind.CLASS));
+ } else {
+ searchSubPackages(subPackages,
+ includedPackages,
+ packages, packageFiles,
+ StandardLocation.CLASS_PATH,
+ EnumSet.of(JavaFileObject.Kind.SOURCE, JavaFileObject.Kind.CLASS));
+ }
+ return packageFiles;
+ }
+
private void searchSubPackages(List<String> subPackages,
- ListBuffer<String> packages,
- List<String> excludedPackages) {
- // FIXME: This search path is bogus.
- // Only the effective source path should be searched for sources.
- // Only the effective class path should be searched for classes.
- // Should the bootclasspath/extdirs also be searched for classes?
- java.util.List<File> pathnames = new java.util.ArrayList<File>();
- if (paths.sourcePath() != null)
- for (File elt : paths.sourcePath())
- pathnames.add(elt);
- for (File elt : paths.userClassPath())
- pathnames.add(elt);
+ Map<String,Boolean> includedPackages,
+ ListBuffer<String> packages,
+ Map<String, List<JavaFileObject>> packageFiles,
+ StandardLocation location, Set<JavaFileObject.Kind> kinds)
+ throws IOException {
+ for (String subPackage: subPackages) {
+ if (!isIncluded(subPackage, includedPackages))
+ continue;
- for (String subPackage : subPackages)
- searchSubPackage(subPackage, packages, excludedPackages, pathnames);
+ for (JavaFileObject fo: docenv.fileManager.list(location, subPackage, kinds, true)) {
+ String binaryName = docenv.fileManager.inferBinaryName(location, fo);
+ String packageName = getPackageName(binaryName);
+ String simpleName = getSimpleName(binaryName);
+ if (isIncluded(packageName, includedPackages) && isValidClassName(simpleName)) {
+ List<JavaFileObject> list = packageFiles.get(packageName);
+ list = (list == null ? List.of(fo) : list.prepend(fo));
+ packageFiles.put(packageName, list);
+ if (!packages.contains(packageName))
+ packages.add(packageName);
+ }
+ }
+ }
+ }
+
+ private String getPackageName(String name) {
+ int lastDot = name.lastIndexOf(".");
+ return (lastDot == -1 ? "" : name.substring(0, lastDot));
+ }
+
+ private String getSimpleName(String name) {
+ int lastDot = name.lastIndexOf(".");
+ return (lastDot == -1 ? name : name.substring(lastDot + 1));
+ }
+
+ private boolean isIncluded(String packageName, Map<String,Boolean> includedPackages) {
+ Boolean b = includedPackages.get(packageName);
+ if (b == null) {
+ b = isIncluded(getPackageName(packageName), includedPackages);
+ includedPackages.put(packageName, b);
+ }
+ return b;
}
/**
--- a/langtools/src/share/classes/com/sun/tools/javadoc/Messager.java Wed Jul 05 16:45:59 2017 +0200
+++ b/langtools/src/share/classes/com/sun/tools/javadoc/Messager.java Sat Jan 24 16:35:52 2009 -0800
@@ -111,6 +111,7 @@
* @param warnWriter Stream for warnings
* @param noticeWriter Stream for other messages
*/
+ @SuppressWarnings("deprecation")
protected Messager(Context context,
String programName,
PrintWriter errWriter,
--- a/langtools/src/share/classes/com/sun/tools/javadoc/PackageDocImpl.java Wed Jul 05 16:45:59 2017 +0200
+++ b/langtools/src/share/classes/com/sun/tools/javadoc/PackageDocImpl.java Sat Jan 24 16:35:52 2009 -0800
@@ -25,30 +25,23 @@
package com.sun.tools.javadoc;
-import com.sun.javadoc.*;
+import java.io.InputStream;
+import java.io.IOException;
+import javax.tools.FileObject;
-import java.io.File;
-import java.io.InputStream;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.util.zip.ZipFile;
-import java.util.zip.ZipEntry;
+import com.sun.javadoc.*;
import com.sun.tools.javac.code.Attribute;
import com.sun.tools.javac.code.Scope;
import com.sun.tools.javac.code.Symbol.ClassSymbol;
import com.sun.tools.javac.code.Symbol.PackageSymbol;
-import com.sun.tools.javac.comp.AttrContext;
-import com.sun.tools.javac.comp.Env;
import com.sun.tools.javac.tree.JCTree;
+import com.sun.tools.javac.tree.JCTree.JCCompilationUnit;
import com.sun.tools.javac.util.List;
import com.sun.tools.javac.util.ListBuffer;
import com.sun.tools.javac.util.Name;
import com.sun.tools.javac.util.Position;
-import com.sun.tools.javac.tree.JCTree.JCCompilationUnit;
-
-
/**
* Represents a java package. Provides access to information
* about the package, the package's comment and tags, and the
@@ -63,14 +56,10 @@
public class PackageDocImpl extends DocImpl implements PackageDoc {
- private static final String PACKAGE_HTML_FILE_NAME = "package.html";
-
protected PackageSymbol sym;
private JCCompilationUnit tree = null; // for source position
- public String docPath = null;
- public String zipDocPath = null;
- public String zipDocEntry = null;
+ public FileObject docPath = null;
private boolean foundDoc; // found a doc comment in either
// package.html or package-info.java
@@ -108,30 +97,16 @@
* Do lazy initialization of "documentation" string.
*/
String documentation() {
- if (documentation != null) return documentation;
- if (zipDocPath != null) {
- try {
- ZipFile f = new ZipFile(zipDocPath);
- ZipEntry entry = f.getEntry(zipDocEntry);
- if (entry != null) {
- InputStream s = f.getInputStream(entry);
- return (documentation = readHTMLDocumentation(s,
- zipDocPath + File.separatorChar + zipDocEntry));
- }
- } catch (IOException exc) {
- documentation = "";
- env.error(null, "javadoc.File_Read_Error",
- zipDocPath + File.separatorChar + zipDocEntry);
- }
- }
+ if (documentation != null)
+ return documentation;
if (docPath != null) {
// read from file
try {
- InputStream s = new FileInputStream(docPath);
+ InputStream s = docPath.openInputStream();
documentation = readHTMLDocumentation(s, docPath);
} catch (IOException exc) {
documentation = "";
- env.error(null, "javadoc.File_Read_Error", docPath);
+ env.error(null, "javadoc.File_Read_Error", docPath.getName());
}
} else {
// no doc file to be had
@@ -363,24 +338,12 @@
/**
* set doc path for an unzipped directory
*/
- public void setDocPath(String path) {
+ public void setDocPath(FileObject path) {
setDocPath = true;
if (path == null)
return;
- String newDocPath = path + File.separatorChar + PACKAGE_HTML_FILE_NAME;
- if (!newDocPath.equals(docPath)) {
- docPath = newDocPath;
- checkDoc();
- }
- }
-
- /**
- * set the doc path for zipped directory
- */
- public void setDocPath(String path, String entry) {
- if (!path.equals(zipDocPath)) {
- zipDocPath = path;
- zipDocEntry = entry + PACKAGE_HTML_FILE_NAME;
+ if (!path.equals(docPath)) {
+ docPath = path;
checkDoc();
}
}
@@ -409,7 +372,7 @@
*/
public SourcePosition position() {
return (tree != null)
- ? SourcePositionImpl.make(tree.sourcefile + "", tree.pos, tree.lineMap)
+ ? SourcePositionImpl.make(tree.sourcefile, tree.pos, tree.lineMap)
: SourcePositionImpl.make(docPath, Position.NOPOS, null);
}
}
--- a/langtools/src/share/classes/com/sun/tools/javadoc/RootDocImpl.java Wed Jul 05 16:45:59 2017 +0200
+++ b/langtools/src/share/classes/com/sun/tools/javadoc/RootDocImpl.java Sat Jan 24 16:35:52 2009 -0800
@@ -26,13 +26,13 @@
package com.sun.tools.javadoc;
import java.io.IOException;
-import java.io.FileInputStream;
-import java.io.File;
+import java.util.Locale;
+import javax.tools.JavaFileObject;
+import javax.tools.StandardJavaFileManager;
import com.sun.javadoc.*;
import com.sun.tools.javac.tree.JCTree.JCClassDecl;
-import com.sun.tools.javac.code.Symbol;
import com.sun.tools.javac.util.List;
import com.sun.tools.javac.util.ListBuffer;
import com.sun.tools.javac.util.Position;
@@ -307,10 +307,13 @@
* Return the path of the overview file and null if it does not exist.
* @return the path of the overview file and null if it does not exist.
*/
- private String getOverviewPath() {
+ private JavaFileObject getOverviewPath() {
for (String[] opt : options) {
if (opt[0].equals("-overview")) {
- return opt[1];
+ if (env.fileManager instanceof StandardJavaFileManager) {
+ StandardJavaFileManager fm = (StandardJavaFileManager) env.fileManager;
+ return fm.getJavaFileObjects(opt[1]).iterator().next();
+ }
}
}
return null;
@@ -322,7 +325,7 @@
protected String documentation() {
if (documentation == null) {
int cnt = options.length();
- String overviewPath = getOverviewPath();
+ JavaFileObject overviewPath = getOverviewPath();
if (overviewPath == null) {
// no doc file to be had
documentation = "";
@@ -330,11 +333,11 @@
// read from file
try {
documentation = readHTMLDocumentation(
- new FileInputStream(overviewPath),
+ overviewPath.openInputStream(),
overviewPath);
} catch (IOException exc) {
documentation = "";
- env.error(null, "javadoc.File_Read_Error", overviewPath);
+ env.error(null, "javadoc.File_Read_Error", overviewPath.getName());
}
}
}
@@ -346,9 +349,16 @@
* no position is available.
*/
public SourcePosition position() {
- String path;
+ JavaFileObject path;
return ((path = getOverviewPath()) == null) ?
null :
SourcePositionImpl.make(path, Position.NOPOS, null);
}
+
+ /**
+ * Return the locale provided by the user or the default locale value.
+ */
+ public Locale getLocale() {
+ return env.doclocale.locale;
+ }
}
--- a/langtools/src/share/classes/com/sun/tools/javadoc/SourcePositionImpl.java Wed Jul 05 16:45:59 2017 +0200
+++ b/langtools/src/share/classes/com/sun/tools/javadoc/SourcePositionImpl.java Sat Jan 24 16:35:52 2009 -0800
@@ -25,11 +25,12 @@
package com.sun.tools.javadoc;
+import java.io.File;
+import javax.tools.FileObject;
+
import com.sun.javadoc.SourcePosition;
import com.sun.tools.javac.util.Position;
-import java.io.File;
-
/**
* A source position: filename, line number, and column number.
*
@@ -37,15 +38,21 @@
* @author Neal M Gafter
* @author Michael Van De Vanter (position representation changed to char offsets)
*/
-class SourcePositionImpl implements SourcePosition {
- String filename;
+public class SourcePositionImpl implements SourcePosition {
+ FileObject filename;
int position;
Position.LineMap lineMap;
/** The source file. Returns null if no file information is
* available. */
public File file() {
- return (filename == null) ? null : new File(filename);
+ return (filename == null) ? null : new File(filename.getName());
+ }
+
+ /** The source file. Returns null if no file information is
+ * available. */
+ public FileObject fileObject() {
+ return filename;
}
/** The line in the source file. The first line is numbered 1;
@@ -71,7 +78,7 @@
}
}
- private SourcePositionImpl(String file, int position,
+ private SourcePositionImpl(FileObject file, int position,
Position.LineMap lineMap) {
super();
this.filename = file;
@@ -79,16 +86,27 @@
this.lineMap = lineMap;
}
- public static SourcePosition make(String file, int pos,
+ public static SourcePosition make(FileObject file, int pos,
Position.LineMap lineMap) {
if (file == null) return null;
return new SourcePositionImpl(file, pos, lineMap);
}
public String toString() {
+ // Backwards compatibility hack. ZipFileObjects use the format
+ // zipfile(zipentry) but javadoc has been using zipfile/zipentry
+ String fn = filename.toString();
+ if (fn.endsWith(")")) {
+ int paren = fn.lastIndexOf("(");
+ if (paren != -1)
+ fn = fn.substring(0, paren)
+ + File.separatorChar
+ + fn.substring(paren + 1, fn.length() - 1);
+ }
+
if (position == Position.NOPOS)
- return filename;
+ return fn;
else
- return filename + ":" + line();
+ return fn + ":" + line();
}
}
--- a/langtools/src/share/classes/com/sun/tools/javadoc/TypeMaker.java Wed Jul 05 16:45:59 2017 +0200
+++ b/langtools/src/share/classes/com/sun/tools/javadoc/TypeMaker.java Sat Jan 24 16:35:52 2009 -0800
@@ -51,6 +51,7 @@
* @param errToClassDoc if true, ERROR type results in a ClassDoc;
* false preserves legacy behavior
*/
+ @SuppressWarnings("fallthrough")
public static com.sun.javadoc.Type getType(DocEnv env, Type t,
boolean errToClassDoc) {
if (env.legacyDoclet) {
--- a/langtools/src/share/classes/com/sun/tools/javah/Gen.java Wed Jul 05 16:45:59 2017 +0200
+++ b/langtools/src/share/classes/com/sun/tools/javah/Gen.java Sat Jan 24 16:35:52 2009 -0800
@@ -342,6 +342,6 @@
fields.addAll(Arrays.asList(cd.fields()));
}
- return (FieldDoc[]) fields.toArray(new FieldDoc[fields.size()]);
+ return fields.toArray(new FieldDoc[fields.size()]);
}
}
--- a/langtools/src/share/classes/com/sun/tools/javap/InternalError.java Wed Jul 05 16:45:59 2017 +0200
+++ b/langtools/src/share/classes/com/sun/tools/javap/InternalError.java Sat Jan 24 16:35:52 2009 -0800
@@ -32,6 +32,7 @@
* deletion without notice.</b>
*/
public class InternalError extends Error {
+ private static final long serialVersionUID = 8114054446416187030L;
InternalError(Throwable t, Object... args) {
super("Internal error", t);
this.args = args;
--- a/langtools/src/share/classes/javax/lang/model/type/MirroredTypeException.java Wed Jul 05 16:45:59 2017 +0200
+++ b/langtools/src/share/classes/javax/lang/model/type/MirroredTypeException.java Sat Jan 24 16:35:52 2009 -0800
@@ -1,5 +1,5 @@
/*
- * Copyright 2005-2006 Sun Microsystems, Inc. All Rights Reserved.
+ * Copyright 2005-2009 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -25,7 +25,8 @@
package javax.lang.model.type;
-
+import java.io.ObjectInputStream;
+import java.io.IOException;
import java.lang.annotation.Annotation;
import javax.lang.model.element.Element;
@@ -67,4 +68,13 @@
public TypeMirror getTypeMirror() {
return type;
}
+
+ /**
+ * Explicitly set all transient fields.
+ */
+ private void readObject(ObjectInputStream s)
+ throws IOException, ClassNotFoundException {
+ s.defaultReadObject();
+ type = null;
+ }
}
--- a/langtools/src/share/classes/javax/lang/model/type/MirroredTypesException.java Wed Jul 05 16:45:59 2017 +0200
+++ b/langtools/src/share/classes/javax/lang/model/type/MirroredTypesException.java Sat Jan 24 16:35:52 2009 -0800
@@ -1,5 +1,5 @@
/*
- * Copyright 2005-2006 Sun Microsystems, Inc. All Rights Reserved.
+ * Copyright 2005-2009 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -25,12 +25,12 @@
package javax.lang.model.type;
-
import java.lang.annotation.Annotation;
import java.util.ArrayList;
import java.util.List;
import java.util.Collections;
-
+import java.io.ObjectInputStream;
+import java.io.IOException;
import javax.lang.model.element.Element;
@@ -49,8 +49,7 @@
private static final long serialVersionUID = 269;
- // Should this be non-final for a custum readObject method?
- private final transient List<? extends TypeMirror> types; // cannot be serialized
+ private transient List<? extends TypeMirror> types; // cannot be serialized
/**
* Constructs a new MirroredTypesException for the specified types.
@@ -58,7 +57,9 @@
* @param types the types being accessed
*/
public MirroredTypesException(List<? extends TypeMirror> types) {
- super("Attempt to access Class objects for TypeMirrors " + types);
+ super("Attempt to access Class objects for TypeMirrors " +
+ (types = // defensive copy
+ new ArrayList<TypeMirror>(types)).toString() );
this.types = Collections.unmodifiableList(types);
}
@@ -72,4 +73,13 @@
public List<? extends TypeMirror> getTypeMirrors() {
return types;
}
+
+ /**
+ * Explicitly set all transient fields.
+ */
+ private void readObject(ObjectInputStream s)
+ throws IOException, ClassNotFoundException {
+ s.defaultReadObject();
+ types = null;
+ }
}
--- a/langtools/src/share/classes/sun/tools/javap/JavapPrinter.java Wed Jul 05 16:45:59 2017 +0200
+++ b/langtools/src/share/classes/sun/tools/javap/JavapPrinter.java Sat Jan 24 16:35:52 2009 -0800
@@ -719,6 +719,7 @@
/**
* Print constant pool entry information.
*/
+ @SuppressWarnings("fallthrough")
public int PrintlnConstantEntry(int cpx) {
int size=1;
byte tag=0;
@@ -757,6 +758,7 @@
case CONSTANT_LONG:
case CONSTANT_DOUBLE:
size=2;
+ // fall through
default:
out.println(str+";");
}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/com/sun/javadoc/testHtmlTag/TestHtmlTag.java Sat Jan 24 16:35:52 2009 -0800
@@ -0,0 +1,93 @@
+/*
+ * Copyright 2009 Sun Microsystems, Inc. All Rights Reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+/*
+ * @test
+ * @bug 6786682
+ * @summary This test verifies the use of lang attribute by <HTML>.
+ * @author Bhavesh Patel
+ * @library ../lib/
+ * @build JavadocTester
+ * @build TestHtmlTag
+ * @run main TestHtmlTag
+ */
+
+import java.util.Locale;
+
+public class TestHtmlTag extends JavadocTester {
+
+ private static final String BUG_ID = "6786682";
+ private static final String[][] TEST1 = {
+ {BUG_ID + FS + "pkg1" + FS + "C1.html", "<HTML lang=\"" + Locale.getDefault().getLanguage() + "\">"},
+ {BUG_ID + FS + "pkg1" + FS + "package-summary.html", "<HTML lang=\"" + Locale.getDefault().getLanguage() + "\">"}};
+ private static final String[][] NEGATED_TEST1 = {
+ {BUG_ID + FS + "pkg1" + FS + "C1.html", "<HTML>"}};
+ private static final String[][] TEST2 = {
+ {BUG_ID + FS + "pkg2" + FS + "C2.html", "<HTML lang=\"ja\">"},
+ {BUG_ID + FS + "pkg2" + FS + "package-summary.html", "<HTML lang=\"ja\">"}};
+ private static final String[][] NEGATED_TEST2 = {
+ {BUG_ID + FS + "pkg2" + FS + "C2.html", "<HTML>"}};
+ private static final String[][] TEST3 = {
+ {BUG_ID + FS + "pkg1" + FS + "C1.html", "<HTML lang=\"en\">"},
+ {BUG_ID + FS + "pkg1" + FS + "package-summary.html", "<HTML lang=\"en\">"}};
+ private static final String[][] NEGATED_TEST3 = {
+ {BUG_ID + FS + "pkg1" + FS + "C1.html", "<HTML>"}};
+
+ private static final String[] ARGS1 =
+ new String[] {
+ "-d", BUG_ID, "-sourcepath", SRC_DIR, "pkg1"};
+ private static final String[] ARGS2 =
+ new String[] {
+ "-locale", "ja", "-d", BUG_ID, "-sourcepath", SRC_DIR, "pkg2"};
+ private static final String[] ARGS3 =
+ new String[] {
+ "-locale", "en_US", "-d", BUG_ID, "-sourcepath", SRC_DIR, "pkg1"};
+
+ /**
+ * The entry point of the test.
+ * @param args the array of command line arguments.
+ */
+ public static void main(String[] args) {
+ TestHtmlTag tester = new TestHtmlTag();
+ run(tester, ARGS1, TEST1, NEGATED_TEST1);
+ run(tester, ARGS2, TEST2, NEGATED_TEST2);
+ run(tester, ARGS3, TEST3, NEGATED_TEST3);
+ tester.printSummary();
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public String getBugId() {
+ return BUG_ID;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public String getBugName() {
+ return getClass().getName();
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/com/sun/javadoc/testHtmlTag/pkg1/C1.java Sat Jan 24 16:35:52 2009 -0800
@@ -0,0 +1,33 @@
+/*
+ * Copyright 2009 Sun Microsystems, Inc. All Rights Reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+package pkg1;
+
+public class C1 {
+
+ public void method(int param1, int param2) {
+
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/com/sun/javadoc/testHtmlTag/pkg2/C2.java Sat Jan 24 16:35:52 2009 -0800
@@ -0,0 +1,31 @@
+/*
+ * Copyright 2009 Sun Microsystems, Inc. All Rights Reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+package pkg2;
+
+/**
+ * <B>Comments:</B> Class 2
+ */
+public class C2 {}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/T6794959.java Sat Jan 24 16:35:52 2009 -0800
@@ -0,0 +1,36 @@
+/*
+ * Copyright 2009 Sun Microsystems, Inc. All Rights Reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+/*
+ * @test
+ * @bug 6794959
+ * @summary add new switch -XDexpectKeys=key,key,...
+ * @compile T6794959.java
+ * @compile/fail -XDfailcomplete=java.lang.String T6794959.java
+ * @compile -XDfailcomplete=java.lang.String -XDexpectKeys=compiler.err.cant.resolve.location T6794959.java
+ * @compile/fail -XDexpectKeys=compiler.err.cant.resolve.location T6794959.java
+ */
+
+class T6794959 {
+ String s;
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/cast/6795580/T6795580.java Sat Jan 24 16:35:52 2009 -0800
@@ -0,0 +1,80 @@
+/*
+ * Copyright 2009 Sun Microsystems, Inc. All Rights Reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+/*
+ * @test
+ * @author Maurizio Cimadamore
+ * @bug 6795580
+ * @summary parser confused by square brackets in qualified generic cast
+ * @compile/fail/ref=T6795580.out -XDrawDiagnostics T6795580.java
+ */
+
+class T6795580 {
+ class Outer<S> {
+ class Inner<T> {}
+ }
+
+ void cast1(Outer<Integer>.Inner<Long>[] p) {
+ Object o = (Outer<Integer>.Inner<Long>[])p;
+ }
+
+ void cast2(Outer<Integer>.Inner<Long>[] p) {
+ Object o = (Outer<? extends Number>.Inner<Long>[])p;
+ }
+
+ void cast3(Outer<Integer>.Inner<Long>[] p) {
+ Object o = (Outer<Integer>.Inner<? extends Number>[])p;
+ }
+
+ void cast4(Outer<Integer>.Inner<Long>[] p) {
+ Object o = (Outer<? extends Number>.Inner<? extends Number>[])p;
+ }
+
+ void cast5(Outer<Integer>.Inner<Long>[] p) {
+ Object o = (Outer<? super Number>.Inner<Long>[])p;
+ }
+
+ void cast6(Outer<Integer>.Inner<Long>[] p) {
+ Object o = (Outer<Integer>.Inner<? super Number>[])p;
+ }
+
+ void cast7(Outer<Integer>.Inner<Long>[] p) {
+ Object o = (Outer<? super Number>.Inner<? super Number>[])p;
+ }
+
+ void cast8(Outer<Integer>.Inner<Long>[] p) {
+ Object o = (Outer<? extends String>.Inner<Long>[])p;
+ }
+
+ void cast9(Outer<Integer>.Inner<Long>[] p) {
+ Object o = (Outer<Integer>.Inner<? extends String>[])p;
+ }
+
+ void cast10(Outer<Integer>.Inner<Long>[] p) {
+ Object o = (Outer<? super String>.Inner<Long>[])p;
+ }
+
+ void cast11(Outer<Integer>.Inner<Long>[] p) {
+ Object o = (Outer<Integer>.Inner<? super String>[])p;
+ }
+}
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/cast/6795580/T6795580.out Sat Jan 24 16:35:52 2009 -0800
@@ -0,0 +1,8 @@
+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>[]
+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>[]
+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>[]
+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>[]
+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>[]
+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>[]
+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>[]
+7 errors
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/generics/rawOverride/6557199/T6557199.java Sat Jan 24 16:35:52 2009 -0800
@@ -0,0 +1,44 @@
+/*
+ * Copyright 2009 Sun Microsystems, Inc. All Rights Reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+/*
+ * @test
+ * @bug 6557199
+ * @summary Fails to reject bad override of generic method
+ * @author Maurizio Cimadamore
+ * @compile/fail/ref=T6557199.out T6557199.java -XDrawDiagnostics
+ */
+
+class T6557199 {
+ static class X<S> {
+ public static <U> X<U> test() {
+ return null;
+ }
+ }
+
+ static class B extends X<B> {
+ public static B test() {
+ return null;
+ }
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/generics/rawOverride/6557199/T6557199.out Sat Jan 24 16:35:52 2009 -0800
@@ -0,0 +1,2 @@
+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>
+1 error