public ClassPool getPoolForLoader(ClassLoader cl) { return classPoolRepository.registerClassLoader(cl); } }
private void registerBootstrapLoaders(Module skip, ScopedClassPoolRepository repository) { Collection<Module> unregistered = registerModuleCallback.getUnregisteredModules(); if (unregistered.size() > 0) { for (Module module : unregistered) { if (module == skip) { continue; } ClassLoader loader = getClassLoaderForModule(module); if (loader == null || this.currentClassLoaders.contains(loader)) { continue; } ClassPool classPool = repository.registerClassLoader(loader); if (classPool == null) { repository.unregisterClassLoader(loader); } } } }
!generatedClasses.containsKey(classname)) Map<ClassLoader, ScopedClassPool> registeredCLs = repository.getRegisteredCLs(); synchronized (registeredCLs) repository.unregisterClassLoader(pool.getClassLoader()); continue;
/** * Creates the entire parent class pool chain of the ClassPool corresponding to * {@code cl}. * * @param cl the ClassLoader whose corresponding ClassPool is being created. * Should not be null * @param src * @param repository * @return the parent ClassPool of the ClassPool corresponding to {@code cl} * @throws NullPointerException if {@code cl} is null */ protected ClassPool getCreateParentClassPools(final ClassLoader cl, ClassPool src, ScopedClassPoolRepository repository) { ClassLoader parent = SecurityActions.getParent(cl); if (parent != null) { return repository.registerClassLoader(parent); } else { return systemClassPool; } }
ClassPool parentUnitPool = parentUnitLoader == null? null: repository.registerClassLoader(parentUnitLoader); if (parentUnitPool == null)