|
1 | 1 | package cpw.mods.cl;
|
2 | 2 |
|
3 | 3 | import cpw.mods.util.LambdaExceptionUtils;
|
| 4 | +import org.jetbrains.annotations.Nullable; |
4 | 5 |
|
5 | 6 | import java.io.IOException;
|
6 | 7 | import java.io.InputStream;
|
@@ -64,10 +65,15 @@ private static void bindToLayer(ModuleClassLoader classLoader, ModuleLayer layer
|
64 | 65 | private final Map<String, JarModuleFinder.JarModuleReference> resolvedRoots;
|
65 | 66 | private final Map<String, ResolvedModule> packageLookup;
|
66 | 67 | private final Map<String, ClassLoader> parentLoaders;
|
67 |
| - private ClassLoader fallbackClassLoader = ClassLoader.getPlatformClassLoader(); |
| 68 | + private ClassLoader fallbackClassLoader; |
68 | 69 |
|
69 | 70 | public ModuleClassLoader(final String name, final Configuration configuration, final List<ModuleLayer> parentLayers) {
|
70 |
| - super(name, null); |
| 71 | + this(name, configuration, parentLayers, null); |
| 72 | + } |
| 73 | + |
| 74 | + public ModuleClassLoader(final String name, final Configuration configuration, final List<ModuleLayer> parentLayers, @Nullable ClassLoader parentLoader) { |
| 75 | + super(name, parentLoader); |
| 76 | + this.fallbackClassLoader = Objects.requireNonNullElse(parentLoader, ClassLoader.getPlatformClassLoader()); |
71 | 77 | this.configuration = configuration;
|
72 | 78 | this.packageLookup = new HashMap<>();
|
73 | 79 | this.resolvedRoots = configuration.modules().stream()
|
|
0 commit comments