langtools/src/share/classes/com/sun/tools/javadoc/DocletInvoker.java
changeset 1365 ced0e3c4678f
parent 1264 076a3cde30d5
child 1789 7ac8c0815000
--- a/langtools/src/share/classes/com/sun/tools/javadoc/DocletInvoker.java	Sat Oct 04 22:59:05 2008 -0700
+++ b/langtools/src/share/classes/com/sun/tools/javadoc/DocletInvoker.java	Mon Oct 06 16:57:15 2008 -0700
@@ -32,7 +32,6 @@
 import com.sun.tools.javac.util.List;
 
 import java.net.*;
-import java.lang.OutOfMemoryError;
 import java.lang.reflect.Method;
 import java.lang.reflect.Modifier;
 import java.lang.reflect.InvocationTargetException;
@@ -70,7 +69,8 @@
     }
 
     public DocletInvoker(Messager messager,
-                         String docletClassName, String docletPath) {
+                         String docletClassName, String docletPath,
+                         ClassLoader docletParentClassLoader) {
         this.messager = messager;
         this.docletClassName = docletClassName;
 
@@ -82,7 +82,10 @@
         cpString = appendPath(System.getProperty("java.class.path"), cpString);
         cpString = appendPath(docletPath, cpString);
         URL[] urls = pathToURLs(cpString);
-        appClassLoader = new URLClassLoader(urls);
+        if (docletParentClassLoader == null)
+            appClassLoader = new URLClassLoader(urls);
+        else
+            appClassLoader = new URLClassLoader(urls, docletParentClassLoader);
 
         // attempt to find doclet
         Class dc = null;