Package org.codehaus.janino.tools
Class JGrep.JGrepIClassLoader
- java.lang.Object
-
- org.codehaus.janino.IClassLoader
-
- org.codehaus.janino.tools.JGrep.JGrepIClassLoader
-
- Enclosing class:
- JGrep
private class JGrep.JGrepIClassLoader extends IClassLoader
A specializedIClassLoader
that loadsIClass
es from the following sources:- An already-parsed compilation unit
- A class file in the output directory (if existant and younger than source file)
- A source file in any of the source path directories
- The parent class loader
JGrep.JGrepIClassLoader
is an inner class ofJGrep
and heavily usesJGrep
's members.
-
-
Field Summary
-
Fields inherited from class org.codehaus.janino.IClassLoader
ANNO_java_lang_Override, CTOR_java_lang_StringBuilder__java_lang_String, METH_java_lang_Iterable__iterator, METH_java_lang_String__concat__java_lang_String, METH_java_lang_String__valueOf__boolean, METH_java_lang_String__valueOf__char, METH_java_lang_String__valueOf__double, METH_java_lang_String__valueOf__float, METH_java_lang_String__valueOf__int, METH_java_lang_String__valueOf__java_lang_Object, METH_java_lang_String__valueOf__long, METH_java_lang_StringBuilder__append__java_lang_String, METH_java_lang_StringBuilder__toString, METH_java_util_Iterator__hasNext, METH_java_util_Iterator__next, TYPE_java_io_Serializable, TYPE_java_lang_AssertionError, TYPE_java_lang_Boolean, TYPE_java_lang_Byte, TYPE_java_lang_Character, TYPE_java_lang_Class, TYPE_java_lang_Cloneable, TYPE_java_lang_Double, TYPE_java_lang_Error, TYPE_java_lang_Exception, TYPE_java_lang_Float, TYPE_java_lang_Integer, TYPE_java_lang_Iterable, TYPE_java_lang_Long, TYPE_java_lang_Object, TYPE_java_lang_RuntimeException, TYPE_java_lang_Short, TYPE_java_lang_String, TYPE_java_lang_StringBuilder, TYPE_java_lang_Throwable, TYPE_java_util_Iterator
-
-
Constructor Summary
Constructors Constructor Description JGrepIClassLoader(IClassLoader optionalParentIClassLoader)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected IClass
findIClass(java.lang.String type)
-
Methods inherited from class org.codehaus.janino.IClassLoader
createJavacLikePathIClassLoader, defineIClass, loadIClass, postConstruct
-
-
-
-
Constructor Detail
-
JGrepIClassLoader
public JGrepIClassLoader(IClassLoader optionalParentIClassLoader)
- Parameters:
optionalParentIClassLoader
- TheIClassLoader
through whichIClass
es are to be loaded
-
-
Method Detail
-
findIClass
protected IClass findIClass(java.lang.String type)
Description copied from class:IClassLoader
Find a newIClass
by descriptor; returnnull
if a class for thatdescriptor
could not be found.Similar
ClassLoader.findClass(java.lang.String)
, this method must- Get an
IClass
object from somewhere for the given type - Call
IClassLoader.defineIClass(IClass)
with thatIClass
object as the argument - Return the
IClass
object
The format of a
descriptor
is defined in JVMS 4.3.2. Typical descriptors are:I
(Integer)Lpkg1/pkg2/Cls;
(Class declared in package)Lpkg1/pkg2/Outer$Inner;
Member class
Notice that this method is never called from more than one thread at a time. In other words, implementations of this method need not be synchronized.
- Specified by:
findIClass
in classIClassLoader
- Parameters:
type
- Field descriptor of the to load, e.g. "Lpkg1/pkg2/Outer$Inner;"- Returns:
null
if a class with that descriptor could not be found
- Get an
-
-