8182162: Remove -XD-Xmodule
authorjlahoda
Mon, 19 Jun 2017 05:56:49 +0200
changeset 45685 95526afc4e20
parent 45684 2c5f2779c3d1
child 45686 a423824381ae
8182162: Remove -XD-Xmodule Summary: Removing the undocumented -XD-Xmodule: option. Reviewed-by: jjg
langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Modules.java
langtools/test/tools/javac/modules/LegacyXModuleTest.java
--- a/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Modules.java	Sat Jun 17 11:50:45 2017 -0700
+++ b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Modules.java	Mon Jun 19 05:56:49 2017 +0200
@@ -146,8 +146,6 @@
 
     public final boolean multiModuleMode;
 
-    private final String legacyModuleOverride;
-
     private final Name java_se;
     private final Name java_;
 
@@ -196,14 +194,6 @@
         allowAccessIntoSystem = options.isUnset(Option.RELEASE);
         lintOptions = options.isUnset(Option.XLINT_CUSTOM, "-" + LintCategory.OPTIONS.option);
 
-        Collection<String> xmodules = options.keySet()
-                                             .stream()
-                                             .filter(opt -> opt.startsWith(XMODULES_PREFIX))
-                                             .map(opt -> opt.substring(XMODULES_PREFIX.length()))
-                                             .collect(Collectors.toList());
-
-        legacyModuleOverride = xmodules.size() == 1 ? xmodules.iterator().next() : null;
-
         multiModuleMode = fileManager.hasLocation(StandardLocation.MODULE_SOURCE_PATH);
         ClassWriter classWriter = ClassWriter.instance(context);
         classWriter.multiModuleMode = multiModuleMode;
@@ -469,9 +459,6 @@
                             if (moduleOverride != null) {
                                 checkNoAllModulePath();
                                 defaultModule = moduleFinder.findModule(names.fromString(moduleOverride));
-                                if (legacyModuleOverride != null) {
-                                    defaultModule.sourceLocation = StandardLocation.SOURCE_PATH;
-                                }
                                 defaultModule.patchOutputLocation = StandardLocation.CLASS_OUTPUT;
                             } else {
                                 // Question: why not do findAllModules and initVisiblePackages here?
@@ -546,11 +533,6 @@
     }
 
     private void checkSourceLocation(JCCompilationUnit tree, ModuleSymbol msym) {
-        // skip check if legacy module override still in use
-        if (legacyModuleOverride != null) {
-            return;
-        }
-
         try {
             JavaFileObject fo = tree.sourcefile;
             if (fileManager.contains(msym.sourceLocation, fo)) {
@@ -582,7 +564,7 @@
 
     private String singleModuleOverride(List<JCCompilationUnit> trees) {
         if (!fileManager.hasLocation(StandardLocation.PATCH_MODULE_PATH)) {
-            return legacyModuleOverride;
+            return null;
         }
 
         Set<String> override = new LinkedHashSet<>();
@@ -602,7 +584,7 @@
         }
 
         switch (override.size()) {
-            case 0: return legacyModuleOverride;
+            case 0: return null;
             case 1: return override.iterator().next();
             default:
                 log.error(Errors.TooManyPatchedModules(override));
--- a/langtools/test/tools/javac/modules/LegacyXModuleTest.java	Sat Jun 17 11:50:45 2017 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,85 +0,0 @@
-/*
- * Copyright (c) 2017, 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.
- *
- * 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.
- */
-
-/*
- * @test
- * @bug 8178012
- * @summary tests for multi-module mode compilation
- * @library /tools/lib
- * @modules
- *      jdk.compiler/com.sun.tools.javac.api
- *      jdk.compiler/com.sun.tools.javac.main
- * @build toolbox.ToolBox toolbox.JavacTask toolbox.ModuleBuilder ModuleTestBase
- * @run main LegacyXModuleTest
- */
-
-import java.nio.file.Path;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Objects;
-
-import toolbox.JavacTask;
-import toolbox.Task;
-
-public class LegacyXModuleTest extends ModuleTestBase {
-
-    public static void main(String... args) throws Exception {
-        new LegacyXModuleTest().runTests();
-    }
-
-    @Test
-    public void testLegacyXModule(Path base) throws Exception {
-        //note: avoiding use of java.base, as that gets special handling on some places:
-        Path src = base.resolve("src");
-        tb.writeJavaFiles(src, "package com.sun.tools.javac.comp; public class Extra { Modules modules; }");
-        Path classes = base.resolve("classes");
-        tb.createDirectories(classes);
-
-        new JavacTask(tb)
-            .options("-XD-Xmodule:jdk.compiler")
-            .outdir(classes)
-            .files(findJavaFiles(src))
-            .run()
-            .writeAll()
-            .getOutput(Task.OutputKind.DIRECT);
-
-        List<String> log = new JavacTask(tb)
-                .options("-XD-Xmodule:java.compiler",
-                         "-XD-Xmodule:jdk.compiler",
-                         "-XDrawDiagnostics")
-                .outdir(classes)
-                .files(findJavaFiles(src))
-                .run(Task.Expect.FAIL)
-                .writeAll()
-                .getOutputLines(Task.OutputKind.DIRECT);
-
-        List<String> actual =
-                Arrays.asList("Extra.java:1:56: compiler.err.cant.resolve.location: kindname.class, Modules, , , " +
-                                                "(compiler.misc.location: kindname.class, com.sun.tools.javac.comp.Extra, null)",
-                              "1 error");
-
-        if (!Objects.equals(actual, log))
-            throw new Exception("expected output not found: " + log);
-    }
-
-}