Skip to content

Commit

Permalink
Fix previous commit for #412
Browse files Browse the repository at this point in the history
  • Loading branch information
lukehutch committed Apr 3, 2020
1 parent 0473117 commit 0335a33
Showing 1 changed file with 25 additions and 13 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -139,11 +139,15 @@ private static List<ModuleRef> findModuleRefs(final LinkedHashSet<Object> layers
final Deque<Object> /* Deque<ModuleLayer> */ layerOrder = new ArrayDeque<>();
final Set<Object> /* Set<ModuleLayer */ parentLayers = new HashSet<>();
for (final Object layer : layers) {
findLayerOrder(layer, /* layerVisited = */ new HashSet<>(), parentLayers, layerOrder);
if (layer != null) {
findLayerOrder(layer, /* layerVisited = */ new HashSet<>(), parentLayers, layerOrder);
}
}
if (scanSpec.addedModuleLayers != null) {
for (final Object layer : scanSpec.addedModuleLayers) {
findLayerOrder(layer, /* layerVisited = */ new HashSet<>(), parentLayers, layerOrder);
if (layer != null) {
findLayerOrder(layer, /* layerVisited = */ new HashSet<>(), parentLayers, layerOrder);
}
}
}

Expand Down Expand Up @@ -206,7 +210,7 @@ private static List<ModuleRef> findModuleRefs(final LinkedHashSet<Object> layers
* the log
* @return the list
*/
private static List<ModuleRef> findModuleRefsFromCallstack(final Class<?>[] callStack, final ScanSpec scanSpec,
private List<ModuleRef> findModuleRefsFromCallstack(final Class<?>[] callStack, final ScanSpec scanSpec,
final LogNode log) {
final LinkedHashSet<Object> layers = new LinkedHashSet<>();
if (callStack != null) {
Expand All @@ -216,9 +220,13 @@ private static List<ModuleRef> findModuleRefsFromCallstack(final Class<?>[] call
if (module != null) {
final Object /* ModuleLayer */ layer = ReflectionUtils.invokeMethod(module, "getLayer",
/* throwException = */ true);
// getLayer() returns null for unnamed modules -- still add null to list if it is returned,
// so we can get classes from java.class.path
layers.add(layer);
if (layer != null) {
layers.add(layer);
} else {
// getLayer() returns null for unnamed modules -- still add null to list if it is returned,
// so we can get classes from java.class.path
forceScanJavaClassPath = true;
}
}
}
}
Expand All @@ -234,6 +242,11 @@ private static List<ModuleRef> findModuleRefsFromCallstack(final Class<?>[] call
/* throwException = */ false);
if (bootLayer != null) {
layers.add(bootLayer);
} else {
// getLayer() returns null for unnamed modules -- still add null to list if it is returned,
// so we can get classes from java.class.path. (I'm not sure if the boot layer can ever
// actually be null, but this is here for completeness.)
forceScanJavaClassPath = true;
}
}
return findModuleRefs(layers, scanSpec, log);
Expand Down Expand Up @@ -275,13 +288,12 @@ public ModuleFinder(final Class<?>[] callStack, final ScanSpec scanSpec, final L
systemModuleRefs = new ArrayList<>();
nonSystemModuleRefs = new ArrayList<>();
for (final ModuleRef moduleRef : allModuleRefsList) {
if (moduleRef == null) {
// getLayer() returns null for unnamed modules -- have to get classes from java.class.path
forceScanJavaClassPath = true;
} else if (moduleRef.isSystemModule()) {
systemModuleRefs.add(moduleRef);
} else {
nonSystemModuleRefs.add(moduleRef);
if (moduleRef != null) {
if (moduleRef.isSystemModule()) {
systemModuleRefs.add(moduleRef);
} else {
nonSystemModuleRefs.add(moduleRef);
}
}
}
}
Expand Down

0 comments on commit 0335a33

Please sign in to comment.