Thu, 13 Mar 2008 13:42:38 -0700
6559315: Inconsistent non-standard Sun copyright in src/share/opensource/javac/doc/document.css
Summary: Remove obsolete files
Reviewed-by: mcimadamore
1.1 --- a/src/share/opensource/javac/Makefile Wed Mar 12 13:06:00 2008 -0700 1.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 1.3 @@ -1,275 +0,0 @@ 1.4 -# 1.5 -# Copyright 2006-2007 Sun Microsystems, Inc. All Rights Reserved. 1.6 -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 1.7 -# 1.8 -# This code is free software; you can redistribute it and/or modify it 1.9 -# under the terms of the GNU General Public License version 2 only, as 1.10 -# published by the Free Software Foundation. Sun designates this 1.11 -# particular file as subject to the "Classpath" exception as provided 1.12 -# by Sun in the LICENSE file that accompanied this code. 1.13 -# 1.14 -# This code is distributed in the hope that it will be useful, but WITHOUT 1.15 -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 1.16 -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 1.17 -# version 2 for more details (a copy is included in the LICENSE file that 1.18 -# accompanied this code). 1.19 -# 1.20 -# You should have received a copy of the GNU General Public License version 1.21 -# 2 along with this work; if not, write to the Free Software Foundation, 1.22 -# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 1.23 -# 1.24 -# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 1.25 -# CA 95054 USA or visit www.sun.com if you need additional information or 1.26 -# have any questions. 1.27 -# 1.28 - 1.29 -# Simple Makefile for javac 1.30 - 1.31 -BUILD = build 1.32 -BUILD_BOOTCLASSES = $(BUILD)/bootclasses 1.33 -BUILD_CLASSES = $(BUILD)/classes 1.34 -BUILD_JAVAC_SRCFILES = $(BUILD)/javac.srcfiles 1.35 -GENSRCDIR = $(BUILD)/gensrc 1.36 -DIST = dist 1.37 -DIST_JAVAC = $(DIST) 1.38 -ABS_DIST_JAVAC = $(shell cd $(DIST_JAVAC) ; pwd) 1.39 -SRC_BIN = src/bin 1.40 -SRC_CLASSES = src/share/classes 1.41 - 1.42 -#-------------------------------------------------------------------------------- 1.43 -# 1.44 -# version info for generated compiler 1.45 - 1.46 -JDK_VERSION = 1.7.0 1.47 -RELEASE=$(JDK_VERSION)-opensource 1.48 -BUILD_NUMBER = b00 1.49 -USER_RELEASE_SUFFIX := $(shell echo $(USER)_`date '+%d_%b_%Y_%H_%M' | tr "A-Z" "a-z"`) 1.50 -FULL_VERSION = $(RELEASE)-$(USER_RELEASE_SUFFIX)-$(BUILD_NUMBER) 1.51 - 1.52 -#-------------------------------------------------------------------------------- 1.53 - 1.54 -CAT = /bin/cat 1.55 -CHMOD = /bin/chmod 1.56 -CP = /bin/cp 1.57 -MKDIR = /bin/mkdir 1.58 -RM = /bin/rm 1.59 -SED = /bin/sed 1.60 - 1.61 - 1.62 -SYSTEM_UNAME := $(shell uname) 1.63 - 1.64 -# Platform settings specific to Solaris 1.65 -ifeq ($(SYSTEM_UNAME), SunOS) 1.66 - # Intrinsic unix command, with backslash-escaped character interpretation 1.67 - # (not using -e will cause build failure when using /bin/bash) 1.68 - # (using -e breaks something else) 1.69 - ECHO = /usr/bin/echo 1.70 - PLATFORM = solaris 1.71 -endif 1.72 - 1.73 -# Platform settings specific to Linux 1.74 -ifeq ($(SYSTEM_UNAME), Linux) 1.75 - # Intrinsic unix command, with backslash-escaped character interpretation 1.76 - ECHO = echo -e 1.77 - PLATFORM = linux 1.78 -endif 1.79 - 1.80 - 1.81 -# Set BOOTDIR to specify the JDK used to build the compiler 1.82 -ifdef BOOTDIR 1.83 -JAR = $(BOOTDIR)/bin/jar 1.84 -JAVA = $(BOOTDIR)/bin/java 1.85 -JAVAC = $(BOOTDIR)/bin/javac 1.86 -JAVADOC = $(BOOTDIR)/bin/javadoc 1.87 -else 1.88 -JAR = jar 1.89 -JAVA = java 1.90 -JAVAC = javac 1.91 -JAVADOC = javadoc 1.92 -endif 1.93 - 1.94 -ifndef JTREG 1.95 -ifdef JTREG_HOME 1.96 -JTREG = $(JTREG_HOME)/$(PLATFORM)/bin/jtreg 1.97 -else 1.98 -JTREG = jtreg 1.99 -endif 1.100 -endif 1.101 - 1.102 -ifndef JTREG_OPTS 1.103 -JTREG_OPTS = -s -verbose:summary 1.104 -endif 1.105 - 1.106 -ifndef JTREG_TESTS 1.107 -JTREG_TESTS = test/tools/javac 1.108 -endif 1.109 - 1.110 -# Set this to the baseline version of JDK used for the tests 1.111 -# TESTJDKHOME = 1.112 - 1.113 -COMPILER_SOURCE_LEVEL = 1.5 1.114 - 1.115 -#-------------------------------------------------------------------------------- 1.116 -SCM_DIRS = -name .hg -o -name .svn -o -name CVS -o -name RCS -o -name SCCS 1.117 -JAVAC_SRCS = $(shell find \ 1.118 - $(SRC_CLASSES)/javax/annotation/processing \ 1.119 - $(SRC_CLASSES)/javax/lang/model \ 1.120 - $(SRC_CLASSES)/javax/tools \ 1.121 - $(SRC_CLASSES)/com/sun/source \ 1.122 - $(SRC_CLASSES)/com/sun/tools/javac \ 1.123 - \( $(SCM_DIRS) -o -name \*-template.\* \) -prune -o -name \*.java -print ) 1.124 - 1.125 -JAVAC_RESOURCES = $(shell ls $(SRC_CLASSES)/com/sun/tools/javac/resources/*.properties | $(SED) -e 's/-template//' ) 1.126 - 1.127 - 1.128 -#-------------------------------------------------------------------------------- 1.129 - 1.130 -default: build 1.131 - 1.132 -all: build docs 1.133 - 1.134 -clean: 1.135 - $(RM) -rf $(BUILD) $(DIST) 1.136 - 1.137 -build: sanity $(DIST_JAVAC)/lib/javac.jar $(DIST_JAVAC)/bin/javac 1.138 - 1.139 - 1.140 -# javac.jar 1.141 - 1.142 -$(DIST_JAVAC)/lib/javac.jar: \ 1.143 - $(JAVAC_SRCS) \ 1.144 - $(patsubst $(SRC_CLASSES)/%,$(BUILD_BOOTCLASSES)/%,$(JAVAC_RESOURCES)) \ 1.145 - $(patsubst $(SRC_CLASSES)/%,$(BUILD_CLASSES)/%,$(JAVAC_RESOURCES)) 1.146 - @$(ECHO) $(JAVAC_SRCS) > $(BUILD_JAVAC_SRCFILES) 1.147 - $(JAVAC) -d $(BUILD_BOOTCLASSES) -source $(COMPILER_SOURCE_LEVEL) -g:source,lines @$(BUILD_JAVAC_SRCFILES) 1.148 - $(JAVA) -cp $(BUILD_BOOTCLASSES) com.sun.tools.javac.Main \ 1.149 - -d $(BUILD_CLASSES) -g:source,lines @$(BUILD_JAVAC_SRCFILES) 1.150 - ( $(ECHO) "Main-Class: com.sun.tools.javac.Main" ; \ 1.151 - $(ECHO) "Built-By: $$USER" ; \ 1.152 - $(ECHO) "Built-At: `date`" ) > $(BUILD)/javac.MF 1.153 - $(MKDIR) -p $(DIST_JAVAC)/lib 1.154 - $(JAR) -cmf $(BUILD)/javac.MF $(DIST_JAVAC)/lib/javac.jar -C ${BUILD_CLASSES} . 1.155 - 1.156 - 1.157 -# javac resources 1.158 - 1.159 -$(BUILD_BOOTCLASSES)/com/sun/tools/javac/resources/version.properties \ 1.160 -$(BUILD_CLASSES)/com/sun/tools/javac/resources/version.properties: \ 1.161 - $(SRC_CLASSES)/com/sun/tools/javac/resources/version-template.properties 1.162 - $(MKDIR) -p $(@D) 1.163 - $(SED) -e 's/$$(JDK_VERSION)/$(JDK_VERSION)/' \ 1.164 - -e 's/$$(FULL_VERSION)/$(FULL_VERSION)/' \ 1.165 - -e 's/$$(RELEASE)/$(RELEASE)/' \ 1.166 - < $< > $@ 1.167 - 1.168 -$(BUILD_BOOTCLASSES)/com/sun/tools/javac/resources/%.properties: \ 1.169 - $(SRC_CLASSES)/com/sun/tools/javac/resources/%.properties 1.170 - $(MKDIR) -p $(@D) 1.171 - $(CP) $^ $@ 1.172 - 1.173 -$(BUILD_CLASSES)/com/sun/tools/javac/resources/%.properties: \ 1.174 - $(SRC_CLASSES)/com/sun/tools/javac/resources/%.properties 1.175 - $(MKDIR) -p $(@D) 1.176 - $(CP) $^ $@ 1.177 - 1.178 - 1.179 -# javac wrapper script 1.180 - 1.181 -$(DIST_JAVAC)/bin/javac: $(SRC_BIN)/javac.sh 1.182 - $(MKDIR) -p $(@D) 1.183 - $(CP) $^ $@ 1.184 - $(CHMOD) +x $@ 1.185 - 1.186 -# javadoc 1.187 - 1.188 -JLS3_URL = http://java.sun.com/docs/books/jls/ 1.189 -JLS3_CITE = <a href="$(JLS3_URL)"> \ 1.190 - The Java Language Specification, Third Edition</a> 1.191 -TAG_JLS3 = -tag 'jls3:a:See <cite>$(JLS3_CITE)</cite>:' 1.192 - 1.193 -TAGS = $(IGNORED_TAGS:%=-tag %:X) $(TAG_JLS3) 1.194 - 1.195 -docs: 1.196 - $(JAVADOC) -sourcepath $(SRC_CLASSES) -d $(DIST_JAVAC)/doc/api \ 1.197 - $(TAGS) \ 1.198 - -subpackages javax.annotation.processing:javax.lang.model:javax.tools:com.sun.source:com.sun.tools.javac 1.199 - 1.200 -#-------------------------------------------------------------------------------- 1.201 - 1.202 -test: test-sanity $(DIST_JAVAC)/lib/javac.jar 1.203 - $(JTREG) $(JTREG_OPTS) -noshell \ 1.204 - -jdk:$(TESTJDKHOME) \ 1.205 - -Xbootclasspath/p:$(ABS_DIST_JAVAC)/lib/javac.jar \ 1.206 - -w:$(BUILD)/jtreg/work \ 1.207 - -r:$(BUILD)/jtreg/report \ 1.208 - $(JTREG_TESTS) 1.209 - 1.210 -#-------------------------------------------------------------------------------- 1.211 - 1.212 -ifndef ERROR_FILE 1.213 - ERROR_FILE = $(BUILD)/sanityCheckErrors.txt 1.214 -endif 1.215 - 1.216 -presanity: 1.217 - @$(RM) -f $(ERROR_FILE) 1.218 - @$(MKDIR) -p `dirname $(ERROR_FILE)` 1.219 - 1.220 -###################################################### 1.221 -# CLASSPATH cannot be set, unless you are insane. 1.222 -###################################################### 1.223 -sane-classpath: 1.224 -ifdef CLASSPATH 1.225 - @$(ECHO) "ERROR: Your CLASSPATH environment variable is set. This will \n" \ 1.226 - " most likely cause the build to fail. Please unset it \n" \ 1.227 - " and start your build again. \n" \ 1.228 - "" >> $(ERROR_FILE) 1.229 -endif 1.230 - 1.231 -###################################################### 1.232 -# JAVA_HOME cannot be set, unless you are insane. 1.233 -###################################################### 1.234 -sane-java_home: 1.235 -ifdef JAVA_HOME 1.236 - @$(ECHO) "ERROR: Your JAVA_HOME environment variable is set. This will \n" \ 1.237 - " most likely cause the build to fail. Please unset it \n" \ 1.238 - " and start your build again. \n" \ 1.239 - "" >> $(ERROR_FILE) 1.240 -endif 1.241 - 1.242 - 1.243 -###################################################### 1.244 -# TESTJDKHOME needs to be set to run tests 1.245 -###################################################### 1.246 -sane-testjdk: 1.247 -ifndef TESTJDKHOME 1.248 - @$(ECHO) "ERROR: TESTJDKHOME needs to be set to the baseline version \n" \ 1.249 - " version of JDK used to run the compiler tests.\n" \ 1.250 - "" >> $(ERROR_FILE) 1.251 -endif 1.252 - 1.253 - 1.254 -sane-lastrule: 1.255 - @if [ -r $(ERROR_FILE) ]; then \ 1.256 - if [ "x$(INSANE)" = x ]; then \ 1.257 - $(ECHO) "Exiting because of the above error(s). \n" \ 1.258 - "">> $(ERROR_FILE); \ 1.259 - fi ; \ 1.260 - $(CAT) $(ERROR_FILE) ; \ 1.261 - if [ "x$(INSANE)" = x ]; then \ 1.262 - exit 1 ; \ 1.263 - fi ; \ 1.264 - fi 1.265 - 1.266 -sanity \ 1.267 -build-sanity: presanity sane-classpath sane-java_home sane-lastrule 1.268 - 1.269 -test-sanity: presanity sane-classpath sane-java_home sane-testjdk sane-lastrule 1.270 - 1.271 - 1.272 - 1.273 - 1.274 -#-------------------------------------------------------------------------------- 1.275 - 1.276 -.PHONY: all build clean default docs prep test \ 1.277 - presanity sanity build-sanity test-sanity \ 1.278 - sane-classpath sane-java_home sane-testjdk sane-lastrule
2.1 --- a/src/share/opensource/javac/README-template.html Wed Mar 12 13:06:00 2008 -0700 2.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 2.3 @@ -1,330 +0,0 @@ 2.4 -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 2.5 -<!-- 2.6 -Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. 2.7 -DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 2.8 - 2.9 -This code is free software; you can redistribute it and/or modify it 2.10 -under the terms of the GNU General Public License version 2 only, as 2.11 -published by the Free Software Foundation. Sun designates this 2.12 -particular file as subject to the "Classpath" exception as provided 2.13 -by Sun in the LICENSE file that accompanied this code. 2.14 - 2.15 -This code is distributed in the hope that it will be useful, but WITHOUT 2.16 -ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 2.17 -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 2.18 -version 2 for more details (a copy is included in the LICENSE file that 2.19 -accompanied this code). 2.20 - 2.21 -You should have received a copy of the GNU General Public License version 2.22 -2 along with this work; if not, write to the Free Software Foundation, 2.23 -Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 2.24 - 2.25 -Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 2.26 -CA 95054 USA or visit www.sun.com if you need additional information or 2.27 -have any questions. 2.28 ---> 2.29 - 2.30 -<html> 2.31 - <head> 2.32 - <meta name="jdk-version" content="$(JDK_VERSION)"> 2.33 - <meta name="full-version" content="$(FULL_VERSION)"> 2.34 - <meta name="release" content="$(RELEASE)"> 2.35 - <meta name="date" content="$(BUILD_DATE)"> 2.36 - <link href="doc/document.css" rel="stylesheet"> 2.37 - <title>OpenJDK: javac -- README</title> 2.38 - <style type="text/css"> 2.39 - p.noteX { margin-left:18pt; text-indent:-18pt } 2.40 - </style> 2.41 - </head> 2.42 - <body> 2.43 - <table width="100%" cellspacing="0" cellpadding="0" border="0" 2.44 - summary="This table is for formatting purposes only."> 2.45 - <tr> 2.46 - <td class="sun-darkblue"> </td> 2.47 - </tr> 2.48 - <tr> 2.49 - <td class="sun-darkblue"> 2.50 - <h1>README</h1> 2.51 - 2.52 - <h2>Open JDK™ Java programming language compiler (<code>javac</code>)<br> 2.53 - Version $(RELEASE) 2.54 - <!--$(FULL_VERSION)--></h2> 2.55 - <h4>$(BUILD_DATE)</h4> 2.56 - </td> 2.57 - </tr> 2.58 - <tr> 2.59 - <td class="sun-lightblue"> </td> 2.60 - </tr> 2.61 - </table> 2.62 - 2.63 - <a name="top"></a> 2.64 - 2.65 - <!--<p class="nav-link">[<a href="#intro">Skip TOC</a>]</p>--> 2.66 - 2.67 - <h2>Table of Contents</h2> 2.68 - 2.69 - <ul> 2.70 - <li><a href="#intro">Introduction</a></li> 2.71 - <li><a href="#files">Files and Directories</a></li> 2.72 - <li><a href="#specs">Specifications</a></li> 2.73 - <li><a href="#build">Building the compiler</a></li> 2.74 - <li><a href="#run">Running the compiler</a></li> 2.75 - <li><a href="#test">Testing the compiler</a></li> 2.76 - </ul> 2.77 - 2.78 - <h2><a name="intro">Introduction</a></h2> 2.79 - <p>This bundle contains the source code for <code>javac</code>, a compiler for 2.80 - the Java™ programming language. 2.81 - Build files are provided for use with 2.82 - <a href="http://www.netbeans.org">NetBeans</a>, 2.83 - <a href="http://ant.apache.org/">Apache Ant</a> or 2.84 - <a href="http://www.gnu.org/software/make/">GNU make</a>. 2.85 - The bundle also contains a set of compiler tests, for use with the 2.86 - <a href="https://openjdk.dev.java.net/jtreg/">jtreg</a> test harness. 2.87 - 2.88 - 2.89 - <h2><a name="files">Files and Directories</a></h2> 2.90 - When you install the compiler bundle, a directory named 2.91 - <code>compiler</code> will be created, containing the following: 2.92 - <table> 2.93 - <thead> 2.94 - <tr><th>Name<th>Description 2.95 - </thead> 2.96 - <tbody> 2.97 - <tr> 2.98 - <td>README.html</td> 2.99 - <td>This file.</td> 2.100 - </tr> 2.101 - <tr> 2.102 - <td>nbproject/project.xml</td> 2.103 - <td>A NetBeans project file. 2.104 - </tr> 2.105 - <tr> 2.106 - <td>src/share/classes/</td> 2.107 - <td>The source files for the compiler.</td> 2.108 - </tr> 2.109 - <tr> 2.110 - <td>build.xml</td> 2.111 - <td>A build file for building the compiler, suitable for 2.112 - use with NetBeans and Apache Ant.</td> 2.113 - </tr> 2.114 - <tr> 2.115 - <td>build.properties</td> 2.116 - <td>Build properties, used by build.xml.</td> 2.117 - </tr> 2.118 - <tr> 2.119 - <td>Makefile</td> 2.120 - <td>A Makefile for building the compiler, suitable for use 2.121 - with GNU make.</td> 2.122 - </tr> 2.123 - <tr> 2.124 - <td>test/tools/javac/</td> 2.125 - <td>Regression tests for the compiler, for use with the JDK regression 2.126 - test harness, jtreg.</td> 2.127 - </tr> 2.128 - <tr> 2.129 - <td><a href="doc">doc/</a></td> 2.130 - <td>Additional notes about the compiler.</td> 2.131 - </tr> 2.132 - </tbody> 2.133 - </table> 2.134 - 2.135 - <h2><a name="specs">Specifications</a></h2> 2.136 - <p>The compiler is a program for compiling source code written in the Java 2.137 - programming language into class files suitable for execution on a Java 2.138 - virtual machine. It also provides API for annotation processing, 2.139 - and invoking the compiler programmatically. 2.140 - <p>These behaviors are governed by the following specifications: 2.141 - <ul> 2.142 - <li>Java Language Specification (JLS)</li> 2.143 - <li>Java Virtual Machine Specification (JVMS)</li> 2.144 - <li>Java Compiler API (JSR 199)</li> 2.145 - <li>Pluggable Annotation Processing API (JSR 269)</li> 2.146 - </ul> 2.147 - <p>For more details on these specifications, see the 2.148 - <a href="http://download.java.net/jdk6/docs/technotes/guides/javac/index.html">javac Guide</a>. 2.149 - </p> 2.150 - 2.151 - <p>These specifications are controlled by the Java Community Process 2.152 - (<a href="http://jcp.org/">JCP</a>.) All implementations of these specifications 2.153 - must pass the appropriate test suites.</p> 2.154 - 2.155 - <p><b>Notice regarding JSR 199 and JSR 269:</b> 2.156 - This is an implementation of an early-draft 2.157 - specification developed under the Java Community Process (JCP) 2.158 - and is made available for testing and evaluation purposes only. 2.159 - The code is not compatible with any specification of the JCP. 2.160 - 2.161 - <h2><a name="build">Building the compiler</a></h2> 2.162 - 2.163 - <h3>System Requirements</h3> 2.164 - <p><code>javac</code> is written in the Java programming language. 2.165 - As a general rule, it can normally be compiled using tools in the 2.166 - latest released version of the JDK. 2.167 - (That is, a development version of <code>javac</code> version 7 2.168 - can be built with JDK version 6, etc.) 2.169 - To <a href="#bootstrap">bootstrap</a> the compiler, you should also have 2.170 - a copy of the target JDK.</p> 2.171 - 2.172 - <p>You can build <code>javac</code> using 2.173 - <a href="#build.netbeans">NetBeans</a>, 2.174 - <a href="#build.ant">Apache Ant</a>, 2.175 - or <a href="#build.make">GNU make</a>. 2.176 - </p> 2.177 - 2.178 - <p>To run the compiler tests, you will need the 2.179 - <a href="https://openjdk.dev.java.net/jtreg/">jtreg test harness</a>. 2.180 - 2.181 - <h3><a name="bootstrap">Bootstrapping the compiler</a></h3> 2.182 - 2.183 - <p>The source for the compiler is such that it can be compiled using the latest 2.184 - publicly released version of the JDK.In practice, it is typically desirable 2.185 - to compile it first using the latest publicly released version of the JDK, 2.186 - and then again using itself, and the target platform on which it will be run. 2.187 - This not only provides a good initial test of the newly built compiler, it 2.188 - also means the compiler is built with the latest compiler sources, against 2.189 - the target libraries. 2.190 - 2.191 - <h3><a name="build.netbeans">Building with NetBeans</a></h3> 2.192 - <p>The installation directory for the compiler is set up as a free-form NetBeans project, 2.193 - so to build the compiler using NetBeans, you just have to open the 2.194 - project and build it in the normal way, for example, by using the operations 2.195 - on the <code>Build</code> menu. 2.196 - <p>To run the tests, you will have to edit properties in the 2.197 - <code>build.properties</code> file, to specify where you have installed 2.198 - the <code>jtreg</code> harness and, possibly, a different version of 2.199 - JDK to use when running the tests. 2.200 - 2.201 - <h3><a name="build.ant">Building with Apache Ant</a></h3> 2.202 - <p>To build the compiler, go to the compiler installation directory, and run "ant".</p> 2.203 - <pre> 2.204 - % cd <i>install-dir</i> 2.205 - % ant 2.206 - </pre> 2.207 - <p>To run the tests, you will have to edit properties in the 2.208 - <code>build.properties</code> file, to specify where you have installed 2.209 - the <code>jtreg</code> harness and, possibly, a different version of 2.210 - JDK to use when running the tests. Then, you can run the tests using the 2.211 - "test" target. 2.212 - 2.213 - <h3><a name="build.make">Building with GNU make</a></h3> 2.214 - <p>To build the compiler, go to the compiler installation directory, and type "make".</p> 2.215 - You should not have CLASSPATH and JAVAHOME environment variables set when you 2.216 - do this. 2.217 - <pre> 2.218 - % cd <i>install-dir</i> 2.219 - % make 2.220 - </pre> 2.221 - <p>To run the tests, you will have to specify where you have installed 2.222 - the <code>jtreg</code> harness and, possibly, a different version of 2.223 - JDK to use when running the tests. Then, you can run the tests using the 2.224 - "test" target. You can specify the values by giving them on the command 2.225 - line when you run <code>make</code> or by editing the values into the Makefile. 2.226 - 2.227 - <h3>What gets built?</h3> 2.228 - <p>Whichever build tool you use, the results are put in the <code>dist</code> 2.229 - subdirectory of your installation directory. The following files will be built. 2.230 - <table> 2.231 - <thead> 2.232 - <tr><th>Name<th>Description 2.233 - </thead> 2.234 - <tbody> 2.235 - <tr> 2.236 - <td>dist/lib/javac.jar</td> 2.237 - <td>This is an executable jar file containing the compiler.</td> 2.238 - </tr> 2.239 - <tr> 2.240 - <td>dist/bin/javac</td> 2.241 - <td>This is a simple shell script to invoke the compiler.</td> 2.242 - </tr> 2.243 - </tbody> 2.244 - </table> 2.245 - 2.246 - <h3>Notes</h3> 2.247 - 2.248 - <p class="note"><i>Property files:</i> 2.249 - It is possible to compile the resource property files into equivalent 2.250 - class files, for a minor performance improvement. For simplicity, that 2.251 - feature is not included here.</p> 2.252 - 2.253 - <p class="note"><i>The launcher:</i> 2.254 - JDK uses a program informally called "the launcher" which is used as 2.255 - a wrapper for all JDK tools, including <code>java</code>, 2.256 - <code>javac</code>, <code>javadoc</code>, and so on. The program is a deployed 2.257 - as a platform-dependent binary, thus obviating the need for a shell 2.258 - script to invoke the tools. Again for simplicity, and because that program 2.259 - is not normally considered part of <code>javac</code>, that program is 2.260 - not included here.</p 2.261 - 2.262 - <h2><a name="run">Running the compiler</a></h2> 2.263 - <p>Once you have built the compiler, you can run it in a number of ways. 2.264 - <ul> 2.265 - <li> 2.266 - <p>Use the generated script, perhaps by putting it on your shell's 2.267 - command execution path.</p> 2.268 - <pre> % <i>install-dir</i>/dist/bin/javac HelloWorld.java</pre> 2.269 - <p>or</p> 2.270 - <pre> % javac HelloWorld.java</pre> 2.271 - </li> 2.272 - <li><p>Execute javac.jar with the <code>java</code> command.</p> 2.273 - <pre> % java -jar <i>install-dir</i>/dist/lib/javac.jar HelloWorld.java</pre> 2.274 - </li> 2.275 - <li><p>Execute javac.jar directly. Depending on your operating system, 2.276 - you may be able to execute the jar file directly.</p> 2.277 - <pre> % <i>install-dir</i>/dist/lib/javac.jar HelloWorld.java</pre> 2.278 - <p>See the 2.279 - <a href="http://java.sun.com/j2se/1.5.0/docs/guide/jar/jarGuide.html">Jar File Overview</a> 2.280 - for details.</p> 2.281 - </li> 2.282 - </ul> 2.283 - 2.284 - <h2><a name="test">Testing the compiler with <code>jtreg</code></h2> 2.285 - <p>This bundle contains a large test suite of unit and regression tests 2.286 - used to test <code>javac</code>. They are part of the JDK Regression Test 2.287 - Suite, which uses the 2.288 - <a href="https://openjdk.dev.java.net/jtreg/">jtreg test harness</a>. 2.289 - This harness is 2.290 - designed to run both API-style tests, and command-line tests, such as 2.291 - found in the tests for <code>javac</code>.</p> 2.292 - 2.293 - <p>The simplest way to run the tests is to prepend the newly created 2.294 - copy of <code>javac.jar</code> to the bootstrap class path of a 2.295 - compatible version of JDK (meaning, it must accept the class file 2.296 - versions of newly compiled classes.) To do this, you can use 2.297 - the <code>-Xbootclasspath/p:</code><i><path></i> option 2.298 - for <code>jtreg</code>. This option is similar to the equivalent 2.299 - option for the <code>java</code> command. 2.300 - 2.301 - <p><i><b>Note:</b>Some of the tests, written as shell tests, do not yet 2.302 - support this mode of operation. You should use the 2.303 - <code>-noshell</code> to disable these tests for the time being. 2.304 - This restriction will be lifted in the near future.</i> 2.305 - 2.306 - <p><i><b>Note:</b>Four additional tests are ignored, using the <code>jtreg</code> 2.307 - <code>@ignore</code> tag, because of problems caused by bugs that have not yet 2.308 - been addressed. 2.309 - 2.310 - <p>You can run the compiler tests with a command such as the following:</p> 2.311 - 2.312 - <pre> % jtreg -jdk:<i>jdk</i> -Xbootclasspath/p:<i>my-javac.jar</i> -verbose -noshell test/tools/javac</pre> 2.313 - 2.314 - <p>Depending on the verbose options used, some amount of detail of the result 2.315 - of each test is written to the console. In addition, an HTML report about the 2.316 - entire test run is written to a report directory, and a results file is written for 2.317 - each test, in a "work" directory. The location of these directories can be 2.318 - specified on the <code>jtreg</code> command line; the actual locations used 2.319 - are reported to the console at the conclusion of the test run. 2.320 - 2.321 - <p>For more information on <code>jtreg</code>, use the 2.322 - the <code>-help</code> option for command-line help, or 2.323 - the <code>-onlineHelp</code> option for the built-in online help. 2.324 - Both of these options may optionally be followed by search 2.325 - keywords</p> 2.326 - 2.327 - <p><code>jtreg</code> can also be run from Ant. See 2.328 - <code>jtreg -onlineHelp ant</code> for details.</p> 2.329 - 2.330 - <p>Both <code>build.xml</code> and <code>Makefile</code> contain "test" targets for running the tests. 2.331 - 2.332 - </body> 2.333 -</html>
3.1 --- a/src/share/opensource/javac/build.properties Wed Mar 12 13:06:00 2008 -0700 3.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 3.3 @@ -1,13 +0,0 @@ 3.4 -build.jdk.version = 1.7.0 3.5 -build.release = ${build.jdk.version}-opensource 3.6 -build.number = b00 3.7 -build.user.release.suffix = ${user.name}_${build.fullversion.time} 3.8 -build.full.version = ${build.release}-${build.user.release.suffix}-${build.number} 3.9 - 3.10 -# Set jtreg.home to jtreg installation directory 3.11 -# jtreg.home = 3.12 - 3.13 -# Set test.jdk.home to baseline JDK used to run the tests 3.14 -# test.jdk.home = 3.15 - 3.16 -compiler.source.level = 1.5
4.1 --- a/src/share/opensource/javac/build.xml Wed Mar 12 13:06:00 2008 -0700 4.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 4.3 @@ -1,163 +0,0 @@ 4.4 -<!-- 4.5 - Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. 4.6 - DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4.7 - 4.8 - This code is free software; you can redistribute it and/or modify it 4.9 - under the terms of the GNU General Public License version 2 only, as 4.10 - published by the Free Software Foundation. Sun designates this 4.11 - particular file as subject to the "Classpath" exception as provided 4.12 - by Sun in the LICENSE file that accompanied this code. 4.13 - 4.14 - This code is distributed in the hope that it will be useful, but WITHOUT 4.15 - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 4.16 - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 4.17 - version 2 for more details (a copy is included in the LICENSE file that 4.18 - accompanied this code). 4.19 - 4.20 - You should have received a copy of the GNU General Public License version 4.21 - 2 along with this work; if not, write to the Free Software Foundation, 4.22 - Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 4.23 - 4.24 - Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 4.25 - CA 95054 USA or visit www.sun.com if you need additional information or 4.26 - have any questions. 4.27 ---> 4.28 - 4.29 -<project name="os-javac" default="build" basedir="."> 4.30 - <property name="src" value="src"/> 4.31 - <property name="src.bin" value="${src}/bin"/> 4.32 - <property name="src.classes" value="${src}/share/classes"/> 4.33 - <property name="build" value ="build"/> 4.34 - <property name="build.bootclasses" value="${build}/bootclasses"/> 4.35 - <property name="build.classes" value="${build}/classes"/> 4.36 - <property name="build.jtreg" value="${build}/jtreg"/> 4.37 - <property name="dist" value="dist"/> 4.38 - <property name="dist.javac" value="${dist}"/> 4.39 - 4.40 - <patternset id="src.javac"> 4.41 - <include name="javax/annotation/processing/**/*.java"/> 4.42 - <include name="javax/lang/model/**/*.java"/> 4.43 - <include name="javax/tools/**/*.java"/> 4.44 - <include name="com/sun/source/**/*.java"/> 4.45 - <include name="com/sun/tools/javac/**/*.java"/> 4.46 - </patternset> 4.47 - 4.48 - <fileset id="javac.resources" dir="${src.classes}"> 4.49 - <include name="com/sun/tools/javac/resources/*.properties"/> 4.50 - <exclude name="**/*-template.*"/> 4.51 - </fileset> 4.52 - 4.53 - <target name="prep"> 4.54 - <mkdir dir="${build.bootclasses}"/> 4.55 - <mkdir dir="${build.classes}"/> 4.56 - <mkdir dir="${dist.javac}/bin"/> 4.57 - <mkdir dir="${dist.javac}/lib"/> 4.58 - <tstamp> 4.59 - <format property="build.time" pattern="MM/dd/yyyy hh:mm aa"/> 4.60 - <format property="build.fullversion.time" pattern="MM/dd/yyyy_HH_mm"/> 4.61 - </tstamp> 4.62 - <property file="build.properties"/> 4.63 - </target> 4.64 - 4.65 - <target name="check-javac.isuptodate"> 4.66 - <uptodate targetfile="${dist.javac}/lib/javac.jar" property="javac.is.uptodate"> 4.67 - <srcfiles dir="${src.classes}"> 4.68 - <patternset refid="src.javac"/> 4.69 - <include name="${src.classes}/com/sun/tools/javac/resources/*.properties"/> 4.70 - </srcfiles> 4.71 - </uptodate> 4.72 - </target> 4.73 - 4.74 - <target name="build" depends="prep,build-lib.javac.jar,build-bin.javac"/> 4.75 - 4.76 - <target name="build-lib.javac.jar" depends="check-javac.isuptodate" unless="javac.is.uptodate"> 4.77 - <!-- to compile javac, set includeAntRuntime=no to prevent javac's 4.78 - own tools.jar incorrectly appearing on the classpath --> 4.79 - <javac srcdir="${src.classes}" destdir="${build.bootclasses}" 4.80 - source="${compiler.source.level}" debug="true" debuglevel="source,lines" 4.81 - includeAntRuntime="no"> 4.82 - <patternset refid="src.javac"/> 4.83 - </javac> 4.84 - <copy todir="${build.bootclasses}"> 4.85 - <fileset refid="javac.resources"/> 4.86 - </copy> 4.87 - <echo message="recompiling compiler with itself"/> 4.88 - <pathconvert pathsep=" " property="src.javac.files"> 4.89 - <path> 4.90 - <fileset dir="${src.classes}"> 4.91 - <patternset refid="src.javac"/> 4.92 - </fileset> 4.93 - </path> 4.94 - </pathconvert> 4.95 - <java fork="true" classpath="${build.bootclasses}" classname="com.sun.tools.javac.Main"> 4.96 - <arg value="-sourcepath"/> 4.97 - <arg value=""/> 4.98 - <arg value="-d"/> 4.99 - <arg file="${build.classes}"/> 4.100 - <arg value="-g:source,lines"/> 4.101 - <arg line="${src.javac.files}"/> 4.102 - </java> 4.103 - <copy todir="${build.classes}"> 4.104 - <fileset refid="javac.resources"/> 4.105 - </copy> 4.106 - <copy file="${src.classes}/com/sun/tools/javac/resources/version-template.properties" 4.107 - tofile="${build.classes}/com/sun/tools/javac/resources/version.properties"> 4.108 - <filterset begintoken="$(" endtoken=")"> 4.109 - <filter token="JDK_VERSION" value="${build.jdk.version}"/> 4.110 - <filter token="RELEASE" value="${build.release}"/> 4.111 - <filter token="FULL_VERSION" value="${build.full.version}"/> 4.112 - </filterset> 4.113 - </copy> 4.114 - <jar destfile="${dist.javac}/lib/javac.jar" basedir="${build.classes}"> 4.115 - <manifest> 4.116 - <attribute name="Built-By" value="${user.name}"/> 4.117 - <attribute name="Built-At" value="${build.time}"/> 4.118 - <attribute name="Main-Class" value="com.sun.tools.javac.Main"/> 4.119 - </manifest> 4.120 - </jar> 4.121 - </target> 4.122 - 4.123 - <target name="build-bin.javac"> 4.124 - <copy tofile="${dist.javac}/bin/javac" file="${src.bin}/javac.sh"/> 4.125 - <chmod file="${dist.javac}/bin/javac" perm="+x"/> 4.126 - </target> 4.127 - 4.128 - <property name="javadoc.jls3.url" value="http://java.sun.com/docs/books/jls/"/> 4.129 - <property name="javadoc.jls3.cite" value="<a href="${javadoc.jls3.url}">The Java Language Specification, Third Edition</a>"/> 4.130 - 4.131 - <target name="docs" depends="prep"> 4.132 - <javadoc sourcepath="${src.classes}" destdir="${dist}/doc/api" 4.133 - bootclasspath="${java.home}/lib/rt.jar" classpath=""> 4.134 - <package name="javax.annotation.processing.*"/> 4.135 - <package name="javax.lang.model.*"/> 4.136 - <package name="javax.tools.*"/> 4.137 - <package name="com.sun.source.*"/> 4.138 - <package name="com.sun.tools.javac.*"/> 4.139 - <arg value="-tag"/> 4.140 - <arg value="jls3:a:See <cite>${javadoc.jls3.cite}</cite>:"/> 4.141 - </javadoc> 4.142 - </target> 4.143 - 4.144 - <target name="test" depends="xtest" /> 4.145 - 4.146 - <!-- can't call it test, because NetBeans associates that with JUnit --> 4.147 - <target name="xtest" depends="build"> 4.148 - <fail unless="jtreg.home" message="Property 'jtreg.home' needs to be set to the jtreg installation directory."/> 4.149 - <taskdef name="jtreg" classpath="${jtreg.home}/lib/jtreg.jar" classname="com.sun.javatest.regtest.Main$$Ant"/> 4.150 - <fail unless="test.jdk.home" message="Property 'test.jdk.home' needs to be set to the baseline JDK to be used to run the tests"/> 4.151 - <jtreg dir="test" samevm="true" verbose="summary" 4.152 - jdk="${test.jdk.home}" 4.153 - workDir="${build.jtreg}/work" 4.154 - reportDir="${build.jtreg}/report"> 4.155 - <arg value="-noshell"/> 4.156 - <arg value="-Xbootclasspath/p:${dist.javac}/lib/javac.jar"/> 4.157 - <include name="tools/javac"/> 4.158 - </jtreg> 4.159 - </target> 4.160 - 4.161 - <target name="clean"> 4.162 - <delete dir="${build}"/> 4.163 - <delete dir="${dist}"/> 4.164 - </target> 4.165 - 4.166 -</project>
5.1 --- a/src/share/opensource/javac/doc/document.css Wed Mar 12 13:06:00 2008 -0700 5.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 5.3 @@ -1,59 +0,0 @@ 5.4 -/* 5.5 - * Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. 5.6 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 5.7 - * 5.8 - * This code is free software; you can redistribute it and/or modify it 5.9 - * under the terms of the GNU General Public License version 2 only, as 5.10 - * published by the Free Software Foundation. Sun designates this 5.11 - * particular file as subject to the "Classpath" exception as provided 5.12 - * by Sun in the LICENSE file that accompanied this code. 5.13 - * 5.14 - * This code is distributed in the hope that it will be useful, but WITHOUT 5.15 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 5.16 - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 5.17 - * version 2 for more details (a copy is included in the LICENSE file that 5.18 - * accompanied this code). 5.19 - * 5.20 - * You should have received a copy of the GNU General Public License version 5.21 - * 2 along with this work; if not, write to the Free Software Foundation, 5.22 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 5.23 - * 5.24 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 5.25 - * CA 95054 USA or visit www.sun.com if you need additional information or 5.26 - * have any questions. 5.27 - */ 5.28 - 5.29 -/* 5.30 - * Copyright � 2005 Sun Microsystems, Inc. All rights reserved. 5.31 - * Use is subject to license terms. 5.32 - * 5.33 - */ 5.34 - 5.35 -body { background-color: #FFFFFF; font-family: Arial, Helvetica, sans-serif; 5.36 - border-top-width: 0px; border-right-width: 0px; 5.37 - border-bottom-width: 0px; border-left-width: 0px} 5.38 -h1 { font-family: Arial, Helvetica, sans-serif} 5.39 -h2 { font-family: Arial, Helvetica, sans-serif; padding-top: 25px} 5.40 -h3 { font-family: Arial, Helvetica, sans-serif} 5.41 -h4 { font-family: Arial, Helvetica, sans-serif} 5.42 -li { font-family: Arial, Helvetica, sans-serif} 5.43 -table { font-family: Arial, Helvetica, sans-serif; 5.44 - background-color: #FFFFFF; 5.45 - margin-top: 0px; padding-top: 0px; 5.46 - border-top-width: 0px; border-right-width: 0px; 5.47 - border-bottom-width: 0px; border-left-width: 0px; 5.48 - margin-bottom: 10px; margin-left: 0px; 5.49 - padding-bottom: 5px; padding-left: 5px} 5.50 -td { vertical-align: top; font-family: Arial, Helvetica, sans-serif} 5.51 -td h1 { text-align: center} 5.52 -td h2 { text-align: center; padding-top: 0px} 5.53 -td h4 { text-align: center} 5.54 -th { font-family: Arial, Helvetica, sans-serif; text-align: left; 5.55 - padding-top: 10px; padding-right: 10px; padding-bottom: 0px; 5.56 - padding-left: 10px; white-space: nowrap} 5.57 - 5.58 -.sun-darkblue { font-family: Arial, Helvetica, sans-serif ; 5.59 - color: #FFFFFF; background-color: #666699} 5.60 -.sun-lightblue { background-color: #9999CC} 5.61 -.nav-link { font-family: Arial, Helvetica, sans-serif; font-size: x-small} 5.62 -code { font-family: Courier, serif}
6.1 --- a/src/share/opensource/javac/doc/javac_lifecycle/Context.html Wed Mar 12 13:06:00 2008 -0700 6.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 6.3 @@ -1,107 +0,0 @@ 6.4 -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 6.5 -<!-- 6.6 -Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. 6.7 -DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 6.8 - 6.9 -This code is free software; you can redistribute it and/or modify it 6.10 -under the terms of the GNU General Public License version 2 only, as 6.11 -published by the Free Software Foundation. Sun designates this 6.12 -particular file as subject to the "Classpath" exception as provided 6.13 -by Sun in the LICENSE file that accompanied this code. 6.14 - 6.15 -This code is distributed in the hope that it will be useful, but WITHOUT 6.16 -ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 6.17 -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 6.18 -version 2 for more details (a copy is included in the LICENSE file that 6.19 -accompanied this code). 6.20 - 6.21 -You should have received a copy of the GNU General Public License version 6.22 -2 along with this work; if not, write to the Free Software Foundation, 6.23 -Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 6.24 - 6.25 -Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 6.26 -CA 95054 USA or visit www.sun.com if you need additional information or 6.27 -have any questions. 6.28 ---> 6.29 - 6.30 -<html> 6.31 - <head> 6.32 - <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"> 6.33 - <meta name="author" content="Jonathan Gibbons"> 6.34 - <link type="text/css" rel=stylesheet href="style.css"> 6.35 - <title>com.sun.tools.javac.comp.Enter</title> 6.36 - </head> 6.37 - <body> 6.38 - 6.39 - <h3>com.sun.tools.javac.util.Context</h3> 6.40 - 6.41 - <p>Contexts provides a way to share data between the different parts of 6.42 - the compiler.</p> 6.43 - 6.44 - <p>They provide support for an abstract context, modelled loosely after 6.45 - ThreadLocal but using a user-provided context instead of the current 6.46 - thread.</p> 6.47 - 6.48 - <p>Within the compiler, a single Context is used for each 6.49 - invocation of the compiler. The context is then used to ensure a 6.50 - single copy of each compiler phase exists per compiler invocation.</p> 6.51 - 6.52 - <p>The context can be used to assist in extending the compiler by 6.53 - extending its components. To do that, the extended component must 6.54 - be registered before the base component. We break initialization 6.55 - cycles by (1) registering a factory for the component rather than 6.56 - the component itself, and (2) a convention for a pattern of usage 6.57 - in which each base component registers itself by calling an 6.58 - instance method that is overridden in extended components. A base 6.59 - phase supporting extension would look something like this:</p> 6.60 - 6.61 - <pre> 6.62 - public class Phase { 6.63 - protected static final Context.Key<Phase> phaseKey = 6.64 - new Context.Key<Phase>(); 6.65 - 6.66 - public static Phase instance(Context context) { 6.67 - Phase instance = context.get(phaseKey); 6.68 - if (instance == null) 6.69 - // the phase has not been overridden 6.70 - instance = new Phase(context); 6.71 - return instance; 6.72 - } 6.73 - 6.74 - protected Phase(Context context) { 6.75 - context.put(phaseKey, this); 6.76 - // other intitialization follows... 6.77 - } 6.78 - } 6.79 - </pre> 6.80 - 6.81 - <p>In the compiler, we simply use Phase.instance(context) to get 6.82 - the reference to the phase. But in extensions of the compiler, we 6.83 - must register extensions of the phases to replace the base phase, 6.84 - and this must be done before any reference to the phase is accessed 6.85 - using Phase.instance(). An extended phase might be declared thus:</p> 6.86 - 6.87 - <pre> 6.88 - public class NewPhase extends Phase { 6.89 - protected NewPhase(Context context) { 6.90 - super(context); 6.91 - } 6.92 - public static void preRegister(final Context context) { 6.93 - context.put(phaseKey, new Context.Factory<Phase>() { 6.94 - public Phase make() { 6.95 - return new NewPhase(context); 6.96 - } 6.97 - }); 6.98 - } 6.99 - } 6.100 - </pre> 6.101 - 6.102 - <p>And is registered early in the extended compiler like this:</p> 6.103 - 6.104 - <pre> 6.105 - NewPhase.preRegister(context); 6.106 - </pre> 6.107 - 6.108 - 6.109 - </body> 6.110 -</html>
7.1 --- a/src/share/opensource/javac/doc/javac_lifecycle/Enter.html Wed Mar 12 13:06:00 2008 -0700 7.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 7.3 @@ -1,90 +0,0 @@ 7.4 -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 7.5 -<!-- 7.6 -Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. 7.7 -DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 7.8 - 7.9 -This code is free software; you can redistribute it and/or modify it 7.10 -under the terms of the GNU General Public License version 2 only, as 7.11 -published by the Free Software Foundation. Sun designates this 7.12 -particular file as subject to the "Classpath" exception as provided 7.13 -by Sun in the LICENSE file that accompanied this code. 7.14 - 7.15 -This code is distributed in the hope that it will be useful, but WITHOUT 7.16 -ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 7.17 -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 7.18 -version 2 for more details (a copy is included in the LICENSE file that 7.19 -accompanied this code). 7.20 - 7.21 -You should have received a copy of the GNU General Public License version 7.22 -2 along with this work; if not, write to the Free Software Foundation, 7.23 -Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 7.24 - 7.25 -Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 7.26 -CA 95054 USA or visit www.sun.com if you need additional information or 7.27 -have any questions. 7.28 ---> 7.29 - 7.30 -<html> 7.31 - <head> 7.32 - <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"> 7.33 - <meta name="author" content="Jonathan Gibbons"> 7.34 - <link type="text/css" rel=stylesheet href="style.css"> 7.35 - <title>com.sun.tools.javac.comp.Enter</title> 7.36 - </head> 7.37 - <body> 7.38 - 7.39 - <h3>com.sun.tools.javac.comp.Enter</h3> 7.40 - 7.41 - This enters symbols for all encountered definitions into 7.42 - the symbol table. The pass consists of two phases, organized as 7.43 - follows: 7.44 - 7.45 - <ol> 7.46 - <li><p>In the first phase, all class symbols are entered into their 7.47 - enclosing scope, descending recursively down the tree for classes 7.48 - which are members of other classes. The class symbols are given a 7.49 - MemberEnter object as completer.</p></li> 7.50 - 7.51 - <p><a name="package-info"></a>In addition, 7.52 - if any <span class=code>package-info.java</span> files are found, 7.53 - containing package annotations, then the TopLevel tree node for 7.54 - the package-info.java file is put on the "to do" as well. 7.55 - </p> 7.56 - 7.57 - <li><p>In the second phase, classes are completed using 7.58 - MemberEnter.complete(). Completion might occur on demand, but 7.59 - any classes that are not completed that way will be eventually 7.60 - completed by processing the `uncompleted' queue. Completion 7.61 - entails 7.62 - <ul><li>(1) determination of a class's parameters, supertype and 7.63 - interfaces, as well as <li>(2) entering all symbols defined in the 7.64 - class into its scope, with the exception of class symbols which 7.65 - have been entered in phase 1.</li> 7.66 - </ul> 7.67 - (2) depends on (1) having been 7.68 - completed for a class and all its superclasses and enclosing 7.69 - classes. That's why, after doing (1), we put classes in a 7.70 - `halfcompleted' queue. Only when we have performed (1) for a class 7.71 - and all it's superclasses and enclosing classes, we proceed to 7.72 - (2).</p></li> 7.73 - </ol> 7.74 - 7.75 - <p>Whereas the first phase is organized as a sweep through all 7.76 - compiled syntax trees, the second phase is demand. Members of a 7.77 - class are entered when the contents of a class are first 7.78 - accessed. This is accomplished by installing completer objects in 7.79 - class symbols for compiled classes which invoke the member-enter 7.80 - phase for the corresponding class tree.</p> 7.81 - 7.82 - <p>Classes migrate from one phase to the next via queues:</p> 7.83 - 7.84 - <pre> 7.85 - class enter -> (Enter.uncompleted) --> member enter (1) 7.86 - -> (MemberEnter.halfcompleted) --> member enter (2) 7.87 - -> (Todo) --> attribute 7.88 - (only for toplevel classes) 7.89 - </pre> 7.90 - 7.91 - </body> 7.92 -</html> 7.93 -
8.1 --- a/src/share/opensource/javac/doc/javac_lifecycle/JavaCompiler.html Wed Mar 12 13:06:00 2008 -0700 8.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 8.3 @@ -1,79 +0,0 @@ 8.4 -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 8.5 -<!-- 8.6 -Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. 8.7 -DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 8.8 - 8.9 -This code is free software; you can redistribute it and/or modify it 8.10 -under the terms of the GNU General Public License version 2 only, as 8.11 -published by the Free Software Foundation. Sun designates this 8.12 -particular file as subject to the "Classpath" exception as provided 8.13 -by Sun in the LICENSE file that accompanied this code. 8.14 - 8.15 -This code is distributed in the hope that it will be useful, but WITHOUT 8.16 -ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 8.17 -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 8.18 -version 2 for more details (a copy is included in the LICENSE file that 8.19 -accompanied this code). 8.20 - 8.21 -You should have received a copy of the GNU General Public License version 8.22 -2 along with this work; if not, write to the Free Software Foundation, 8.23 -Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 8.24 - 8.25 -Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 8.26 -CA 95054 USA or visit www.sun.com if you need additional information or 8.27 -have any questions. 8.28 ---> 8.29 - 8.30 -<html> 8.31 - <head> 8.32 - <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"> 8.33 - <meta name="author" content="Jonathan Gibbons"> 8.34 - <link type="text/css" rel=stylesheet href="style.css"> 8.35 - <title>JavaCompiler</title> 8.36 - </head> 8.37 - <body> 8.38 - 8.39 - <h3>com.sun.tools.javac.main.JavaCompiler</h3> 8.40 - <p> 8.41 - <code>JavaCompiler</code> provides (and enforces) a use-once method to compile a list of source files. 8.42 - It invokes the various phases of the compiler to cause those source files to be compiled. 8.43 - </p> 8.44 - <ul> 8.45 - <li>All the files given on the command line are parsed, to build a 8.46 - list of parse trees. Lexing and parsing are done with 8.47 - <a href="../../src/share/classes/com/sun/tools/javac/parser/Scanner.java" class=code>Scanner</a> and 8.48 - <a href="../../src/share/classes/com/sun/tools/javac/parser/Parser.java" class=code>Parser</a>. 8.49 - Lexical and syntax errors will be detected here. 8.50 - <p class=note> 8.51 - Note: Additional files may be parsed later, if they are found on the class/source path, and if they are newer than their matching class file. 8.52 - </p> 8.53 - </li> 8.54 - 8.55 - <li>For each of the parse trees, their symbols are "entered", using 8.56 - <a href="../../src/share/classes/com/sun/tools/javac/comp/Enter.java" class=code>Enter</a>. This will also set up a "to do" list of additional work to be done to compile those parse trees. 8.57 - <i>(<a href="Enter.html">more...</a>)</i> 8.58 - </li> 8.59 - 8.60 - <li>If source code or stub code will be generated, a list is made 8.61 - (in rootClasses) of all the top level classes defined in the parse trees. This will be used later, to check whether a class being processed was directly provided on the command line or not. 8.62 - </li> 8.63 - 8.64 - <li>Then, for as long as there is work on the "to do" list, 8.65 - <code>JavaCompiler</code> processes entries from the "to do" list. 8.66 - In so doing, the compiler might find additional classes that need to be 8.67 - processed, which may result in additional entries being added to the 8.68 - "to do" list. <i>(<a href="ToDo.html">more...</a>)</i> 8.69 - </li> 8.70 - 8.71 - <li>Print final messages.</li> 8.72 - 8.73 - <li>Return a list of class symbols, perhaps just those from 8.74 - final lower (may not include top level classes) 8.75 - </li> 8.76 - </ul> 8.77 - 8.78 - 8.79 - 8.80 - </body> 8.81 -</html> 8.82 -
9.1 --- a/src/share/opensource/javac/doc/javac_lifecycle/Main.html Wed Mar 12 13:06:00 2008 -0700 9.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 9.3 @@ -1,69 +0,0 @@ 9.4 -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 9.5 -<!-- 9.6 -Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. 9.7 -DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 9.8 - 9.9 -This code is free software; you can redistribute it and/or modify it 9.10 -under the terms of the GNU General Public License version 2 only, as 9.11 -published by the Free Software Foundation. Sun designates this 9.12 -particular file as subject to the "Classpath" exception as provided 9.13 -by Sun in the LICENSE file that accompanied this code. 9.14 - 9.15 -This code is distributed in the hope that it will be useful, but WITHOUT 9.16 -ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 9.17 -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 9.18 -version 2 for more details (a copy is included in the LICENSE file that 9.19 -accompanied this code). 9.20 - 9.21 -You should have received a copy of the GNU General Public License version 9.22 -2 along with this work; if not, write to the Free Software Foundation, 9.23 -Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 9.24 - 9.25 -Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 9.26 -CA 95054 USA or visit www.sun.com if you need additional information or 9.27 -have any questions. 9.28 ---> 9.29 - 9.30 -<html> 9.31 - <head> 9.32 - <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"> 9.33 - <meta name="author" content="Jonathan Gibbons"> 9.34 - <link type="text/css" rel="stylesheet" href="style.css"> 9.35 - <title>Main</title> 9.36 - </head> 9.37 - <body> 9.38 - 9.39 - <h3>com.sun.tools.javac.main.Main</h3> 9.40 - 9.41 - <p> 9.42 - The normal main entry point is 9.43 - <a href="../../src/share/classes/com/sun/tools/javac/main/Main.java" class=code>com.sun.tools.javac.main.Main</a>, 9.44 - with a public API entry point at 9.45 - <a href="../../src/share/classes/com/sun/tools/javac/Main.java" class=code>com.sun.tools.javac.Main</a> which just calls down to <code>com.sun.tools.javac.main.Main</code>. 9.46 - </p> 9.47 - 9.48 - <p>The various parts of the compiler share common information by means of a 9.49 - <a href="../../src/share/classes/com/sun/tools/javac/util/Context.java" class=code>Context</a>. 9.50 - Every invocation of the compiler must have its own Context. 9.51 - 9.52 - <p> 9.53 - <code>com.sun.tools.javac.main.Main</code> does command line processing to determine the list of files to be compiled, and any applicable options. There are four types of options: 9.54 - <ul> 9.55 - <li>standard public options, e.g. <code>-classpath</code> 9.56 - <li>extended public options, beginning -X, e.g. <code>-Xlint</code> 9.57 - <li>hidden options -- not public or documented, e.g. -fullversion 9.58 - <li>even more hidden options -- typically for debugging the compiler, beginning -XD, e.g. -XDrawDiagnostics 9.59 - </ul> 9.60 - 9.61 - If there are files to be compiled, <code>Main</code> invokes 9.62 - <a href="../../src/share/classes/com/sun/tools/javac/main/JavaCompiler.java" class=code>JavaCompiler</a> <i>(<a href="JavaCompiler.html">more...</a>)</i> 9.63 - After <code>JavaCompiler</code> completes, the list of class symbols that was returned is discarded. 9.64 - </p> 9.65 - 9.66 - <p> 9.67 - Any and all exceptions are caught and handled, and a return code is 9.68 - determined. Finally, the compiler exits. 9.69 - <p> 9.70 - </body> 9.71 -</html> 9.72 -
10.1 --- a/src/share/opensource/javac/doc/javac_lifecycle/ToDo.html Wed Mar 12 13:06:00 2008 -0700 10.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 10.3 @@ -1,167 +0,0 @@ 10.4 -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 10.5 -<!-- 10.6 -Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. 10.7 -DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 10.8 - 10.9 -This code is free software; you can redistribute it and/or modify it 10.10 -under the terms of the GNU General Public License version 2 only, as 10.11 -published by the Free Software Foundation. Sun designates this 10.12 -particular file as subject to the "Classpath" exception as provided 10.13 -by Sun in the LICENSE file that accompanied this code. 10.14 - 10.15 -This code is distributed in the hope that it will be useful, but WITHOUT 10.16 -ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 10.17 -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 10.18 -version 2 for more details (a copy is included in the LICENSE file that 10.19 -accompanied this code). 10.20 - 10.21 -You should have received a copy of the GNU General Public License version 10.22 -2 along with this work; if not, write to the Free Software Foundation, 10.23 -Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 10.24 - 10.25 -Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 10.26 -CA 95054 USA or visit www.sun.com if you need additional information or 10.27 -have any questions. 10.28 ---> 10.29 - 10.30 -<html> 10.31 - <head> 10.32 - <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"> 10.33 - <meta name="author" content="Jonathan Gibbons"> 10.34 - <link type="text/css" rel=stylesheet href="style.css"> 10.35 - <title>JavaCompiler's "to do" list</title> 10.36 - </head> 10.37 - <body> 10.38 - 10.39 - <h3>com.sun.tools.javac.main.JavaCompiler's "to do" list</h3> 10.40 - 10.41 - <p> 10.42 - After the source files have been parsed, and their symbols entered 10.43 - in the symbol table, the top level classes and some other items end 10.44 - up on JavaCompiler's "to do" list. 10.45 - </p> 10.46 - 10.47 - <p> 10.48 - For each entry on the "to do" list, <code>JavaCompiler</code> 10.49 - processes it as follows: 10.50 - </p> 10.51 - 10.52 - <ul> 10.53 - <li><p>Some parts of the compilation involve modifying the parse tree, 10.54 - so a copy of the root of the tree is kept prior to such manipulation. 10.55 - </p> 10.56 - <p class="note"> 10.57 - Note: this copy is just used to check whether the class is one of those 10.58 - found in a compilation unit on the command line (i.e. in rootClasses). 10.59 - </p> 10.60 - 10.61 - <li><p>The top level classes are "attributed", using 10.62 - <a href="../../src/share/classes/com/sun/tools/javac/comp/Attr.java" class="code">Attr</a>, 10.63 - meaning that names and other elements within the parse tree are resolved 10.64 - and associated with the corresponding types and symbols. Many semantic 10.65 - errors may be detected here, either by <code>Attr</code>, or by 10.66 - <a href="../../src/share/classes/com/sun/tools/javac/comp/Check.java" class="code">Check</a>. 10.67 - </p> 10.68 - <p>While attributing the tree, class files will be read as necessary. 10.69 - In addition, if a class is required, and a source file for the class is found 10.70 - that is newer than the class file, the source file will be automatically parsed 10.71 - and put on the "to do" list. This is done by registering JavaCompiler as an 10.72 - implementation of 10.73 - <a href="../../src/share/classes/com/sun/tools/javac/comp/Attr.java" class="code">Attr</a><span class=code>.SourceCompleter</span>. 10.74 - </p> 10.75 - <p class=note> 10.76 - Note: there is a hidden option <code>-attrparseonly</code> which can be used to skip 10.77 - the rest of the processing for this file. In so doing, it "breaks" the 10.78 - protocol use to save and restore the source file used to report error 10.79 - messages (Log.useSource). There is a "try finally" block which 10.80 - could reasonably be used/extended to restore the source file correctly. 10.81 - </p> 10.82 - </li> 10.83 - 10.84 - <li><p>If there are no errors so far, flow analysis will be done for the class, using 10.85 - <a href="../../src/share/classes/com/sun/tools/javac/comp/Flow.java" class="code">Flow</a>. 10.86 - Flow analysis is used to check for definite assignment to variables, 10.87 - and unreachable statements, which may result in additional errors. 10.88 - </p> 10.89 - <p class="note">Note: flow analysis can be suppressed with the hidden 10.90 - option <code>-relax</code>. 10.91 - </p> 10.92 - </li> 10.93 - 10.94 - <li>If the "to do" item is a TopLevel tree, it will be the contents of a 10.95 - <span class="code">package-info.java</span> file, containing annotations for a package. 10.96 - (See notes for <a href="Enter.html#package-info">Enter</a>.) 10.97 - <ul> 10.98 - <li>Syntactic sugar is processed, using 10.99 - <a href="../../src/share/classes/com/sun/tools/javac/comp/Lower.java" class="code">Lower</a>. 10.100 - <code>Lower</code> is defined to return a list of trees for the translated classes 10.101 - and all the translated inner classes.</li> 10.102 - <li>If <code>Lower</code> returns a non-empty list, there is an assertion that 10.103 - the list has a single element, in which case, code is generated, using 10.104 - <a href="../../src/share/classes/com/sun/tools/javac/jvm/Gen.java" class="code">Gen</a>, 10.105 - and the resulting code is written out using 10.106 - <a href="../../src/share/classes/com/sun/tools/javac/jvm/ClassWriter.java" class="code">ClassWriter</a>. 10.107 - </li> 10.108 - <li>No further processing is done on this "to do" item.<br> 10.109 - </li> 10.110 - </ul> 10.111 - <p class=note>Note that <a href="Enter.html">Enter</a> will have processed all other TopLevel 10.112 - putting the individual classes that it finds there on the "to do" 10.113 - (and not the TopLevel node itself.) 10.114 - </p> 10.115 - 10.116 - <li>If stub outputs have been requested, with the hidden <code>-stubs</code> option, 10.117 - <ul> 10.118 - <li>If the class was one of those mentioned on the command line and is in 10.119 - <span class=code>java.lang</span>, 10.120 - pretty print the source with no method bodies.</li> 10.121 - <li>No further processing is done on this "to do" item. </li> 10.122 - </ul> 10.123 - 10.124 - <li>Code involving generic types is translated to code without generic types, using 10.125 - <a href="../../src/share/classes/com/sun/tools/javac/comp/TransTypes.java" class="code">TransTypes</a>. 10.126 - </li> 10.127 - 10.128 - <li>If source output has been requested, with the hidden <code>-s</code> option 10.129 - <ul> 10.130 - <li>If the original tree was from command line, pretty print the source code 10.131 - </li> 10.132 - <li>No further processing is done on this "to do" item.</li> 10.133 - </ul> 10.134 - 10.135 - <li>Syntactic sugar is processed, using 10.136 - <a href="../../src/share/classes/com/sun/tools/javac/comp/Lower.java" class="code">Lower</a>. 10.137 - This takes care of inner classes, class literals, assertions, foreach 10.138 - loops, etc. 10.139 - <code>Lower</code> is defined to return a list of trees for the translated classes 10.140 - and all the translated inner classes.</li> 10.141 - 10.142 - <p class=note> 10.143 - Note: see also the use of <code>Lower</code> earlier in the loop, when processing 10.144 - TopLevel trees.</p> 10.145 - 10.146 - <li>For each class returned by <code>Lower</code><br> 10.147 - <ul> 10.148 - <li>If source has been requestion with the hidden <code>-printflat</code> 10.149 - option, the source of the class is printed. 10.150 - <li>Otherwise, code for the class is generated, using 10.151 - <a href="../../src/share/classes/com/sun/tools/javac/jvm/Gen.java" class="code">Gen</a>, 10.152 - and the resulting code is written out using 10.153 - <a href="../../src/share/classes/com/sun/tools/javac/jvm/ClassWriter.java" class="code">ClassWriter</a>. 10.154 - </ul> 10.155 - 10.156 - </ul> 10.157 - 10.158 - <h4>Issues</h4> 10.159 - The "to do" list is mostly organized by top level classes, and not by 10.160 - compilation units. This means that if a compilation unit contains several 10.161 - classes, it is possible for code to be generated for some of the classes 10.162 - in the file, at which point at error may be detected for one of the 10.163 - remaining classes, preventing code from being generated for that and any 10.164 - subsequent classes. This means that the compilation unit will be partially 10.165 - compiled, with some but not all of the class files being generated. 10.166 - (Bug <a href="http://monaco.sfbay.sun.com/detail.jsf?cr=5011101">5011101</a>) 10.167 - 10.168 - </body> 10.169 -</html> 10.170 -
11.1 --- a/src/share/opensource/javac/doc/javac_lifecycle/contents.html Wed Mar 12 13:06:00 2008 -0700 11.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 11.3 @@ -1,43 +0,0 @@ 11.4 -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 11.5 -<!-- 11.6 -Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. 11.7 -DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 11.8 - 11.9 -This code is free software; you can redistribute it and/or modify it 11.10 -under the terms of the GNU General Public License version 2 only, as 11.11 -published by the Free Software Foundation. Sun designates this 11.12 -particular file as subject to the "Classpath" exception as provided 11.13 -by Sun in the LICENSE file that accompanied this code. 11.14 - 11.15 -This code is distributed in the hope that it will be useful, but WITHOUT 11.16 -ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11.17 -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 11.18 -version 2 for more details (a copy is included in the LICENSE file that 11.19 -accompanied this code). 11.20 - 11.21 -You should have received a copy of the GNU General Public License version 11.22 -2 along with this work; if not, write to the Free Software Foundation, 11.23 -Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 11.24 - 11.25 -Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 11.26 -CA 95054 USA or visit www.sun.com if you need additional information or 11.27 -have any questions. 11.28 ---> 11.29 - 11.30 -<html> 11.31 -<head> 11.32 - <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"> 11.33 - <meta name="author" content="Jonathan Gibbons"> 11.34 - <link type="text/css" rel="stylesheet" href="style.css"> 11.35 - <title>com.sun.tools.javac.comp.Enter</title> 11.36 -</head> 11.37 -<body class="contents"> 11.38 - <a target=main href="packages.html">Packages</a><br> 11.39 - <br> 11.40 - Classes<br> 11.41 - <a target=main href="Context.html">Context</a><br> 11.42 - <a target=main href="Enter.html">Enter</a><br> 11.43 - <a target=main href="JavaCompiler.html">JavaCompiler</a><br> 11.44 - <a target=main href="Main.html">Main</a><br> 11.45 - <a target=main href="ToDo.html">ToDo</a><br> 11.46 -</body>
12.1 --- a/src/share/opensource/javac/doc/javac_lifecycle/index.html Wed Mar 12 13:06:00 2008 -0700 12.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 12.3 @@ -1,40 +0,0 @@ 12.4 -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"> 12.5 -<!-- 12.6 -Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. 12.7 -DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 12.8 - 12.9 -This code is free software; you can redistribute it and/or modify it 12.10 -under the terms of the GNU General Public License version 2 only, as 12.11 -published by the Free Software Foundation. Sun designates this 12.12 -particular file as subject to the "Classpath" exception as provided 12.13 -by Sun in the LICENSE file that accompanied this code. 12.14 - 12.15 -This code is distributed in the hope that it will be useful, but WITHOUT 12.16 -ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 12.17 -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12.18 -version 2 for more details (a copy is included in the LICENSE file that 12.19 -accompanied this code). 12.20 - 12.21 -You should have received a copy of the GNU General Public License version 12.22 -2 along with this work; if not, write to the Free Software Foundation, 12.23 -Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 12.24 - 12.25 -Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 12.26 -CA 95054 USA or visit www.sun.com if you need additional information or 12.27 -have any questions. 12.28 ---> 12.29 - 12.30 -<html> 12.31 - <head> 12.32 - <title>javac life cycle</title> 12.33 - </head> 12.34 - <frameset cols="150,*" border="0" frameborder="0" framespacing="0"> 12.35 - <frame name="contents" scrolling="no" frameborder="0" src="contents.html"> 12.36 - <frame name="main" scrolling="auto" frameborder="0" src="packages.html"> 12.37 - <noframes> 12.38 - <body> 12.39 - <p>This page uses frames, but your browser doesn't support them.</p> 12.40 - </body> 12.41 - </noframes> 12.42 - </frameset> 12.43 -</html>
13.1 --- a/src/share/opensource/javac/doc/javac_lifecycle/packages.html Wed Mar 12 13:06:00 2008 -0700 13.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 13.3 @@ -1,91 +0,0 @@ 13.4 -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 13.5 -<!-- 13.6 - Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. 13.7 - DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 13.8 - 13.9 - This code is free software; you can redistribute it and/or modify it 13.10 - under the terms of the GNU General Public License version 2 only, as 13.11 - published by the Free Software Foundation. Sun designates this 13.12 - particular file as subject to the "Classpath" exception as provided 13.13 - by Sun in the LICENSE file that accompanied this code. 13.14 - 13.15 - This code is distributed in the hope that it will be useful, but WITHOUT 13.16 - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13.17 - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 13.18 - version 2 for more details (a copy is included in the LICENSE file that 13.19 - accompanied this code). 13.20 - 13.21 - You should have received a copy of the GNU General Public License version 13.22 - 2 along with this work; if not, write to the Free Software Foundation, 13.23 - Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 13.24 - 13.25 - Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 13.26 - CA 95054 USA or visit www.sun.com if you need additional information or 13.27 - have any questions. 13.28 - 13.29 ---> 13.30 -<html> 13.31 - <head> 13.32 - <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"> 13.33 - <meta name="author" content="Jonathan Gibbons"> 13.34 - <link type="text/css" rel="stylesheet" href="style.css"> 13.35 - <title>Packages</title> 13.36 - <style type="text/css"> 13.37 - th { text-align:left } 13.38 - </style> 13.39 - </head> 13.40 - <body> 13.41 - 13.42 - <h3>javac Packages</h3> 13.43 - 13.44 - <p>With the exception of a publicly supported entry point at 13.45 - <a href="../../src/share/classes/com/sun/tools/javac/Main.java" class="code">com.sun.tools.javac.Main</a>, 13.46 - javac is organized as a set of packages under 13.47 - <span class="code">com.sun.tools.javac</span>. 13.48 - </p> 13.49 - 13.50 - <table> 13.51 - <tr><th>Sub-package<th>Description 13.52 - <tr> 13.53 - <td valign=top><span class=code>code</code> 13.54 - <td>Classes to represent the internal semantics of a Java program -- 13.55 - types, symbols, etc. 13.56 - 13.57 - <tr> 13.58 - <td valign=top><span class=code>comp</code> 13.59 - <td>Classes that analyse and annotate the parse tree with semantic 13.60 - details, such as determining the types and symbols referred to by identifiers. 13.61 - 13.62 - <tr> 13.63 - <td valign=top><span class=code>jvm</code> 13.64 - <td>Back end classes to read and write class files. 13.65 - 13.66 - <tr> 13.67 - <td valign=top><span class=code>main</code> 13.68 - <td>Top-level driver classes. The standard entry point to the compiler is 13.69 - <a href="../../src/share/classes/com/sun/tools/javac/main/Main.java" class="code">com.sun.tools.javac.main.Main</a> <i>(<a href="Main.html">more...</a>)</i> 13.70 - 13.71 - <tr> 13.72 - <td valign=top><span class=code>parser</code> 13.73 - <td>Classes to read a Java source file and create a corresponding parse tree. 13.74 - 13.75 - <tr> 13.76 - <td valign=top><span class=code>resources</code> 13.77 - <td>Resource classes for messages generated by the compiler. Two of the 13.78 - three classes are automagically generated by a "property file compiler" 13.79 - from a property source file; the third is automagically generated during 13.80 - the build to contain build version information. 13.81 - 13.82 - <tr> 13.83 - <td valign=top><span class=code>tree</code> 13.84 - <td>Classes representing an annotated syntax tree for a Java program. 13.85 - The top level node, representing the contents of a source file is 13.86 - <span sclass="code">Tree.TopLevel</code>. 13.87 - 13.88 - <tr> 13.89 - <td valign=top><span class=code>util</code> 13.90 - <td>Utility classes used throughout the compiler, providing support for 13.91 - diagnostics, access to the file system, and javac's collection classes. 13.92 - 13.93 - </body> 13.94 -</html>
14.1 --- a/src/share/opensource/javac/doc/javac_lifecycle/style.css Wed Mar 12 13:06:00 2008 -0700 14.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 14.3 @@ -1,33 +0,0 @@ 14.4 -/* 14.5 - * Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. 14.6 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 14.7 - * 14.8 - * This code is free software; you can redistribute it and/or modify it 14.9 - * under the terms of the GNU General Public License version 2 only, as 14.10 - * published by the Free Software Foundation. Sun designates this 14.11 - * particular file as subject to the "Classpath" exception as provided 14.12 - * by Sun in the LICENSE file that accompanied this code. 14.13 - * 14.14 - * This code is distributed in the hope that it will be useful, but WITHOUT 14.15 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 14.16 - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14.17 - * version 2 for more details (a copy is included in the LICENSE file that 14.18 - * accompanied this code). 14.19 - * 14.20 - * You should have received a copy of the GNU General Public License version 14.21 - * 2 along with this work; if not, write to the Free Software Foundation, 14.22 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 14.23 - * 14.24 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 14.25 - * CA 95054 USA or visit www.sun.com if you need additional information or 14.26 - * have any questions. 14.27 - */ 14.28 - 14.29 -body { color: black; background-color: #eeffee } 14.30 -body.contents { background-color: #ddffdd } 14.31 - 14.32 -li { margin-top:10px } 14.33 -p.note { font-size:smaller } 14.34 - 14.35 -.code { font-family:monospace } 14.36 -
15.1 --- a/src/share/opensource/javac/nbproject/project.xml Wed Mar 12 13:06:00 2008 -0700 15.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 15.3 @@ -1,88 +0,0 @@ 15.4 -<?xml version="1.0" encoding="UTF-8"?> 15.5 - 15.6 -<!-- 15.7 - Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. 15.8 - DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 15.9 - 15.10 - This code is free software; you can redistribute it and/or modify it 15.11 - under the terms of the GNU General Public License version 2 only, as 15.12 - published by the Free Software Foundation. Sun designates this 15.13 - particular file as subject to the "Classpath" exception as provided 15.14 - by Sun in the LICENSE file that accompanied this code. 15.15 - 15.16 - This code is distributed in the hope that it will be useful, but WITHOUT 15.17 - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 15.18 - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 15.19 - version 2 for more details (a copy is included in the LICENSE file that 15.20 - accompanied this code). 15.21 - 15.22 - You should have received a copy of the GNU General Public License version 15.23 - 2 along with this work; if not, write to the Free Software Foundation, 15.24 - Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 15.25 - 15.26 - Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 15.27 - CA 95054 USA or visit www.sun.com if you need additional information or 15.28 - have any questions. 15.29 ---> 15.30 - 15.31 -<project xmlns="http://www.netbeans.org/ns/project/1"> 15.32 - <type>org.netbeans.modules.ant.freeform</type> 15.33 - <configuration> 15.34 - <general-data xmlns="http://www.netbeans.org/ns/freeform-project/1"> 15.35 - <!-- Do not use Project Properties customizer when editing this file manually. --> 15.36 - <name>openjdk-javac</name> 15.37 - <properties/> 15.38 - <folders> 15.39 - <source-folder> 15.40 - <label>src/share/classes</label> 15.41 - <type>java</type> 15.42 - <location>src/share/classes</location> 15.43 - </source-folder> 15.44 - </folders> 15.45 - <ide-actions> 15.46 - <action name="build"> 15.47 - <target>build</target> 15.48 - </action> 15.49 - <action name="clean"> 15.50 - <target>clean</target> 15.51 - </action> 15.52 - <action name="javadoc"> 15.53 - <target>docs</target> 15.54 - </action> 15.55 - <action name="rebuild"> 15.56 - <target>clean</target> 15.57 - <target>build</target> 15.58 - </action> 15.59 - <action name="test"> 15.60 - <target>xtest</target> 15.61 - </action> 15.62 - </ide-actions> 15.63 - <view> 15.64 - <items> 15.65 - <source-folder style="packages"> 15.66 - <label>src/share/classes</label> 15.67 - <location>src/share/classes</location> 15.68 - </source-folder> 15.69 - <source-file> 15.70 - <location>build.properties</location> 15.71 - </source-file> 15.72 - <source-file> 15.73 - <location>build.xml</location> 15.74 - </source-file> 15.75 - </items> 15.76 - <context-menu> 15.77 - <ide-action name="build"/> 15.78 - <ide-action name="clean"/> 15.79 - <ide-action name="javadoc"/> 15.80 - <ide-action name="rebuild"/> 15.81 - </context-menu> 15.82 - </view> 15.83 - </general-data> 15.84 - <java-data xmlns="http://www.netbeans.org/ns/freeform-project-java/1"> 15.85 - <compilation-unit> 15.86 - <package-root>src/share/classes</package-root> 15.87 - <source-level>1.5</source-level> 15.88 - </compilation-unit> 15.89 - </java-data> 15.90 - </configuration> 15.91 -</project>
16.1 --- a/src/share/opensource/javac/src/bin/javac.sh Wed Mar 12 13:06:00 2008 -0700 16.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 16.3 @@ -1,30 +0,0 @@ 16.4 -#!/bin/sh 16.5 - 16.6 -# 16.7 -# Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. 16.8 -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 16.9 -# 16.10 -# This code is free software; you can redistribute it and/or modify it 16.11 -# under the terms of the GNU General Public License version 2 only, as 16.12 -# published by the Free Software Foundation. Sun designates this 16.13 -# particular file as subject to the "Classpath" exception as provided 16.14 -# by Sun in the LICENSE file that accompanied this code. 16.15 -# 16.16 -# This code is distributed in the hope that it will be useful, but WITHOUT 16.17 -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 16.18 -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 16.19 -# version 2 for more details (a copy is included in the LICENSE file that 16.20 -# accompanied this code). 16.21 -# 16.22 -# You should have received a copy of the GNU General Public License version 16.23 -# 2 along with this work; if not, write to the Free Software Foundation, 16.24 -# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 16.25 -# 16.26 -# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 16.27 -# CA 95054 USA or visit www.sun.com if you need additional information or 16.28 -# have any questions. 16.29 -# 16.30 - 16.31 -mydir="`dirname $0`" 16.32 - 16.33 -java -jar "${mydir}"/../lib/javac.jar "$@"