--- a/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Modules.java Fri Dec 16 08:17:55 2016 +0000
+++ b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Modules.java Fri Dec 16 12:02:30 2016 +0100
@@ -262,7 +262,7 @@
// scan trees for module defs
Set<ModuleSymbol> roots = enterModules(trees, c);
- setCompilationUnitModules(trees, roots);
+ setCompilationUnitModules(trees, roots, c);
init.accept(roots);
@@ -351,7 +351,7 @@
}
}
- private void setCompilationUnitModules(List<JCCompilationUnit> trees, Set<ModuleSymbol> rootModules) {
+ private void setCompilationUnitModules(List<JCCompilationUnit> trees, Set<ModuleSymbol> rootModules, ClassSymbol c) {
// update the module for each compilation unit
if (multiModuleMode) {
checkNoAllModulePath();
@@ -385,6 +385,8 @@
}
tree.modle = msym;
rootModules.add(msym);
+ } else if (c != null && c.packge().modle == syms.unnamedModule) {
+ tree.modle = syms.unnamedModule;
} else {
log.error(tree.pos(), Errors.UnnamedPkgNotAllowedNamedModules);
tree.modle = syms.errModule;
@@ -451,9 +453,6 @@
if (defaultModule != syms.unnamedModule) {
syms.unnamedModule.completer = getUnnamedModuleCompleter();
- if (moduleOverride == null) {
- syms.unnamedModule.sourceLocation = StandardLocation.SOURCE_PATH;
- }
syms.unnamedModule.classLocation = StandardLocation.CLASS_PATH;
}