8054834: Modular Source Code
Co-authored-by: Alan Bateman <alan.bateman@oracle.com>
Co-authored-by: Alex Buckley <alex.buckley@oracle.com>
Co-authored-by: Erik Joelsson <erik.joelsson@oracle.com>
Co-authored-by: Jonathan Gibbons <jonathan.gibbons@oracle.com>
Co-authored-by: Karen Kinnear <karen.kinnear@oracle.com>
Co-authored-by: Magnus Ihse Bursie <magnus.ihse.bursie@oracle.com>
Co-authored-by: Mandy Chung <mandy.chung@oracle.com>
Co-authored-by: Mark Reinhold <mark.reinhold@oracle.com>
Co-authored-by: Paul Sandoz <paul.sandoz@oracle.com>
Reviewed-by: alanb, chegar, ihse, mduigou
diff --git a/langtools/make/BuildLangtools.gmk b/langtools/make/BuildLangtools.gmk
deleted file mode 100644
index f59ef57..0000000
--- a/langtools/make/BuildLangtools.gmk
+++ /dev/null
@@ -1,47 +0,0 @@
-#
-# Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License version 2 only, as
-# published by the Free Software Foundation. Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-# or visit www.oracle.com if you need additional information or have any
-# questions.
-#
-
-# This must be the first rule
-default: all
-
-include $(SPEC)
-
-gensrc-langtools:
- +$(MAKE) -f $(LANGTOOLS_TOPDIR)/make/GensrcLangtools.gmk
-
-interim-langtools: gensrc-langtools
- +$(MAKE) -f $(LANGTOOLS_TOPDIR)/make/CompileInterim.gmk
-
-genstubs-langtools: interim-langtools
- +$(MAKE) -f $(LANGTOOLS_TOPDIR)/make/GenstubsLangtools.gmk
-
-compile-langtools: gensrc-langtools interim-langtools genstubs-langtools
- +$(MAKE) -f $(LANGTOOLS_TOPDIR)/make/CompileLangtools.gmk
-
-all: compile-langtools
-
-.PHONY: default all
-.PHONY: gensrc-langtools interim-langtools genstubs-langtools compile-langtools
-
diff --git a/langtools/make/CompileInterim.gmk b/langtools/make/CompileInterim.gmk
index b425dc9..2d19f28 100644
--- a/langtools/make/CompileInterim.gmk
+++ b/langtools/make/CompileInterim.gmk
@@ -39,9 +39,12 @@
$(eval $(call SetupJavaCompilation,BUILD_INTERIM_LANGTOOLS, \
SETUP := BOOT_JAVAC, \
DISABLE_SJAVAC := true, \
- SRC := $(LANGTOOLS_TOPDIR)/src/share/classes \
- $(LANGTOOLS_OUTPUTDIR)/gensrc \
- $(LANGTOOLS_TOPDIR)/make/tools, \
+ SRC := $(LANGTOOLS_TOPDIR)/src/java.compiler/share/classes \
+ $(LANGTOOLS_TOPDIR)/src/jdk.compiler/share/classes \
+ $(LANGTOOLS_TOPDIR)/src/jdk.javadoc/share/classes \
+ $(LANGTOOLS_TOPDIR)/src/java.base/share/classes \
+ $(LANGTOOLS_OUTPUTDIR)/gensrc/jdk.compiler \
+ $(LANGTOOLS_OUTPUTDIR)/gensrc/jdk.javadoc, \
EXCLUDES := com/sun/tools/javac/nio compileproperties anttasks crules, \
COPY := $(RESOURCE_SUFFIXES), \
BIN := $(LANGTOOLS_OUTPUTDIR)/interim_classes, \
diff --git a/langtools/make/CompileLangtools.gmk b/langtools/make/CompileLangtools.gmk
deleted file mode 100644
index d15be9d..0000000
--- a/langtools/make/CompileLangtools.gmk
+++ /dev/null
@@ -1,62 +0,0 @@
-#
-# Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License version 2 only, as
-# published by the Free Software Foundation. Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-# or visit www.oracle.com if you need additional information or have any
-# questions.
-#
-
-# This must be the first rule
-default: all
-
-include $(SPEC)
-include MakeBase.gmk
-include JavaCompilation.gmk
-
-include CommonLangtools.gmk
-
-# Setup a compiler configuration using javac from the interim langtools jar
-# that generates code for the new jdk that is being built. The code compiled
-# by this compiler setup, cannot necessarily be run with the bootstrap jvm.
-$(eval $(call SetupJavaCompiler,GENERATE_NEWBYTECODE, \
- JVM := $(JAVA), \
- JAVAC := $(NEW_JAVAC), \
- FLAGS := -XDignore.symbol.file=true -Xlint:all$(COMMA)-deprecation -Werror, \
- SERVER_DIR := $(SJAVAC_SERVER_DIR), \
- SERVER_JVM := $(SJAVAC_SERVER_JAVA)))
-
-$(eval $(call SetupJavaCompilation,BUILD_FULL_LANGTOOLS, \
- SETUP := GENERATE_NEWBYTECODE, \
- SRC := $(LANGTOOLS_TOPDIR)/src/share/classes \
- $(LANGTOOLS_OUTPUTDIR)/gensrc \
- $(LANGTOOLS_OUTPUTDIR)/genstubs, \
- EXCLUDES := java/util java/io java/nio, \
- COPY := $(RESOURCE_SUFFIXES), \
- BIN := $(LANGTOOLS_OUTPUTDIR)/classes, \
- JAR := $(LANGTOOLS_OUTPUTDIR)/dist/lib/classes.jar))
-
-# Construct the source zip separately to avoid picking up the genstubs sources.
-$(eval $(call SetupZipArchive,ZIP_FULL_LANGTOOLS_SOURCE, \
- SRC := $(LANGTOOLS_TOPDIR)/src/share/classes $(LANGTOOLS_OUTPUTDIR)/gensrc, \
- ZIP := $(LANGTOOLS_OUTPUTDIR)/dist/lib/src.zip))
-
-all: \
- $(BUILD_FULL_LANGTOOLS) \
- $(ZIP_FULL_LANGTOOLS_SOURCE)
diff --git a/langtools/make/GensrcLangtools.gmk b/langtools/make/GensrcLangtools.gmk
index e361a18..7afde73 100644
--- a/langtools/make/GensrcLangtools.gmk
+++ b/langtools/make/GensrcLangtools.gmk
@@ -34,10 +34,10 @@
################################################################################
# Setup the compilation of the properties compilation tool. You can depend
-# upon $(BUILD_TOOLS) to trigger a compilation of the tools. Note that we
-# add src/share/classes to the sourcepath. This is necessary since the GenStubs
-# program needs to be linked and run with the new javac sources.
-$(eval $(call SetupJavaCompilation,BUILD_TOOLS, \
+# upon $(BUILD_TOOLS_LANGTOOLS) to trigger a compilation of the tools. Note that
+# we add src/share/classes to the sourcepath. This is necessary since the
+# GenStubs program needs to be linked and run with the new javac sources.
+$(eval $(call SetupJavaCompilation,BUILD_TOOLS_LANGTOOLS, \
SETUP := BOOT_JAVAC, \
DISABLE_SJAVAC := true, \
ADD_JAVAC_FLAGS := -Xprefer:source, \
@@ -51,17 +51,19 @@
compileproperties.CompileProperties -quiet
# Lookup the properties that need to be compiled into resource bundles.
-PROPSOURCES := $(shell $(FIND) $(LANGTOOLS_TOPDIR)/src/share/classes -name "*.properties")
+PROPSOURCES := $(shell $(FIND) $(LANGTOOLS_TOPDIR)/src/*/share/classes -name "*.properties")
+# Convert .../src/<module>/share/classes/com/sun/tools/javac/resources/javac_zh_CN.properties
+# to .../langtools/gensrc/<module>/com/sun/tools/javac/resources/javac_zh_CN.java
# Strip away prefix and suffix, leaving for example only:
-# "com/sun/tools/javac/resources/javac_zh_CN"
-PROPPATHS := $(patsubst $(LANGTOOLS_TOPDIR)/src/share/classes/%.properties, %, $(PROPSOURCES))
+# "<module>/share/classes/com/sun/tools/javac/resources/javac_zh_CN"
+PROPJAVAS := $(patsubst $(LANGTOOLS_TOPDIR)/src/%.properties, \
+ $(LANGTOOLS_OUTPUTDIR)/gensrc/%.java, \
+ $(subst /share/classes,,$(PROPSOURCES)))
-# Generate the list of java files to be created.
-PROPJAVAS := $(patsubst %, $(LANGTOOLS_OUTPUTDIR)/gensrc/%.java, $(PROPPATHS))
-
-# Generate the package dirs for the tobe generated java files.
-PROPDIRS := $(dir $(PROPJAVAS))
+# Generate the package dirs for the tobe generated java files. Sort to remove
+# duplicates.
+PROPDIRS := $(sort $(dir $(PROPJAVAS)))
# Now generate a sequence of:
# "-compile ...javac_zh_CN.properties ...javac_zh_CN.java java.util.ListResourceBundle"
@@ -69,40 +71,38 @@
PROPCMDLINE := $(subst _SPACE_, $(SPACE), \
$(join $(addprefix -compile_SPACE_, $(PROPSOURCES)), \
$(addsuffix _SPACE_java.util.ListResourceBundle, \
- $(addprefix _SPACE_$(LANGTOOLS_OUTPUTDIR)/gensrc/, \
- $(addsuffix .java, $(PROPPATHS))))))
+ $(addprefix _SPACE_, $(PROPJAVAS)))))
# Now setup the rule for the generation of the resource bundles.
-$(LANGTOOLS_OUTPUTDIR)/gensrc/_the_props: $(PROPSOURCES) $(BUILD_TOOLS)
+$(LANGTOOLS_OUTPUTDIR)/gensrc/_the_props: $(PROPSOURCES) $(BUILD_TOOLS_LANGTOOLS)
$(RM) -r $(@D)/*
$(MKDIR) -p $(@D) $(PROPDIRS)
$(PRINTF) "jdk=$(JDK_VERSION)\nfull=$(FULL_VERSION)\nrelease=$(RELEASE)\n" \
- > $(LANGTOOLS_OUTPUTDIR)/gensrc/com/sun/tools/javah/resources/version.properties
+ > $(LANGTOOLS_OUTPUTDIR)/gensrc/jdk.compiler/com/sun/tools/javah/resources/version.properties
$(PRINTF) "jdk=$(JDK_VERSION)\nfull=$(FULL_VERSION)\nrelease=$(RELEASE)\n" \
- > $(LANGTOOLS_OUTPUTDIR)/gensrc/com/sun/tools/javap/resources/version.properties
+ > $(LANGTOOLS_OUTPUTDIR)/gensrc/jdk.compiler/com/sun/tools/javap/resources/version.properties
$(PRINTF) "jdk=$(JDK_VERSION)\nfull=$(FULL_VERSION)\nrelease=$(RELEASE)\n" \
- > $(LANGTOOLS_OUTPUTDIR)/gensrc/com/sun/tools/javac/resources/version.properties
+ > $(LANGTOOLS_OUTPUTDIR)/gensrc/jdk.compiler/com/sun/tools/javac/resources/version.properties
$(PRINTF) "jdk=$(JDK_VERSION)\nfull=$(FULL_VERSION)\nrelease=$(RELEASE)\n" \
- > $(LANGTOOLS_OUTPUTDIR)/gensrc/com/sun/tools/jdeps/resources/version.properties
+ > $(LANGTOOLS_OUTPUTDIR)/gensrc/jdk.dev/com/sun/tools/jdeps/resources/version.properties
$(PRINTF) "jdk=$(JDK_VERSION)\nfull=$(FULL_VERSION)\nrelease=$(RELEASE)\n" \
- > $(LANGTOOLS_OUTPUTDIR)/gensrc/com/sun/tools/javadoc/resources/version.properties
- $(ECHO) Compiling $(words $(PROPSOURCES) javah javap javac jdeps javadoc) \
- properties into resource bundles
+ > $(LANGTOOLS_OUTPUTDIR)/gensrc/jdk.javadoc/com/sun/tools/javadoc/resources/version.properties
+ $(ECHO) Compiling $(words $(PROPSOURCES) v1 v2 v3) properties into resource bundles
$(TOOL_COMPILEPROPS_CMD) $(PROPCMDLINE) \
- -compile $(LANGTOOLS_OUTPUTDIR)/gensrc/com/sun/tools/javah/resources/version.properties \
- $(LANGTOOLS_OUTPUTDIR)/gensrc/com/sun/tools/javah/resources/version.java \
+ -compile $(LANGTOOLS_OUTPUTDIR)/gensrc/jdk.compiler/com/sun/tools/javah/resources/version.properties \
+ $(LANGTOOLS_OUTPUTDIR)/gensrc/jdk.compiler/com/sun/tools/javah/resources/version.java \
java.util.ListResourceBundle \
- -compile $(LANGTOOLS_OUTPUTDIR)/gensrc/com/sun/tools/javap/resources/version.properties \
- $(LANGTOOLS_OUTPUTDIR)/gensrc/com/sun/tools/javap/resources/version.java \
+ -compile $(LANGTOOLS_OUTPUTDIR)/gensrc/jdk.compiler/com/sun/tools/javap/resources/version.properties \
+ $(LANGTOOLS_OUTPUTDIR)/gensrc/jdk.compiler/com/sun/tools/javap/resources/version.java \
java.util.ListResourceBundle \
- -compile $(LANGTOOLS_OUTPUTDIR)/gensrc/com/sun/tools/javac/resources/version.properties \
- $(LANGTOOLS_OUTPUTDIR)/gensrc/com/sun/tools/javac/resources/version.java \
+ -compile $(LANGTOOLS_OUTPUTDIR)/gensrc/jdk.compiler/com/sun/tools/javac/resources/version.properties \
+ $(LANGTOOLS_OUTPUTDIR)/gensrc/jdk.compiler/com/sun/tools/javac/resources/version.java \
java.util.ListResourceBundle \
- -compile $(LANGTOOLS_OUTPUTDIR)/gensrc/com/sun/tools/jdeps/resources/version.properties \
- $(LANGTOOLS_OUTPUTDIR)/gensrc/com/sun/tools/jdeps/resources/version.java \
+ -compile $(LANGTOOLS_OUTPUTDIR)/gensrc/jdk.dev/com/sun/tools/jdeps/resources/version.properties \
+ $(LANGTOOLS_OUTPUTDIR)/gensrc/jdk.dev/com/sun/tools/jdeps/resources/version.java \
java.util.ListResourceBundle \
- -compile $(LANGTOOLS_OUTPUTDIR)/gensrc/com/sun/tools/javadoc/resources/version.properties \
- $(LANGTOOLS_OUTPUTDIR)/gensrc/com/sun/tools/javadoc/resources/version.java \
+ -compile $(LANGTOOLS_OUTPUTDIR)/gensrc/jdk.javadoc/com/sun/tools/javadoc/resources/version.properties \
+ $(LANGTOOLS_OUTPUTDIR)/gensrc/jdk.javadoc/com/sun/tools/javadoc/resources/version.java \
java.util.ListResourceBundle
$(TOUCH) $@
diff --git a/langtools/make/GenstubsLangtools.gmk b/langtools/make/GenstubsLangtools.gmk
deleted file mode 100644
index f7605ff..0000000
--- a/langtools/make/GenstubsLangtools.gmk
+++ /dev/null
@@ -1,70 +0,0 @@
-#
-# Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License version 2 only, as
-# published by the Free Software Foundation. Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-# or visit www.oracle.com if you need additional information or have any
-# questions.
-#
-
-# This must be the first rule
-default: all
-
-include $(SPEC)
-include MakeBase.gmk
-
-include CommonLangtools.gmk
-
-# GenStubs is used to bootstrap any dependencies from javac to the new JDK that is not
-# yet built. It is currently not needed but might be again in the future. The following
-# exercises the functionality to verify that it works.
-TOOL_GENSTUBS_CMD = $(JAVA) \
- "-Xbootclasspath/p:$(INTERIM_LANGTOOLS_JAR)" \
- genstubs.GenStubs
-
-# We fetch source from the JDK...
-JDKS := $(JDK_TOPDIR)/src/share/classes
-
-# Build the list of classes to generate stubs from. java/util/function/Predicate.java isn't
-# currently needed, but is used as a demo for now.
-
-STUBSOURCES := $(shell $(FIND) $(JDKS) -name "*.java" | $(GREP) \
- -e "$(JDKS)/java/util/function/Predicate.java")
-
-# Rewrite the file names into class names because the GenStubs tool require this.
-STUBCLASSES := $(subst /,., $(patsubst $(JDKS)/%.java, %, $(STUBSOURCES)))
-
-# Now setup the build recipe for genstubs.
-$(LANGTOOLS_OUTPUTDIR)/genstubs/_the_stubs: $(STUBSOURCES)
- $(MKDIR) -p $(@D)
- $(MKDIR) -p $(LANGTOOLS_OUTPUTDIR)/tmpstubs
- $(ECHO) $(LOG_INFO) Generating stubs from JDK sources.
- $(TOOL_GENSTUBS_CMD) -s $(LANGTOOLS_OUTPUTDIR)/tmpstubs -sourcepath $(JDKS) $(STUBCLASSES)
- if $(DIFF) -x "_the*" -rq $(LANGTOOLS_OUTPUTDIR)/tmpstubs $(LANGTOOLS_OUTPUTDIR)/genstubs \
- > /dev/null 2>&1; then \
- $(ECHO) $(LOG_INFO) No changes in the stubs!; \
- $(RM) -r $(LANGTOOLS_OUTPUTDIR)/tmpstubs; \
- else \
- $(ECHO) $(LOG_INFO) Changes in stubs detected!; \
- $(RM) -r $(@D); \
- $(MV) $(LANGTOOLS_OUTPUTDIR)/tmpstubs $(@D); \
- fi
- $(TOUCH) $@
-
-all: $(LANGTOOLS_OUTPUTDIR)/genstubs/_the_stubs
diff --git a/langtools/make/build.xml b/langtools/make/build.xml
index 208f1dd..17894c8 100644
--- a/langtools/make/build.xml
+++ b/langtools/make/build.xml
@@ -138,9 +138,18 @@
<property name="make.tools.dir" location="${make.dir}/tools"/>
<property name="src.dir" location="src"/>
<property name="src.bin.dir" location="${src.dir}/share/bin"/>
- <property name="src.classes.dir" location="${src.dir}/share/classes"/>
<property name="test.dir" location="test"/>
+ <path id="src.dirs">
+ <pathelement path="${src.dir}/java.base/share/classes"/>
+ <pathelement path="${src.dir}/java.compiler/share/classes"/>
+ <pathelement path="${src.dir}/jdk.compiler/share/classes"/>
+ <pathelement path="${src.dir}/jdk.dev/share/classes"/>
+ <pathelement path="${src.dir}/jdk.javadoc/share/classes"/>
+ </path>
+
+ <pathconvert pathsep="," property="src.dirs.property" refid="src.dirs" />
+
<!-- java.marker is set to a marker file to check for within a Java install dir.
The best file to check for across Solaris/Linux/Windows/MacOS is one of the
executables; regrettably, that is OS-specific. -->
@@ -237,7 +246,9 @@
</chmod>
<mkdir dir="${dist.lib.dir}"/>
<jar file="${dist.lib.dir}/classes.jar" basedir="${build.classes.dir}"/>
- <zip file="${dist.lib.dir}/src.zip" basedir="${src.classes.dir}"/>
+ <zip file="${dist.lib.dir}/src.zip">
+ <multirootfileset basedirs="${src.dirs.property}" />
+ </zip>
</target>
<target name="build-bootstrap-tools"
@@ -316,7 +327,7 @@
jvmargs="-Xmx512M">
<class location="${build.classes.dir}"/>
<sourcePath>
- <pathelement location="${src.classes.dir}"/>
+ <path refid="src.dirs"/>
</sourcePath>
</findbugs>
<exec executable="sh">
@@ -350,14 +361,24 @@
<target name="coverage-report" depends="-def-cobertura">
<mkdir dir="${dist.coverage.dir}"/>
<cobertura-report
- srcdir="${src.classes.dir}"
destdir="${dist.coverage.dir}"
- datafile="${build.coverage.dir}/cobertura.ser"/>
+ datafile="${build.coverage.dir}/cobertura.ser">
+ <fileset dir="${src.dir}/java.base/share/classes"/>
+ <fileset dir="${src.dir}/java.compiler/share/classes"/>
+ <fileset dir="${src.dir}/jdk.compiler/share/classes"/>
+ <fileset dir="${src.dir}/jdk.dev/share/classes"/>
+ <fileset dir="${src.dir}/jdk.javadoc/share/classes"/>
+ </cobertura-report>
<cobertura-report
format="xml"
- srcdir="${src.classes.dir}"
destdir="${dist.coverage.dir}"
- datafile="${build.coverage.dir}/cobertura.ser"/>
+ datafile="${build.coverage.dir}/cobertura.ser">
+ <fileset dir="${src.dir}/java.base/share/classes"/>
+ <fileset dir="${src.dir}/java.compiler/share/classes"/>
+ <fileset dir="${src.dir}/jdk.compiler/share/classes"/>
+ <fileset dir="${src.dir}/jdk.dev/share/classes"/>
+ <fileset dir="${src.dir}/jdk.javadoc/share/classes"/>
+ </cobertura-report>
</target>
<target name="diags-examples" depends="build-javac,build-javap">
@@ -437,7 +458,6 @@
<mkdir dir="${build.dir}/doclint/classes"/>
<javac fork="true"
executable="${boot.javac}"
- srcdir="${src.classes.dir}:${build.gensrc.dir}"
destdir="${build.dir}/doclint/classes"
includes="javax/lang/model/** com/sun/javadoc/** com/sun/source/**"
excludes=""
@@ -454,6 +474,10 @@
<compilerarg line="${javac.no.jdk.warnings}"/>
<compilerarg line="${javac.version.opt}"/>
<compilerarg line="-Xdoclint:all/protected,-missing"/>
+ <src>
+ <path refid="src.dirs"/>
+ <path location="${build.gensrc.dir}"/>
+ </src>
</javac>
</target>
@@ -864,7 +888,7 @@
<attribute name="java" default="${launcher.java}"/>
<sequential>
<mkdir dir="@{bin.dir}"/>
- <copy file="${src.bin.dir}/launcher.sh-template" tofile="@{bin.dir}/@{name}">
+ <copy file="${make.dir}/launcher.sh-template" tofile="@{bin.dir}/@{name}">
<filterset begintoken="#" endtoken="#">
<filter token="PROGRAM" value="@{name}"/>
<filter token="TARGET_JAVA" value="@{java}"/>
@@ -946,11 +970,14 @@
<echo level="verbose" message="build-classes: sourcepath=@{sourcepath}"/>
<mkdir dir="@{gensrc.dir}"/>
<mkdir dir="@{classes.dir}"/>
- <pcompile srcdir="${src.classes.dir}"
- destdir="@{gensrc.dir}"
- includes="@{includes}"/>
+ <pcompile destdir="@{gensrc.dir}"
+ includes="@{includes}">
+ <src>
+ <path refid="src.dirs"/>
+ </src>
+ </pcompile>
<copy todir="@{gensrc.dir}">
- <fileset dir="${src.classes.dir}" includes="@{includes}"/>
+ <multirootfileset basedirs="${src.dirs.property}" includes="@{includes}" />
<globmapper from="*.properties-template" to="*.properties"/>
<filterset begintoken="$(" endtoken=")">
<filter token="JDK_VERSION" value="${jdk.version}"/>
@@ -958,12 +985,14 @@
<filter token="FULL_VERSION" value="@{full.version}"/>
</filterset>
</copy>
- <pcompile srcdir="@{gensrc.dir}"
- destdir="@{gensrc.dir}"
- includes="**/*.properties"/>
+ <pcompile destdir="@{gensrc.dir}"
+ includes="**/*.properties">
+ <src>
+ <pathelement location="@{gensrc.dir}"/>
+ </src>
+ </pcompile>
<javac fork="true"
executable="@{java.home}/bin/javac"
- srcdir="${src.classes.dir}:@{gensrc.dir}"
destdir="@{classes.dir}"
includes="@{includes}"
excludes="@{excludes}"
@@ -982,9 +1011,13 @@
<compilerarg line="${javac.version.opt}"/>
<compilerarg line="${javac.lint.opts}"/>
<compilerarg line="@{plugin.options}"/>
+ <src>
+ <path refid="src.dirs"/>
+ <path location="@{gensrc.dir}"/>
+ </src>
</javac>
<copy todir="@{classes.dir}" includeemptydirs="false">
- <fileset dir="${src.classes.dir}" includes="@{includes}" excludes="@{excludes}">
+ <multirootfileset basedirs="${src.dirs.property}" includes="@{includes}" excludes="@{excludes}">
<exclude name="**/*.java"/>
<exclude name="**/*.properties"/>
<exclude name="**/*-template"/>
@@ -992,7 +1025,7 @@
<exclude name="**/*.orig"/>
<exclude name="**/overview.html"/>
<exclude name="**/package.html"/>
- </fileset>
+ </multirootfileset>
</copy>
</sequential>
</macrodef>
@@ -1037,7 +1070,7 @@
target="${boot.javac.target}"
executable="${boot.java.home}/bin/javac"
srcdir="${make.tools.dir}"
- includes="compileproperties/* anttasks/CompileProperties*"
+ includes="compileproperties/* anttasks/CompileProperties* anttasks/PathFileSet*"
destdir="${build.toolclasses.dir}/"
classpath="${ant.core.lib}"
bootclasspath="${boot.java.home}/jre/lib/rt.jar"
@@ -1099,11 +1132,11 @@
<attribute name="name"/>
<attribute name="includes"/>
<attribute name="options" default=""/>
- <attribute name="source" default="1.5"/> <!-- FIXME -->
+ <attribute name="source" default="${javac.source}"/>
<sequential>
<property name="javadoc.options" value=""/> <!-- default, can be overridden per user or per project -->
<!-- Note: even with this default value, includes
- from src.classes.dir get javadoc'd; see packageset below -->
+ from source directories get javadoc'd; see packageset below -->
<property name="javadoc.packagenames" value="none"/> <!-- default, can be overridden per user or per project -->
<javadoc
executable="${target.java.home}/bin/javadoc"
@@ -1117,18 +1150,52 @@
packagenames="${javadoc.packagenames}" >
<header><![CDATA[<strong>Unofficial Javadoc</strong> generated from developer sources for preview purposes only]]></header>
<arg line="@{options}"/>
+ <arg value="-tag" />
+ <arg value="implNote:a:Implementation Note:"/>
<bootclasspath>
<path location="${build.classes.dir}"/>
<path location="${target.java.home}/jre/lib/rt.jar"/>
</bootclasspath>
<sourcepath>
- <pathelement location="${src.classes.dir}"/>
+ <path refid="src.dirs"/>
</sourcepath>
<!-- XXX just <fileset> (restricted further to **/*.java) and no <packageset> -->
<!-- means that {@link some.package} will not work, which is no good. -->
<!-- (It correctly skips excluded single classes, but not if packageset is also included, -->
<!-- which also causes duplicates in the class index for included files.) -->
- <packageset dir="${src.classes.dir}" includes="@{includes}">
+ <packageset dir="${src.dir}/java.base/share/classes" includes="@{includes}">
+ <or>
+ <filename name="java/"/>
+ <filename name="javax/"/>
+ <filename name="com/sun/javadoc/"/>
+ <filename name="com/sun/source/"/>
+ </or>
+ </packageset>
+ <packageset dir="${src.dir}/java.compiler/share/classes" includes="@{includes}">
+ <or>
+ <filename name="java/"/>
+ <filename name="javax/"/>
+ <filename name="com/sun/javadoc/"/>
+ <filename name="com/sun/source/"/>
+ </or>
+ </packageset>
+ <packageset dir="${src.dir}/jdk.compiler/share/classes" includes="@{includes}">
+ <or>
+ <filename name="java/"/>
+ <filename name="javax/"/>
+ <filename name="com/sun/javadoc/"/>
+ <filename name="com/sun/source/"/>
+ </or>
+ </packageset>
+ <packageset dir="${src.dir}/jdk.dev/share/classes" includes="@{includes}">
+ <or>
+ <filename name="java/"/>
+ <filename name="javax/"/>
+ <filename name="com/sun/javadoc/"/>
+ <filename name="com/sun/source/"/>
+ </or>
+ </packageset>
+ <packageset dir="${src.dir}/jdk.javadoc/share/classes" includes="@{includes}">
<or>
<filename name="java/"/>
<filename name="javax/"/>
@@ -1235,7 +1302,7 @@
<pathelement location="${build.classes.dir}"/>
</auxClasspath>
<sourcePath>
- <pathelement location="${src.classes.dir}"/>
+ <path refid="src.dirs"/>
</sourcePath>
</findbugs>
</sequential>
diff --git a/langtools/src/share/bin/launcher.sh-template b/langtools/make/launcher.sh-template
similarity index 100%
rename from langtools/src/share/bin/launcher.sh-template
rename to langtools/make/launcher.sh-template
diff --git a/langtools/make/netbeans/langtools/build.xml b/langtools/make/netbeans/langtools/build.xml
index 0f7aeb2..4e85a1e 100644
--- a/langtools/make/netbeans/langtools/build.xml
+++ b/langtools/make/netbeans/langtools/build.xml
@@ -79,11 +79,12 @@
<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}"
+ srcdir="${srcdir}"
destdir="${build.classes.dir}"
includes="${includes}"
sourcepath=""
includeAntRuntime="no"
+ source="${javac.source}"
target="${javac.target}"
debug="${javac.debug}"
debuglevel="${javac.debuglevel}"/>
@@ -174,7 +175,7 @@
<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}"/>
+ <run mainclass="${debug.classname}" args="" jpda.jvmargs="${jpda.jvmargs}"/>
</target>
<!-- Debug a jtreg test. -->
@@ -186,7 +187,7 @@
<!-- Update a class being debugged. -->
- <target name="debug-fix" if="langtools.tool.name">
+ <target name="debug-fix">
<fail unless="class">Must set property 'class'
</fail>
<antcall target="compile-single">
@@ -281,7 +282,7 @@
<pathelement location="${target.java.home}/jre/lib/rt.jar"/>
</bootclasspath>
<sourcepath>
- <pathelement location="${src.classes.dir}"/>
+ <path refid="src.dirs"/>
</sourcepath>
</nbjpdastart>
<property
diff --git a/langtools/make/netbeans/langtools/nbproject/project.xml b/langtools/make/netbeans/langtools/nbproject/project.xml
index 1327dae..ed93987 100644
--- a/langtools/make/netbeans/langtools/nbproject/project.xml
+++ b/langtools/make/netbeans/langtools/nbproject/project.xml
@@ -57,9 +57,29 @@
<location>${root}/make</location>
</source-folder>
<source-folder>
- <label>Source files</label>
+ <label>Source files - java.base</label>
<type>java</type>
- <location>${root}/src/share/classes</location>
+ <location>${root}/src/java.base/share/classes</location>
+ </source-folder>
+ <source-folder>
+ <label>Source files - java.compiler</label>
+ <type>java</type>
+ <location>${root}/src/java.compiler/share/classes</location>
+ </source-folder>
+ <source-folder>
+ <label>Source files - jdk.compiler</label>
+ <type>java</type>
+ <location>${root}/src/jdk.compiler/share/classes</location>
+ </source-folder>
+ <source-folder>
+ <label>Source files - jdk.dev</label>
+ <type>java</type>
+ <location>${root}/src/jdk.dev/share/classes</location>
+ </source-folder>
+ <source-folder>
+ <label>Source files - jdk.javadoc</label>
+ <type>java</type>
+ <location>${root}/src/jdk.javadoc/share/classes</location>
</source-folder>
<build-file>
<location>${root}/build/classes</location>
@@ -87,10 +107,62 @@
</action>
<action name="compile.single">
<target>compile-single</target>
- <property name="srcdir">${root}/src/share/classes</property>
+ <property name="srcdir">src/java.base/share/classes</property>
<context>
<property>includes</property>
- <folder>${root}/src/share/classes</folder>
+ <folder>${root}/src/java.base/share/classes</folder>
+ <pattern>\.java$</pattern>
+ <format>relative-path</format>
+ <arity>
+ <separated-files>,</separated-files>
+ </arity>
+ </context>
+ </action>
+ <action name="compile.single">
+ <target>compile-single</target>
+ <property name="srcdir">src/java.compiler/share/classes</property>
+ <context>
+ <property>includes</property>
+ <folder>${root}/src/java.compiler/share/classes</folder>
+ <pattern>\.java$</pattern>
+ <format>relative-path</format>
+ <arity>
+ <separated-files>,</separated-files>
+ </arity>
+ </context>
+ </action>
+ <action name="compile.single">
+ <target>compile-single</target>
+ <property name="srcdir">src/jdk.compiler/share/classes</property>
+ <context>
+ <property>includes</property>
+ <folder>${root}/src/jdk.compiler/share/classes</folder>
+ <pattern>\.java$</pattern>
+ <format>relative-path</format>
+ <arity>
+ <separated-files>,</separated-files>
+ </arity>
+ </context>
+ </action>
+ <action name="compile.single">
+ <target>compile-single</target>
+ <property name="srcdir">src/jdk.dev/share/classes</property>
+ <context>
+ <property>includes</property>
+ <folder>${root}/src/jdk.dev/share/classes</folder>
+ <pattern>\.java$</pattern>
+ <format>relative-path</format>
+ <arity>
+ <separated-files>,</separated-files>
+ </arity>
+ </context>
+ </action>
+ <action name="compile.single">
+ <target>compile-single</target>
+ <property name="srcdir">src/jdk.javadoc/share/classes</property>
+ <context>
+ <property>includes</property>
+ <folder>${root}/src/jdk.javadoc/share/classes</folder>
<pattern>\.java$</pattern>
<format>relative-path</format>
<arity>
@@ -105,7 +177,55 @@
<target>run-single</target>
<context>
<property>run.classname</property>
- <folder>${root}/src/share/classes</folder>
+ <folder>${root}/src/jdk.base/share/classes</folder>
+ <pattern>\.java$</pattern>
+ <format>java-name</format>
+ <arity>
+ <one-file-only/>
+ </arity>
+ </context>
+ </action>
+ <action name="run.single">
+ <target>run-single</target>
+ <context>
+ <property>run.classname</property>
+ <folder>${root}/src/java.compiler/share/classes</folder>
+ <pattern>\.java$</pattern>
+ <format>java-name</format>
+ <arity>
+ <one-file-only/>
+ </arity>
+ </context>
+ </action>
+ <action name="run.single">
+ <target>run-single</target>
+ <context>
+ <property>run.classname</property>
+ <folder>${root}/src/jdk.compiler/share/classes</folder>
+ <pattern>\.java$</pattern>
+ <format>java-name</format>
+ <arity>
+ <one-file-only/>
+ </arity>
+ </context>
+ </action>
+ <action name="run.single">
+ <target>run-single</target>
+ <context>
+ <property>run.classname</property>
+ <folder>${root}/src/jdk.dev/share/classes</folder>
+ <pattern>\.java$</pattern>
+ <format>java-name</format>
+ <arity>
+ <one-file-only/>
+ </arity>
+ </context>
+ </action>
+ <action name="run.single">
+ <target>run-single</target>
+ <context>
+ <property>run.classname</property>
+ <folder>${root}/src/jdk.javadoc/share/classes</folder>
<pattern>\.java$</pattern>
<format>java-name</format>
<arity>
@@ -139,7 +259,55 @@
<target>debug-single</target>
<context>
<property>debug.classname</property>
- <folder>${root}/src/share/classes</folder>
+ <folder>${root}/src/java.base/share/classes</folder>
+ <pattern>\.java$</pattern>
+ <format>java-name</format>
+ <arity>
+ <one-file-only/>
+ </arity>
+ </context>
+ </action>
+ <action name="debug.single">
+ <target>debug-single</target>
+ <context>
+ <property>debug.classname</property>
+ <folder>${root}/src/java.compiler/share/classes</folder>
+ <pattern>\.java$</pattern>
+ <format>java-name</format>
+ <arity>
+ <one-file-only/>
+ </arity>
+ </context>
+ </action>
+ <action name="debug.single">
+ <target>debug-single</target>
+ <context>
+ <property>debug.classname</property>
+ <folder>${root}/src/jdk.compiler/share/classes</folder>
+ <pattern>\.java$</pattern>
+ <format>java-name</format>
+ <arity>
+ <one-file-only/>
+ </arity>
+ </context>
+ </action>
+ <action name="debug.single">
+ <target>debug-single</target>
+ <context>
+ <property>debug.classname</property>
+ <folder>${root}/src/jdk.dev/share/classes</folder>
+ <pattern>\.java$</pattern>
+ <format>java-name</format>
+ <arity>
+ <one-file-only/>
+ </arity>
+ </context>
+ </action>
+ <action name="debug.single">
+ <target>debug-single</target>
+ <context>
+ <property>debug.classname</property>
+ <folder>${root}/src/jdk.javadoc/share/classes</folder>
<pattern>\.java$</pattern>
<format>java-name</format>
<arity>
@@ -165,10 +333,62 @@
</action>
<action name="debug.fix">
<target>debug-fix</target>
- <property name="srcdir">${root}/src/share/classes</property>
+ <property name="srcdir">src/java.base/share/classes</property>
<context>
<property>class</property>
- <folder>${root}/src/share/classes</folder>
+ <folder>${root}/src/java.base/share/classes</folder>
+ <pattern>\.java$</pattern>
+ <format>relative-path-noext</format>
+ <arity>
+ <one-file-only/>
+ </arity>
+ </context>
+ </action>
+ <action name="debug.fix">
+ <target>debug-fix</target>
+ <property name="srcdir">src/java.compiler/share/classes</property>
+ <context>
+ <property>class</property>
+ <folder>${root}/src/java.compiler/share/classes</folder>
+ <pattern>\.java$</pattern>
+ <format>relative-path-noext</format>
+ <arity>
+ <one-file-only/>
+ </arity>
+ </context>
+ </action>
+ <action name="debug.fix">
+ <target>debug-fix</target>
+ <property name="srcdir">src/jdk.compiler/share/classes</property>
+ <context>
+ <property>class</property>
+ <folder>${root}/src/jdk.compiler/share/classes</folder>
+ <pattern>\.java$</pattern>
+ <format>relative-path-noext</format>
+ <arity>
+ <one-file-only/>
+ </arity>
+ </context>
+ </action>
+ <action name="debug.fix">
+ <target>debug-fix</target>
+ <property name="srcdir">src/jdk.dev/share/classes</property>
+ <context>
+ <property>class</property>
+ <folder>${root}/src/jdk.dev/share/classes</folder>
+ <pattern>\.java$</pattern>
+ <format>relative-path-noext</format>
+ <arity>
+ <one-file-only/>
+ </arity>
+ </context>
+ </action>
+ <action name="debug.fix">
+ <target>debug-fix</target>
+ <property name="srcdir">src/jdk.dev/share/classes</property>
+ <context>
+ <property>class</property>
+ <folder>${root}/src/jdk.javadoc/share/classes</folder>
<pattern>\.java$</pattern>
<format>relative-path-noext</format>
<arity>
@@ -197,8 +417,24 @@
<view>
<items>
<source-folder style="tree">
- <label>Source files</label>
- <location>${root}/src/share/classes</location>
+ <label>Source files - java.base</label>
+ <location>${root}/src/java.base/share/classes</location>
+ </source-folder>
+ <source-folder style="tree">
+ <label>Source files - java.compiler</label>
+ <location>${root}/src/java.compiler/share/classes</location>
+ </source-folder>
+ <source-folder style="tree">
+ <label>Source files - jdk.compiler</label>
+ <location>${root}/src/jdk.compiler/share/classes</location>
+ </source-folder>
+ <source-folder style="tree">
+ <label>Source files - jdk.dev</label>
+ <location>${root}/src/jdk.dev/share/classes</location>
+ </source-folder>
+ <source-folder style="tree">
+ <label>Source files - jdk.javadoc</label>
+ <location>${root}/src/jdk.javadoc/share/classes</location>
</source-folder>
<source-folder style="tree">
<label>Test files</label>
@@ -239,11 +475,15 @@
</view>
<subprojects/>
</general-data>
- <java-data xmlns="http://www.netbeans.org/ns/freeform-project-java/3">
+ <java-data xmlns="http://www.netbeans.org/ns/freeform-project-java/4">
<compilation-unit>
- <package-root>${root}/src/share/classes</package-root>
+ <package-root>${root}/src/java.base/share/classes</package-root>
+ <package-root>${root}/src/java.compiler/share/classes</package-root>
+ <package-root>${root}/src/jdk.compiler/share/classes</package-root>
+ <package-root>${root}/src/jdk.dev/share/classes</package-root>
+ <package-root>${root}/src/jdk.javadoc/share/classes</package-root>
<built-to>${root}/build/classes</built-to>
- <source-level>1.7</source-level>
+ <source-level>1.8</source-level>
</compilation-unit>
</java-data>
</configuration>
diff --git a/langtools/make/tools/anttasks/CompilePropertiesTask.java b/langtools/make/tools/anttasks/CompilePropertiesTask.java
index 7541c9f..d3bfe77 100644
--- a/langtools/make/tools/anttasks/CompilePropertiesTask.java
+++ b/langtools/make/tools/anttasks/CompilePropertiesTask.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -25,20 +25,24 @@
package anttasks;
-import compileproperties.CompileProperties;
-
import java.io.File;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.List;
+import compileproperties.CompileProperties;
import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.DirectoryScanner;
import org.apache.tools.ant.Project;
import org.apache.tools.ant.taskdefs.MatchingTask;
+import org.apache.tools.ant.types.Path;
+import org.apache.tools.ant.types.Resource;
public class CompilePropertiesTask extends MatchingTask {
- public void setSrcDir(File srcDir) {
- this.srcDir = srcDir;
+ public void addSrc(Path src) {
+ if (srcDirs == null)
+ srcDirs = new Path(getProject());
+ srcDirs.add(src);
}
public void setDestDir(File destDir) {
@@ -64,25 +68,28 @@
};
List<String> mainOpts = new ArrayList<String>();
int count = 0;
- DirectoryScanner s = getDirectoryScanner(srcDir);
- for (String path: s.getIncludedFiles()) {
- if (path.endsWith(".properties")) {
- String destPath =
- path.substring(0, path.length() - ".properties".length()) +
- ".java";
- File srcFile = new File(srcDir, path);
- File destFile = new File(destDir, destPath);
- // Arguably, the comparison in the next line should be ">", not ">="
- // but that assumes the resolution of the last modified time is fine
- // grained enough; in practice, it is better to use ">=".
- if (destFile.exists() && destFile.lastModified() >= srcFile.lastModified())
- continue;
- destFile.getParentFile().mkdirs();
- mainOpts.add("-compile");
- mainOpts.add(srcFile.getPath());
- mainOpts.add(destFile.getPath());
- mainOpts.add(superclass);
- count++;
+ for (String dir : srcDirs.list()) {
+ File baseDir = getProject().resolveFile(dir);
+ DirectoryScanner s = getDirectoryScanner(baseDir);
+ for (String path: s.getIncludedFiles()) {
+ if (path.endsWith(".properties")) {
+ String destPath =
+ path.substring(0, path.length() - ".properties".length()) +
+ ".java";
+ File srcFile = new File(baseDir, path);
+ File destFile = new File(destDir, destPath);
+ // Arguably, the comparison in the next line should be ">", not ">="
+ // but that assumes the resolution of the last modified time is fine
+ // grained enough; in practice, it is better to use ">=".
+ if (destFile.exists() && destFile.lastModified() >= srcFile.lastModified())
+ continue;
+ destFile.getParentFile().mkdirs();
+ mainOpts.add("-compile");
+ mainOpts.add(srcFile.getPath());
+ mainOpts.add(destFile.getPath());
+ mainOpts.add(superclass);
+ count++;
+ }
}
}
if (mainOpts.size() > 0) {
@@ -95,7 +102,7 @@
}
}
- private File srcDir;
+ private Path srcDirs;
private File destDir;
private String superclass = "java.util.ListResourceBundle";
}
diff --git a/langtools/make/tools/compileproperties/CompileProperties.java b/langtools/make/tools/compileproperties/CompileProperties.java
index 7ee8b88..49cfc8a 100644
--- a/langtools/make/tools/compileproperties/CompileProperties.java
+++ b/langtools/make/tools/compileproperties/CompileProperties.java
@@ -350,8 +350,11 @@
int i = inEnd;
int j = outEnd;
while (i >= 0 && j >= 0) {
+ // If a dir contains a dot, it's not a valid package and most likely
+ // a module name.
if (!inputs[i].equals(outputs[j]) ||
- (inputs[i].equals("gensrc") && inputs[j].equals("gensrc"))) {
+ (inputs[i].equals("gensrc") && outputs[j].equals("gensrc")) ||
+ (inputs[i].contains("."))) {
++i;
++j;
break;
@@ -363,9 +366,6 @@
if (i < 0 || j < 0 || i >= inEnd || j >= outEnd) {
result = "";
} else {
- if (inputs[i].equals("classes") && outputs[j].equals("classes")) {
- ++i;
- }
inStart = i;
StringBuffer buf = new StringBuffer();
for (i = inStart; i <= inEnd; i++) {
diff --git a/langtools/src/share/classes/jdk/Exported.java b/langtools/src/java.base/share/classes/jdk/Exported.java
similarity index 100%
rename from langtools/src/share/classes/jdk/Exported.java
rename to langtools/src/java.base/share/classes/jdk/Exported.java
diff --git a/langtools/src/share/classes/javax/annotation/processing/AbstractProcessor.java b/langtools/src/java.compiler/share/classes/javax/annotation/processing/AbstractProcessor.java
similarity index 100%
rename from langtools/src/share/classes/javax/annotation/processing/AbstractProcessor.java
rename to langtools/src/java.compiler/share/classes/javax/annotation/processing/AbstractProcessor.java
diff --git a/langtools/src/share/classes/javax/annotation/processing/Completion.java b/langtools/src/java.compiler/share/classes/javax/annotation/processing/Completion.java
similarity index 100%
rename from langtools/src/share/classes/javax/annotation/processing/Completion.java
rename to langtools/src/java.compiler/share/classes/javax/annotation/processing/Completion.java
diff --git a/langtools/src/share/classes/javax/annotation/processing/Completions.java b/langtools/src/java.compiler/share/classes/javax/annotation/processing/Completions.java
similarity index 100%
rename from langtools/src/share/classes/javax/annotation/processing/Completions.java
rename to langtools/src/java.compiler/share/classes/javax/annotation/processing/Completions.java
diff --git a/langtools/src/share/classes/javax/annotation/processing/Filer.java b/langtools/src/java.compiler/share/classes/javax/annotation/processing/Filer.java
similarity index 100%
rename from langtools/src/share/classes/javax/annotation/processing/Filer.java
rename to langtools/src/java.compiler/share/classes/javax/annotation/processing/Filer.java
diff --git a/langtools/src/share/classes/javax/annotation/processing/FilerException.java b/langtools/src/java.compiler/share/classes/javax/annotation/processing/FilerException.java
similarity index 100%
rename from langtools/src/share/classes/javax/annotation/processing/FilerException.java
rename to langtools/src/java.compiler/share/classes/javax/annotation/processing/FilerException.java
diff --git a/langtools/src/share/classes/javax/annotation/processing/Messager.java b/langtools/src/java.compiler/share/classes/javax/annotation/processing/Messager.java
similarity index 100%
rename from langtools/src/share/classes/javax/annotation/processing/Messager.java
rename to langtools/src/java.compiler/share/classes/javax/annotation/processing/Messager.java
diff --git a/langtools/src/share/classes/javax/annotation/processing/ProcessingEnvironment.java b/langtools/src/java.compiler/share/classes/javax/annotation/processing/ProcessingEnvironment.java
similarity index 100%
rename from langtools/src/share/classes/javax/annotation/processing/ProcessingEnvironment.java
rename to langtools/src/java.compiler/share/classes/javax/annotation/processing/ProcessingEnvironment.java
diff --git a/langtools/src/share/classes/javax/annotation/processing/Processor.java b/langtools/src/java.compiler/share/classes/javax/annotation/processing/Processor.java
similarity index 100%
rename from langtools/src/share/classes/javax/annotation/processing/Processor.java
rename to langtools/src/java.compiler/share/classes/javax/annotation/processing/Processor.java
diff --git a/langtools/src/share/classes/javax/annotation/processing/RoundEnvironment.java b/langtools/src/java.compiler/share/classes/javax/annotation/processing/RoundEnvironment.java
similarity index 100%
rename from langtools/src/share/classes/javax/annotation/processing/RoundEnvironment.java
rename to langtools/src/java.compiler/share/classes/javax/annotation/processing/RoundEnvironment.java
diff --git a/langtools/src/share/classes/javax/annotation/processing/SupportedAnnotationTypes.java b/langtools/src/java.compiler/share/classes/javax/annotation/processing/SupportedAnnotationTypes.java
similarity index 100%
rename from langtools/src/share/classes/javax/annotation/processing/SupportedAnnotationTypes.java
rename to langtools/src/java.compiler/share/classes/javax/annotation/processing/SupportedAnnotationTypes.java
diff --git a/langtools/src/share/classes/javax/annotation/processing/SupportedOptions.java b/langtools/src/java.compiler/share/classes/javax/annotation/processing/SupportedOptions.java
similarity index 100%
rename from langtools/src/share/classes/javax/annotation/processing/SupportedOptions.java
rename to langtools/src/java.compiler/share/classes/javax/annotation/processing/SupportedOptions.java
diff --git a/langtools/src/share/classes/javax/annotation/processing/SupportedSourceVersion.java b/langtools/src/java.compiler/share/classes/javax/annotation/processing/SupportedSourceVersion.java
similarity index 100%
rename from langtools/src/share/classes/javax/annotation/processing/SupportedSourceVersion.java
rename to langtools/src/java.compiler/share/classes/javax/annotation/processing/SupportedSourceVersion.java
diff --git a/langtools/src/share/classes/javax/annotation/processing/package-info.java b/langtools/src/java.compiler/share/classes/javax/annotation/processing/package-info.java
similarity index 100%
rename from langtools/src/share/classes/javax/annotation/processing/package-info.java
rename to langtools/src/java.compiler/share/classes/javax/annotation/processing/package-info.java
diff --git a/langtools/src/share/classes/javax/lang/model/AnnotatedConstruct.java b/langtools/src/java.compiler/share/classes/javax/lang/model/AnnotatedConstruct.java
similarity index 100%
rename from langtools/src/share/classes/javax/lang/model/AnnotatedConstruct.java
rename to langtools/src/java.compiler/share/classes/javax/lang/model/AnnotatedConstruct.java
diff --git a/langtools/src/share/classes/javax/lang/model/SourceVersion.java b/langtools/src/java.compiler/share/classes/javax/lang/model/SourceVersion.java
similarity index 100%
rename from langtools/src/share/classes/javax/lang/model/SourceVersion.java
rename to langtools/src/java.compiler/share/classes/javax/lang/model/SourceVersion.java
diff --git a/langtools/src/share/classes/javax/lang/model/UnknownEntityException.java b/langtools/src/java.compiler/share/classes/javax/lang/model/UnknownEntityException.java
similarity index 100%
rename from langtools/src/share/classes/javax/lang/model/UnknownEntityException.java
rename to langtools/src/java.compiler/share/classes/javax/lang/model/UnknownEntityException.java
diff --git a/langtools/src/share/classes/javax/lang/model/element/AnnotationMirror.java b/langtools/src/java.compiler/share/classes/javax/lang/model/element/AnnotationMirror.java
similarity index 100%
rename from langtools/src/share/classes/javax/lang/model/element/AnnotationMirror.java
rename to langtools/src/java.compiler/share/classes/javax/lang/model/element/AnnotationMirror.java
diff --git a/langtools/src/share/classes/javax/lang/model/element/AnnotationValue.java b/langtools/src/java.compiler/share/classes/javax/lang/model/element/AnnotationValue.java
similarity index 100%
rename from langtools/src/share/classes/javax/lang/model/element/AnnotationValue.java
rename to langtools/src/java.compiler/share/classes/javax/lang/model/element/AnnotationValue.java
diff --git a/langtools/src/share/classes/javax/lang/model/element/AnnotationValueVisitor.java b/langtools/src/java.compiler/share/classes/javax/lang/model/element/AnnotationValueVisitor.java
similarity index 100%
rename from langtools/src/share/classes/javax/lang/model/element/AnnotationValueVisitor.java
rename to langtools/src/java.compiler/share/classes/javax/lang/model/element/AnnotationValueVisitor.java
diff --git a/langtools/src/share/classes/javax/lang/model/element/Element.java b/langtools/src/java.compiler/share/classes/javax/lang/model/element/Element.java
similarity index 100%
rename from langtools/src/share/classes/javax/lang/model/element/Element.java
rename to langtools/src/java.compiler/share/classes/javax/lang/model/element/Element.java
diff --git a/langtools/src/share/classes/javax/lang/model/element/ElementKind.java b/langtools/src/java.compiler/share/classes/javax/lang/model/element/ElementKind.java
similarity index 100%
rename from langtools/src/share/classes/javax/lang/model/element/ElementKind.java
rename to langtools/src/java.compiler/share/classes/javax/lang/model/element/ElementKind.java
diff --git a/langtools/src/share/classes/javax/lang/model/element/ElementVisitor.java b/langtools/src/java.compiler/share/classes/javax/lang/model/element/ElementVisitor.java
similarity index 100%
rename from langtools/src/share/classes/javax/lang/model/element/ElementVisitor.java
rename to langtools/src/java.compiler/share/classes/javax/lang/model/element/ElementVisitor.java
diff --git a/langtools/src/share/classes/javax/lang/model/element/ExecutableElement.java b/langtools/src/java.compiler/share/classes/javax/lang/model/element/ExecutableElement.java
similarity index 100%
rename from langtools/src/share/classes/javax/lang/model/element/ExecutableElement.java
rename to langtools/src/java.compiler/share/classes/javax/lang/model/element/ExecutableElement.java
diff --git a/langtools/src/share/classes/javax/lang/model/element/Modifier.java b/langtools/src/java.compiler/share/classes/javax/lang/model/element/Modifier.java
similarity index 100%
rename from langtools/src/share/classes/javax/lang/model/element/Modifier.java
rename to langtools/src/java.compiler/share/classes/javax/lang/model/element/Modifier.java
diff --git a/langtools/src/share/classes/javax/lang/model/element/Name.java b/langtools/src/java.compiler/share/classes/javax/lang/model/element/Name.java
similarity index 100%
rename from langtools/src/share/classes/javax/lang/model/element/Name.java
rename to langtools/src/java.compiler/share/classes/javax/lang/model/element/Name.java
diff --git a/langtools/src/share/classes/javax/lang/model/element/NestingKind.java b/langtools/src/java.compiler/share/classes/javax/lang/model/element/NestingKind.java
similarity index 100%
rename from langtools/src/share/classes/javax/lang/model/element/NestingKind.java
rename to langtools/src/java.compiler/share/classes/javax/lang/model/element/NestingKind.java
diff --git a/langtools/src/share/classes/javax/lang/model/element/PackageElement.java b/langtools/src/java.compiler/share/classes/javax/lang/model/element/PackageElement.java
similarity index 100%
rename from langtools/src/share/classes/javax/lang/model/element/PackageElement.java
rename to langtools/src/java.compiler/share/classes/javax/lang/model/element/PackageElement.java
diff --git a/langtools/src/share/classes/javax/lang/model/element/Parameterizable.java b/langtools/src/java.compiler/share/classes/javax/lang/model/element/Parameterizable.java
similarity index 100%
rename from langtools/src/share/classes/javax/lang/model/element/Parameterizable.java
rename to langtools/src/java.compiler/share/classes/javax/lang/model/element/Parameterizable.java
diff --git a/langtools/src/share/classes/javax/lang/model/element/QualifiedNameable.java b/langtools/src/java.compiler/share/classes/javax/lang/model/element/QualifiedNameable.java
similarity index 100%
rename from langtools/src/share/classes/javax/lang/model/element/QualifiedNameable.java
rename to langtools/src/java.compiler/share/classes/javax/lang/model/element/QualifiedNameable.java
diff --git a/langtools/src/share/classes/javax/lang/model/element/TypeElement.java b/langtools/src/java.compiler/share/classes/javax/lang/model/element/TypeElement.java
similarity index 100%
rename from langtools/src/share/classes/javax/lang/model/element/TypeElement.java
rename to langtools/src/java.compiler/share/classes/javax/lang/model/element/TypeElement.java
diff --git a/langtools/src/share/classes/javax/lang/model/element/TypeParameterElement.java b/langtools/src/java.compiler/share/classes/javax/lang/model/element/TypeParameterElement.java
similarity index 100%
rename from langtools/src/share/classes/javax/lang/model/element/TypeParameterElement.java
rename to langtools/src/java.compiler/share/classes/javax/lang/model/element/TypeParameterElement.java
diff --git a/langtools/src/share/classes/javax/lang/model/element/UnknownAnnotationValueException.java b/langtools/src/java.compiler/share/classes/javax/lang/model/element/UnknownAnnotationValueException.java
similarity index 100%
rename from langtools/src/share/classes/javax/lang/model/element/UnknownAnnotationValueException.java
rename to langtools/src/java.compiler/share/classes/javax/lang/model/element/UnknownAnnotationValueException.java
diff --git a/langtools/src/share/classes/javax/lang/model/element/UnknownElementException.java b/langtools/src/java.compiler/share/classes/javax/lang/model/element/UnknownElementException.java
similarity index 100%
rename from langtools/src/share/classes/javax/lang/model/element/UnknownElementException.java
rename to langtools/src/java.compiler/share/classes/javax/lang/model/element/UnknownElementException.java
diff --git a/langtools/src/share/classes/javax/lang/model/element/VariableElement.java b/langtools/src/java.compiler/share/classes/javax/lang/model/element/VariableElement.java
similarity index 100%
rename from langtools/src/share/classes/javax/lang/model/element/VariableElement.java
rename to langtools/src/java.compiler/share/classes/javax/lang/model/element/VariableElement.java
diff --git a/langtools/src/share/classes/javax/lang/model/element/package-info.java b/langtools/src/java.compiler/share/classes/javax/lang/model/element/package-info.java
similarity index 100%
rename from langtools/src/share/classes/javax/lang/model/element/package-info.java
rename to langtools/src/java.compiler/share/classes/javax/lang/model/element/package-info.java
diff --git a/langtools/src/share/classes/javax/lang/model/overview.html b/langtools/src/java.compiler/share/classes/javax/lang/model/overview.html
similarity index 100%
rename from langtools/src/share/classes/javax/lang/model/overview.html
rename to langtools/src/java.compiler/share/classes/javax/lang/model/overview.html
diff --git a/langtools/src/share/classes/javax/lang/model/package-info.java b/langtools/src/java.compiler/share/classes/javax/lang/model/package-info.java
similarity index 100%
rename from langtools/src/share/classes/javax/lang/model/package-info.java
rename to langtools/src/java.compiler/share/classes/javax/lang/model/package-info.java
diff --git a/langtools/src/share/classes/javax/lang/model/type/ArrayType.java b/langtools/src/java.compiler/share/classes/javax/lang/model/type/ArrayType.java
similarity index 100%
rename from langtools/src/share/classes/javax/lang/model/type/ArrayType.java
rename to langtools/src/java.compiler/share/classes/javax/lang/model/type/ArrayType.java
diff --git a/langtools/src/share/classes/javax/lang/model/type/DeclaredType.java b/langtools/src/java.compiler/share/classes/javax/lang/model/type/DeclaredType.java
similarity index 100%
rename from langtools/src/share/classes/javax/lang/model/type/DeclaredType.java
rename to langtools/src/java.compiler/share/classes/javax/lang/model/type/DeclaredType.java
diff --git a/langtools/src/share/classes/javax/lang/model/type/ErrorType.java b/langtools/src/java.compiler/share/classes/javax/lang/model/type/ErrorType.java
similarity index 100%
rename from langtools/src/share/classes/javax/lang/model/type/ErrorType.java
rename to langtools/src/java.compiler/share/classes/javax/lang/model/type/ErrorType.java
diff --git a/langtools/src/share/classes/javax/lang/model/type/ExecutableType.java b/langtools/src/java.compiler/share/classes/javax/lang/model/type/ExecutableType.java
similarity index 100%
rename from langtools/src/share/classes/javax/lang/model/type/ExecutableType.java
rename to langtools/src/java.compiler/share/classes/javax/lang/model/type/ExecutableType.java
diff --git a/langtools/src/share/classes/javax/lang/model/type/IntersectionType.java b/langtools/src/java.compiler/share/classes/javax/lang/model/type/IntersectionType.java
similarity index 100%
rename from langtools/src/share/classes/javax/lang/model/type/IntersectionType.java
rename to langtools/src/java.compiler/share/classes/javax/lang/model/type/IntersectionType.java
diff --git a/langtools/src/share/classes/javax/lang/model/type/MirroredTypeException.java b/langtools/src/java.compiler/share/classes/javax/lang/model/type/MirroredTypeException.java
similarity index 100%
rename from langtools/src/share/classes/javax/lang/model/type/MirroredTypeException.java
rename to langtools/src/java.compiler/share/classes/javax/lang/model/type/MirroredTypeException.java
diff --git a/langtools/src/share/classes/javax/lang/model/type/MirroredTypesException.java b/langtools/src/java.compiler/share/classes/javax/lang/model/type/MirroredTypesException.java
similarity index 100%
rename from langtools/src/share/classes/javax/lang/model/type/MirroredTypesException.java
rename to langtools/src/java.compiler/share/classes/javax/lang/model/type/MirroredTypesException.java
diff --git a/langtools/src/share/classes/javax/lang/model/type/NoType.java b/langtools/src/java.compiler/share/classes/javax/lang/model/type/NoType.java
similarity index 100%
rename from langtools/src/share/classes/javax/lang/model/type/NoType.java
rename to langtools/src/java.compiler/share/classes/javax/lang/model/type/NoType.java
diff --git a/langtools/src/share/classes/javax/lang/model/type/NullType.java b/langtools/src/java.compiler/share/classes/javax/lang/model/type/NullType.java
similarity index 100%
rename from langtools/src/share/classes/javax/lang/model/type/NullType.java
rename to langtools/src/java.compiler/share/classes/javax/lang/model/type/NullType.java
diff --git a/langtools/src/share/classes/javax/lang/model/type/PrimitiveType.java b/langtools/src/java.compiler/share/classes/javax/lang/model/type/PrimitiveType.java
similarity index 100%
rename from langtools/src/share/classes/javax/lang/model/type/PrimitiveType.java
rename to langtools/src/java.compiler/share/classes/javax/lang/model/type/PrimitiveType.java
diff --git a/langtools/src/share/classes/javax/lang/model/type/ReferenceType.java b/langtools/src/java.compiler/share/classes/javax/lang/model/type/ReferenceType.java
similarity index 100%
rename from langtools/src/share/classes/javax/lang/model/type/ReferenceType.java
rename to langtools/src/java.compiler/share/classes/javax/lang/model/type/ReferenceType.java
diff --git a/langtools/src/share/classes/javax/lang/model/type/TypeKind.java b/langtools/src/java.compiler/share/classes/javax/lang/model/type/TypeKind.java
similarity index 100%
rename from langtools/src/share/classes/javax/lang/model/type/TypeKind.java
rename to langtools/src/java.compiler/share/classes/javax/lang/model/type/TypeKind.java
diff --git a/langtools/src/share/classes/javax/lang/model/type/TypeMirror.java b/langtools/src/java.compiler/share/classes/javax/lang/model/type/TypeMirror.java
similarity index 100%
rename from langtools/src/share/classes/javax/lang/model/type/TypeMirror.java
rename to langtools/src/java.compiler/share/classes/javax/lang/model/type/TypeMirror.java
diff --git a/langtools/src/share/classes/javax/lang/model/type/TypeVariable.java b/langtools/src/java.compiler/share/classes/javax/lang/model/type/TypeVariable.java
similarity index 100%
rename from langtools/src/share/classes/javax/lang/model/type/TypeVariable.java
rename to langtools/src/java.compiler/share/classes/javax/lang/model/type/TypeVariable.java
diff --git a/langtools/src/share/classes/javax/lang/model/type/TypeVisitor.java b/langtools/src/java.compiler/share/classes/javax/lang/model/type/TypeVisitor.java
similarity index 100%
rename from langtools/src/share/classes/javax/lang/model/type/TypeVisitor.java
rename to langtools/src/java.compiler/share/classes/javax/lang/model/type/TypeVisitor.java
diff --git a/langtools/src/share/classes/javax/lang/model/type/UnionType.java b/langtools/src/java.compiler/share/classes/javax/lang/model/type/UnionType.java
similarity index 100%
rename from langtools/src/share/classes/javax/lang/model/type/UnionType.java
rename to langtools/src/java.compiler/share/classes/javax/lang/model/type/UnionType.java
diff --git a/langtools/src/share/classes/javax/lang/model/type/UnknownTypeException.java b/langtools/src/java.compiler/share/classes/javax/lang/model/type/UnknownTypeException.java
similarity index 100%
rename from langtools/src/share/classes/javax/lang/model/type/UnknownTypeException.java
rename to langtools/src/java.compiler/share/classes/javax/lang/model/type/UnknownTypeException.java
diff --git a/langtools/src/share/classes/javax/lang/model/type/WildcardType.java b/langtools/src/java.compiler/share/classes/javax/lang/model/type/WildcardType.java
similarity index 100%
rename from langtools/src/share/classes/javax/lang/model/type/WildcardType.java
rename to langtools/src/java.compiler/share/classes/javax/lang/model/type/WildcardType.java
diff --git a/langtools/src/share/classes/javax/lang/model/type/package-info.java b/langtools/src/java.compiler/share/classes/javax/lang/model/type/package-info.java
similarity index 100%
rename from langtools/src/share/classes/javax/lang/model/type/package-info.java
rename to langtools/src/java.compiler/share/classes/javax/lang/model/type/package-info.java
diff --git a/langtools/src/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor6.java b/langtools/src/java.compiler/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor6.java
similarity index 100%
rename from langtools/src/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor6.java
rename to langtools/src/java.compiler/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor6.java
diff --git a/langtools/src/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor7.java b/langtools/src/java.compiler/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor7.java
similarity index 100%
rename from langtools/src/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor7.java
rename to langtools/src/java.compiler/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor7.java
diff --git a/langtools/src/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor8.java b/langtools/src/java.compiler/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor8.java
similarity index 100%
rename from langtools/src/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor8.java
rename to langtools/src/java.compiler/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor8.java
diff --git a/langtools/src/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor9.java b/langtools/src/java.compiler/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor9.java
similarity index 100%
rename from langtools/src/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor9.java
rename to langtools/src/java.compiler/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor9.java
diff --git a/langtools/src/share/classes/javax/lang/model/util/AbstractElementVisitor6.java b/langtools/src/java.compiler/share/classes/javax/lang/model/util/AbstractElementVisitor6.java
similarity index 100%
rename from langtools/src/share/classes/javax/lang/model/util/AbstractElementVisitor6.java
rename to langtools/src/java.compiler/share/classes/javax/lang/model/util/AbstractElementVisitor6.java
diff --git a/langtools/src/share/classes/javax/lang/model/util/AbstractElementVisitor7.java b/langtools/src/java.compiler/share/classes/javax/lang/model/util/AbstractElementVisitor7.java
similarity index 100%
rename from langtools/src/share/classes/javax/lang/model/util/AbstractElementVisitor7.java
rename to langtools/src/java.compiler/share/classes/javax/lang/model/util/AbstractElementVisitor7.java
diff --git a/langtools/src/share/classes/javax/lang/model/util/AbstractElementVisitor8.java b/langtools/src/java.compiler/share/classes/javax/lang/model/util/AbstractElementVisitor8.java
similarity index 100%
rename from langtools/src/share/classes/javax/lang/model/util/AbstractElementVisitor8.java
rename to langtools/src/java.compiler/share/classes/javax/lang/model/util/AbstractElementVisitor8.java
diff --git a/langtools/src/share/classes/javax/lang/model/util/AbstractElementVisitor9.java b/langtools/src/java.compiler/share/classes/javax/lang/model/util/AbstractElementVisitor9.java
similarity index 100%
rename from langtools/src/share/classes/javax/lang/model/util/AbstractElementVisitor9.java
rename to langtools/src/java.compiler/share/classes/javax/lang/model/util/AbstractElementVisitor9.java
diff --git a/langtools/src/share/classes/javax/lang/model/util/AbstractTypeVisitor6.java b/langtools/src/java.compiler/share/classes/javax/lang/model/util/AbstractTypeVisitor6.java
similarity index 100%
rename from langtools/src/share/classes/javax/lang/model/util/AbstractTypeVisitor6.java
rename to langtools/src/java.compiler/share/classes/javax/lang/model/util/AbstractTypeVisitor6.java
diff --git a/langtools/src/share/classes/javax/lang/model/util/AbstractTypeVisitor7.java b/langtools/src/java.compiler/share/classes/javax/lang/model/util/AbstractTypeVisitor7.java
similarity index 100%
rename from langtools/src/share/classes/javax/lang/model/util/AbstractTypeVisitor7.java
rename to langtools/src/java.compiler/share/classes/javax/lang/model/util/AbstractTypeVisitor7.java
diff --git a/langtools/src/share/classes/javax/lang/model/util/AbstractTypeVisitor8.java b/langtools/src/java.compiler/share/classes/javax/lang/model/util/AbstractTypeVisitor8.java
similarity index 100%
rename from langtools/src/share/classes/javax/lang/model/util/AbstractTypeVisitor8.java
rename to langtools/src/java.compiler/share/classes/javax/lang/model/util/AbstractTypeVisitor8.java
diff --git a/langtools/src/share/classes/javax/lang/model/util/AbstractTypeVisitor9.java b/langtools/src/java.compiler/share/classes/javax/lang/model/util/AbstractTypeVisitor9.java
similarity index 100%
rename from langtools/src/share/classes/javax/lang/model/util/AbstractTypeVisitor9.java
rename to langtools/src/java.compiler/share/classes/javax/lang/model/util/AbstractTypeVisitor9.java
diff --git a/langtools/src/share/classes/javax/lang/model/util/ElementFilter.java b/langtools/src/java.compiler/share/classes/javax/lang/model/util/ElementFilter.java
similarity index 100%
rename from langtools/src/share/classes/javax/lang/model/util/ElementFilter.java
rename to langtools/src/java.compiler/share/classes/javax/lang/model/util/ElementFilter.java
diff --git a/langtools/src/share/classes/javax/lang/model/util/ElementKindVisitor6.java b/langtools/src/java.compiler/share/classes/javax/lang/model/util/ElementKindVisitor6.java
similarity index 100%
rename from langtools/src/share/classes/javax/lang/model/util/ElementKindVisitor6.java
rename to langtools/src/java.compiler/share/classes/javax/lang/model/util/ElementKindVisitor6.java
diff --git a/langtools/src/share/classes/javax/lang/model/util/ElementKindVisitor7.java b/langtools/src/java.compiler/share/classes/javax/lang/model/util/ElementKindVisitor7.java
similarity index 100%
rename from langtools/src/share/classes/javax/lang/model/util/ElementKindVisitor7.java
rename to langtools/src/java.compiler/share/classes/javax/lang/model/util/ElementKindVisitor7.java
diff --git a/langtools/src/share/classes/javax/lang/model/util/ElementKindVisitor8.java b/langtools/src/java.compiler/share/classes/javax/lang/model/util/ElementKindVisitor8.java
similarity index 100%
rename from langtools/src/share/classes/javax/lang/model/util/ElementKindVisitor8.java
rename to langtools/src/java.compiler/share/classes/javax/lang/model/util/ElementKindVisitor8.java
diff --git a/langtools/src/share/classes/javax/lang/model/util/ElementKindVisitor9.java b/langtools/src/java.compiler/share/classes/javax/lang/model/util/ElementKindVisitor9.java
similarity index 100%
rename from langtools/src/share/classes/javax/lang/model/util/ElementKindVisitor9.java
rename to langtools/src/java.compiler/share/classes/javax/lang/model/util/ElementKindVisitor9.java
diff --git a/langtools/src/share/classes/javax/lang/model/util/ElementScanner6.java b/langtools/src/java.compiler/share/classes/javax/lang/model/util/ElementScanner6.java
similarity index 100%
rename from langtools/src/share/classes/javax/lang/model/util/ElementScanner6.java
rename to langtools/src/java.compiler/share/classes/javax/lang/model/util/ElementScanner6.java
diff --git a/langtools/src/share/classes/javax/lang/model/util/ElementScanner7.java b/langtools/src/java.compiler/share/classes/javax/lang/model/util/ElementScanner7.java
similarity index 100%
rename from langtools/src/share/classes/javax/lang/model/util/ElementScanner7.java
rename to langtools/src/java.compiler/share/classes/javax/lang/model/util/ElementScanner7.java
diff --git a/langtools/src/share/classes/javax/lang/model/util/ElementScanner8.java b/langtools/src/java.compiler/share/classes/javax/lang/model/util/ElementScanner8.java
similarity index 100%
rename from langtools/src/share/classes/javax/lang/model/util/ElementScanner8.java
rename to langtools/src/java.compiler/share/classes/javax/lang/model/util/ElementScanner8.java
diff --git a/langtools/src/share/classes/javax/lang/model/util/ElementScanner9.java b/langtools/src/java.compiler/share/classes/javax/lang/model/util/ElementScanner9.java
similarity index 100%
rename from langtools/src/share/classes/javax/lang/model/util/ElementScanner9.java
rename to langtools/src/java.compiler/share/classes/javax/lang/model/util/ElementScanner9.java
diff --git a/langtools/src/share/classes/javax/lang/model/util/Elements.java b/langtools/src/java.compiler/share/classes/javax/lang/model/util/Elements.java
similarity index 100%
rename from langtools/src/share/classes/javax/lang/model/util/Elements.java
rename to langtools/src/java.compiler/share/classes/javax/lang/model/util/Elements.java
diff --git a/langtools/src/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor6.java b/langtools/src/java.compiler/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor6.java
similarity index 100%
rename from langtools/src/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor6.java
rename to langtools/src/java.compiler/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor6.java
diff --git a/langtools/src/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor7.java b/langtools/src/java.compiler/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor7.java
similarity index 100%
rename from langtools/src/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor7.java
rename to langtools/src/java.compiler/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor7.java
diff --git a/langtools/src/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor8.java b/langtools/src/java.compiler/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor8.java
similarity index 100%
rename from langtools/src/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor8.java
rename to langtools/src/java.compiler/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor8.java
diff --git a/langtools/src/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor9.java b/langtools/src/java.compiler/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor9.java
similarity index 100%
rename from langtools/src/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor9.java
rename to langtools/src/java.compiler/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor9.java
diff --git a/langtools/src/share/classes/javax/lang/model/util/SimpleElementVisitor6.java b/langtools/src/java.compiler/share/classes/javax/lang/model/util/SimpleElementVisitor6.java
similarity index 100%
rename from langtools/src/share/classes/javax/lang/model/util/SimpleElementVisitor6.java
rename to langtools/src/java.compiler/share/classes/javax/lang/model/util/SimpleElementVisitor6.java
diff --git a/langtools/src/share/classes/javax/lang/model/util/SimpleElementVisitor7.java b/langtools/src/java.compiler/share/classes/javax/lang/model/util/SimpleElementVisitor7.java
similarity index 100%
rename from langtools/src/share/classes/javax/lang/model/util/SimpleElementVisitor7.java
rename to langtools/src/java.compiler/share/classes/javax/lang/model/util/SimpleElementVisitor7.java
diff --git a/langtools/src/share/classes/javax/lang/model/util/SimpleElementVisitor8.java b/langtools/src/java.compiler/share/classes/javax/lang/model/util/SimpleElementVisitor8.java
similarity index 100%
rename from langtools/src/share/classes/javax/lang/model/util/SimpleElementVisitor8.java
rename to langtools/src/java.compiler/share/classes/javax/lang/model/util/SimpleElementVisitor8.java
diff --git a/langtools/src/share/classes/javax/lang/model/util/SimpleElementVisitor9.java b/langtools/src/java.compiler/share/classes/javax/lang/model/util/SimpleElementVisitor9.java
similarity index 100%
rename from langtools/src/share/classes/javax/lang/model/util/SimpleElementVisitor9.java
rename to langtools/src/java.compiler/share/classes/javax/lang/model/util/SimpleElementVisitor9.java
diff --git a/langtools/src/share/classes/javax/lang/model/util/SimpleTypeVisitor6.java b/langtools/src/java.compiler/share/classes/javax/lang/model/util/SimpleTypeVisitor6.java
similarity index 100%
rename from langtools/src/share/classes/javax/lang/model/util/SimpleTypeVisitor6.java
rename to langtools/src/java.compiler/share/classes/javax/lang/model/util/SimpleTypeVisitor6.java
diff --git a/langtools/src/share/classes/javax/lang/model/util/SimpleTypeVisitor7.java b/langtools/src/java.compiler/share/classes/javax/lang/model/util/SimpleTypeVisitor7.java
similarity index 100%
rename from langtools/src/share/classes/javax/lang/model/util/SimpleTypeVisitor7.java
rename to langtools/src/java.compiler/share/classes/javax/lang/model/util/SimpleTypeVisitor7.java
diff --git a/langtools/src/share/classes/javax/lang/model/util/SimpleTypeVisitor8.java b/langtools/src/java.compiler/share/classes/javax/lang/model/util/SimpleTypeVisitor8.java
similarity index 100%
rename from langtools/src/share/classes/javax/lang/model/util/SimpleTypeVisitor8.java
rename to langtools/src/java.compiler/share/classes/javax/lang/model/util/SimpleTypeVisitor8.java
diff --git a/langtools/src/share/classes/javax/lang/model/util/SimpleTypeVisitor9.java b/langtools/src/java.compiler/share/classes/javax/lang/model/util/SimpleTypeVisitor9.java
similarity index 100%
rename from langtools/src/share/classes/javax/lang/model/util/SimpleTypeVisitor9.java
rename to langtools/src/java.compiler/share/classes/javax/lang/model/util/SimpleTypeVisitor9.java
diff --git a/langtools/src/share/classes/javax/lang/model/util/TypeKindVisitor6.java b/langtools/src/java.compiler/share/classes/javax/lang/model/util/TypeKindVisitor6.java
similarity index 100%
rename from langtools/src/share/classes/javax/lang/model/util/TypeKindVisitor6.java
rename to langtools/src/java.compiler/share/classes/javax/lang/model/util/TypeKindVisitor6.java
diff --git a/langtools/src/share/classes/javax/lang/model/util/TypeKindVisitor7.java b/langtools/src/java.compiler/share/classes/javax/lang/model/util/TypeKindVisitor7.java
similarity index 100%
rename from langtools/src/share/classes/javax/lang/model/util/TypeKindVisitor7.java
rename to langtools/src/java.compiler/share/classes/javax/lang/model/util/TypeKindVisitor7.java
diff --git a/langtools/src/share/classes/javax/lang/model/util/TypeKindVisitor8.java b/langtools/src/java.compiler/share/classes/javax/lang/model/util/TypeKindVisitor8.java
similarity index 100%
rename from langtools/src/share/classes/javax/lang/model/util/TypeKindVisitor8.java
rename to langtools/src/java.compiler/share/classes/javax/lang/model/util/TypeKindVisitor8.java
diff --git a/langtools/src/share/classes/javax/lang/model/util/TypeKindVisitor9.java b/langtools/src/java.compiler/share/classes/javax/lang/model/util/TypeKindVisitor9.java
similarity index 100%
rename from langtools/src/share/classes/javax/lang/model/util/TypeKindVisitor9.java
rename to langtools/src/java.compiler/share/classes/javax/lang/model/util/TypeKindVisitor9.java
diff --git a/langtools/src/share/classes/javax/lang/model/util/Types.java b/langtools/src/java.compiler/share/classes/javax/lang/model/util/Types.java
similarity index 100%
rename from langtools/src/share/classes/javax/lang/model/util/Types.java
rename to langtools/src/java.compiler/share/classes/javax/lang/model/util/Types.java
diff --git a/langtools/src/share/classes/javax/lang/model/util/package-info.java b/langtools/src/java.compiler/share/classes/javax/lang/model/util/package-info.java
similarity index 100%
rename from langtools/src/share/classes/javax/lang/model/util/package-info.java
rename to langtools/src/java.compiler/share/classes/javax/lang/model/util/package-info.java
diff --git a/langtools/src/share/classes/javax/tools/Diagnostic.java b/langtools/src/java.compiler/share/classes/javax/tools/Diagnostic.java
similarity index 100%
rename from langtools/src/share/classes/javax/tools/Diagnostic.java
rename to langtools/src/java.compiler/share/classes/javax/tools/Diagnostic.java
diff --git a/langtools/src/share/classes/javax/tools/DiagnosticCollector.java b/langtools/src/java.compiler/share/classes/javax/tools/DiagnosticCollector.java
similarity index 100%
rename from langtools/src/share/classes/javax/tools/DiagnosticCollector.java
rename to langtools/src/java.compiler/share/classes/javax/tools/DiagnosticCollector.java
diff --git a/langtools/src/share/classes/javax/tools/DiagnosticListener.java b/langtools/src/java.compiler/share/classes/javax/tools/DiagnosticListener.java
similarity index 100%
rename from langtools/src/share/classes/javax/tools/DiagnosticListener.java
rename to langtools/src/java.compiler/share/classes/javax/tools/DiagnosticListener.java
diff --git a/langtools/src/share/classes/javax/tools/DocumentationTool.java b/langtools/src/java.compiler/share/classes/javax/tools/DocumentationTool.java
similarity index 100%
rename from langtools/src/share/classes/javax/tools/DocumentationTool.java
rename to langtools/src/java.compiler/share/classes/javax/tools/DocumentationTool.java
diff --git a/langtools/src/share/classes/javax/tools/FileObject.java b/langtools/src/java.compiler/share/classes/javax/tools/FileObject.java
similarity index 100%
rename from langtools/src/share/classes/javax/tools/FileObject.java
rename to langtools/src/java.compiler/share/classes/javax/tools/FileObject.java
diff --git a/langtools/src/share/classes/javax/tools/ForwardingFileObject.java b/langtools/src/java.compiler/share/classes/javax/tools/ForwardingFileObject.java
similarity index 100%
rename from langtools/src/share/classes/javax/tools/ForwardingFileObject.java
rename to langtools/src/java.compiler/share/classes/javax/tools/ForwardingFileObject.java
diff --git a/langtools/src/share/classes/javax/tools/ForwardingJavaFileManager.java b/langtools/src/java.compiler/share/classes/javax/tools/ForwardingJavaFileManager.java
similarity index 100%
rename from langtools/src/share/classes/javax/tools/ForwardingJavaFileManager.java
rename to langtools/src/java.compiler/share/classes/javax/tools/ForwardingJavaFileManager.java
diff --git a/langtools/src/share/classes/javax/tools/ForwardingJavaFileObject.java b/langtools/src/java.compiler/share/classes/javax/tools/ForwardingJavaFileObject.java
similarity index 100%
rename from langtools/src/share/classes/javax/tools/ForwardingJavaFileObject.java
rename to langtools/src/java.compiler/share/classes/javax/tools/ForwardingJavaFileObject.java
diff --git a/langtools/src/share/classes/javax/tools/JavaCompiler.java b/langtools/src/java.compiler/share/classes/javax/tools/JavaCompiler.java
similarity index 100%
rename from langtools/src/share/classes/javax/tools/JavaCompiler.java
rename to langtools/src/java.compiler/share/classes/javax/tools/JavaCompiler.java
diff --git a/langtools/src/share/classes/javax/tools/JavaFileManager.java b/langtools/src/java.compiler/share/classes/javax/tools/JavaFileManager.java
similarity index 100%
rename from langtools/src/share/classes/javax/tools/JavaFileManager.java
rename to langtools/src/java.compiler/share/classes/javax/tools/JavaFileManager.java
diff --git a/langtools/src/share/classes/javax/tools/JavaFileObject.java b/langtools/src/java.compiler/share/classes/javax/tools/JavaFileObject.java
similarity index 100%
rename from langtools/src/share/classes/javax/tools/JavaFileObject.java
rename to langtools/src/java.compiler/share/classes/javax/tools/JavaFileObject.java
diff --git a/langtools/src/share/classes/javax/tools/OptionChecker.java b/langtools/src/java.compiler/share/classes/javax/tools/OptionChecker.java
similarity index 100%
rename from langtools/src/share/classes/javax/tools/OptionChecker.java
rename to langtools/src/java.compiler/share/classes/javax/tools/OptionChecker.java
diff --git a/langtools/src/share/classes/javax/tools/SimpleJavaFileObject.java b/langtools/src/java.compiler/share/classes/javax/tools/SimpleJavaFileObject.java
similarity index 100%
rename from langtools/src/share/classes/javax/tools/SimpleJavaFileObject.java
rename to langtools/src/java.compiler/share/classes/javax/tools/SimpleJavaFileObject.java
diff --git a/langtools/src/share/classes/javax/tools/StandardJavaFileManager.java b/langtools/src/java.compiler/share/classes/javax/tools/StandardJavaFileManager.java
similarity index 100%
rename from langtools/src/share/classes/javax/tools/StandardJavaFileManager.java
rename to langtools/src/java.compiler/share/classes/javax/tools/StandardJavaFileManager.java
diff --git a/langtools/src/share/classes/javax/tools/StandardLocation.java b/langtools/src/java.compiler/share/classes/javax/tools/StandardLocation.java
similarity index 100%
rename from langtools/src/share/classes/javax/tools/StandardLocation.java
rename to langtools/src/java.compiler/share/classes/javax/tools/StandardLocation.java
diff --git a/langtools/src/share/classes/javax/tools/Tool.java b/langtools/src/java.compiler/share/classes/javax/tools/Tool.java
similarity index 100%
rename from langtools/src/share/classes/javax/tools/Tool.java
rename to langtools/src/java.compiler/share/classes/javax/tools/Tool.java
diff --git a/langtools/src/share/classes/javax/tools/ToolProvider.java b/langtools/src/java.compiler/share/classes/javax/tools/ToolProvider.java
similarity index 100%
rename from langtools/src/share/classes/javax/tools/ToolProvider.java
rename to langtools/src/java.compiler/share/classes/javax/tools/ToolProvider.java
diff --git a/langtools/src/share/classes/javax/tools/overview.html b/langtools/src/java.compiler/share/classes/javax/tools/overview.html
similarity index 100%
rename from langtools/src/share/classes/javax/tools/overview.html
rename to langtools/src/java.compiler/share/classes/javax/tools/overview.html
diff --git a/langtools/src/share/classes/javax/tools/package-info.java b/langtools/src/java.compiler/share/classes/javax/tools/package-info.java
similarity index 100%
rename from langtools/src/share/classes/javax/tools/package-info.java
rename to langtools/src/java.compiler/share/classes/javax/tools/package-info.java
diff --git a/langtools/src/share/classes/com/sun/source/doctree/AttributeTree.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/AttributeTree.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/doctree/AttributeTree.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/AttributeTree.java
diff --git a/langtools/src/share/classes/com/sun/source/doctree/AuthorTree.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/AuthorTree.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/doctree/AuthorTree.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/AuthorTree.java
diff --git a/langtools/src/share/classes/com/sun/source/doctree/BlockTagTree.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/BlockTagTree.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/doctree/BlockTagTree.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/BlockTagTree.java
diff --git a/langtools/src/share/classes/com/sun/source/doctree/CommentTree.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/CommentTree.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/doctree/CommentTree.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/CommentTree.java
diff --git a/langtools/src/share/classes/com/sun/source/doctree/DeprecatedTree.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/DeprecatedTree.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/doctree/DeprecatedTree.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/DeprecatedTree.java
diff --git a/langtools/src/share/classes/com/sun/source/doctree/DocCommentTree.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/DocCommentTree.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/doctree/DocCommentTree.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/DocCommentTree.java
diff --git a/langtools/src/share/classes/com/sun/source/doctree/DocRootTree.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/DocRootTree.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/doctree/DocRootTree.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/DocRootTree.java
diff --git a/langtools/src/share/classes/com/sun/source/doctree/DocTree.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/DocTree.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/doctree/DocTree.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/DocTree.java
diff --git a/langtools/src/share/classes/com/sun/source/doctree/DocTreeVisitor.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/DocTreeVisitor.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/doctree/DocTreeVisitor.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/DocTreeVisitor.java
diff --git a/langtools/src/share/classes/com/sun/source/doctree/EndElementTree.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/EndElementTree.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/doctree/EndElementTree.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/EndElementTree.java
diff --git a/langtools/src/share/classes/com/sun/source/doctree/EntityTree.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/EntityTree.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/doctree/EntityTree.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/EntityTree.java
diff --git a/langtools/src/share/classes/com/sun/source/doctree/ErroneousTree.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/ErroneousTree.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/doctree/ErroneousTree.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/ErroneousTree.java
diff --git a/langtools/src/share/classes/com/sun/source/doctree/IdentifierTree.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/IdentifierTree.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/doctree/IdentifierTree.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/IdentifierTree.java
diff --git a/langtools/src/share/classes/com/sun/source/doctree/InheritDocTree.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/InheritDocTree.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/doctree/InheritDocTree.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/InheritDocTree.java
diff --git a/langtools/src/share/classes/com/sun/source/doctree/InlineTagTree.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/InlineTagTree.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/doctree/InlineTagTree.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/InlineTagTree.java
diff --git a/langtools/src/share/classes/com/sun/source/doctree/LinkTree.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/LinkTree.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/doctree/LinkTree.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/LinkTree.java
diff --git a/langtools/src/share/classes/com/sun/source/doctree/LiteralTree.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/LiteralTree.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/doctree/LiteralTree.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/LiteralTree.java
diff --git a/langtools/src/share/classes/com/sun/source/doctree/ParamTree.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/ParamTree.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/doctree/ParamTree.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/ParamTree.java
diff --git a/langtools/src/share/classes/com/sun/source/doctree/ReferenceTree.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/ReferenceTree.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/doctree/ReferenceTree.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/ReferenceTree.java
diff --git a/langtools/src/share/classes/com/sun/source/doctree/ReturnTree.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/ReturnTree.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/doctree/ReturnTree.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/ReturnTree.java
diff --git a/langtools/src/share/classes/com/sun/source/doctree/SeeTree.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/SeeTree.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/doctree/SeeTree.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/SeeTree.java
diff --git a/langtools/src/share/classes/com/sun/source/doctree/SerialDataTree.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/SerialDataTree.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/doctree/SerialDataTree.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/SerialDataTree.java
diff --git a/langtools/src/share/classes/com/sun/source/doctree/SerialFieldTree.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/SerialFieldTree.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/doctree/SerialFieldTree.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/SerialFieldTree.java
diff --git a/langtools/src/share/classes/com/sun/source/doctree/SerialTree.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/SerialTree.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/doctree/SerialTree.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/SerialTree.java
diff --git a/langtools/src/share/classes/com/sun/source/doctree/SinceTree.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/SinceTree.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/doctree/SinceTree.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/SinceTree.java
diff --git a/langtools/src/share/classes/com/sun/source/doctree/StartElementTree.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/StartElementTree.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/doctree/StartElementTree.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/StartElementTree.java
diff --git a/langtools/src/share/classes/com/sun/source/doctree/TextTree.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/TextTree.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/doctree/TextTree.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/TextTree.java
diff --git a/langtools/src/share/classes/com/sun/source/doctree/ThrowsTree.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/ThrowsTree.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/doctree/ThrowsTree.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/ThrowsTree.java
diff --git a/langtools/src/share/classes/com/sun/source/doctree/UnknownBlockTagTree.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/UnknownBlockTagTree.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/doctree/UnknownBlockTagTree.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/UnknownBlockTagTree.java
diff --git a/langtools/src/share/classes/com/sun/source/doctree/UnknownInlineTagTree.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/UnknownInlineTagTree.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/doctree/UnknownInlineTagTree.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/UnknownInlineTagTree.java
diff --git a/langtools/src/share/classes/com/sun/source/doctree/ValueTree.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/ValueTree.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/doctree/ValueTree.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/ValueTree.java
diff --git a/langtools/src/share/classes/com/sun/source/doctree/VersionTree.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/VersionTree.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/doctree/VersionTree.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/VersionTree.java
diff --git a/langtools/src/share/classes/com/sun/source/doctree/package-info.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/package-info.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/doctree/package-info.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/package-info.java
diff --git a/langtools/src/share/classes/com/sun/source/tree/AnnotatedTypeTree.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/AnnotatedTypeTree.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/tree/AnnotatedTypeTree.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/tree/AnnotatedTypeTree.java
diff --git a/langtools/src/share/classes/com/sun/source/tree/AnnotationTree.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/AnnotationTree.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/tree/AnnotationTree.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/tree/AnnotationTree.java
diff --git a/langtools/src/share/classes/com/sun/source/tree/ArrayAccessTree.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/ArrayAccessTree.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/tree/ArrayAccessTree.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/tree/ArrayAccessTree.java
diff --git a/langtools/src/share/classes/com/sun/source/tree/ArrayTypeTree.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/ArrayTypeTree.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/tree/ArrayTypeTree.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/tree/ArrayTypeTree.java
diff --git a/langtools/src/share/classes/com/sun/source/tree/AssertTree.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/AssertTree.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/tree/AssertTree.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/tree/AssertTree.java
diff --git a/langtools/src/share/classes/com/sun/source/tree/AssignmentTree.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/AssignmentTree.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/tree/AssignmentTree.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/tree/AssignmentTree.java
diff --git a/langtools/src/share/classes/com/sun/source/tree/BinaryTree.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/BinaryTree.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/tree/BinaryTree.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/tree/BinaryTree.java
diff --git a/langtools/src/share/classes/com/sun/source/tree/BlockTree.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/BlockTree.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/tree/BlockTree.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/tree/BlockTree.java
diff --git a/langtools/src/share/classes/com/sun/source/tree/BreakTree.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/BreakTree.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/tree/BreakTree.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/tree/BreakTree.java
diff --git a/langtools/src/share/classes/com/sun/source/tree/CaseTree.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/CaseTree.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/tree/CaseTree.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/tree/CaseTree.java
diff --git a/langtools/src/share/classes/com/sun/source/tree/CatchTree.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/CatchTree.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/tree/CatchTree.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/tree/CatchTree.java
diff --git a/langtools/src/share/classes/com/sun/source/tree/ClassTree.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/ClassTree.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/tree/ClassTree.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/tree/ClassTree.java
diff --git a/langtools/src/share/classes/com/sun/source/tree/CompilationUnitTree.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/CompilationUnitTree.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/tree/CompilationUnitTree.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/tree/CompilationUnitTree.java
diff --git a/langtools/src/share/classes/com/sun/source/tree/CompoundAssignmentTree.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/CompoundAssignmentTree.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/tree/CompoundAssignmentTree.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/tree/CompoundAssignmentTree.java
diff --git a/langtools/src/share/classes/com/sun/source/tree/ConditionalExpressionTree.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/ConditionalExpressionTree.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/tree/ConditionalExpressionTree.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/tree/ConditionalExpressionTree.java
diff --git a/langtools/src/share/classes/com/sun/source/tree/ContinueTree.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/ContinueTree.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/tree/ContinueTree.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/tree/ContinueTree.java
diff --git a/langtools/src/share/classes/com/sun/source/tree/DoWhileLoopTree.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/DoWhileLoopTree.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/tree/DoWhileLoopTree.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/tree/DoWhileLoopTree.java
diff --git a/langtools/src/share/classes/com/sun/source/tree/EmptyStatementTree.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/EmptyStatementTree.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/tree/EmptyStatementTree.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/tree/EmptyStatementTree.java
diff --git a/langtools/src/share/classes/com/sun/source/tree/EnhancedForLoopTree.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/EnhancedForLoopTree.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/tree/EnhancedForLoopTree.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/tree/EnhancedForLoopTree.java
diff --git a/langtools/src/share/classes/com/sun/source/tree/ErroneousTree.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/ErroneousTree.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/tree/ErroneousTree.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/tree/ErroneousTree.java
diff --git a/langtools/src/share/classes/com/sun/source/tree/ExpressionStatementTree.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/ExpressionStatementTree.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/tree/ExpressionStatementTree.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/tree/ExpressionStatementTree.java
diff --git a/langtools/src/share/classes/com/sun/source/tree/ExpressionTree.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/ExpressionTree.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/tree/ExpressionTree.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/tree/ExpressionTree.java
diff --git a/langtools/src/share/classes/com/sun/source/tree/ForLoopTree.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/ForLoopTree.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/tree/ForLoopTree.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/tree/ForLoopTree.java
diff --git a/langtools/src/share/classes/com/sun/source/tree/IdentifierTree.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/IdentifierTree.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/tree/IdentifierTree.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/tree/IdentifierTree.java
diff --git a/langtools/src/share/classes/com/sun/source/tree/IfTree.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/IfTree.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/tree/IfTree.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/tree/IfTree.java
diff --git a/langtools/src/share/classes/com/sun/source/tree/ImportTree.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/ImportTree.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/tree/ImportTree.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/tree/ImportTree.java
diff --git a/langtools/src/share/classes/com/sun/source/tree/InstanceOfTree.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/InstanceOfTree.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/tree/InstanceOfTree.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/tree/InstanceOfTree.java
diff --git a/langtools/src/share/classes/com/sun/source/tree/IntersectionTypeTree.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/IntersectionTypeTree.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/tree/IntersectionTypeTree.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/tree/IntersectionTypeTree.java
diff --git a/langtools/src/share/classes/com/sun/source/tree/LabeledStatementTree.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/LabeledStatementTree.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/tree/LabeledStatementTree.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/tree/LabeledStatementTree.java
diff --git a/langtools/src/share/classes/com/sun/source/tree/LambdaExpressionTree.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/LambdaExpressionTree.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/tree/LambdaExpressionTree.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/tree/LambdaExpressionTree.java
diff --git a/langtools/src/share/classes/com/sun/source/tree/LineMap.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/LineMap.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/tree/LineMap.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/tree/LineMap.java
diff --git a/langtools/src/share/classes/com/sun/source/tree/LiteralTree.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/LiteralTree.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/tree/LiteralTree.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/tree/LiteralTree.java
diff --git a/langtools/src/share/classes/com/sun/source/tree/MemberReferenceTree.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/MemberReferenceTree.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/tree/MemberReferenceTree.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/tree/MemberReferenceTree.java
diff --git a/langtools/src/share/classes/com/sun/source/tree/MemberSelectTree.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/MemberSelectTree.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/tree/MemberSelectTree.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/tree/MemberSelectTree.java
diff --git a/langtools/src/share/classes/com/sun/source/tree/MethodInvocationTree.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/MethodInvocationTree.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/tree/MethodInvocationTree.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/tree/MethodInvocationTree.java
diff --git a/langtools/src/share/classes/com/sun/source/tree/MethodTree.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/MethodTree.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/tree/MethodTree.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/tree/MethodTree.java
diff --git a/langtools/src/share/classes/com/sun/source/tree/ModifiersTree.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/ModifiersTree.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/tree/ModifiersTree.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/tree/ModifiersTree.java
diff --git a/langtools/src/share/classes/com/sun/source/tree/NewArrayTree.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/NewArrayTree.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/tree/NewArrayTree.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/tree/NewArrayTree.java
diff --git a/langtools/src/share/classes/com/sun/source/tree/NewClassTree.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/NewClassTree.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/tree/NewClassTree.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/tree/NewClassTree.java
diff --git a/langtools/src/share/classes/com/sun/source/tree/PackageTree.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/PackageTree.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/tree/PackageTree.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/tree/PackageTree.java
diff --git a/langtools/src/share/classes/com/sun/source/tree/ParameterizedTypeTree.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/ParameterizedTypeTree.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/tree/ParameterizedTypeTree.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/tree/ParameterizedTypeTree.java
diff --git a/langtools/src/share/classes/com/sun/source/tree/ParenthesizedTree.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/ParenthesizedTree.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/tree/ParenthesizedTree.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/tree/ParenthesizedTree.java
diff --git a/langtools/src/share/classes/com/sun/source/tree/PrimitiveTypeTree.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/PrimitiveTypeTree.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/tree/PrimitiveTypeTree.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/tree/PrimitiveTypeTree.java
diff --git a/langtools/src/share/classes/com/sun/source/tree/ReturnTree.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/ReturnTree.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/tree/ReturnTree.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/tree/ReturnTree.java
diff --git a/langtools/src/share/classes/com/sun/source/tree/Scope.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/Scope.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/tree/Scope.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/tree/Scope.java
diff --git a/langtools/src/share/classes/com/sun/source/tree/StatementTree.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/StatementTree.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/tree/StatementTree.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/tree/StatementTree.java
diff --git a/langtools/src/share/classes/com/sun/source/tree/SwitchTree.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/SwitchTree.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/tree/SwitchTree.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/tree/SwitchTree.java
diff --git a/langtools/src/share/classes/com/sun/source/tree/SynchronizedTree.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/SynchronizedTree.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/tree/SynchronizedTree.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/tree/SynchronizedTree.java
diff --git a/langtools/src/share/classes/com/sun/source/tree/ThrowTree.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/ThrowTree.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/tree/ThrowTree.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/tree/ThrowTree.java
diff --git a/langtools/src/share/classes/com/sun/source/tree/Tree.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/Tree.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/tree/Tree.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/tree/Tree.java
diff --git a/langtools/src/share/classes/com/sun/source/tree/TreeVisitor.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/TreeVisitor.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/tree/TreeVisitor.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/tree/TreeVisitor.java
diff --git a/langtools/src/share/classes/com/sun/source/tree/TryTree.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/TryTree.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/tree/TryTree.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/tree/TryTree.java
diff --git a/langtools/src/share/classes/com/sun/source/tree/TypeCastTree.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/TypeCastTree.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/tree/TypeCastTree.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/tree/TypeCastTree.java
diff --git a/langtools/src/share/classes/com/sun/source/tree/TypeParameterTree.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/TypeParameterTree.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/tree/TypeParameterTree.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/tree/TypeParameterTree.java
diff --git a/langtools/src/share/classes/com/sun/source/tree/UnaryTree.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/UnaryTree.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/tree/UnaryTree.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/tree/UnaryTree.java
diff --git a/langtools/src/share/classes/com/sun/source/tree/UnionTypeTree.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/UnionTypeTree.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/tree/UnionTypeTree.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/tree/UnionTypeTree.java
diff --git a/langtools/src/share/classes/com/sun/source/tree/VariableTree.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/VariableTree.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/tree/VariableTree.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/tree/VariableTree.java
diff --git a/langtools/src/share/classes/com/sun/source/tree/WhileLoopTree.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/WhileLoopTree.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/tree/WhileLoopTree.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/tree/WhileLoopTree.java
diff --git a/langtools/src/share/classes/com/sun/source/tree/WildcardTree.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/WildcardTree.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/tree/WildcardTree.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/tree/WildcardTree.java
diff --git a/langtools/src/share/classes/com/sun/source/tree/package-info.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/package-info.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/tree/package-info.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/tree/package-info.java
diff --git a/langtools/src/share/classes/com/sun/source/util/DocSourcePositions.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/util/DocSourcePositions.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/util/DocSourcePositions.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/util/DocSourcePositions.java
diff --git a/langtools/src/share/classes/com/sun/source/util/DocTreePath.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/util/DocTreePath.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/util/DocTreePath.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/util/DocTreePath.java
diff --git a/langtools/src/share/classes/com/sun/source/util/DocTreePathScanner.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/util/DocTreePathScanner.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/util/DocTreePathScanner.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/util/DocTreePathScanner.java
diff --git a/langtools/src/share/classes/com/sun/source/util/DocTreeScanner.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/util/DocTreeScanner.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/util/DocTreeScanner.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/util/DocTreeScanner.java
diff --git a/langtools/src/share/classes/com/sun/source/util/DocTrees.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/util/DocTrees.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/util/DocTrees.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/util/DocTrees.java
diff --git a/langtools/src/share/classes/com/sun/source/util/JavacTask.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/util/JavacTask.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/util/JavacTask.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/util/JavacTask.java
diff --git a/langtools/src/share/classes/com/sun/source/util/Plugin.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/util/Plugin.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/util/Plugin.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/util/Plugin.java
diff --git a/langtools/src/share/classes/com/sun/source/util/SimpleDocTreeVisitor.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/util/SimpleDocTreeVisitor.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/util/SimpleDocTreeVisitor.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/util/SimpleDocTreeVisitor.java
diff --git a/langtools/src/share/classes/com/sun/source/util/SimpleTreeVisitor.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/util/SimpleTreeVisitor.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/util/SimpleTreeVisitor.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/util/SimpleTreeVisitor.java
diff --git a/langtools/src/share/classes/com/sun/source/util/SourcePositions.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/util/SourcePositions.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/util/SourcePositions.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/util/SourcePositions.java
diff --git a/langtools/src/share/classes/com/sun/source/util/TaskEvent.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/util/TaskEvent.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/util/TaskEvent.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/util/TaskEvent.java
diff --git a/langtools/src/share/classes/com/sun/source/util/TaskListener.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/util/TaskListener.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/util/TaskListener.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/util/TaskListener.java
diff --git a/langtools/src/share/classes/com/sun/source/util/TreePath.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/util/TreePath.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/util/TreePath.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/util/TreePath.java
diff --git a/langtools/src/share/classes/com/sun/source/util/TreePathScanner.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/util/TreePathScanner.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/util/TreePathScanner.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/util/TreePathScanner.java
diff --git a/langtools/src/share/classes/com/sun/source/util/TreeScanner.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/util/TreeScanner.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/util/TreeScanner.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/util/TreeScanner.java
diff --git a/langtools/src/share/classes/com/sun/source/util/Trees.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/util/Trees.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/util/Trees.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/util/Trees.java
diff --git a/langtools/src/share/classes/com/sun/source/util/package-info.java b/langtools/src/jdk.compiler/share/classes/com/sun/source/util/package-info.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/source/util/package-info.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/source/util/package-info.java
diff --git a/langtools/src/share/classes/com/sun/tools/classfile/AccessFlags.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/AccessFlags.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/classfile/AccessFlags.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/AccessFlags.java
diff --git a/langtools/src/share/classes/com/sun/tools/classfile/Annotation.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/Annotation.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/classfile/Annotation.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/Annotation.java
diff --git a/langtools/src/share/classes/com/sun/tools/classfile/AnnotationDefault_attribute.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/AnnotationDefault_attribute.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/classfile/AnnotationDefault_attribute.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/AnnotationDefault_attribute.java
diff --git a/langtools/src/share/classes/com/sun/tools/classfile/Attribute.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/Attribute.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/classfile/Attribute.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/Attribute.java
diff --git a/langtools/src/share/classes/com/sun/tools/classfile/AttributeException.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/AttributeException.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/classfile/AttributeException.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/AttributeException.java
diff --git a/langtools/src/share/classes/com/sun/tools/classfile/Attributes.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/Attributes.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/classfile/Attributes.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/Attributes.java
diff --git a/langtools/src/share/classes/com/sun/tools/classfile/BootstrapMethods_attribute.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/BootstrapMethods_attribute.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/classfile/BootstrapMethods_attribute.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/BootstrapMethods_attribute.java
diff --git a/langtools/src/share/classes/com/sun/tools/classfile/CharacterRangeTable_attribute.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/CharacterRangeTable_attribute.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/classfile/CharacterRangeTable_attribute.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/CharacterRangeTable_attribute.java
diff --git a/langtools/src/share/classes/com/sun/tools/classfile/ClassFile.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/ClassFile.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/classfile/ClassFile.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/ClassFile.java
diff --git a/langtools/src/share/classes/com/sun/tools/classfile/ClassReader.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/ClassReader.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/classfile/ClassReader.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/ClassReader.java
diff --git a/langtools/src/share/classes/com/sun/tools/classfile/ClassTranslator.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/ClassTranslator.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/classfile/ClassTranslator.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/ClassTranslator.java
diff --git a/langtools/src/share/classes/com/sun/tools/classfile/ClassWriter.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/ClassWriter.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/classfile/ClassWriter.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/ClassWriter.java
diff --git a/langtools/src/share/classes/com/sun/tools/classfile/Code_attribute.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/Code_attribute.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/classfile/Code_attribute.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/Code_attribute.java
diff --git a/langtools/src/share/classes/com/sun/tools/classfile/CompilationID_attribute.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/CompilationID_attribute.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/classfile/CompilationID_attribute.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/CompilationID_attribute.java
diff --git a/langtools/src/share/classes/com/sun/tools/classfile/ConstantPool.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/ConstantPool.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/classfile/ConstantPool.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/ConstantPool.java
diff --git a/langtools/src/share/classes/com/sun/tools/classfile/ConstantPoolException.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/ConstantPoolException.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/classfile/ConstantPoolException.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/ConstantPoolException.java
diff --git a/langtools/src/share/classes/com/sun/tools/classfile/ConstantValue_attribute.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/ConstantValue_attribute.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/classfile/ConstantValue_attribute.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/ConstantValue_attribute.java
diff --git a/langtools/src/share/classes/com/sun/tools/classfile/DefaultAttribute.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/DefaultAttribute.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/classfile/DefaultAttribute.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/DefaultAttribute.java
diff --git a/langtools/src/share/classes/com/sun/tools/classfile/Dependencies.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/Dependencies.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/classfile/Dependencies.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/Dependencies.java
diff --git a/langtools/src/share/classes/com/sun/tools/classfile/Dependency.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/Dependency.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/classfile/Dependency.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/Dependency.java
diff --git a/langtools/src/share/classes/com/sun/tools/classfile/Deprecated_attribute.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/Deprecated_attribute.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/classfile/Deprecated_attribute.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/Deprecated_attribute.java
diff --git a/langtools/src/share/classes/com/sun/tools/classfile/Descriptor.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/Descriptor.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/classfile/Descriptor.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/Descriptor.java
diff --git a/langtools/src/share/classes/com/sun/tools/classfile/DescriptorException.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/DescriptorException.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/classfile/DescriptorException.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/DescriptorException.java
diff --git a/langtools/src/share/classes/com/sun/tools/classfile/EnclosingMethod_attribute.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/EnclosingMethod_attribute.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/classfile/EnclosingMethod_attribute.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/EnclosingMethod_attribute.java
diff --git a/langtools/src/share/classes/com/sun/tools/classfile/Exceptions_attribute.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/Exceptions_attribute.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/classfile/Exceptions_attribute.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/Exceptions_attribute.java
diff --git a/langtools/src/share/classes/com/sun/tools/classfile/Field.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/Field.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/classfile/Field.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/Field.java
diff --git a/langtools/src/share/classes/com/sun/tools/classfile/InnerClasses_attribute.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/InnerClasses_attribute.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/classfile/InnerClasses_attribute.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/InnerClasses_attribute.java
diff --git a/langtools/src/share/classes/com/sun/tools/classfile/Instruction.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/Instruction.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/classfile/Instruction.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/Instruction.java
diff --git a/langtools/src/share/classes/com/sun/tools/classfile/LineNumberTable_attribute.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/LineNumberTable_attribute.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/classfile/LineNumberTable_attribute.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/LineNumberTable_attribute.java
diff --git a/langtools/src/share/classes/com/sun/tools/classfile/LocalVariableTable_attribute.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/LocalVariableTable_attribute.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/classfile/LocalVariableTable_attribute.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/LocalVariableTable_attribute.java
diff --git a/langtools/src/share/classes/com/sun/tools/classfile/LocalVariableTypeTable_attribute.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/LocalVariableTypeTable_attribute.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/classfile/LocalVariableTypeTable_attribute.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/LocalVariableTypeTable_attribute.java
diff --git a/langtools/src/share/classes/com/sun/tools/classfile/Method.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/Method.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/classfile/Method.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/Method.java
diff --git a/langtools/src/share/classes/com/sun/tools/classfile/MethodParameters_attribute.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/MethodParameters_attribute.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/classfile/MethodParameters_attribute.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/MethodParameters_attribute.java
diff --git a/langtools/src/share/classes/com/sun/tools/classfile/Opcode.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/Opcode.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/classfile/Opcode.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/Opcode.java
diff --git a/langtools/src/share/classes/com/sun/tools/classfile/ReferenceFinder.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/ReferenceFinder.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/classfile/ReferenceFinder.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/ReferenceFinder.java
diff --git a/langtools/src/share/classes/com/sun/tools/classfile/RuntimeAnnotations_attribute.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/RuntimeAnnotations_attribute.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/classfile/RuntimeAnnotations_attribute.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/RuntimeAnnotations_attribute.java
diff --git a/langtools/src/share/classes/com/sun/tools/classfile/RuntimeInvisibleAnnotations_attribute.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/RuntimeInvisibleAnnotations_attribute.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/classfile/RuntimeInvisibleAnnotations_attribute.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/RuntimeInvisibleAnnotations_attribute.java
diff --git a/langtools/src/share/classes/com/sun/tools/classfile/RuntimeInvisibleParameterAnnotations_attribute.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/RuntimeInvisibleParameterAnnotations_attribute.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/classfile/RuntimeInvisibleParameterAnnotations_attribute.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/RuntimeInvisibleParameterAnnotations_attribute.java
diff --git a/langtools/src/share/classes/com/sun/tools/classfile/RuntimeInvisibleTypeAnnotations_attribute.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/RuntimeInvisibleTypeAnnotations_attribute.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/classfile/RuntimeInvisibleTypeAnnotations_attribute.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/RuntimeInvisibleTypeAnnotations_attribute.java
diff --git a/langtools/src/share/classes/com/sun/tools/classfile/RuntimeParameterAnnotations_attribute.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/RuntimeParameterAnnotations_attribute.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/classfile/RuntimeParameterAnnotations_attribute.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/RuntimeParameterAnnotations_attribute.java
diff --git a/langtools/src/share/classes/com/sun/tools/classfile/RuntimeTypeAnnotations_attribute.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/RuntimeTypeAnnotations_attribute.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/classfile/RuntimeTypeAnnotations_attribute.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/RuntimeTypeAnnotations_attribute.java
diff --git a/langtools/src/share/classes/com/sun/tools/classfile/RuntimeVisibleAnnotations_attribute.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/RuntimeVisibleAnnotations_attribute.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/classfile/RuntimeVisibleAnnotations_attribute.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/RuntimeVisibleAnnotations_attribute.java
diff --git a/langtools/src/share/classes/com/sun/tools/classfile/RuntimeVisibleParameterAnnotations_attribute.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/RuntimeVisibleParameterAnnotations_attribute.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/classfile/RuntimeVisibleParameterAnnotations_attribute.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/RuntimeVisibleParameterAnnotations_attribute.java
diff --git a/langtools/src/share/classes/com/sun/tools/classfile/RuntimeVisibleTypeAnnotations_attribute.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/RuntimeVisibleTypeAnnotations_attribute.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/classfile/RuntimeVisibleTypeAnnotations_attribute.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/RuntimeVisibleTypeAnnotations_attribute.java
diff --git a/langtools/src/share/classes/com/sun/tools/classfile/Signature.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/Signature.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/classfile/Signature.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/Signature.java
diff --git a/langtools/src/share/classes/com/sun/tools/classfile/Signature_attribute.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/Signature_attribute.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/classfile/Signature_attribute.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/Signature_attribute.java
diff --git a/langtools/src/share/classes/com/sun/tools/classfile/SourceDebugExtension_attribute.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/SourceDebugExtension_attribute.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/classfile/SourceDebugExtension_attribute.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/SourceDebugExtension_attribute.java
diff --git a/langtools/src/share/classes/com/sun/tools/classfile/SourceFile_attribute.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/SourceFile_attribute.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/classfile/SourceFile_attribute.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/SourceFile_attribute.java
diff --git a/langtools/src/share/classes/com/sun/tools/classfile/SourceID_attribute.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/SourceID_attribute.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/classfile/SourceID_attribute.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/SourceID_attribute.java
diff --git a/langtools/src/share/classes/com/sun/tools/classfile/StackMapTable_attribute.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/StackMapTable_attribute.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/classfile/StackMapTable_attribute.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/StackMapTable_attribute.java
diff --git a/langtools/src/share/classes/com/sun/tools/classfile/StackMap_attribute.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/StackMap_attribute.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/classfile/StackMap_attribute.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/StackMap_attribute.java
diff --git a/langtools/src/share/classes/com/sun/tools/classfile/Synthetic_attribute.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/Synthetic_attribute.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/classfile/Synthetic_attribute.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/Synthetic_attribute.java
diff --git a/langtools/src/share/classes/com/sun/tools/classfile/Type.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/Type.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/classfile/Type.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/Type.java
diff --git a/langtools/src/share/classes/com/sun/tools/classfile/TypeAnnotation.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/TypeAnnotation.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/classfile/TypeAnnotation.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/TypeAnnotation.java
diff --git a/langtools/src/share/classes/com/sun/tools/classfile/package-info.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/package-info.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/classfile/package-info.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/classfile/package-info.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclint/Checker.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/doclint/Checker.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclint/Checker.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/doclint/Checker.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclint/DocLint.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/doclint/DocLint.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclint/DocLint.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/doclint/DocLint.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclint/Entity.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/doclint/Entity.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclint/Entity.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/doclint/Entity.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclint/Env.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/doclint/Env.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclint/Env.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/doclint/Env.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclint/HtmlTag.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/doclint/HtmlTag.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclint/HtmlTag.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/doclint/HtmlTag.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclint/Messages.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/doclint/Messages.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclint/Messages.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/doclint/Messages.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclint/resources/doclint.properties b/langtools/src/jdk.compiler/share/classes/com/sun/tools/doclint/resources/doclint.properties
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclint/resources/doclint.properties
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/doclint/resources/doclint.properties
diff --git a/langtools/src/share/classes/com/sun/tools/doclint/resources/doclint_ja.properties b/langtools/src/jdk.compiler/share/classes/com/sun/tools/doclint/resources/doclint_ja.properties
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclint/resources/doclint_ja.properties
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/doclint/resources/doclint_ja.properties
diff --git a/langtools/src/share/classes/com/sun/tools/doclint/resources/doclint_zh_CN.properties b/langtools/src/jdk.compiler/share/classes/com/sun/tools/doclint/resources/doclint_zh_CN.properties
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclint/resources/doclint_zh_CN.properties
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/doclint/resources/doclint_zh_CN.properties
diff --git a/langtools/src/share/classes/com/sun/tools/javac/Main.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/Main.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/Main.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/Main.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/api/BasicJavacTask.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/api/BasicJavacTask.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/api/BasicJavacTask.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/api/BasicJavacTask.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/api/ClientCodeWrapper.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/api/ClientCodeWrapper.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/api/ClientCodeWrapper.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/api/ClientCodeWrapper.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/api/DiagnosticFormatter.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/api/DiagnosticFormatter.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/api/DiagnosticFormatter.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/api/DiagnosticFormatter.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/api/Formattable.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/api/Formattable.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/api/Formattable.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/api/Formattable.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/api/JavacScope.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/api/JavacScope.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/api/JavacScope.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/api/JavacScope.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/api/JavacTaskImpl.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/api/JavacTaskImpl.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/api/JavacTaskImpl.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/api/JavacTaskImpl.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/api/JavacTool.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/api/JavacTool.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/api/JavacTool.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/api/JavacTool.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/api/JavacTrees.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/api/JavacTrees.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/api/JavacTrees.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/api/JavacTrees.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/api/Messages.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/api/Messages.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/api/Messages.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/api/Messages.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/api/MultiTaskListener.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/api/MultiTaskListener.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/api/MultiTaskListener.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/api/MultiTaskListener.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/api/WrappingJavaFileManager.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/api/WrappingJavaFileManager.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/api/WrappingJavaFileManager.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/api/WrappingJavaFileManager.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/code/AnnoConstruct.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/code/AnnoConstruct.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/code/AnnoConstruct.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/code/AnnoConstruct.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/code/Attribute.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Attribute.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/code/Attribute.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Attribute.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/code/BoundKind.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/code/BoundKind.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/code/BoundKind.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/code/BoundKind.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/code/ClassFinder.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/code/ClassFinder.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/code/ClassFinder.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/code/ClassFinder.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/code/DeferredLintHandler.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/code/DeferredLintHandler.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/code/DeferredLintHandler.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/code/DeferredLintHandler.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/code/Flags.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Flags.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/code/Flags.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Flags.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/code/Kinds.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Kinds.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/code/Kinds.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Kinds.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/code/Lint.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Lint.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/code/Lint.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Lint.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/code/Printer.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Printer.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/code/Printer.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Printer.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/code/Scope.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Scope.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/code/Scope.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Scope.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/code/Source.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Source.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/code/Source.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Source.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/code/Symbol.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Symbol.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/code/Symbol.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Symbol.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/code/SymbolMetadata.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/code/SymbolMetadata.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/code/SymbolMetadata.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/code/SymbolMetadata.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/code/Symtab.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Symtab.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/code/Symtab.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Symtab.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/code/TargetType.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/code/TargetType.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/code/TargetType.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/code/TargetType.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/code/Type.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Type.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/code/Type.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Type.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/code/TypeAnnotationPosition.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/code/TypeAnnotationPosition.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/code/TypeAnnotationPosition.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/code/TypeAnnotationPosition.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/code/TypeTag.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/code/TypeTag.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/code/TypeTag.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/code/TypeTag.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/code/Types.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Types.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/code/Types.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Types.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/comp/Annotate.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Annotate.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/comp/Annotate.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Annotate.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/comp/Attr.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/comp/Attr.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/comp/AttrContext.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/AttrContext.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/comp/AttrContext.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/AttrContext.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/comp/AttrContextEnv.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/AttrContextEnv.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/comp/AttrContextEnv.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/AttrContextEnv.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/comp/Check.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Check.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/comp/Check.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Check.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/comp/CompileStates.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/CompileStates.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/comp/CompileStates.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/CompileStates.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/comp/ConstFold.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/ConstFold.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/comp/ConstFold.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/ConstFold.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/comp/DeferredAttr.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/DeferredAttr.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/comp/DeferredAttr.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/DeferredAttr.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/comp/Enter.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Enter.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/comp/Enter.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Enter.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/comp/Env.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Env.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/comp/Env.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Env.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/comp/Flow.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Flow.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/comp/Flow.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Flow.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/comp/Infer.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Infer.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/comp/Infer.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Infer.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/comp/Lower.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Lower.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/comp/Lower.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Lower.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/comp/MemberEnter.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/MemberEnter.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/comp/MemberEnter.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/MemberEnter.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/comp/Resolve.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Resolve.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/comp/Resolve.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Resolve.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/comp/Todo.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Todo.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/comp/Todo.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Todo.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/comp/TransTypes.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/TransTypes.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/comp/TransTypes.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/TransTypes.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/comp/TypeEnvs.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/TypeEnvs.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/comp/TypeEnvs.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/TypeEnvs.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/file/BaseFileObject.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/file/BaseFileObject.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/file/BaseFileObject.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/file/BaseFileObject.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/file/CacheFSInfo.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/file/CacheFSInfo.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/file/CacheFSInfo.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/file/CacheFSInfo.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/file/FSInfo.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/file/FSInfo.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/file/FSInfo.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/file/FSInfo.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/file/JavacFileManager.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/file/JavacFileManager.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/file/JavacFileManager.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/file/JavacFileManager.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/file/Locations.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/file/Locations.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/file/Locations.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/file/Locations.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/file/RegularFileObject.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/file/RegularFileObject.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/file/RegularFileObject.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/file/RegularFileObject.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/file/RelativePath.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/file/RelativePath.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/file/RelativePath.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/file/RelativePath.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/file/SymbolArchive.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/file/SymbolArchive.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/file/SymbolArchive.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/file/SymbolArchive.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/file/ZipArchive.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/file/ZipArchive.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/file/ZipArchive.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/file/ZipArchive.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/file/ZipFileIndex.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/file/ZipFileIndex.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/file/ZipFileIndex.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/file/ZipFileIndex.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/file/ZipFileIndexArchive.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/file/ZipFileIndexArchive.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/file/ZipFileIndexArchive.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/file/ZipFileIndexArchive.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/file/ZipFileIndexCache.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/file/ZipFileIndexCache.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/file/ZipFileIndexCache.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/file/ZipFileIndexCache.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/jvm/ByteCodes.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ByteCodes.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/jvm/ByteCodes.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ByteCodes.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/jvm/CRTFlags.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/CRTFlags.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/jvm/CRTFlags.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/CRTFlags.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/jvm/CRTable.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/CRTable.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/jvm/CRTable.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/CRTable.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/jvm/ClassFile.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassFile.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/jvm/ClassFile.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassFile.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/jvm/ClassReader.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassReader.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/jvm/ClassReader.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassReader.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/jvm/ClassWriter.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassWriter.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/jvm/ClassWriter.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassWriter.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/jvm/Code.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/Code.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/jvm/Code.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/Code.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/jvm/Gen.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/Gen.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/jvm/Gen.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/Gen.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/jvm/Items.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/Items.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/jvm/Items.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/Items.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/jvm/JNIWriter.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/JNIWriter.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/jvm/JNIWriter.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/JNIWriter.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/jvm/LVTRanges.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/LVTRanges.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/jvm/LVTRanges.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/LVTRanges.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/jvm/Pool.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/Pool.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/jvm/Pool.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/Pool.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/jvm/Profile.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/Profile.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/jvm/Profile.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/Profile.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/jvm/Target.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/Target.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/jvm/Target.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/Target.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/jvm/UninitializedType.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/UninitializedType.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/jvm/UninitializedType.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/UninitializedType.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/main/CommandLine.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/main/CommandLine.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/main/CommandLine.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/main/CommandLine.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/main/JavaCompiler.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/main/JavaCompiler.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/main/JavaCompiler.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/main/JavaCompiler.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/main/Main.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/main/Main.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/main/Main.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/main/Main.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/main/Option.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/main/Option.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/main/Option.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/main/Option.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/main/OptionHelper.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/main/OptionHelper.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/main/OptionHelper.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/main/OptionHelper.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/model/AnnotationProxyMaker.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/model/AnnotationProxyMaker.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/model/AnnotationProxyMaker.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/model/AnnotationProxyMaker.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/model/FilteredMemberList.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/model/FilteredMemberList.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/model/FilteredMemberList.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/model/FilteredMemberList.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/model/JavacElements.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/model/JavacElements.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/model/JavacElements.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/model/JavacElements.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/model/JavacSourcePosition.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/model/JavacSourcePosition.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/model/JavacSourcePosition.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/model/JavacSourcePosition.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/model/JavacTypes.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/model/JavacTypes.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/model/JavacTypes.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/model/JavacTypes.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/nio/JavacPathFileManager.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/nio/JavacPathFileManager.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/nio/JavacPathFileManager.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/nio/JavacPathFileManager.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/nio/PathFileManager.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/nio/PathFileManager.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/nio/PathFileManager.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/nio/PathFileManager.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/nio/PathFileObject.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/nio/PathFileObject.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/nio/PathFileObject.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/nio/PathFileObject.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/parser/DocCommentParser.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/parser/DocCommentParser.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/parser/DocCommentParser.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/parser/DocCommentParser.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/parser/JavaTokenizer.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavaTokenizer.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/parser/JavaTokenizer.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavaTokenizer.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/parser/JavacParser.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/parser/JavacParser.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/parser/JavadocTokenizer.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavadocTokenizer.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/parser/JavadocTokenizer.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavadocTokenizer.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/parser/LazyDocCommentTable.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/parser/LazyDocCommentTable.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/parser/LazyDocCommentTable.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/parser/LazyDocCommentTable.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/parser/Lexer.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/parser/Lexer.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/parser/Lexer.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/parser/Lexer.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/parser/Parser.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/parser/Parser.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/parser/Parser.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/parser/Parser.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/parser/ParserFactory.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/parser/ParserFactory.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/parser/ParserFactory.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/parser/ParserFactory.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/parser/Scanner.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/parser/Scanner.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/parser/Scanner.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/parser/Scanner.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/parser/ScannerFactory.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/parser/ScannerFactory.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/parser/ScannerFactory.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/parser/ScannerFactory.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/parser/Tokens.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/parser/Tokens.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/parser/Tokens.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/parser/Tokens.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/parser/UnicodeReader.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/parser/UnicodeReader.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/parser/UnicodeReader.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/parser/UnicodeReader.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/processing/AnnotationProcessingError.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/processing/AnnotationProcessingError.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/processing/AnnotationProcessingError.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/processing/AnnotationProcessingError.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/processing/JavacFiler.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/processing/JavacFiler.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/processing/JavacFiler.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/processing/JavacFiler.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/processing/JavacMessager.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/processing/JavacMessager.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/processing/JavacMessager.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/processing/JavacMessager.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/processing/JavacProcessingEnvironment.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/processing/JavacProcessingEnvironment.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/processing/JavacProcessingEnvironment.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/processing/JavacProcessingEnvironment.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/processing/JavacRoundEnvironment.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/processing/JavacRoundEnvironment.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/processing/JavacRoundEnvironment.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/processing/JavacRoundEnvironment.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/processing/PrintingProcessor.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/processing/PrintingProcessor.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/processing/PrintingProcessor.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/processing/PrintingProcessor.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/processing/ServiceProxy.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/processing/ServiceProxy.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/processing/ServiceProxy.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/processing/ServiceProxy.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/resources/compiler.properties b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/resources/compiler.properties
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties
diff --git a/langtools/src/share/classes/com/sun/tools/javac/resources/compiler_ja.properties b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler_ja.properties
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/resources/compiler_ja.properties
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler_ja.properties
diff --git a/langtools/src/share/classes/com/sun/tools/javac/resources/compiler_zh_CN.properties b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler_zh_CN.properties
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/resources/compiler_zh_CN.properties
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler_zh_CN.properties
diff --git a/langtools/src/share/classes/com/sun/tools/javac/resources/javac.properties b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/resources/javac.properties
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/resources/javac.properties
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/resources/javac.properties
diff --git a/langtools/src/share/classes/com/sun/tools/javac/resources/javac_ja.properties b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/resources/javac_ja.properties
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/resources/javac_ja.properties
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/resources/javac_ja.properties
diff --git a/langtools/src/share/classes/com/sun/tools/javac/resources/javac_zh_CN.properties b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/resources/javac_zh_CN.properties
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/resources/javac_zh_CN.properties
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/resources/javac_zh_CN.properties
diff --git a/langtools/src/share/classes/com/sun/tools/javac/resources/legacy.properties b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/resources/legacy.properties
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/resources/legacy.properties
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/resources/legacy.properties
diff --git a/langtools/src/share/classes/com/sun/tools/javac/resources/version.properties-template b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/resources/version.properties-template
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/resources/version.properties-template
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/resources/version.properties-template
diff --git a/langtools/src/share/classes/com/sun/tools/javac/services/javax.tools.JavaCompilerTool b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/services/javax.tools.JavaCompilerTool
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/services/javax.tools.JavaCompilerTool
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/services/javax.tools.JavaCompilerTool
diff --git a/langtools/src/share/classes/com/sun/tools/javac/sym/CreateSymbols.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/sym/CreateSymbols.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/sym/CreateSymbols.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/sym/CreateSymbols.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/sym/Profiles.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/sym/Profiles.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/sym/Profiles.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/sym/Profiles.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/tree/DCTree.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/tree/DCTree.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/tree/DCTree.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/tree/DCTree.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/tree/DocCommentTable.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/tree/DocCommentTable.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/tree/DocCommentTable.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/tree/DocCommentTable.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/tree/DocPretty.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/tree/DocPretty.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/tree/DocPretty.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/tree/DocPretty.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/tree/DocTreeMaker.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/tree/DocTreeMaker.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/tree/DocTreeMaker.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/tree/DocTreeMaker.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/tree/EndPosTable.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/tree/EndPosTable.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/tree/EndPosTable.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/tree/EndPosTable.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/tree/JCTree.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/tree/JCTree.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/tree/JCTree.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/tree/JCTree.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/tree/Pretty.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/tree/Pretty.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/tree/Pretty.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/tree/Pretty.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/tree/TreeCopier.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/tree/TreeCopier.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/tree/TreeCopier.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/tree/TreeCopier.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/tree/TreeInfo.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/tree/TreeInfo.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/tree/TreeInfo.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/tree/TreeInfo.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/tree/TreeMaker.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/tree/TreeMaker.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/tree/TreeMaker.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/tree/TreeMaker.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/tree/TreeScanner.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/tree/TreeScanner.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/tree/TreeScanner.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/tree/TreeScanner.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/tree/TreeTranslator.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/tree/TreeTranslator.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/tree/TreeTranslator.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/tree/TreeTranslator.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/util/Abort.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/util/Abort.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/util/Abort.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/util/Abort.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/util/AbstractDiagnosticFormatter.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/util/AbstractDiagnosticFormatter.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/util/AbstractDiagnosticFormatter.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/util/AbstractDiagnosticFormatter.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/util/AbstractLog.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/util/AbstractLog.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/util/AbstractLog.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/util/AbstractLog.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/util/ArrayUtils.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/util/ArrayUtils.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/util/ArrayUtils.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/util/ArrayUtils.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/util/Assert.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/util/Assert.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/util/Assert.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/util/Assert.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/util/BaseFileManager.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/util/BaseFileManager.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/util/BaseFileManager.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/util/BaseFileManager.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/util/BasicDiagnosticFormatter.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/util/BasicDiagnosticFormatter.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/util/BasicDiagnosticFormatter.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/util/BasicDiagnosticFormatter.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/util/Bits.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/util/Bits.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/util/Bits.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/util/Bits.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/util/ByteBuffer.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/util/ByteBuffer.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/util/ByteBuffer.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/util/ByteBuffer.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/util/ClientCodeException.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/util/ClientCodeException.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/util/ClientCodeException.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/util/ClientCodeException.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/util/Constants.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/util/Constants.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/util/Constants.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/util/Constants.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/util/Context.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/util/Context.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/util/Context.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/util/Context.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/util/Convert.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/util/Convert.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/util/Convert.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/util/Convert.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/util/Dependencies.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/util/Dependencies.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/util/Dependencies.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/util/Dependencies.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/util/DiagnosticSource.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/util/DiagnosticSource.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/util/DiagnosticSource.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/util/DiagnosticSource.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/util/FatalError.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/util/FatalError.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/util/FatalError.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/util/FatalError.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/util/Filter.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/util/Filter.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/util/Filter.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/util/Filter.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/util/ForwardingDiagnosticFormatter.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/util/ForwardingDiagnosticFormatter.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/util/ForwardingDiagnosticFormatter.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/util/ForwardingDiagnosticFormatter.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/util/GraphUtils.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/util/GraphUtils.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/util/GraphUtils.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/util/GraphUtils.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/util/IntHashTable.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/util/IntHashTable.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/util/IntHashTable.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/util/IntHashTable.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/util/JCDiagnostic.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/util/JCDiagnostic.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/util/JCDiagnostic.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/util/JCDiagnostic.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/util/JavacMessages.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/util/JavacMessages.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/util/JavacMessages.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/util/JavacMessages.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/util/LayoutCharacters.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/util/LayoutCharacters.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/util/LayoutCharacters.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/util/LayoutCharacters.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/util/List.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/util/List.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/util/List.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/util/List.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/util/ListBuffer.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/util/ListBuffer.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/util/ListBuffer.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/util/ListBuffer.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/util/Log.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/util/Log.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/util/Log.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/util/Log.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/util/MandatoryWarningHandler.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/util/MandatoryWarningHandler.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/util/MandatoryWarningHandler.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/util/MandatoryWarningHandler.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/util/Name.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/util/Name.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/util/Name.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/util/Name.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/util/Names.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/util/Names.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/util/Names.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/util/Names.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/util/Options.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/util/Options.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/util/Options.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/util/Options.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/util/Pair.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/util/Pair.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/util/Pair.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/util/Pair.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/util/Position.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/util/Position.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/util/Position.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/util/Position.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/util/PropagatedException.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/util/PropagatedException.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/util/PropagatedException.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/util/PropagatedException.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/util/RawDiagnosticFormatter.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/util/RawDiagnosticFormatter.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/util/RawDiagnosticFormatter.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/util/RawDiagnosticFormatter.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/util/RichDiagnosticFormatter.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/util/RichDiagnosticFormatter.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/util/RichDiagnosticFormatter.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/util/RichDiagnosticFormatter.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/util/ServiceLoader.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/util/ServiceLoader.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/util/ServiceLoader.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/util/ServiceLoader.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/util/SharedNameTable.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/util/SharedNameTable.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/util/SharedNameTable.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/util/SharedNameTable.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/util/StringUtils.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/util/StringUtils.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/util/StringUtils.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/util/StringUtils.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/util/UnsharedNameTable.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/util/UnsharedNameTable.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/util/UnsharedNameTable.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/util/UnsharedNameTable.java
diff --git a/langtools/src/share/classes/com/sun/tools/javac/util/Warner.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/util/Warner.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javac/util/Warner.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/util/Warner.java
diff --git a/langtools/src/share/classes/com/sun/tools/javah/Gen.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javah/Gen.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javah/Gen.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javah/Gen.java
diff --git a/langtools/src/share/classes/com/sun/tools/javah/InternalError.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javah/InternalError.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javah/InternalError.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javah/InternalError.java
diff --git a/langtools/src/share/classes/com/sun/tools/javah/JNI.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javah/JNI.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javah/JNI.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javah/JNI.java
diff --git a/langtools/src/share/classes/com/sun/tools/javah/JavahFileManager.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javah/JavahFileManager.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javah/JavahFileManager.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javah/JavahFileManager.java
diff --git a/langtools/src/share/classes/com/sun/tools/javah/JavahTask.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javah/JavahTask.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javah/JavahTask.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javah/JavahTask.java
diff --git a/langtools/src/share/classes/com/sun/tools/javah/JavahTool.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javah/JavahTool.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javah/JavahTool.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javah/JavahTool.java
diff --git a/langtools/src/share/classes/com/sun/tools/javah/LLNI.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javah/LLNI.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javah/LLNI.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javah/LLNI.java
diff --git a/langtools/src/share/classes/com/sun/tools/javah/Main.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javah/Main.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javah/Main.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javah/Main.java
diff --git a/langtools/src/share/classes/com/sun/tools/javah/Mangle.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javah/Mangle.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javah/Mangle.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javah/Mangle.java
diff --git a/langtools/src/share/classes/com/sun/tools/javah/NativeHeaderTool.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javah/NativeHeaderTool.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javah/NativeHeaderTool.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javah/NativeHeaderTool.java
diff --git a/langtools/src/share/classes/com/sun/tools/javah/TypeSignature.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javah/TypeSignature.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javah/TypeSignature.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javah/TypeSignature.java
diff --git a/langtools/src/share/classes/com/sun/tools/javah/Util.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javah/Util.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javah/Util.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javah/Util.java
diff --git a/langtools/src/share/classes/com/sun/tools/javah/resources/l10n.properties b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javah/resources/l10n.properties
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javah/resources/l10n.properties
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javah/resources/l10n.properties
diff --git a/langtools/src/share/classes/com/sun/tools/javah/resources/l10n_ja.properties b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javah/resources/l10n_ja.properties
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javah/resources/l10n_ja.properties
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javah/resources/l10n_ja.properties
diff --git a/langtools/src/share/classes/com/sun/tools/javah/resources/l10n_zh_CN.properties b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javah/resources/l10n_zh_CN.properties
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javah/resources/l10n_zh_CN.properties
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javah/resources/l10n_zh_CN.properties
diff --git a/langtools/src/share/classes/com/sun/tools/javah/resources/version.properties-template b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javah/resources/version.properties-template
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javah/resources/version.properties-template
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javah/resources/version.properties-template
diff --git a/langtools/src/share/classes/com/sun/tools/javap/AnnotationWriter.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javap/AnnotationWriter.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javap/AnnotationWriter.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javap/AnnotationWriter.java
diff --git a/langtools/src/share/classes/com/sun/tools/javap/AttributeWriter.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javap/AttributeWriter.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javap/AttributeWriter.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javap/AttributeWriter.java
diff --git a/langtools/src/share/classes/com/sun/tools/javap/BasicWriter.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javap/BasicWriter.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javap/BasicWriter.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javap/BasicWriter.java
diff --git a/langtools/src/share/classes/com/sun/tools/javap/ClassWriter.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javap/ClassWriter.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javap/ClassWriter.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javap/ClassWriter.java
diff --git a/langtools/src/share/classes/com/sun/tools/javap/CodeWriter.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javap/CodeWriter.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javap/CodeWriter.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javap/CodeWriter.java
diff --git a/langtools/src/share/classes/com/sun/tools/javap/ConstantWriter.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javap/ConstantWriter.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javap/ConstantWriter.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javap/ConstantWriter.java
diff --git a/langtools/src/share/classes/com/sun/tools/javap/Context.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javap/Context.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javap/Context.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javap/Context.java
diff --git a/langtools/src/share/classes/com/sun/tools/javap/DisassemblerTool.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javap/DisassemblerTool.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javap/DisassemblerTool.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javap/DisassemblerTool.java
diff --git a/langtools/src/share/classes/com/sun/tools/javap/InstructionDetailWriter.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javap/InstructionDetailWriter.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javap/InstructionDetailWriter.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javap/InstructionDetailWriter.java
diff --git a/langtools/src/share/classes/com/sun/tools/javap/InternalError.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javap/InternalError.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javap/InternalError.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javap/InternalError.java
diff --git a/langtools/src/share/classes/com/sun/tools/javap/JavapFileManager.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javap/JavapFileManager.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javap/JavapFileManager.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javap/JavapFileManager.java
diff --git a/langtools/src/share/classes/com/sun/tools/javap/JavapTask.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javap/JavapTask.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javap/JavapTask.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javap/JavapTask.java
diff --git a/langtools/src/share/classes/com/sun/tools/javap/LocalVariableTableWriter.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javap/LocalVariableTableWriter.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javap/LocalVariableTableWriter.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javap/LocalVariableTableWriter.java
diff --git a/langtools/src/share/classes/com/sun/tools/javap/LocalVariableTypeTableWriter.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javap/LocalVariableTypeTableWriter.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javap/LocalVariableTypeTableWriter.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javap/LocalVariableTypeTableWriter.java
diff --git a/langtools/src/share/classes/com/sun/tools/javap/Main.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javap/Main.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javap/Main.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javap/Main.java
diff --git a/langtools/src/share/classes/com/sun/tools/javap/Messages.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javap/Messages.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javap/Messages.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javap/Messages.java
diff --git a/langtools/src/share/classes/com/sun/tools/javap/Options.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javap/Options.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javap/Options.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javap/Options.java
diff --git a/langtools/src/share/classes/com/sun/tools/javap/SourceWriter.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javap/SourceWriter.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javap/SourceWriter.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javap/SourceWriter.java
diff --git a/langtools/src/share/classes/com/sun/tools/javap/StackMapWriter.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javap/StackMapWriter.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javap/StackMapWriter.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javap/StackMapWriter.java
diff --git a/langtools/src/share/classes/com/sun/tools/javap/TryBlockWriter.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javap/TryBlockWriter.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javap/TryBlockWriter.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javap/TryBlockWriter.java
diff --git a/langtools/src/share/classes/com/sun/tools/javap/TypeAnnotationWriter.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javap/TypeAnnotationWriter.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javap/TypeAnnotationWriter.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javap/TypeAnnotationWriter.java
diff --git a/langtools/src/share/classes/com/sun/tools/javap/overview.html b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javap/overview.html
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javap/overview.html
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javap/overview.html
diff --git a/langtools/src/share/classes/com/sun/tools/javap/package-info.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javap/package-info.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javap/package-info.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javap/package-info.java
diff --git a/langtools/src/share/classes/com/sun/tools/javap/resources/javap.properties b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javap/resources/javap.properties
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javap/resources/javap.properties
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javap/resources/javap.properties
diff --git a/langtools/src/share/classes/com/sun/tools/javap/resources/javap_ja.properties b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javap/resources/javap_ja.properties
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javap/resources/javap_ja.properties
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javap/resources/javap_ja.properties
diff --git a/langtools/src/share/classes/com/sun/tools/javap/resources/javap_zh_CN.properties b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javap/resources/javap_zh_CN.properties
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javap/resources/javap_zh_CN.properties
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javap/resources/javap_zh_CN.properties
diff --git a/langtools/src/share/classes/com/sun/tools/javap/resources/version.properties-template b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javap/resources/version.properties-template
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javap/resources/version.properties-template
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/javap/resources/version.properties-template
diff --git a/langtools/src/share/classes/com/sun/tools/sjavac/BuildState.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/BuildState.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/sjavac/BuildState.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/BuildState.java
diff --git a/langtools/src/share/classes/com/sun/tools/sjavac/CleanProperties.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/CleanProperties.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/sjavac/CleanProperties.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/CleanProperties.java
diff --git a/langtools/src/share/classes/com/sun/tools/sjavac/CompileChunk.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/CompileChunk.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/sjavac/CompileChunk.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/CompileChunk.java
diff --git a/langtools/src/share/classes/com/sun/tools/sjavac/CompileJavaPackages.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/CompileJavaPackages.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/sjavac/CompileJavaPackages.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/CompileJavaPackages.java
diff --git a/langtools/src/share/classes/com/sun/tools/sjavac/CompileProperties.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/CompileProperties.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/sjavac/CompileProperties.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/CompileProperties.java
diff --git a/langtools/src/share/classes/com/sun/tools/sjavac/CopyFile.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/CopyFile.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/sjavac/CopyFile.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/CopyFile.java
diff --git a/langtools/src/share/classes/com/sun/tools/sjavac/JavacState.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/JavacState.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/sjavac/JavacState.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/JavacState.java
diff --git a/langtools/src/share/classes/com/sun/tools/sjavac/Log.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/Log.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/sjavac/Log.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/Log.java
diff --git a/langtools/src/share/classes/com/sun/tools/sjavac/Main.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/Main.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/sjavac/Main.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/Main.java
diff --git a/langtools/src/share/classes/com/sun/tools/sjavac/Module.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/Module.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/sjavac/Module.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/Module.java
diff --git a/langtools/src/share/classes/com/sun/tools/sjavac/Package.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/Package.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/sjavac/Package.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/Package.java
diff --git a/langtools/src/share/classes/com/sun/tools/sjavac/ProblemException.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/ProblemException.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/sjavac/ProblemException.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/ProblemException.java
diff --git a/langtools/src/share/classes/com/sun/tools/sjavac/Source.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/Source.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/sjavac/Source.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/Source.java
diff --git a/langtools/src/share/classes/com/sun/tools/sjavac/Transformer.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/Transformer.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/sjavac/Transformer.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/Transformer.java
diff --git a/langtools/src/share/classes/com/sun/tools/sjavac/Util.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/Util.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/sjavac/Util.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/Util.java
diff --git a/langtools/src/share/classes/com/sun/tools/sjavac/comp/AttrWithDeps.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/comp/AttrWithDeps.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/sjavac/comp/AttrWithDeps.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/comp/AttrWithDeps.java
diff --git a/langtools/src/share/classes/com/sun/tools/sjavac/comp/Dependencies.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/comp/Dependencies.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/sjavac/comp/Dependencies.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/comp/Dependencies.java
diff --git a/langtools/src/share/classes/com/sun/tools/sjavac/comp/JavaCompilerWithDeps.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/comp/JavaCompilerWithDeps.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/sjavac/comp/JavaCompilerWithDeps.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/comp/JavaCompilerWithDeps.java
diff --git a/langtools/src/share/classes/com/sun/tools/sjavac/comp/JavacServiceImpl.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/comp/JavacServiceImpl.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/sjavac/comp/JavacServiceImpl.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/comp/JavacServiceImpl.java
diff --git a/langtools/src/share/classes/com/sun/tools/sjavac/comp/PubapiVisitor.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/comp/PubapiVisitor.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/sjavac/comp/PubapiVisitor.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/comp/PubapiVisitor.java
diff --git a/langtools/src/share/classes/com/sun/tools/sjavac/comp/ResolveWithDeps.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/comp/ResolveWithDeps.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/sjavac/comp/ResolveWithDeps.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/comp/ResolveWithDeps.java
diff --git a/langtools/src/share/classes/com/sun/tools/sjavac/comp/SmartFileManager.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/comp/SmartFileManager.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/sjavac/comp/SmartFileManager.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/comp/SmartFileManager.java
diff --git a/langtools/src/share/classes/com/sun/tools/sjavac/comp/SmartFileObject.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/comp/SmartFileObject.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/sjavac/comp/SmartFileObject.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/comp/SmartFileObject.java
diff --git a/langtools/src/share/classes/com/sun/tools/sjavac/comp/SmartWriter.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/comp/SmartWriter.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/sjavac/comp/SmartWriter.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/comp/SmartWriter.java
diff --git a/langtools/src/share/classes/com/sun/tools/sjavac/options/ArgumentIterator.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/options/ArgumentIterator.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/sjavac/options/ArgumentIterator.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/options/ArgumentIterator.java
diff --git a/langtools/src/share/classes/com/sun/tools/sjavac/options/Option.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/options/Option.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/sjavac/options/Option.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/options/Option.java
diff --git a/langtools/src/share/classes/com/sun/tools/sjavac/options/OptionHelper.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/options/OptionHelper.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/sjavac/options/OptionHelper.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/options/OptionHelper.java
diff --git a/langtools/src/share/classes/com/sun/tools/sjavac/options/Options.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/options/Options.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/sjavac/options/Options.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/options/Options.java
diff --git a/langtools/src/share/classes/com/sun/tools/sjavac/options/SourceLocation.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/options/SourceLocation.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/sjavac/options/SourceLocation.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/options/SourceLocation.java
diff --git a/langtools/src/share/classes/com/sun/tools/sjavac/server/CompilationResult.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/server/CompilationResult.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/sjavac/server/CompilationResult.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/server/CompilationResult.java
diff --git a/langtools/src/share/classes/com/sun/tools/sjavac/server/CompilerPool.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/server/CompilerPool.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/sjavac/server/CompilerPool.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/server/CompilerPool.java
diff --git a/langtools/src/share/classes/com/sun/tools/sjavac/server/CompilerThread.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/server/CompilerThread.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/sjavac/server/CompilerThread.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/server/CompilerThread.java
diff --git a/langtools/src/share/classes/com/sun/tools/sjavac/server/JavacServer.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/server/JavacServer.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/sjavac/server/JavacServer.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/server/JavacServer.java
diff --git a/langtools/src/share/classes/com/sun/tools/sjavac/server/JavacService.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/server/JavacService.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/sjavac/server/JavacService.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/server/JavacService.java
diff --git a/langtools/src/share/classes/com/sun/tools/sjavac/server/JavacServiceClient.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/server/JavacServiceClient.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/sjavac/server/JavacServiceClient.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/server/JavacServiceClient.java
diff --git a/langtools/src/share/classes/com/sun/tools/sjavac/server/PortFile.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/server/PortFile.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/sjavac/server/PortFile.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/server/PortFile.java
diff --git a/langtools/src/share/classes/com/sun/tools/sjavac/server/SysInfo.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/server/SysInfo.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/sjavac/server/SysInfo.java
rename to langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/server/SysInfo.java
diff --git a/langtools/src/share/classes/com/sun/tools/jdeps/Analyzer.java b/langtools/src/jdk.dev/share/classes/com/sun/tools/jdeps/Analyzer.java
similarity index 64%
rename from langtools/src/share/classes/com/sun/tools/jdeps/Analyzer.java
rename to langtools/src/jdk.dev/share/classes/com/sun/tools/jdeps/Analyzer.java
index c999c3c..d69b801 100644
--- a/langtools/src/share/classes/com/sun/tools/jdeps/Analyzer.java
+++ b/langtools/src/jdk.dev/share/classes/com/sun/tools/jdeps/Analyzer.java
@@ -24,6 +24,7 @@
*/
package com.sun.tools.jdeps;
+import java.io.PrintStream;
import java.util.Comparator;
import java.util.HashMap;
import java.util.HashSet;
@@ -34,7 +35,6 @@
import java.util.stream.Collectors;
import com.sun.tools.classfile.Dependency.Location;
-import com.sun.tools.jdeps.PlatformClassPath.JDKArchive;
/**
* Dependency Analyzer.
@@ -59,11 +59,11 @@
boolean accepts(Location origin, Archive originArchive, Location target, Archive targetArchive);
}
- private final Type type;
- private final Filter filter;
- private final Map<Archive, ArchiveDeps> results = new HashMap<>();
- private final Map<Location, Archive> map = new HashMap<>();
- private final Archive NOT_FOUND
+ protected final Type type;
+ protected final Filter filter;
+ protected final Map<Archive, ArchiveDeps> results = new HashMap<>();
+ protected final Map<Location, Archive> map = new HashMap<>();
+ private static final Archive NOT_FOUND
= new Archive(JdepsTask.getMessage("artifact.not.found"));
/**
@@ -80,7 +80,7 @@
/**
* Performs the dependency analysis on the given archives.
*/
- public void run(List<Archive> archives) {
+ public boolean run(List<Archive> archives) {
// build a map from Location to Archive
buildLocationArchiveMap(archives);
@@ -90,9 +90,10 @@
archive.visitDependences(deps);
results.put(archive, deps);
}
+ return true;
}
- private void buildLocationArchiveMap(List<Archive> archives) {
+ protected void buildLocationArchiveMap(List<Archive> archives) {
// build a map from Location to Archive
for (Archive archive: archives) {
for (Location l: archive.getClasses()) {
@@ -187,7 +188,11 @@
}
Profile getTargetProfile(Archive target) {
- return JDKArchive.isProfileArchive(target) ? profile : null;
+ if (target instanceof Module) {
+ return Profile.getProfile((Module) target);
+ } else {
+ return null;
+ }
}
Archive findArchive(Location t) {
@@ -217,7 +222,7 @@
requires.add(targetArchive);
}
}
- if (targetArchive instanceof JDKArchive) {
+ if (targetArchive instanceof Module) {
Profile p = Profile.getProfile(t.getPackageName());
if (profile == null || (p != null && p.compareTo(profile) > 0)) {
profile = p;
@@ -307,5 +312,131 @@
+ Objects.hashCode(this.targetArchive);
return hash;
}
+
+ public String toString() {
+ return String.format("%s (%s) -> %s (%s)%n",
+ origin, originArchive.getName(),
+ target, targetArchive.getName());
+ }
+ }
+
+ static Analyzer getExportedAPIsAnalyzer() {
+ return new ModuleAccessAnalyzer(ModuleAccessAnalyzer.reexportsFilter, true);
+ }
+
+ static Analyzer getModuleAccessAnalyzer() {
+ return new ModuleAccessAnalyzer(ModuleAccessAnalyzer.accessCheckFilter, false);
+ }
+
+ private static class ModuleAccessAnalyzer extends Analyzer {
+ private final boolean apionly;
+ ModuleAccessAnalyzer(Filter filter, boolean apionly) {
+ super(Type.VERBOSE, filter);
+ this.apionly = apionly;
+ }
+ /**
+ * Verify module access
+ */
+ public boolean run(List<Archive> archives) {
+ // build a map from Location to Archive
+ buildLocationArchiveMap(archives);
+
+ // traverse and analyze all dependencies
+ int count = 0;
+ for (Archive archive : archives) {
+ ArchiveDeps checker = new ArchiveDeps(archive, type);
+ archive.visitDependences(checker);
+ count += checker.dependencies().size();
+ // output if any error
+ Module m = (Module)archive;
+ printDependences(System.err, m, checker.dependencies());
+ results.put(archive, checker);
+ }
+ return count == 0;
+ }
+
+ private void printDependences(PrintStream out, Module m, Set<Dep> deps) {
+ if (deps.isEmpty())
+ return;
+
+ String msg = apionly ? "API reference:" : "inaccessible reference:";
+ deps.stream().sorted(Comparator.comparing(Dep::origin)
+ .thenComparing(Dep::target))
+ .forEach(d -> out.format("%s %s (%s) -> %s (%s)%n", msg,
+ d.origin(), d.originArchive().getName(),
+ d.target(), d.targetArchive().getName()));
+ if (apionly) {
+ out.format("Dependences missing re-exports=\"true\" attribute:%n");
+ deps.stream()
+ .map(Dep::targetArchive)
+ .map(Archive::getName)
+ .distinct()
+ .sorted()
+ .forEach(d -> out.format(" %s -> %s%n", m.name(), d));
+ }
+ }
+
+ private static Module findModule(Archive archive) {
+ if (Module.class.isInstance(archive)) {
+ return (Module) archive;
+ } else {
+ return null;
+ }
+ }
+
+ // returns true if target is accessible by origin
+ private static boolean canAccess(Location o, Archive originArchive, Location t, Archive targetArchive) {
+ Module origin = findModule(originArchive);
+ Module target = findModule(targetArchive);
+
+ if (targetArchive == Analyzer.NOT_FOUND) {
+ return false;
+ }
+
+ // unnamed module
+ // ## should check public type?
+ if (target == null)
+ return true;
+
+ // module-private
+ if (origin == target)
+ return true;
+
+ return target.isAccessibleTo(t.getClassName(), origin);
+ }
+
+ static final Filter accessCheckFilter = new Filter() {
+ @Override
+ public boolean accepts(Location o, Archive originArchive, Location t, Archive targetArchive) {
+ return !canAccess(o, originArchive, t, targetArchive);
+ }
+ };
+
+ static final Filter reexportsFilter = new Filter() {
+ @Override
+ public boolean accepts(Location o, Archive originArchive, Location t, Archive targetArchive) {
+ Module origin = findModule(originArchive);
+ Module target = findModule(targetArchive);
+ if (!origin.isExportedPackage(o.getPackageName())) {
+ // filter non-exported classes
+ return false;
+ }
+
+ boolean accessible = canAccess(o, originArchive, t, targetArchive);
+ if (!accessible)
+ return true;
+
+ String mn = target.name();
+ // skip checking re-exports for java.base
+ if (origin == target || "java.base".equals(mn))
+ return false;
+
+ assert origin.requires().containsKey(mn); // otherwise, should not be accessible
+ if (origin.requires().get(mn)) {
+ return false;
+ }
+ return true;
+ }
+ };
}
}
diff --git a/langtools/src/share/classes/com/sun/tools/jdeps/Archive.java b/langtools/src/jdk.dev/share/classes/com/sun/tools/jdeps/Archive.java
similarity index 95%
rename from langtools/src/share/classes/com/sun/tools/jdeps/Archive.java
rename to langtools/src/jdk.dev/share/classes/com/sun/tools/jdeps/Archive.java
index 669575d..ebb0774 100644
--- a/langtools/src/share/classes/com/sun/tools/jdeps/Archive.java
+++ b/langtools/src/jdk.dev/share/classes/com/sun/tools/jdeps/Archive.java
@@ -24,6 +24,7 @@
*/
package com.sun.tools.jdeps;
+import com.sun.tools.classfile.ClassFile;
import com.sun.tools.classfile.Dependency.Location;
import java.io.IOException;
@@ -47,11 +48,13 @@
protected Map<Location, Set<Location>> deps = new ConcurrentHashMap<>();
protected Archive(String name) {
+ this(name, null);
+ }
+ protected Archive(String name, ClassFileReader reader) {
this.path = null;
this.filename = name;
- this.reader = null;
+ this.reader = reader;
}
-
protected Archive(Path p, ClassFileReader reader) {
this.path = p;
this.filename = path.getFileName().toString();
diff --git a/langtools/src/share/classes/com/sun/tools/jdeps/ClassFileReader.java b/langtools/src/jdk.dev/share/classes/com/sun/tools/jdeps/ClassFileReader.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/jdeps/ClassFileReader.java
rename to langtools/src/jdk.dev/share/classes/com/sun/tools/jdeps/ClassFileReader.java
diff --git a/langtools/src/share/classes/com/sun/tools/jdeps/JdepsTask.java b/langtools/src/jdk.dev/share/classes/com/sun/tools/jdeps/JdepsTask.java
similarity index 86%
rename from langtools/src/share/classes/com/sun/tools/jdeps/JdepsTask.java
rename to langtools/src/jdk.dev/share/classes/com/sun/tools/jdeps/JdepsTask.java
index 621d810..cf4a7a9 100644
--- a/langtools/src/share/classes/com/sun/tools/jdeps/JdepsTask.java
+++ b/langtools/src/jdk.dev/share/classes/com/sun/tools/jdeps/JdepsTask.java
@@ -31,7 +31,6 @@
import com.sun.tools.classfile.Dependencies.ClassFileError;
import com.sun.tools.classfile.Dependency;
import com.sun.tools.classfile.Dependency.Location;
-import com.sun.tools.jdeps.PlatformClassPath.JDKArchive;
import static com.sun.tools.jdeps.Analyzer.Type.*;
import java.io.*;
import java.nio.file.DirectoryStream;
@@ -194,9 +193,13 @@
new Option(false, "-P", "-profile") {
void process(JdepsTask task, String opt, String arg) throws BadArgs {
task.options.showProfile = true;
- if (Profile.getProfileCount() == 0) {
- throw new BadArgs("err.option.unsupported", opt, getMessage("err.profiles.msg"));
- }
+ task.options.showModule = false;
+ }
+ },
+ new Option(false, "-M", "-module") {
+ void process(JdepsTask task, String opt, String arg) throws BadArgs {
+ task.options.showModule = true;
+ task.options.showProfile = false;
}
},
new Option(false, "-apionly") {
@@ -221,6 +224,25 @@
}
}
},
+ new HiddenOption(false, "-verify:access") {
+ void process(JdepsTask task, String opt, String arg) {
+ task.options.verifyAccess = true;
+ task.options.verbose = VERBOSE;
+ task.options.filterSameArchive = false;
+ task.options.filterSamePackage = false;
+ }
+ },
+ new HiddenOption(true, "-mp") {
+ void process(JdepsTask task, String opt, String arg) throws BadArgs {
+ task.options.mpath = Paths.get(arg);
+ if (!Files.isDirectory(task.options.mpath)) {
+ throw new BadArgs("err.invalid.path", arg);
+ }
+ if (task.options.includePattern == null) {
+ task.options.includePattern = Pattern.compile(".*");
+ }
+ }
+ },
new Option(false, "-version") {
void process(JdepsTask task, String opt, String arg) {
task.options.version = true;
@@ -294,7 +316,7 @@
showHelp();
return EXIT_CMDERR;
}
- if (options.findJDKInternals &&
+ if ((options.findJDKInternals || options.verifyAccess) &&
(options.regex != null || options.packageNames.size() > 0 || options.showSummary)) {
showHelp();
return EXIT_CMDERR;
@@ -303,6 +325,7 @@
showHelp();
return EXIT_CMDERR;
}
+
boolean ok = run();
return ok ? EXIT_OK : EXIT_ERROR;
} catch (BadArgs e) {
@@ -319,10 +342,19 @@
}
private final List<Archive> sourceLocations = new ArrayList<>();
+ private final List<Archive> classpaths = new ArrayList<>();
+ private final List<Archive> initialArchives = new ArrayList<>();
private boolean run() throws IOException {
- // parse classfiles and find all dependencies
- findDependencies();
+ buildArchives();
+ if (options.verifyAccess) {
+ return verifyModuleAccess();
+ } else {
+ return analyzeDeps();
+ }
+ }
+
+ private boolean analyzeDeps() throws IOException {
Analyzer analyzer = new Analyzer(options.verbose, new Analyzer.Filter() {
@Override
public boolean accepts(Location origin, Archive originArchive,
@@ -330,8 +362,8 @@
{
if (options.findJDKInternals) {
// accepts target that is JDK class but not exported
- return isJDKArchive(targetArchive) &&
- !((JDKArchive) targetArchive).isExported(target.getClassName());
+ return isJDKModule(targetArchive) &&
+ !((Module) targetArchive).isExported(target.getClassName());
} else if (options.filterSameArchive) {
// accepts origin and target that from different archive
return originArchive != targetArchive;
@@ -340,6 +372,9 @@
}
});
+ // parse classfiles and find all dependencies
+ findDependencies(options.apiOnly);
+
// analyze the dependencies
analyzer.run(sourceLocations);
@@ -358,6 +393,31 @@
return true;
}
+ private boolean verifyModuleAccess() throws IOException {
+ // two passes
+ // 1. check API dependences where the types of dependences must be re-exported
+ // 2. check all dependences where types must be accessible
+
+ // pass 1
+ findDependencies(true /* api only */);
+ Analyzer analyzer = Analyzer.getExportedAPIsAnalyzer();
+ boolean pass1 = analyzer.run(sourceLocations);
+ if (!pass1) {
+ System.out.println("ERROR: Failed API access verification");
+ }
+ // pass 2
+ findDependencies(false);
+ analyzer = Analyzer.getModuleAccessAnalyzer();
+ boolean pass2 = analyzer.run(sourceLocations);
+ if (!pass2) {
+ System.out.println("ERROR: Failed module access verification");
+ }
+ if (pass1 & pass2) {
+ System.out.println("Access verification succeeded.");
+ }
+ return pass1 & pass2;
+ }
+
private void generateSummaryDotFile(Path dir, Analyzer analyzer) throws IOException {
// If verbose mode (-v or -verbose option),
// the summary.dot file shows package-level dependencies.
@@ -469,31 +529,46 @@
/**
* Tests if the given class matches the pattern given in the -include option
- * or if it's a public class if -apionly option is specified
*/
- private boolean matches(String classname, AccessFlags flags) {
- if (options.apiOnly && !flags.is(AccessFlags.ACC_PUBLIC)) {
- return false;
- } else if (options.includePattern != null) {
+ private boolean matches(String classname) {
+ if (options.includePattern != null) {
return options.includePattern.matcher(classname.replace('/', '.')).matches();
} else {
return true;
}
}
- private void findDependencies() throws IOException {
- Dependency.Finder finder =
- options.apiOnly ? Dependencies.getAPIFinder(AccessFlags.ACC_PROTECTED)
- : Dependencies.getClassDependencyFinder();
- Dependency.Filter filter = new DependencyFilter();
-
- List<Archive> archives = new ArrayList<>();
- Deque<String> roots = new LinkedList<>();
+ private void buildArchives() throws IOException {
for (String s : classes) {
Path p = Paths.get(s);
if (Files.exists(p)) {
- archives.add(Archive.getInstance(p));
- } else {
+ initialArchives.add(Archive.getInstance(p));
+ }
+ }
+ sourceLocations.addAll(initialArchives);
+
+ classpaths.addAll(getClassPathArchives(options.classpath));
+ if (options.includePattern != null) {
+ initialArchives.addAll(classpaths);
+ }
+ classpaths.addAll(PlatformClassPath.getArchives(options.mpath));
+ if (options.mpath != null) {
+ initialArchives.addAll(PlatformClassPath.getArchives(options.mpath));
+ }
+ // add all classpath archives to the source locations for reporting
+ sourceLocations.addAll(classpaths);
+ }
+
+ private void findDependencies(boolean apiOnly) throws IOException {
+ Dependency.Finder finder =
+ apiOnly ? Dependencies.getAPIFinder(AccessFlags.ACC_PROTECTED)
+ : Dependencies.getClassDependencyFinder();
+ Dependency.Filter filter = new DependencyFilter();
+
+ Deque<String> roots = new LinkedList<>();
+ for (String s : classes) {
+ Path p = Paths.get(s);
+ if (!Files.exists(p)) {
if (isValidClassName(s)) {
roots.add(s);
} else {
@@ -501,17 +576,6 @@
}
}
}
- sourceLocations.addAll(archives);
-
- List<Archive> classpaths = new ArrayList<>(); // for class file lookup
- classpaths.addAll(getClassPathArchives(options.classpath));
- if (options.includePattern != null) {
- archives.addAll(classpaths);
- }
- classpaths.addAll(PlatformClassPath.getArchives());
-
- // add all classpath archives to the source locations for reporting
- sourceLocations.addAll(classpaths);
// Work queue of names of classfiles to be searched.
// Entries will be unique, and for classes that do not yet have
@@ -520,7 +584,7 @@
Set<String> doneClasses = new HashSet<>();
// get the immediate dependencies of the input files
- for (Archive a : archives) {
+ for (Archive a : initialArchives) {
for (ClassFile cf : a.reader().getClassFiles()) {
String classFileName;
try {
@@ -530,7 +594,7 @@
}
// tests if this class matches the -include or -apiOnly option if specified
- if (!matches(classFileName, cf.access_flags)) {
+ if (!matches(classFileName) || (apiOnly && !cf.access_flags.is(AccessFlags.ACC_PUBLIC))) {
continue;
}
@@ -577,10 +641,6 @@
// if name is a fully-qualified class name specified
// from command-line, this class might already be parsed
doneClasses.add(classFileName);
- // process @jdk.Exported for JDK classes
- if (isJDKArchive(a)) {
- ((JDKArchive)a).processJdkExported(cf);
- }
for (Dependency d : finder.findDependencies(cf)) {
if (depth == 0) {
// ignore the dependency
@@ -700,6 +760,7 @@
boolean version;
boolean fullVersion;
boolean showProfile;
+ boolean showModule;
boolean showSummary;
boolean apiOnly;
boolean showLabel;
@@ -717,6 +778,9 @@
Set<String> packageNames = new HashSet<>();
String regex; // apply to the dependences
Pattern includePattern; // apply to classes
+ // module boundary access check
+ boolean verifyAccess;
+ Path mpath;
}
private static class ResourceBundleHelper {
static final ResourceBundle versionRB;
@@ -803,8 +867,12 @@
@Override
public void visitDependence(String origin, Archive originArchive,
String target, Archive targetArchive) {
- writer.format("%s -> %s", originArchive.getName(), targetArchive.getPathName());
- if (options.showProfile && JDKArchive.isProfileArchive(targetArchive)) {
+ String targetName = targetArchive.getPathName();
+ if (options.showModule && isJDKModule(targetArchive)) {
+ targetName = ((Module)targetArchive).name();
+ }
+ writer.format("%s -> %s", originArchive.getName(), targetName);
+ if (options.showProfile && isJDKModule(targetArchive)) {
writer.format(" (%s)", target);
}
writer.format("%n");
@@ -856,12 +924,14 @@
public void visitDependence(String origin, Archive originArchive,
String target, Archive targetArchive) {
String targetName = type == PACKAGE ? target : targetArchive.getName();
- if (type == PACKAGE) {
- String tag = toTag(target, targetArchive, type);
- if (!tag.isEmpty())
- targetName += " (" + tag + ")";
- } else if (options.showProfile && JDKArchive.isProfileArchive(targetArchive)) {
- targetName += " (" + target + ")";
+ if (isJDKModule(targetArchive)) {
+ Module m = (Module)targetArchive;
+ String n = showProfileOrModule(m);
+ if (!n.isEmpty()) {
+ targetName += " (" + n + ")";
+ }
+ } else if (type == PACKAGE) {
+ targetName += " (" + targetArchive.getName() + ")";
}
String label = getLabel(originArchive, targetArchive);
writer.format(" %-50s -> \"%s\"%s;%n",
@@ -884,7 +954,7 @@
edges.putIfAbsent(originArchive, new HashMap<>());
edges.get(originArchive).putIfAbsent(targetArchive, new StringBuilder());
StringBuilder sb = edges.get(originArchive).get(targetArchive);
- String tag = toTag(target, targetArchive, PACKAGE);
+ String tag = toTag(target, targetArchive);
addLabel(sb, origin, target, tag);
}
@@ -902,8 +972,8 @@
/**
* Test if the given archive is part of the JDK
*/
- private boolean isJDKArchive(Archive archive) {
- return JDKArchive.class.isInstance(archive);
+ private boolean isJDKModule(Archive archive) {
+ return Module.class.isInstance(archive);
}
/**
@@ -913,34 +983,42 @@
*
* For non-JDK archives, this method returns the file name of the archive.
*/
- private String toTag(String name, Archive source, Analyzer.Type type) {
- if (!isJDKArchive(source)) {
+ private String toTag(String name, Archive source) {
+ if (!isJDKModule(source)) {
return source.getName();
}
- JDKArchive jdk = (JDKArchive)source;
+ Module module = (Module)source;
boolean isExported = false;
- if (type == CLASS || type == VERBOSE) {
- isExported = jdk.isExported(name);
+ if (options.verbose == CLASS || options.verbose == VERBOSE) {
+ isExported = module.isExported(name);
} else {
- isExported = jdk.isExportedPackage(name);
+ isExported = module.isExportedPackage(name);
}
- Profile p = getProfile(name, type);
if (isExported) {
// exported API
- return options.showProfile && p != null ? p.profileName() : "";
+ return showProfileOrModule(module);
} else {
return "JDK internal API (" + source.getName() + ")";
}
}
- private String toTag(String name, Archive source) {
- return toTag(name, source, options.verbose);
+ private String showProfileOrModule(Module m) {
+ String tag = "";
+ if (options.showProfile) {
+ Profile p = Profile.getProfile(m);
+ if (p != null) {
+ tag = p.profileName();
+ }
+ } else if (options.showModule) {
+ tag = m.name();
+ }
+ return tag;
}
- private Profile getProfile(String name, Analyzer.Type type) {
+ private Profile getProfile(String name) {
String pn = name;
- if (type == CLASS || type == VERBOSE) {
+ if (options.verbose == CLASS || options.verbose == VERBOSE) {
int i = name.lastIndexOf('.');
pn = i > 0 ? name.substring(0, i) : "";
}
diff --git a/langtools/src/share/classes/com/sun/tools/jdeps/Main.java b/langtools/src/jdk.dev/share/classes/com/sun/tools/jdeps/Main.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/jdeps/Main.java
rename to langtools/src/jdk.dev/share/classes/com/sun/tools/jdeps/Main.java
diff --git a/langtools/src/jdk.dev/share/classes/com/sun/tools/jdeps/Module.java b/langtools/src/jdk.dev/share/classes/com/sun/tools/jdeps/Module.java
new file mode 100644
index 0000000..bb04629
--- /dev/null
+++ b/langtools/src/jdk.dev/share/classes/com/sun/tools/jdeps/Module.java
@@ -0,0 +1,196 @@
+/*
+ * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+package com.sun.tools.jdeps;
+
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Set;
+
+/**
+ * JDeps internal representation of module for dependency analysis.
+ */
+final class Module extends Archive {
+ private final String moduleName;
+ private final Map<String, Boolean> requires;
+ private final Map<String, Set<String>> exports;
+ private final Set<String> packages;
+
+ private Module(ClassFileReader reader, String name,
+ Map<String, Boolean> requires,
+ Map<String, Set<String>> exports,
+ Set<String> packages) {
+ super(name, reader);
+ this.moduleName = name;
+ this.requires = Collections.unmodifiableMap(requires);
+ this.exports = Collections.unmodifiableMap(exports);
+ this.packages = Collections.unmodifiableSet(packages);
+ }
+
+ public String name() {
+ return moduleName;
+ }
+
+ public Map<String, Boolean> requires() {
+ return requires;
+ }
+
+ public Map<String, Set<String>> exports() {
+ return exports;
+ }
+
+ public Set<String> packages() {
+ return packages;
+ }
+
+ /**
+ * Tests if this module can read m
+ */
+ public boolean canRead(Module m) {
+ // ## TODO: handle "re-exported=true"
+ // all JDK modules require all modules containing its direct dependences
+ // should not be an issue
+ return requires.containsKey(m.name());
+ }
+
+ /**
+ * Tests if a given fully-qualified name is an exported type.
+ */
+ public boolean isExported(String cn) {
+ int i = cn.lastIndexOf('.');
+ String pn = i > 0 ? cn.substring(0, i) : "";
+
+ return isExportedPackage(pn);
+ }
+
+ /**
+ * Tests if a given package name is exported.
+ */
+ public boolean isExportedPackage(String pn) {
+ return exports.containsKey(pn) ? exports.get(pn).isEmpty() : false;
+ }
+
+ /**
+ * Tests if the given classname is accessible to module m
+ */
+ public boolean isAccessibleTo(String classname, Module m) {
+ int i = classname.lastIndexOf('.');
+ String pn = i > 0 ? classname.substring(0, i) : "";
+ if (!packages.contains(pn)) {
+ throw new IllegalArgumentException(classname + " is not a member of module " + name());
+ }
+
+ if (m != null && !m.canRead(this)) {
+ trace("%s not readable by %s%n", this.name(), m.name());
+ return false;
+ }
+
+ // exported API
+ Set<String> ms = exports().get(pn);
+ String mname = m != null ? m.name() : "unnamed";
+ if (ms == null) {
+ trace("%s not exported in %s%n", classname, this.name());
+ } else if (!(ms.isEmpty() || ms.contains(mname))) {
+ trace("%s not permit to %s %s%n", classname, mname, ms);
+ }
+ return ms != null && (ms.isEmpty() || ms.contains(mname));
+ }
+
+ private static final boolean traceOn = Boolean.getBoolean("jdeps.debug");
+ private void trace(String fmt, Object... args) {
+ if (traceOn) {
+ System.err.format(fmt, args);
+ }
+ }
+
+ @Override
+ public boolean equals(Object ob) {
+ if (!(ob instanceof Module))
+ return false;
+ Module that = (Module)ob;
+ return (moduleName.equals(that.moduleName)
+ && requires.equals(that.requires)
+ && exports.equals(that.exports)
+ && packages.equals(that.packages));
+ }
+
+ @Override
+ public int hashCode() {
+ int hc = moduleName.hashCode();
+ hc = hc * 43 + requires.hashCode();
+ hc = hc * 43 + exports.hashCode();
+ hc = hc * 43 + packages.hashCode();
+ return hc;
+ }
+
+ @Override
+ public String toString() {
+ return name();
+ }
+
+ public final static class Builder {
+ String name;
+ ClassFileReader reader;
+ final Map<String, Boolean> requires = new HashMap<>();
+ final Map<String, Set<String>> exports = new HashMap<>();
+ final Set<String> packages = new HashSet<>();
+
+ public Builder() {
+ }
+
+ public Builder name(String n) {
+ name = n;
+ return this;
+ }
+
+ public Builder require(String d, boolean reexport) {
+ // System.err.format("%s depend %s reexports %s%n", name, d, reexport);
+ requires.put(d, reexport);
+ return this;
+ }
+
+ public Builder include(String p) {
+ packages.add(p);
+ return this;
+ }
+
+ public Builder export(String p, Set<String> ms) {
+ Objects.requireNonNull(p);
+ Objects.requireNonNull(ms);
+ exports.put(p, new HashSet<>(ms));
+ return this;
+ }
+ public Builder classes(ClassFileReader reader) {
+ this.reader = reader;
+ return this;
+ }
+ public Module build() {
+ Module m = new Module(reader, name, requires, exports, packages);
+ return m;
+ }
+ }
+}
diff --git a/langtools/src/jdk.dev/share/classes/com/sun/tools/jdeps/ModulesXmlReader.java b/langtools/src/jdk.dev/share/classes/com/sun/tools/jdeps/ModulesXmlReader.java
new file mode 100644
index 0000000..6a2e95f
--- /dev/null
+++ b/langtools/src/jdk.dev/share/classes/com/sun/tools/jdeps/ModulesXmlReader.java
@@ -0,0 +1,225 @@
+/*
+ * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+package com.sun.tools.jdeps;
+
+import com.sun.tools.classfile.ClassFile;
+import com.sun.tools.jdeps.PlatformClassPath.LegacyImageHelper;
+import java.io.IOException;
+import java.io.InputStream;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+import javax.xml.namespace.QName;
+import javax.xml.stream.XMLEventReader;
+import javax.xml.stream.XMLInputFactory;
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.events.Attribute;
+import javax.xml.stream.events.XMLEvent;
+
+abstract class ModulesXmlReader {
+ abstract ClassFileReader getClassFileReader(String modulename, Set<String> packages)
+ throws IOException;
+
+ static class ImageReader extends ModulesXmlReader {
+ final LegacyImageHelper helper;
+ ImageReader(LegacyImageHelper helper) {
+ this.helper = helper;
+ }
+ ClassFileReader getClassFileReader(String modulename, Set<String> packages)
+ throws IOException
+ {
+ return helper.getClassReader(modulename, packages);
+ }
+ }
+
+ static class ModulePathReader extends ModulesXmlReader {
+ final Path mpath;
+ final ClassFileReader defaultReader;
+ ModulePathReader(Path mp) throws IOException {
+ this.mpath = mp;
+ this.defaultReader = new NonExistModuleReader(mpath);
+ }
+ ClassFileReader getClassFileReader(String modulename, Set<String> packages)
+ throws IOException
+ {
+ Path mdir = mpath.resolve(modulename);
+ if (Files.exists(mdir) && Files.isDirectory(mdir)) {
+ return ClassFileReader.newInstance(mdir);
+ } else {
+ // aggregator module or os-specific module in modules.xml
+ // mdir not exist
+ return defaultReader;
+ }
+ }
+ class NonExistModuleReader extends ClassFileReader {
+ private final List<ClassFile> classes = Collections.emptyList();
+ private NonExistModuleReader(Path mpath) {
+ super(mpath);
+ }
+
+ public ClassFile getClassFile(String name) throws IOException {
+ return null;
+ }
+ public Iterable<ClassFile> getClassFiles() throws IOException {
+ return classes;
+ }
+ }
+ }
+
+ public static Set<Module> load(Path mpath, InputStream in)
+ throws IOException
+ {
+ try {
+ ModulePathReader reader = new ModulePathReader(mpath);
+ return reader.load(in);
+ } catch (XMLStreamException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ public static Set<Module> loadFromImage(LegacyImageHelper helper, InputStream in)
+ throws IOException
+ {
+ try {
+ ImageReader reader = new ImageReader(helper);
+ return reader.load(in);
+ } catch (XMLStreamException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ private static final String MODULES = "modules";
+ private static final String MODULE = "module";
+ private static final String NAME = "name";
+ private static final String DEPEND = "depend";
+ private static final String EXPORT = "export";
+ private static final String TO = "to";
+ private static final String INCLUDE = "include";
+ private static final QName REEXPORTS = new QName("re-exports");
+ public Set<Module> load(InputStream in) throws XMLStreamException, IOException {
+ Set<Module> modules = new HashSet<>();
+ if (in == null) {
+ System.err.println("WARNING: modules.xml doesn't exist");
+ return modules;
+ }
+ XMLInputFactory factory = XMLInputFactory.newInstance();
+ XMLEventReader reader = factory.createXMLEventReader(in, "UTF-8");
+ Module.Builder mb = null;
+ String modulename = null;
+ String exportedPackage = null;
+ Set<String> permits = new HashSet<>();
+ while (reader.hasNext()) {
+ XMLEvent event = reader.nextEvent();
+ if (event.isStartElement()) {
+ String startTag = event.asStartElement().getName().getLocalPart();
+ switch (startTag) {
+ case MODULES:
+ break;
+ case MODULE:
+ if (mb != null) {
+ throw new RuntimeException("end tag for module is missing");
+ }
+ modulename = getNextTag(reader, NAME);
+ mb = new Module.Builder();
+ mb.name(modulename);
+ break;
+ case NAME:
+ throw new RuntimeException(event.toString());
+ case DEPEND:
+ boolean reexports = false;
+ Attribute attr = event.asStartElement().getAttributeByName(REEXPORTS);
+ if (attr != null) {
+ String value = attr.getValue();
+ if (value.equals("true") || value.equals("false")) {
+ reexports = Boolean.parseBoolean(value);
+ } else {
+ throw new RuntimeException("unexpected attribute " + attr.toString());
+ }
+ }
+ mb.require(getData(reader), reexports);
+ break;
+ case INCLUDE:
+ mb.include(getData(reader));
+ break;
+ case EXPORT:
+ exportedPackage = getNextTag(reader, NAME);
+ break;
+ case TO:
+ permits.add(getData(reader));
+ break;
+ default:
+ throw new RuntimeException("invalid element: " + event);
+ }
+ } else if (event.isEndElement()) {
+ String endTag = event.asEndElement().getName().getLocalPart();
+ switch (endTag) {
+ case MODULE:
+ ClassFileReader cfr = getClassFileReader(modulename, mb.packages);
+ mb.classes(cfr);
+ modules.add(mb.build());
+ mb = null;
+ break;
+ case EXPORT:
+ if (exportedPackage == null) {
+ throw new RuntimeException("export's name is missing");
+ }
+ mb.export(exportedPackage, permits);
+ exportedPackage = null;
+ permits.clear();
+ break;
+ default:
+ }
+ } else if (event.isCharacters()) {
+ String s = event.asCharacters().getData();
+ if (!s.trim().isEmpty()) {
+ throw new RuntimeException("export-to is malformed");
+ }
+ }
+ }
+ return modules;
+ }
+ private String getData(XMLEventReader reader) throws XMLStreamException {
+ XMLEvent e = reader.nextEvent();
+ if (e.isCharacters()) {
+ return e.asCharacters().getData();
+ }
+ throw new RuntimeException(e.toString());
+ }
+
+ private String getNextTag(XMLEventReader reader, String tag) throws XMLStreamException {
+ XMLEvent e = reader.nextTag();
+ if (e.isStartElement()) {
+ String t = e.asStartElement().getName().getLocalPart();
+ if (!tag.equals(t)) {
+ throw new RuntimeException(e + " expected: " + tag);
+ }
+ return getData(reader);
+ }
+ throw new RuntimeException("export-to name is missing:" + e);
+ }
+}
diff --git a/langtools/src/jdk.dev/share/classes/com/sun/tools/jdeps/PlatformClassPath.java b/langtools/src/jdk.dev/share/classes/com/sun/tools/jdeps/PlatformClassPath.java
new file mode 100644
index 0000000..4711978
--- /dev/null
+++ b/langtools/src/jdk.dev/share/classes/com/sun/tools/jdeps/PlatformClassPath.java
@@ -0,0 +1,303 @@
+/*
+ * Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+package com.sun.tools.jdeps;
+
+import com.sun.tools.classfile.Annotation;
+import com.sun.tools.classfile.ClassFile;
+import com.sun.tools.classfile.ConstantPool;
+import com.sun.tools.classfile.ConstantPoolException;
+import com.sun.tools.classfile.RuntimeAnnotations_attribute;
+import com.sun.tools.classfile.Dependencies.ClassFileError;
+import java.io.IOException;
+import java.io.InputStream;
+import java.nio.file.FileVisitResult;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.nio.file.SimpleFileVisitor;
+import java.nio.file.attribute.BasicFileAttributes;
+import java.util.*;
+import java.util.jar.*;
+
+import static com.sun.tools.classfile.Attribute.*;
+import static com.sun.tools.jdeps.ClassFileReader.*;
+
+/**
+ * ClassPath for Java SE and JDK
+ */
+class PlatformClassPath {
+ private static List<Archive> modules;
+ static synchronized List<Archive> getArchives(Path mpath) throws IOException {
+ if (modules == null) {
+ initPlatformArchives(mpath);
+ }
+ return modules;
+ }
+
+ /**
+ * Finds the module with the given name. Returns null
+ * if such module doesn't exist.
+ *
+ * @param mn module name
+ */
+ static Module findModule(String mn) {
+ for (Archive a : modules) {
+ if (Module.class.isInstance(a)) {
+ Module m = (Module)a;
+ if (mn.equals(m.name())) {
+ return m;
+ }
+ }
+ }
+ return null;
+ }
+
+ private static List<Archive> initPlatformArchives(Path mpath) throws IOException {
+ Path home = Paths.get(System.getProperty("java.home"));
+ if (mpath == null && !home.endsWith("jre")) {
+ // jdk build
+ Path p = home.resolve("modules");
+ if (Files.isDirectory(p)) {
+ mpath = p;
+ }
+ }
+ modules = mpath != null ? initModules(mpath) : initLegacyImage(home);
+ if (findModule("java.base") != null) {
+ Profile.initProfiles();
+ }
+ return modules;
+ }
+
+ private static List<Archive> initModules(Path mpath) throws IOException {
+ try (InputStream in = PlatformClassPath.class
+ .getResourceAsStream("resources/modules.xml")) {
+ return new ArrayList<Archive>(ModulesXmlReader.load(mpath, in));
+ }
+ }
+
+ private static List<Archive> initLegacyImage(Path home) throws IOException {
+ LegacyImageHelper cfr = new LegacyImageHelper(home);
+ List<Archive> archives = new ArrayList<>(cfr.nonPlatformArchives);
+ try (InputStream in = PlatformClassPath.class
+ .getResourceAsStream("resources/modules.xml")) {
+ archives.addAll(ModulesXmlReader.loadFromImage(cfr, in));
+ return archives;
+ }
+ }
+
+ static class LegacyImageHelper {
+ private static final List<String> NON_PLATFORM_JARFILES =
+ Arrays.asList("alt-rt.jar", "jfxrt.jar", "ant-javafx.jar", "javafx-mx.jar");
+ final List<Archive> nonPlatformArchives = new ArrayList<>();
+ final List<JarFile> jarfiles = new ArrayList<>();
+ final Path home;
+
+ LegacyImageHelper(Path home) {
+ this.home = home;
+ try {
+ if (home.endsWith("jre")) {
+ // jar files in <javahome>/jre/lib
+ addJarFiles(home.resolve("lib"));
+ if (home.getParent() != null) {
+ // add tools.jar and other JDK jar files
+ Path lib = home.getParent().resolve("lib");
+ if (Files.exists(lib)) {
+ addJarFiles(lib);
+ }
+ }
+ } else if (Files.exists(home.resolve("lib"))) {
+ // add other JAR files
+ addJarFiles(home.resolve("lib"));
+ } else {
+ throw new RuntimeException("\"" + home + "\" not a JDK home");
+ }
+ } catch (IOException e) {
+ throw new Error(e);
+ }
+ }
+
+ /**
+ * Returns a ClassFileReader that only reads classes for the given modulename.
+ */
+ ClassFileReader getClassReader(String modulename, Set<String> packages) throws IOException {
+ return new ModuleClassReader(modulename, packages);
+ }
+
+ private void addJarFiles(final Path root) throws IOException {
+ final Path ext = root.resolve("ext");
+ Files.walkFileTree(root, new SimpleFileVisitor<Path>() {
+ @Override
+ public FileVisitResult preVisitDirectory(Path dir, BasicFileAttributes attrs)
+ throws IOException
+ {
+ if (dir.equals(root) || dir.equals(ext)) {
+ return FileVisitResult.CONTINUE;
+ } else {
+ // skip other cobundled JAR files
+ return FileVisitResult.SKIP_SUBTREE;
+ }
+ }
+
+ @Override
+ public FileVisitResult visitFile(Path p, BasicFileAttributes attrs)
+ throws IOException
+ {
+ String fn = p.getFileName().toString();
+ if (fn.endsWith(".jar")) {
+ // JDK may cobundle with JavaFX that doesn't belong to any profile
+ // Treat jfxrt.jar as regular Archive
+ if (NON_PLATFORM_JARFILES.contains(fn)) {
+ nonPlatformArchives.add(Archive.getInstance(p));
+ } else {
+ jarfiles.add(new JarFile(p.toFile()));
+ }
+ }
+ return FileVisitResult.CONTINUE;
+ }
+ });
+ }
+
+ /**
+ * ModuleClassFile reads classes for the specified module from the legacy image.
+ *
+ */
+ class ModuleClassReader extends JarFileReader {
+ private JarFile cachedJarFile = getJarFile(0);
+ private final Set<String> packages;
+ private final String module;
+ ModuleClassReader(String module, Set<String> packages) throws IOException {
+ super(home, null);
+ this.module = module;
+ this.packages = packages;
+ }
+
+ private boolean includes(String name) {
+ String cn = name.replace('/', '.');
+ int i = cn.lastIndexOf('.');
+ String pn = i > 0 ? cn.substring(0, i) : "";
+ return packages.contains(pn);
+ }
+
+ private JarEntry findJarEntry(JarFile jarfile, String entryName1, String entryName2) {
+ JarEntry e = jarfile.getJarEntry(entryName1);
+ if (e == null) {
+ e = jarfile.getJarEntry(entryName2);
+ }
+ return e;
+ }
+
+ public String toString() {
+ return module + " " + packages.size() + " " + packages;
+ }
+
+ @Override
+ public ClassFile getClassFile(String name) throws IOException {
+ if (jarfiles.isEmpty() || !includes(name)) {
+ return null;
+ }
+
+ if (name.indexOf('.') > 0) {
+ int i = name.lastIndexOf('.');
+ String entryName = name.replace('.', '/') + ".class";
+ String innerClassName = entryName.substring(0, i) + "$"
+ + entryName.substring(i + 1, entryName.length());
+ JarEntry e = findJarEntry(cachedJarFile, entryName, innerClassName);
+ if (e != null) {
+ return readClassFile(cachedJarFile, e);
+ }
+ for (JarFile jf : jarfiles) {
+ if (jf == cachedJarFile) {
+ continue;
+ }
+ System.err.format("find jar entry %s at %s%n", entryName, jf);
+ e = findJarEntry(jf, entryName, innerClassName);
+ if (e != null) {
+ cachedJarFile = jf;
+ return readClassFile(jf, e);
+ }
+ }
+ } else {
+ String entryName = name + ".class";
+ JarEntry e = cachedJarFile.getJarEntry(entryName);
+ if (e != null) {
+ return readClassFile(cachedJarFile, e);
+ }
+ for (JarFile jf : jarfiles) {
+ if (jf == cachedJarFile) {
+ continue;
+ }
+ e = jf.getJarEntry(entryName);
+ if (e != null) {
+ cachedJarFile = jf;
+ return readClassFile(jf, e);
+ }
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public Iterable<ClassFile> getClassFiles() throws IOException {
+ final Iterator<ClassFile> iter = new ModuleClassIterator(this);
+ return new Iterable<ClassFile>() {
+ public Iterator<ClassFile> iterator() {
+ return iter;
+ }
+ };
+ }
+
+ private JarFile getJarFile(int index) {
+ return index < jarfiles.size() ? jarfiles.get(index) : null;
+ }
+
+ class ModuleClassIterator extends JarFileIterator {
+ private int index;
+ ModuleClassIterator(ModuleClassReader reader) {
+ super(reader);
+ this.index = 0;
+ this.jf = getJarFile(0);
+ this.entries = jf != null ? jf.entries() : null;
+ this.nextEntry = nextEntry();
+ }
+
+ @Override
+ protected JarEntry nextEntry() {
+ while (jf != null) {
+ while (entries.hasMoreElements()) {
+ JarEntry e = entries.nextElement();
+ String name = e.getName();
+ if (name.endsWith(".class") && includes(name)) {
+ return e;
+ }
+ }
+ jf = getJarFile(++index);
+ entries = jf != null ? jf.entries() : null;
+ }
+ return null;
+ }
+ }
+ }
+ }
+}
diff --git a/langtools/src/jdk.dev/share/classes/com/sun/tools/jdeps/Profile.java b/langtools/src/jdk.dev/share/classes/com/sun/tools/jdeps/Profile.java
new file mode 100644
index 0000000..14660e2
--- /dev/null
+++ b/langtools/src/jdk.dev/share/classes/com/sun/tools/jdeps/Profile.java
@@ -0,0 +1,129 @@
+/*
+ * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+package com.sun.tools.jdeps;
+
+import java.io.IOException;
+import java.util.*;
+
+/**
+ * Build the profile information from ct.sym if exists.
+ */
+enum Profile {
+ COMPACT1("compact1", 1, "java.compact1"),
+ COMPACT2("compact2", 2, "java.compact2"),
+ COMPACT3("compact3", 3, "java.compact3"),
+ FULL_JRE("Full JRE", 4, "java.se");
+
+ final String name;
+ final int profile;
+ final String moduleName;
+ final Set<Module> modules = new HashSet<>();
+
+ Profile(String name, int profile, String moduleName) {
+ this.name = name;
+ this.profile = profile;
+ this.moduleName = moduleName;
+ }
+
+ public String profileName() {
+ return name;
+ }
+
+ @Override
+ public String toString() {
+ return moduleName;
+ }
+
+ public static int getProfileCount() {
+ return JDK.isEmpty() ? 0 : Profile.values().length;
+ }
+
+ /**
+ * Returns the Profile for the given package name; null if not found.
+ */
+ public static Profile getProfile(String pn) {
+ for (Profile p : Profile.values()) {
+ for (Module m : p.modules) {
+ if (m.packages().contains(pn)) {
+ return p;
+ }
+ }
+ }
+ return null;
+ }
+
+ /*
+ * Returns the Profile for a given Module; null if not found.
+ */
+ public static Profile getProfile(Module m) {
+ for (Profile p : Profile.values()) {
+ if (p.modules.contains(m)) {
+ return p;
+ }
+ }
+ return null;
+ }
+
+ final static Set<Module> JDK = new HashSet<>();
+ static void initProfiles() {
+ for (Profile p : Profile.values()) {
+ Module m = PlatformClassPath.findModule(p.moduleName);
+ if (m == null)
+ throw new Error(p.moduleName + " doesn't exist");
+ p.modules.add(m);
+ JDK.add(m);
+ for (String n : m.requires().keySet()) {
+ Module d = PlatformClassPath.findModule(n);
+ if (d == null)
+ throw new Error(n + " doesn't exist");
+ p.modules.add(d);
+ JDK.add(d);
+ }
+ }
+ }
+ // for debugging
+ public static void main(String[] args) throws IOException {
+ // find platform modules
+ PlatformClassPath.getArchives(null);
+ if (Profile.getProfileCount() == 0) {
+ System.err.println("No profile is present in this JDK");
+ }
+ for (Profile p : Profile.values()) {
+ String profileName = p.name;
+ System.out.format("%2d: %-10s %s%n", p.profile, profileName, p.modules);
+ for (Module m: p.modules) {
+ System.out.format("module %s%n", m.name());
+ System.out.format(" requires %s%n", m.requires());
+ for (Map.Entry<String,Set<String>> e: m.exports().entrySet()) {
+ System.out.format(" exports %s %s%n", e.getKey(),
+ e.getValue().isEmpty() ? "" : "to " + e.getValue());
+ }
+ }
+ }
+ System.out.println("All JDK modules:-");
+ JDK.stream().sorted(Comparator.comparing(Module::name))
+ .forEach(m -> System.out.println(m));
+ }
+}
diff --git a/langtools/src/share/classes/com/sun/tools/jdeps/resources/jdeps.properties b/langtools/src/jdk.dev/share/classes/com/sun/tools/jdeps/resources/jdeps.properties
similarity index 98%
rename from langtools/src/share/classes/com/sun/tools/jdeps/resources/jdeps.properties
rename to langtools/src/jdk.dev/share/classes/com/sun/tools/jdeps/resources/jdeps.properties
index ccd14ab..5da8667 100644
--- a/langtools/src/share/classes/com/sun/tools/jdeps/resources/jdeps.properties
+++ b/langtools/src/jdk.dev/share/classes/com/sun/tools/jdeps/resources/jdeps.properties
@@ -52,6 +52,9 @@
main.opt.P=\
\ -P -profile Show profile or the file containing a package
+main.opt.M=\
+\ -M -module Show module containing the package
+
main.opt.cp=\
\ -cp <path> -classpath <path> Specify where to find class files
diff --git a/langtools/src/share/classes/com/sun/tools/jdeps/resources/jdeps_ja.properties b/langtools/src/jdk.dev/share/classes/com/sun/tools/jdeps/resources/jdeps_ja.properties
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/jdeps/resources/jdeps_ja.properties
rename to langtools/src/jdk.dev/share/classes/com/sun/tools/jdeps/resources/jdeps_ja.properties
diff --git a/langtools/src/share/classes/com/sun/tools/jdeps/resources/jdeps_zh_CN.properties b/langtools/src/jdk.dev/share/classes/com/sun/tools/jdeps/resources/jdeps_zh_CN.properties
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/jdeps/resources/jdeps_zh_CN.properties
rename to langtools/src/jdk.dev/share/classes/com/sun/tools/jdeps/resources/jdeps_zh_CN.properties
diff --git a/langtools/src/share/classes/com/sun/tools/jdeps/resources/jdkinternals.properties b/langtools/src/jdk.dev/share/classes/com/sun/tools/jdeps/resources/jdkinternals.properties
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/jdeps/resources/jdkinternals.properties
rename to langtools/src/jdk.dev/share/classes/com/sun/tools/jdeps/resources/jdkinternals.properties
diff --git a/langtools/src/share/classes/com/sun/tools/jdeps/resources/version.properties-template b/langtools/src/jdk.dev/share/classes/com/sun/tools/jdeps/resources/version.properties-template
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/jdeps/resources/version.properties-template
rename to langtools/src/jdk.dev/share/classes/com/sun/tools/jdeps/resources/version.properties-template
diff --git a/langtools/src/share/classes/com/sun/javadoc/AnnotatedType.java b/langtools/src/jdk.javadoc/share/classes/com/sun/javadoc/AnnotatedType.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/javadoc/AnnotatedType.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/javadoc/AnnotatedType.java
diff --git a/langtools/src/share/classes/com/sun/javadoc/AnnotationDesc.java b/langtools/src/jdk.javadoc/share/classes/com/sun/javadoc/AnnotationDesc.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/javadoc/AnnotationDesc.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/javadoc/AnnotationDesc.java
diff --git a/langtools/src/share/classes/com/sun/javadoc/AnnotationTypeDoc.java b/langtools/src/jdk.javadoc/share/classes/com/sun/javadoc/AnnotationTypeDoc.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/javadoc/AnnotationTypeDoc.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/javadoc/AnnotationTypeDoc.java
diff --git a/langtools/src/share/classes/com/sun/javadoc/AnnotationTypeElementDoc.java b/langtools/src/jdk.javadoc/share/classes/com/sun/javadoc/AnnotationTypeElementDoc.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/javadoc/AnnotationTypeElementDoc.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/javadoc/AnnotationTypeElementDoc.java
diff --git a/langtools/src/share/classes/com/sun/javadoc/AnnotationValue.java b/langtools/src/jdk.javadoc/share/classes/com/sun/javadoc/AnnotationValue.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/javadoc/AnnotationValue.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/javadoc/AnnotationValue.java
diff --git a/langtools/src/share/classes/com/sun/javadoc/ClassDoc.java b/langtools/src/jdk.javadoc/share/classes/com/sun/javadoc/ClassDoc.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/javadoc/ClassDoc.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/javadoc/ClassDoc.java
diff --git a/langtools/src/share/classes/com/sun/javadoc/ConstructorDoc.java b/langtools/src/jdk.javadoc/share/classes/com/sun/javadoc/ConstructorDoc.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/javadoc/ConstructorDoc.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/javadoc/ConstructorDoc.java
diff --git a/langtools/src/share/classes/com/sun/javadoc/Doc.java b/langtools/src/jdk.javadoc/share/classes/com/sun/javadoc/Doc.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/javadoc/Doc.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/javadoc/Doc.java
diff --git a/langtools/src/share/classes/com/sun/javadoc/DocErrorReporter.java b/langtools/src/jdk.javadoc/share/classes/com/sun/javadoc/DocErrorReporter.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/javadoc/DocErrorReporter.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/javadoc/DocErrorReporter.java
diff --git a/langtools/src/share/classes/com/sun/javadoc/Doclet.java b/langtools/src/jdk.javadoc/share/classes/com/sun/javadoc/Doclet.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/javadoc/Doclet.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/javadoc/Doclet.java
diff --git a/langtools/src/share/classes/com/sun/javadoc/ExecutableMemberDoc.java b/langtools/src/jdk.javadoc/share/classes/com/sun/javadoc/ExecutableMemberDoc.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/javadoc/ExecutableMemberDoc.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/javadoc/ExecutableMemberDoc.java
diff --git a/langtools/src/share/classes/com/sun/javadoc/FieldDoc.java b/langtools/src/jdk.javadoc/share/classes/com/sun/javadoc/FieldDoc.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/javadoc/FieldDoc.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/javadoc/FieldDoc.java
diff --git a/langtools/src/share/classes/com/sun/javadoc/LanguageVersion.java b/langtools/src/jdk.javadoc/share/classes/com/sun/javadoc/LanguageVersion.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/javadoc/LanguageVersion.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/javadoc/LanguageVersion.java
diff --git a/langtools/src/share/classes/com/sun/javadoc/MemberDoc.java b/langtools/src/jdk.javadoc/share/classes/com/sun/javadoc/MemberDoc.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/javadoc/MemberDoc.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/javadoc/MemberDoc.java
diff --git a/langtools/src/share/classes/com/sun/javadoc/MethodDoc.java b/langtools/src/jdk.javadoc/share/classes/com/sun/javadoc/MethodDoc.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/javadoc/MethodDoc.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/javadoc/MethodDoc.java
diff --git a/langtools/src/share/classes/com/sun/javadoc/PackageDoc.java b/langtools/src/jdk.javadoc/share/classes/com/sun/javadoc/PackageDoc.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/javadoc/PackageDoc.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/javadoc/PackageDoc.java
diff --git a/langtools/src/share/classes/com/sun/javadoc/ParamTag.java b/langtools/src/jdk.javadoc/share/classes/com/sun/javadoc/ParamTag.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/javadoc/ParamTag.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/javadoc/ParamTag.java
diff --git a/langtools/src/share/classes/com/sun/javadoc/Parameter.java b/langtools/src/jdk.javadoc/share/classes/com/sun/javadoc/Parameter.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/javadoc/Parameter.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/javadoc/Parameter.java
diff --git a/langtools/src/share/classes/com/sun/javadoc/ParameterizedType.java b/langtools/src/jdk.javadoc/share/classes/com/sun/javadoc/ParameterizedType.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/javadoc/ParameterizedType.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/javadoc/ParameterizedType.java
diff --git a/langtools/src/share/classes/com/sun/javadoc/ProgramElementDoc.java b/langtools/src/jdk.javadoc/share/classes/com/sun/javadoc/ProgramElementDoc.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/javadoc/ProgramElementDoc.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/javadoc/ProgramElementDoc.java
diff --git a/langtools/src/share/classes/com/sun/javadoc/RootDoc.java b/langtools/src/jdk.javadoc/share/classes/com/sun/javadoc/RootDoc.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/javadoc/RootDoc.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/javadoc/RootDoc.java
diff --git a/langtools/src/share/classes/com/sun/javadoc/SeeTag.java b/langtools/src/jdk.javadoc/share/classes/com/sun/javadoc/SeeTag.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/javadoc/SeeTag.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/javadoc/SeeTag.java
diff --git a/langtools/src/share/classes/com/sun/javadoc/SerialFieldTag.java b/langtools/src/jdk.javadoc/share/classes/com/sun/javadoc/SerialFieldTag.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/javadoc/SerialFieldTag.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/javadoc/SerialFieldTag.java
diff --git a/langtools/src/share/classes/com/sun/javadoc/SourcePosition.java b/langtools/src/jdk.javadoc/share/classes/com/sun/javadoc/SourcePosition.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/javadoc/SourcePosition.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/javadoc/SourcePosition.java
diff --git a/langtools/src/share/classes/com/sun/javadoc/Tag.java b/langtools/src/jdk.javadoc/share/classes/com/sun/javadoc/Tag.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/javadoc/Tag.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/javadoc/Tag.java
diff --git a/langtools/src/share/classes/com/sun/javadoc/ThrowsTag.java b/langtools/src/jdk.javadoc/share/classes/com/sun/javadoc/ThrowsTag.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/javadoc/ThrowsTag.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/javadoc/ThrowsTag.java
diff --git a/langtools/src/share/classes/com/sun/javadoc/Type.java b/langtools/src/jdk.javadoc/share/classes/com/sun/javadoc/Type.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/javadoc/Type.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/javadoc/Type.java
diff --git a/langtools/src/share/classes/com/sun/javadoc/TypeVariable.java b/langtools/src/jdk.javadoc/share/classes/com/sun/javadoc/TypeVariable.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/javadoc/TypeVariable.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/javadoc/TypeVariable.java
diff --git a/langtools/src/share/classes/com/sun/javadoc/WildcardType.java b/langtools/src/jdk.javadoc/share/classes/com/sun/javadoc/WildcardType.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/javadoc/WildcardType.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/javadoc/WildcardType.java
diff --git a/langtools/src/share/classes/com/sun/javadoc/package-info.java b/langtools/src/jdk.javadoc/share/classes/com/sun/javadoc/package-info.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/javadoc/package-info.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/javadoc/package-info.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/Taglet.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/Taglet.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/Taglet.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/Taglet.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/AbstractExecutableMemberWriter.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/AbstractExecutableMemberWriter.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/formats/html/AbstractExecutableMemberWriter.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/AbstractExecutableMemberWriter.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/AbstractIndexWriter.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/AbstractIndexWriter.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/formats/html/AbstractIndexWriter.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/AbstractIndexWriter.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/AbstractMemberWriter.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/AbstractMemberWriter.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/formats/html/AbstractMemberWriter.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/AbstractMemberWriter.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/AbstractPackageIndexWriter.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/AbstractPackageIndexWriter.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/formats/html/AbstractPackageIndexWriter.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/AbstractPackageIndexWriter.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/AbstractProfileIndexWriter.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/AbstractProfileIndexWriter.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/formats/html/AbstractProfileIndexWriter.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/AbstractProfileIndexWriter.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/AbstractTreeWriter.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/AbstractTreeWriter.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/formats/html/AbstractTreeWriter.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/AbstractTreeWriter.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/AllClassesFrameWriter.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/AllClassesFrameWriter.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/formats/html/AllClassesFrameWriter.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/AllClassesFrameWriter.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/AnnotationTypeFieldWriterImpl.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/AnnotationTypeFieldWriterImpl.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/formats/html/AnnotationTypeFieldWriterImpl.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/AnnotationTypeFieldWriterImpl.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/AnnotationTypeOptionalMemberWriterImpl.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/AnnotationTypeOptionalMemberWriterImpl.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/formats/html/AnnotationTypeOptionalMemberWriterImpl.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/AnnotationTypeOptionalMemberWriterImpl.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/AnnotationTypeRequiredMemberWriterImpl.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/AnnotationTypeRequiredMemberWriterImpl.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/formats/html/AnnotationTypeRequiredMemberWriterImpl.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/AnnotationTypeRequiredMemberWriterImpl.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/AnnotationTypeWriterImpl.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/AnnotationTypeWriterImpl.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/formats/html/AnnotationTypeWriterImpl.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/AnnotationTypeWriterImpl.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/ClassUseWriter.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/ClassUseWriter.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/formats/html/ClassUseWriter.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/ClassUseWriter.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/ClassWriterImpl.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/ClassWriterImpl.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/formats/html/ClassWriterImpl.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/ClassWriterImpl.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/ConfigurationImpl.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/ConfigurationImpl.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/formats/html/ConfigurationImpl.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/ConfigurationImpl.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/ConstantsSummaryWriterImpl.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/ConstantsSummaryWriterImpl.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/formats/html/ConstantsSummaryWriterImpl.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/ConstantsSummaryWriterImpl.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/ConstructorWriterImpl.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/ConstructorWriterImpl.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/formats/html/ConstructorWriterImpl.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/ConstructorWriterImpl.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/DeprecatedListWriter.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/DeprecatedListWriter.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/formats/html/DeprecatedListWriter.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/DeprecatedListWriter.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/EnumConstantWriterImpl.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/EnumConstantWriterImpl.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/formats/html/EnumConstantWriterImpl.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/EnumConstantWriterImpl.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/FieldWriterImpl.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/FieldWriterImpl.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/formats/html/FieldWriterImpl.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/FieldWriterImpl.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/FrameOutputWriter.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/FrameOutputWriter.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/formats/html/FrameOutputWriter.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/FrameOutputWriter.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/HelpWriter.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/HelpWriter.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/formats/html/HelpWriter.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/HelpWriter.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/HtmlDoclet.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/HtmlDoclet.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/formats/html/HtmlDoclet.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/HtmlDoclet.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/HtmlSerialFieldWriter.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/HtmlSerialFieldWriter.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/formats/html/HtmlSerialFieldWriter.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/HtmlSerialFieldWriter.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/HtmlSerialMethodWriter.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/HtmlSerialMethodWriter.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/formats/html/HtmlSerialMethodWriter.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/HtmlSerialMethodWriter.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/LinkFactoryImpl.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/LinkFactoryImpl.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/formats/html/LinkFactoryImpl.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/LinkFactoryImpl.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/LinkInfoImpl.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/LinkInfoImpl.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/formats/html/LinkInfoImpl.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/LinkInfoImpl.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/LinkOutputImpl.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/LinkOutputImpl.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/formats/html/LinkOutputImpl.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/LinkOutputImpl.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/MethodWriterImpl.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/MethodWriterImpl.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/formats/html/MethodWriterImpl.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/MethodWriterImpl.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/NestedClassWriterImpl.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/NestedClassWriterImpl.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/formats/html/NestedClassWriterImpl.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/NestedClassWriterImpl.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/PackageFrameWriter.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/PackageFrameWriter.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/formats/html/PackageFrameWriter.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/PackageFrameWriter.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/PackageIndexFrameWriter.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/PackageIndexFrameWriter.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/formats/html/PackageIndexFrameWriter.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/PackageIndexFrameWriter.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/PackageIndexWriter.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/PackageIndexWriter.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/formats/html/PackageIndexWriter.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/PackageIndexWriter.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/PackageTreeWriter.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/PackageTreeWriter.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/formats/html/PackageTreeWriter.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/PackageTreeWriter.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/PackageUseWriter.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/PackageUseWriter.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/formats/html/PackageUseWriter.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/PackageUseWriter.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/PackageWriterImpl.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/PackageWriterImpl.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/formats/html/PackageWriterImpl.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/PackageWriterImpl.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/ProfileIndexFrameWriter.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/ProfileIndexFrameWriter.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/formats/html/ProfileIndexFrameWriter.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/ProfileIndexFrameWriter.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/ProfilePackageFrameWriter.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/ProfilePackageFrameWriter.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/formats/html/ProfilePackageFrameWriter.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/ProfilePackageFrameWriter.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/ProfilePackageIndexFrameWriter.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/ProfilePackageIndexFrameWriter.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/formats/html/ProfilePackageIndexFrameWriter.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/ProfilePackageIndexFrameWriter.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/ProfilePackageWriterImpl.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/ProfilePackageWriterImpl.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/formats/html/ProfilePackageWriterImpl.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/ProfilePackageWriterImpl.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/ProfileWriterImpl.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/ProfileWriterImpl.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/formats/html/ProfileWriterImpl.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/ProfileWriterImpl.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/PropertyWriterImpl.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/PropertyWriterImpl.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/formats/html/PropertyWriterImpl.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/PropertyWriterImpl.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/SectionName.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/SectionName.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/formats/html/SectionName.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/SectionName.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/SerializedFormWriterImpl.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/SerializedFormWriterImpl.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/formats/html/SerializedFormWriterImpl.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/SerializedFormWriterImpl.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/SingleIndexWriter.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/SingleIndexWriter.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/formats/html/SingleIndexWriter.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/SingleIndexWriter.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/SourceToHTMLConverter.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/SourceToHTMLConverter.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/formats/html/SourceToHTMLConverter.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/SourceToHTMLConverter.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/SplitIndexWriter.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/SplitIndexWriter.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/formats/html/SplitIndexWriter.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/SplitIndexWriter.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/SubWriterHolderWriter.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/SubWriterHolderWriter.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/formats/html/SubWriterHolderWriter.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/SubWriterHolderWriter.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/TagletWriterImpl.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/TagletWriterImpl.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/formats/html/TagletWriterImpl.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/TagletWriterImpl.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/TreeWriter.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/TreeWriter.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/formats/html/TreeWriter.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/TreeWriter.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/WriterFactoryImpl.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/WriterFactoryImpl.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/formats/html/WriterFactoryImpl.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/WriterFactoryImpl.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/markup/Comment.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/markup/Comment.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/formats/html/markup/Comment.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/markup/Comment.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/markup/ContentBuilder.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/markup/ContentBuilder.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/formats/html/markup/ContentBuilder.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/markup/ContentBuilder.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/markup/DocType.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/markup/DocType.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/formats/html/markup/DocType.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/markup/DocType.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlAttr.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlAttr.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlAttr.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlAttr.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlConstants.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlConstants.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlConstants.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlConstants.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlDocWriter.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlDocWriter.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlDocWriter.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlDocWriter.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlDocument.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlDocument.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlDocument.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlDocument.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlStyle.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlStyle.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlStyle.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlStyle.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlTag.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlTag.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlTag.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlTag.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlTree.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlTree.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlTree.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlTree.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlWriter.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlWriter.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlWriter.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlWriter.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/markup/RawHtml.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/markup/RawHtml.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/formats/html/markup/RawHtml.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/markup/RawHtml.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/markup/StringContent.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/markup/StringContent.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/formats/html/markup/StringContent.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/markup/StringContent.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/markup/package-info.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/markup/package-info.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/formats/html/markup/package-info.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/markup/package-info.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/package-info.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/package-info.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/formats/html/package-info.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/package-info.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/resources/standard.properties b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/resources/standard.properties
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/formats/html/resources/standard.properties
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/resources/standard.properties
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/resources/standard_ja.properties b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/resources/standard_ja.properties
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/formats/html/resources/standard_ja.properties
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/resources/standard_ja.properties
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/resources/standard_zh_CN.properties b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/resources/standard_zh_CN.properties
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/formats/html/resources/standard_zh_CN.properties
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/resources/standard_zh_CN.properties
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/AbstractDoclet.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/AbstractDoclet.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/AbstractDoclet.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/AbstractDoclet.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/AnnotationTypeFieldWriter.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/AnnotationTypeFieldWriter.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/AnnotationTypeFieldWriter.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/AnnotationTypeFieldWriter.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/AnnotationTypeOptionalMemberWriter.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/AnnotationTypeOptionalMemberWriter.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/AnnotationTypeOptionalMemberWriter.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/AnnotationTypeOptionalMemberWriter.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/AnnotationTypeRequiredMemberWriter.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/AnnotationTypeRequiredMemberWriter.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/AnnotationTypeRequiredMemberWriter.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/AnnotationTypeRequiredMemberWriter.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/AnnotationTypeWriter.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/AnnotationTypeWriter.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/AnnotationTypeWriter.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/AnnotationTypeWriter.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/ClassWriter.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/ClassWriter.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/ClassWriter.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/ClassWriter.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/Configuration.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/Configuration.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/Configuration.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/Configuration.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/ConstantsSummaryWriter.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/ConstantsSummaryWriter.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/ConstantsSummaryWriter.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/ConstantsSummaryWriter.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/ConstructorWriter.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/ConstructorWriter.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/ConstructorWriter.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/ConstructorWriter.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/Content.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/Content.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/Content.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/Content.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/EnumConstantWriter.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/EnumConstantWriter.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/EnumConstantWriter.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/EnumConstantWriter.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/FieldWriter.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/FieldWriter.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/FieldWriter.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/FieldWriter.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/MemberSummaryWriter.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/MemberSummaryWriter.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/MemberSummaryWriter.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/MemberSummaryWriter.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/MethodWriter.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/MethodWriter.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/MethodWriter.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/MethodWriter.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/NestedClassWriter.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/NestedClassWriter.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/NestedClassWriter.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/NestedClassWriter.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/PackageSummaryWriter.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/PackageSummaryWriter.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/PackageSummaryWriter.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/PackageSummaryWriter.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/ProfilePackageSummaryWriter.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/ProfilePackageSummaryWriter.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/ProfilePackageSummaryWriter.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/ProfilePackageSummaryWriter.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/ProfileSummaryWriter.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/ProfileSummaryWriter.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/ProfileSummaryWriter.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/ProfileSummaryWriter.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/PropertyWriter.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/PropertyWriter.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/PropertyWriter.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/PropertyWriter.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/SerializedFormWriter.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/SerializedFormWriter.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/SerializedFormWriter.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/SerializedFormWriter.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/WriterFactory.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/WriterFactory.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/WriterFactory.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/WriterFactory.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AbstractBuilder.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AbstractBuilder.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AbstractBuilder.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AbstractBuilder.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AbstractMemberBuilder.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AbstractMemberBuilder.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AbstractMemberBuilder.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AbstractMemberBuilder.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AnnotationTypeBuilder.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AnnotationTypeBuilder.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AnnotationTypeBuilder.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AnnotationTypeBuilder.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AnnotationTypeFieldBuilder.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AnnotationTypeFieldBuilder.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AnnotationTypeFieldBuilder.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AnnotationTypeFieldBuilder.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AnnotationTypeOptionalMemberBuilder.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AnnotationTypeOptionalMemberBuilder.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AnnotationTypeOptionalMemberBuilder.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AnnotationTypeOptionalMemberBuilder.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AnnotationTypeRequiredMemberBuilder.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AnnotationTypeRequiredMemberBuilder.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AnnotationTypeRequiredMemberBuilder.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AnnotationTypeRequiredMemberBuilder.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/BuilderFactory.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/builders/BuilderFactory.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/BuilderFactory.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/builders/BuilderFactory.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/ClassBuilder.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/builders/ClassBuilder.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/ClassBuilder.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/builders/ClassBuilder.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/ConstantsSummaryBuilder.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/builders/ConstantsSummaryBuilder.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/ConstantsSummaryBuilder.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/builders/ConstantsSummaryBuilder.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/ConstructorBuilder.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/builders/ConstructorBuilder.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/ConstructorBuilder.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/builders/ConstructorBuilder.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/EnumConstantBuilder.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/builders/EnumConstantBuilder.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/EnumConstantBuilder.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/builders/EnumConstantBuilder.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/FieldBuilder.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/builders/FieldBuilder.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/FieldBuilder.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/builders/FieldBuilder.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/LayoutParser.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/builders/LayoutParser.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/LayoutParser.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/builders/LayoutParser.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/MemberSummaryBuilder.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/builders/MemberSummaryBuilder.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/MemberSummaryBuilder.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/builders/MemberSummaryBuilder.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/MethodBuilder.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/builders/MethodBuilder.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/MethodBuilder.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/builders/MethodBuilder.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/PackageSummaryBuilder.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/builders/PackageSummaryBuilder.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/PackageSummaryBuilder.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/builders/PackageSummaryBuilder.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/ProfilePackageSummaryBuilder.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/builders/ProfilePackageSummaryBuilder.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/ProfilePackageSummaryBuilder.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/builders/ProfilePackageSummaryBuilder.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/ProfileSummaryBuilder.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/builders/ProfileSummaryBuilder.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/ProfileSummaryBuilder.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/builders/ProfileSummaryBuilder.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/PropertyBuilder.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/builders/PropertyBuilder.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/PropertyBuilder.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/builders/PropertyBuilder.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/SerializedFormBuilder.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/builders/SerializedFormBuilder.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/SerializedFormBuilder.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/builders/SerializedFormBuilder.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/XMLNode.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/builders/XMLNode.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/XMLNode.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/builders/XMLNode.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/package-info.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/builders/package-info.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/package-info.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/builders/package-info.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/package-info.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/package-info.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/package-info.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/package-info.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclet.xml b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclet.xml
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclet.xml
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclet.xml
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclets.properties b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclets.properties
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclets.properties
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclets.properties
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclets_ja.properties b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclets_ja.properties
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclets_ja.properties
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclets_ja.properties
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclets_zh_CN.properties b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclets_zh_CN.properties
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclets_zh_CN.properties
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclets_zh_CN.properties
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/script.js b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/resources/script.js
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/script.js
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/resources/script.js
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/stylesheet.css b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/resources/stylesheet.css
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/stylesheet.css
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/resources/stylesheet.css
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/BaseExecutableMemberTaglet.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/BaseExecutableMemberTaglet.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/BaseExecutableMemberTaglet.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/BaseExecutableMemberTaglet.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/BaseInlineTaglet.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/BaseInlineTaglet.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/BaseInlineTaglet.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/BaseInlineTaglet.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/BasePropertyTaglet.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/BasePropertyTaglet.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/BasePropertyTaglet.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/BasePropertyTaglet.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/BaseTaglet.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/BaseTaglet.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/BaseTaglet.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/BaseTaglet.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/CodeTaglet.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/CodeTaglet.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/CodeTaglet.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/CodeTaglet.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/DeprecatedTaglet.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/DeprecatedTaglet.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/DeprecatedTaglet.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/DeprecatedTaglet.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/DocRootTaglet.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/DocRootTaglet.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/DocRootTaglet.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/DocRootTaglet.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/InheritDocTaglet.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/InheritDocTaglet.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/InheritDocTaglet.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/InheritDocTaglet.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/InheritableTaglet.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/InheritableTaglet.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/InheritableTaglet.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/InheritableTaglet.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/LegacyTaglet.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/LegacyTaglet.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/LegacyTaglet.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/LegacyTaglet.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/LiteralTaglet.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/LiteralTaglet.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/LiteralTaglet.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/LiteralTaglet.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/ParamTaglet.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/ParamTaglet.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/ParamTaglet.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/ParamTaglet.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/PropertyGetterTaglet.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/PropertyGetterTaglet.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/PropertyGetterTaglet.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/PropertyGetterTaglet.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/PropertySetterTaglet.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/PropertySetterTaglet.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/PropertySetterTaglet.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/PropertySetterTaglet.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/ReturnTaglet.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/ReturnTaglet.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/ReturnTaglet.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/ReturnTaglet.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/SeeTaglet.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/SeeTaglet.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/SeeTaglet.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/SeeTaglet.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/SimpleTaglet.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/SimpleTaglet.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/SimpleTaglet.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/SimpleTaglet.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/Taglet.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/Taglet.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/Taglet.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/Taglet.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/TagletManager.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/TagletManager.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/TagletManager.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/TagletManager.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/TagletWriter.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/TagletWriter.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/TagletWriter.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/TagletWriter.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/ThrowsTaglet.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/ThrowsTaglet.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/ThrowsTaglet.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/ThrowsTaglet.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/ValueTaglet.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/ValueTaglet.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/ValueTaglet.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/ValueTaglet.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/package-info.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/package-info.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/package-info.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/package-info.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/ClassDocCatalog.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/util/ClassDocCatalog.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/ClassDocCatalog.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/util/ClassDocCatalog.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/ClassTree.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/util/ClassTree.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/ClassTree.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/util/ClassTree.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/ClassUseMapper.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/util/ClassUseMapper.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/ClassUseMapper.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/util/ClassUseMapper.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/DeprecatedAPIListBuilder.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/util/DeprecatedAPIListBuilder.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/DeprecatedAPIListBuilder.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/util/DeprecatedAPIListBuilder.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/DocFile.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/util/DocFile.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/DocFile.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/util/DocFile.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/DocFileFactory.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/util/DocFileFactory.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/DocFileFactory.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/util/DocFileFactory.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/DocFinder.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/util/DocFinder.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/DocFinder.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/util/DocFinder.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/DocLink.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/util/DocLink.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/DocLink.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/util/DocLink.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/DocPath.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/util/DocPath.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/DocPath.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/util/DocPath.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/DocPaths.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/util/DocPaths.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/DocPaths.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/util/DocPaths.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/DocletAbortException.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/util/DocletAbortException.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/DocletAbortException.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/util/DocletAbortException.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/DocletConstants.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/util/DocletConstants.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/DocletConstants.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/util/DocletConstants.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/Extern.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/util/Extern.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/Extern.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/util/Extern.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/Group.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/util/Group.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/Group.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/util/Group.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/ImplementedMethods.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/util/ImplementedMethods.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/ImplementedMethods.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/util/ImplementedMethods.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/IndexBuilder.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/util/IndexBuilder.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/IndexBuilder.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/util/IndexBuilder.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/MessageRetriever.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/util/MessageRetriever.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/MessageRetriever.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/util/MessageRetriever.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/MetaKeywords.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/util/MetaKeywords.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/MetaKeywords.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/util/MetaKeywords.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/MethodTypes.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/util/MethodTypes.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/MethodTypes.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/util/MethodTypes.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/PackageListWriter.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/util/PackageListWriter.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/PackageListWriter.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/util/PackageListWriter.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/PathDocFileFactory.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/util/PathDocFileFactory.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/PathDocFileFactory.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/util/PathDocFileFactory.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/SimpleDocFileFactory.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/util/SimpleDocFileFactory.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/SimpleDocFileFactory.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/util/SimpleDocFileFactory.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/StandardDocFileFactory.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/util/StandardDocFileFactory.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/StandardDocFileFactory.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/util/StandardDocFileFactory.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/TextTag.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/util/TextTag.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/TextTag.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/util/TextTag.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/Utils.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/util/Utils.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/Utils.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/util/Utils.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/VisibleMemberMap.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/util/VisibleMemberMap.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/VisibleMemberMap.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/util/VisibleMemberMap.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/links/LinkFactory.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/util/links/LinkFactory.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/links/LinkFactory.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/util/links/LinkFactory.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/links/LinkInfo.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/util/links/LinkInfo.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/links/LinkInfo.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/util/links/LinkInfo.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/links/LinkOutput.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/util/links/LinkOutput.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/links/LinkOutput.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/util/links/LinkOutput.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/links/package-info.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/util/links/package-info.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/links/package-info.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/util/links/package-info.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/package-info.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/util/package-info.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/package-info.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/util/package-info.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/package-info.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/package-info.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/package-info.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/package-info.java
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/standard/Standard.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/standard/Standard.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/doclets/standard/Standard.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/standard/Standard.java
diff --git a/langtools/src/share/classes/com/sun/tools/javadoc/AbstractTypeImpl.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/AbstractTypeImpl.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javadoc/AbstractTypeImpl.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/AbstractTypeImpl.java
diff --git a/langtools/src/share/classes/com/sun/tools/javadoc/AnnotatedTypeImpl.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/AnnotatedTypeImpl.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javadoc/AnnotatedTypeImpl.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/AnnotatedTypeImpl.java
diff --git a/langtools/src/share/classes/com/sun/tools/javadoc/AnnotationDescImpl.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/AnnotationDescImpl.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javadoc/AnnotationDescImpl.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/AnnotationDescImpl.java
diff --git a/langtools/src/share/classes/com/sun/tools/javadoc/AnnotationTypeDocImpl.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/AnnotationTypeDocImpl.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javadoc/AnnotationTypeDocImpl.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/AnnotationTypeDocImpl.java
diff --git a/langtools/src/share/classes/com/sun/tools/javadoc/AnnotationTypeElementDocImpl.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/AnnotationTypeElementDocImpl.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javadoc/AnnotationTypeElementDocImpl.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/AnnotationTypeElementDocImpl.java
diff --git a/langtools/src/share/classes/com/sun/tools/javadoc/AnnotationValueImpl.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/AnnotationValueImpl.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javadoc/AnnotationValueImpl.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/AnnotationValueImpl.java
diff --git a/langtools/src/share/classes/com/sun/tools/javadoc/ClassDocImpl.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/ClassDocImpl.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javadoc/ClassDocImpl.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/ClassDocImpl.java
diff --git a/langtools/src/share/classes/com/sun/tools/javadoc/Comment.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/Comment.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javadoc/Comment.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/Comment.java
diff --git a/langtools/src/share/classes/com/sun/tools/javadoc/ConstructorDocImpl.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/ConstructorDocImpl.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javadoc/ConstructorDocImpl.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/ConstructorDocImpl.java
diff --git a/langtools/src/share/classes/com/sun/tools/javadoc/DocEnv.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/DocEnv.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javadoc/DocEnv.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/DocEnv.java
diff --git a/langtools/src/share/classes/com/sun/tools/javadoc/DocImpl.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/DocImpl.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javadoc/DocImpl.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/DocImpl.java
diff --git a/langtools/src/share/classes/com/sun/tools/javadoc/DocLocale.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/DocLocale.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javadoc/DocLocale.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/DocLocale.java
diff --git a/langtools/src/share/classes/com/sun/tools/javadoc/DocletInvoker.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/DocletInvoker.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javadoc/DocletInvoker.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/DocletInvoker.java
diff --git a/langtools/src/share/classes/com/sun/tools/javadoc/ExecutableMemberDocImpl.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/ExecutableMemberDocImpl.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javadoc/ExecutableMemberDocImpl.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/ExecutableMemberDocImpl.java
diff --git a/langtools/src/share/classes/com/sun/tools/javadoc/FieldDocImpl.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/FieldDocImpl.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javadoc/FieldDocImpl.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/FieldDocImpl.java
diff --git a/langtools/src/share/classes/com/sun/tools/javadoc/JavadocClassFinder.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/JavadocClassFinder.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javadoc/JavadocClassFinder.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/JavadocClassFinder.java
diff --git a/langtools/src/share/classes/com/sun/tools/javadoc/JavadocEnter.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/JavadocEnter.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javadoc/JavadocEnter.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/JavadocEnter.java
diff --git a/langtools/src/share/classes/com/sun/tools/javadoc/JavadocMemberEnter.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/JavadocMemberEnter.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javadoc/JavadocMemberEnter.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/JavadocMemberEnter.java
diff --git a/langtools/src/share/classes/com/sun/tools/javadoc/JavadocTodo.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/JavadocTodo.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javadoc/JavadocTodo.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/JavadocTodo.java
diff --git a/langtools/src/share/classes/com/sun/tools/javadoc/JavadocTool.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/JavadocTool.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javadoc/JavadocTool.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/JavadocTool.java
diff --git a/langtools/src/share/classes/com/sun/tools/javadoc/Main.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/Main.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javadoc/Main.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/Main.java
diff --git a/langtools/src/share/classes/com/sun/tools/javadoc/MemberDocImpl.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/MemberDocImpl.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javadoc/MemberDocImpl.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/MemberDocImpl.java
diff --git a/langtools/src/share/classes/com/sun/tools/javadoc/Messager.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/Messager.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javadoc/Messager.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/Messager.java
diff --git a/langtools/src/share/classes/com/sun/tools/javadoc/MethodDocImpl.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/MethodDocImpl.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javadoc/MethodDocImpl.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/MethodDocImpl.java
diff --git a/langtools/src/share/classes/com/sun/tools/javadoc/ModifierFilter.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/ModifierFilter.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javadoc/ModifierFilter.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/ModifierFilter.java
diff --git a/langtools/src/share/classes/com/sun/tools/javadoc/PackageDocImpl.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/PackageDocImpl.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javadoc/PackageDocImpl.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/PackageDocImpl.java
diff --git a/langtools/src/share/classes/com/sun/tools/javadoc/ParamTagImpl.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/ParamTagImpl.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javadoc/ParamTagImpl.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/ParamTagImpl.java
diff --git a/langtools/src/share/classes/com/sun/tools/javadoc/ParameterImpl.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/ParameterImpl.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javadoc/ParameterImpl.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/ParameterImpl.java
diff --git a/langtools/src/share/classes/com/sun/tools/javadoc/ParameterizedTypeImpl.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/ParameterizedTypeImpl.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javadoc/ParameterizedTypeImpl.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/ParameterizedTypeImpl.java
diff --git a/langtools/src/share/classes/com/sun/tools/javadoc/PrimitiveType.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/PrimitiveType.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javadoc/PrimitiveType.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/PrimitiveType.java
diff --git a/langtools/src/share/classes/com/sun/tools/javadoc/ProgramElementDocImpl.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/ProgramElementDocImpl.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javadoc/ProgramElementDocImpl.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/ProgramElementDocImpl.java
diff --git a/langtools/src/share/classes/com/sun/tools/javadoc/RootDocImpl.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/RootDocImpl.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javadoc/RootDocImpl.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/RootDocImpl.java
diff --git a/langtools/src/share/classes/com/sun/tools/javadoc/SeeTagImpl.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/SeeTagImpl.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javadoc/SeeTagImpl.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/SeeTagImpl.java
diff --git a/langtools/src/share/classes/com/sun/tools/javadoc/SerialFieldTagImpl.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/SerialFieldTagImpl.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javadoc/SerialFieldTagImpl.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/SerialFieldTagImpl.java
diff --git a/langtools/src/share/classes/com/sun/tools/javadoc/SerializedForm.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/SerializedForm.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javadoc/SerializedForm.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/SerializedForm.java
diff --git a/langtools/src/share/classes/com/sun/tools/javadoc/SourcePositionImpl.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/SourcePositionImpl.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javadoc/SourcePositionImpl.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/SourcePositionImpl.java
diff --git a/langtools/src/share/classes/com/sun/tools/javadoc/Start.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/Start.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javadoc/Start.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/Start.java
diff --git a/langtools/src/share/classes/com/sun/tools/javadoc/TagImpl.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/TagImpl.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javadoc/TagImpl.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/TagImpl.java
diff --git a/langtools/src/share/classes/com/sun/tools/javadoc/ThrowsTagImpl.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/ThrowsTagImpl.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javadoc/ThrowsTagImpl.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/ThrowsTagImpl.java
diff --git a/langtools/src/share/classes/com/sun/tools/javadoc/ToolOption.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/ToolOption.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javadoc/ToolOption.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/ToolOption.java
diff --git a/langtools/src/share/classes/com/sun/tools/javadoc/TypeMaker.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/TypeMaker.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javadoc/TypeMaker.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/TypeMaker.java
diff --git a/langtools/src/share/classes/com/sun/tools/javadoc/TypeVariableImpl.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/TypeVariableImpl.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javadoc/TypeVariableImpl.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/TypeVariableImpl.java
diff --git a/langtools/src/share/classes/com/sun/tools/javadoc/WildcardTypeImpl.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/WildcardTypeImpl.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javadoc/WildcardTypeImpl.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/WildcardTypeImpl.java
diff --git a/langtools/src/share/classes/com/sun/tools/javadoc/api/JavadocTaskImpl.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/api/JavadocTaskImpl.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javadoc/api/JavadocTaskImpl.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/api/JavadocTaskImpl.java
diff --git a/langtools/src/share/classes/com/sun/tools/javadoc/api/JavadocTool.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/api/JavadocTool.java
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javadoc/api/JavadocTool.java
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/api/JavadocTool.java
diff --git a/langtools/src/share/classes/com/sun/tools/javadoc/resources/javadoc.properties b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/resources/javadoc.properties
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javadoc/resources/javadoc.properties
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/resources/javadoc.properties
diff --git a/langtools/src/share/classes/com/sun/tools/javadoc/resources/javadoc_ja.properties b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/resources/javadoc_ja.properties
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javadoc/resources/javadoc_ja.properties
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/resources/javadoc_ja.properties
diff --git a/langtools/src/share/classes/com/sun/tools/javadoc/resources/javadoc_zh_CN.properties b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/resources/javadoc_zh_CN.properties
similarity index 100%
rename from langtools/src/share/classes/com/sun/tools/javadoc/resources/javadoc_zh_CN.properties
rename to langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/resources/javadoc_zh_CN.properties
diff --git a/langtools/src/share/sample/javac/processing/src/CheckNamesProcessor.java b/langtools/src/sample/share/javac/processing/src/CheckNamesProcessor.java
similarity index 100%
rename from langtools/src/share/sample/javac/processing/src/CheckNamesProcessor.java
rename to langtools/src/sample/share/javac/processing/src/CheckNamesProcessor.java
diff --git a/langtools/src/share/sample/language/model/CoreReflectionFactory.java b/langtools/src/sample/share/language/model/CoreReflectionFactory.java
similarity index 100%
rename from langtools/src/share/sample/language/model/CoreReflectionFactory.java
rename to langtools/src/sample/share/language/model/CoreReflectionFactory.java
diff --git a/langtools/src/share/classes/com/sun/tools/jdeps/PlatformClassPath.java b/langtools/src/share/classes/com/sun/tools/jdeps/PlatformClassPath.java
deleted file mode 100644
index 55b9e8a..0000000
--- a/langtools/src/share/classes/com/sun/tools/jdeps/PlatformClassPath.java
+++ /dev/null
@@ -1,213 +0,0 @@
-/*
- * Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-package com.sun.tools.jdeps;
-
-import com.sun.tools.classfile.Annotation;
-import com.sun.tools.classfile.ClassFile;
-import com.sun.tools.classfile.ConstantPool;
-import com.sun.tools.classfile.ConstantPoolException;
-import com.sun.tools.classfile.RuntimeAnnotations_attribute;
-import com.sun.tools.classfile.Dependencies.ClassFileError;
-import java.io.IOException;
-import java.nio.file.FileVisitResult;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.nio.file.SimpleFileVisitor;
-import java.nio.file.attribute.BasicFileAttributes;
-import java.util.*;
-
-import static com.sun.tools.classfile.Attribute.*;
-
-/**
- * ClassPath for Java SE and JDK
- */
-class PlatformClassPath {
- private static final List<String> NON_PLATFORM_JARFILES =
- Arrays.asList("alt-rt.jar", "jfxrt.jar", "ant-javafx.jar", "javafx-mx.jar");
- private static final List<Archive> javaHomeArchives = init();
-
- static List<Archive> getArchives() {
- return javaHomeArchives;
- }
-
- private static List<Archive> init() {
- List<Archive> result = new ArrayList<>();
- Path home = Paths.get(System.getProperty("java.home"));
- try {
- if (home.endsWith("jre")) {
- // jar files in <javahome>/jre/lib
- result.addAll(addJarFiles(home.resolve("lib")));
- if (home.getParent() != null) {
- // add tools.jar and other JDK jar files
- Path lib = home.getParent().resolve("lib");
- if (Files.exists(lib)) {
- result.addAll(addJarFiles(lib));
- }
- }
- } else if (Files.exists(home.resolve("lib"))) {
- // either a JRE or a jdk build image
- Path classes = home.resolve("classes");
- if (Files.isDirectory(classes)) {
- // jdk build outputdir
- result.add(new JDKArchive(classes));
- }
- // add other JAR files
- result.addAll(addJarFiles(home.resolve("lib")));
- } else {
- throw new RuntimeException("\"" + home + "\" not a JDK home");
- }
- return result;
- } catch (IOException e) {
- throw new Error(e);
- }
- }
-
- private static List<Archive> addJarFiles(final Path root) throws IOException {
- final List<Archive> result = new ArrayList<>();
- final Path ext = root.resolve("ext");
- Files.walkFileTree(root, new SimpleFileVisitor<Path>() {
- @Override
- public FileVisitResult preVisitDirectory(Path dir, BasicFileAttributes attrs)
- throws IOException
- {
- if (dir.equals(root) || dir.equals(ext)) {
- return FileVisitResult.CONTINUE;
- } else {
- // skip other cobundled JAR files
- return FileVisitResult.SKIP_SUBTREE;
- }
- }
- @Override
- public FileVisitResult visitFile(Path p, BasicFileAttributes attrs)
- throws IOException
- {
- String fn = p.getFileName().toString();
- if (fn.endsWith(".jar")) {
- // JDK may cobundle with JavaFX that doesn't belong to any profile
- // Treat jfxrt.jar as regular Archive
- result.add(NON_PLATFORM_JARFILES.contains(fn)
- ? Archive.getInstance(p)
- : new JDKArchive(p));
- }
- return FileVisitResult.CONTINUE;
- }
- });
- return result;
- }
-
- /**
- * A JDK archive is part of the JDK containing the Java SE API
- * or implementation classes (i.e. JDK internal API)
- */
- static class JDKArchive extends Archive {
- private static List<String> PROFILE_JARS = Arrays.asList("rt.jar", "jce.jar");
- public static boolean isProfileArchive(Archive archive) {
- if (archive instanceof JDKArchive) {
- return PROFILE_JARS.contains(archive.getName());
- }
- return false;
- }
-
- private final Map<String,Boolean> exportedPackages = new HashMap<>();
- private final Map<String,Boolean> exportedTypes = new HashMap<>();
- JDKArchive(Path p) throws IOException {
- super(p, ClassFileReader.newInstance(p));
- }
-
- /**
- * Tests if a given fully-qualified name is an exported type.
- */
- public boolean isExported(String cn) {
- int i = cn.lastIndexOf('.');
- String pn = i > 0 ? cn.substring(0, i) : "";
-
- boolean isJdkExported = isExportedPackage(pn);
- if (exportedTypes.containsKey(cn)) {
- return exportedTypes.get(cn);
- }
- return isJdkExported;
- }
-
- /**
- * Tests if a given package name is exported.
- */
- public boolean isExportedPackage(String pn) {
- if (Profile.getProfile(pn) != null) {
- return true;
- }
- return exportedPackages.containsKey(pn) ? exportedPackages.get(pn) : false;
- }
-
- private static final String JDK_EXPORTED_ANNOTATION = "Ljdk/Exported;";
- private Boolean isJdkExported(ClassFile cf) throws ConstantPoolException {
- RuntimeAnnotations_attribute attr = (RuntimeAnnotations_attribute)
- cf.attributes.get(RuntimeVisibleAnnotations);
- if (attr != null) {
- for (int i = 0; i < attr.annotations.length; i++) {
- Annotation ann = attr.annotations[i];
- String annType = cf.constant_pool.getUTF8Value(ann.type_index);
- if (JDK_EXPORTED_ANNOTATION.equals(annType)) {
- boolean isJdkExported = true;
- for (int j = 0; j < ann.num_element_value_pairs; j++) {
- Annotation.element_value_pair pair = ann.element_value_pairs[j];
- Annotation.Primitive_element_value ev = (Annotation.Primitive_element_value) pair.value;
- ConstantPool.CONSTANT_Integer_info info = (ConstantPool.CONSTANT_Integer_info)
- cf.constant_pool.get(ev.const_value_index);
- isJdkExported = info.value != 0;
- }
- return Boolean.valueOf(isJdkExported);
- }
- }
- }
- return null;
- }
-
- void processJdkExported(ClassFile cf) throws IOException {
- try {
- String cn = cf.getName();
- String pn = cn.substring(0, cn.lastIndexOf('/')).replace('/', '.');
-
- Boolean b = isJdkExported(cf);
- if (b != null) {
- exportedTypes.put(cn.replace('/', '.'), b);
- }
- if (!exportedPackages.containsKey(pn)) {
- // check if package-info.class has @jdk.Exported
- Boolean isJdkExported = null;
- ClassFile pcf = reader().getClassFile(cn.substring(0, cn.lastIndexOf('/')+1) + "package-info");
- if (pcf != null) {
- isJdkExported = isJdkExported(pcf);
- }
- if (isJdkExported != null) {
- exportedPackages.put(pn, isJdkExported);
- }
- }
- } catch (ConstantPoolException e) {
- throw new ClassFileError(e);
- }
- }
- }
-}
diff --git a/langtools/src/share/classes/com/sun/tools/jdeps/Profile.java b/langtools/src/share/classes/com/sun/tools/jdeps/Profile.java
deleted file mode 100644
index d78b5c4..0000000
--- a/langtools/src/share/classes/com/sun/tools/jdeps/Profile.java
+++ /dev/null
@@ -1,232 +0,0 @@
-/*
- * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-package com.sun.tools.jdeps;
-
-import com.sun.tools.classfile.Annotation;
-import com.sun.tools.classfile.Annotation.*;
-import com.sun.tools.classfile.Attribute;
-import com.sun.tools.classfile.ClassFile;
-import com.sun.tools.classfile.ConstantPool.*;
-import com.sun.tools.classfile.ConstantPoolException;
-import com.sun.tools.classfile.RuntimeAnnotations_attribute;
-import java.io.FileReader;
-import java.io.IOException;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.util.*;
-import java.util.jar.JarFile;
-
-/**
- * Build the profile information from ct.sym if exists.
- */
-enum Profile {
- COMPACT1("compact1", 1),
- COMPACT2("compact2", 2),
- COMPACT3("compact3", 3),
- FULL_JRE("Full JRE", 4);
-
- final String name;
- final int profile;
- final Set<String> packages;
- final Set<String> proprietaryPkgs;
-
- Profile(String name, int profile) {
- this.name = name;
- this.profile = profile;
- this.packages = new HashSet<>();
- this.proprietaryPkgs = new HashSet<>();
- }
-
- public String profileName() {
- return name;
- }
-
- public static int getProfileCount() {
- return PackageToProfile.map.values().size();
- }
-
- /**
- * Returns the Profile for the given package name. It returns an empty
- * string if the given package is not in any profile.
- */
- public static Profile getProfile(String pn) {
- Profile profile = PackageToProfile.map.get(pn);
- return (profile != null && profile.packages.contains(pn))
- ? profile : null;
- }
-
- static class PackageToProfile {
- static String[] JAVAX_CRYPTO_PKGS = new String[] {
- "javax.crypto",
- "javax.crypto.interfaces",
- "javax.crypto.spec"
- };
- static Map<String, Profile> map = initProfiles();
- private static Map<String, Profile> initProfiles() {
- try {
- String profilesProps = System.getProperty("jdeps.profiles");
- if (profilesProps != null) {
- // for testing for JDK development build where ct.sym doesn't exist
- initProfilesFromProperties(profilesProps);
- } else {
- Path home = Paths.get(System.getProperty("java.home"));
- if (home.endsWith("jre")) {
- home = home.getParent();
- }
- Path ctsym = home.resolve("lib").resolve("ct.sym");
- if (Files.exists(ctsym)) {
- // parse ct.sym and load information about profiles
- try (JarFile jf = new JarFile(ctsym.toFile())) {
- ClassFileReader reader = ClassFileReader.newInstance(ctsym, jf);
- for (ClassFile cf : reader.getClassFiles()) {
- findProfile(cf);
- }
- }
- // special case for javax.crypto.* classes that are not
- // included in ct.sym since they are in jce.jar
- Collections.addAll(Profile.COMPACT1.packages, JAVAX_CRYPTO_PKGS);
- }
- }
- } catch (IOException | ConstantPoolException e) {
- throw new Error(e);
- }
- HashMap<String,Profile> map = new HashMap<>();
- for (Profile profile : Profile.values()) {
- for (String pn : profile.packages) {
- if (!map.containsKey(pn)) {
- // split packages in the JRE: use the smaller compact
- map.put(pn, profile);
- }
- }
- for (String pn : profile.proprietaryPkgs) {
- if (!map.containsKey(pn)) {
- map.put(pn, profile);
- }
- }
- }
- return map;
- }
- private static final String PROFILE_ANNOTATION = "Ljdk/Profile+Annotation;";
- private static final String PROPRIETARY_ANNOTATION = "Lsun/Proprietary+Annotation;";
- private static Profile findProfile(ClassFile cf) throws ConstantPoolException {
- RuntimeAnnotations_attribute attr = (RuntimeAnnotations_attribute)
- cf.attributes.get(Attribute.RuntimeInvisibleAnnotations);
- int index = 0;
- boolean proprietary = false;
- if (attr != null) {
- for (int i = 0; i < attr.annotations.length; i++) {
- Annotation ann = attr.annotations[i];
- String annType = cf.constant_pool.getUTF8Value(ann.type_index);
- if (PROFILE_ANNOTATION.equals(annType)) {
- for (int j = 0; j < ann.num_element_value_pairs; j++) {
- Annotation.element_value_pair pair = ann.element_value_pairs[j];
- Primitive_element_value ev = (Primitive_element_value) pair.value;
- CONSTANT_Integer_info info = (CONSTANT_Integer_info)
- cf.constant_pool.get(ev.const_value_index);
- index = info.value;
- break;
- }
- } else if (PROPRIETARY_ANNOTATION.equals(annType)) {
- proprietary = true;
- }
- }
- }
-
- Profile p = null; // default
- switch (index) {
- case 1:
- p = Profile.COMPACT1; break;
- case 2:
- p = Profile.COMPACT2; break;
- case 3:
- p = Profile.COMPACT3; break;
- case 4:
- p = Profile.FULL_JRE; break;
- default:
- // skip classes with profile=0
- // Inner classes are not annotated with the profile annotation
- return null;
- }
-
- String name = cf.getName();
- int i = name.lastIndexOf('/');
- name = (i > 0) ? name.substring(0, i).replace('/', '.') : "";
- if (proprietary) {
- p.proprietaryPkgs.add(name);
- } else {
- p.packages.add(name);
- }
- return p;
- }
-
- private static void initProfilesFromProperties(String path) throws IOException {
- Properties props = new Properties();
- try (FileReader reader = new FileReader(path)) {
- props.load(reader);
- }
- for (Profile prof : Profile.values()) {
- int i = prof.profile;
- String key = props.getProperty("profile." + i + ".name");
- if (key == null) {
- throw new RuntimeException(key + " missing in " + path);
- }
- String n = props.getProperty("profile." + i + ".packages");
- String[] pkgs = n.split("\\s+");
- for (String p : pkgs) {
- if (p.isEmpty()) continue;
- prof.packages.add(p);
- }
- }
- }
- }
-
- // for debugging
- public static void main(String[] args) {
- if (args.length == 0) {
- if (Profile.getProfileCount() == 0) {
- System.err.println("No profile is present in this JDK");
- }
- for (Profile p : Profile.values()) {
- String profileName = p.name;
- SortedSet<String> set = new TreeSet<>(p.packages);
- for (String s : set) {
- // filter out the inner classes that are not annotated with
- // the profile annotation
- if (PackageToProfile.map.get(s) == p) {
- System.out.format("%2d: %-10s %s%n", p.profile, profileName, s);
- profileName = "";
- } else {
- System.err.format("Split package: %s in %s and %s %n",
- s, PackageToProfile.map.get(s).name, p.name);
- }
- }
- }
- }
- for (String pn : args) {
- System.out.format("%s in %s%n", pn, getProfile(pn));
- }
- }
-}
diff --git a/langtools/test/tools/jdeps/DotFileTest.java b/langtools/test/tools/jdeps/DotFileTest.java
index 63e283f..46fe500 100644
--- a/langtools/test/tools/jdeps/DotFileTest.java
+++ b/langtools/test/tools/jdeps/DotFileTest.java
@@ -124,7 +124,7 @@
new String[] {"-v", "-classpath", testDir.getPath()});
testSummary(new File(testDir, "Test.class"),
- new String[] {"rt.jar", testDir.getName()},
+ new String[] {"java.base", testDir.getName()},
new String[] {"compact1", ""},
new String[] {"-classpath", testDir.getPath()});
testSummary(new File(testDir, "Test.class"),