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"),