| java.lang.Object bsh.ClassGenerator bsh.ClassGeneratorImpl
ClassGeneratorImpl | public class ClassGeneratorImpl extends ClassGenerator (Code) | | This class is an implementation of the ClassGenerator interface which
contains generally bsh related code. The actual bytecode generation is
done by ClassGeneratorUtil.
author: Pat Niemeyer (pat@pat.net) |
Method Summary | |
public Class | generateClass(String name, Modifiers modifiers, Class[] interfaces, Class superClass, BSHBlock block, boolean isInterface, CallStack callstack, Interpreter interpreter) | public static Class | generateClassImpl(String name, Modifiers modifiers, Class[] interfaces, Class superClass, BSHBlock block, boolean isInterface, CallStack callstack, Interpreter interpreter) If necessary, parse the BSHBlock for for the class definition and
generate the class using ClassGeneratorUtil. | static DelayedEvalBshMethod[] | getDeclaredMethods(BSHBlock body, CallStack callstack, Interpreter interpreter, String defaultPackage) | static Variable[] | getDeclaredVariables(BSHBlock body, CallStack callstack, Interpreter interpreter, String defaultPackage) | public Object | invokeSuperclassMethod(BshClassManager bcm, Object instance, String methodName, Object[] args) | public static Object | invokeSuperclassMethodImpl(BshClassManager bcm, Object instance, String methodName, Object[] args) | public void | setInstanceNameSpaceParent(Object instance, String className, NameSpace parent) Change the parent of the class instance namespace. |
generateClassImpl | public static Class generateClassImpl(String name, Modifiers modifiers, Class[] interfaces, Class superClass, BSHBlock block, boolean isInterface, CallStack callstack, Interpreter interpreter) throws EvalError(Code) | | If necessary, parse the BSHBlock for for the class definition and
generate the class using ClassGeneratorUtil.
This method also initializes the static block namespace and sets it
in the class.
|
setInstanceNameSpaceParent | public void setInstanceNameSpaceParent(Object instance, String className, NameSpace parent)(Code) | | Change the parent of the class instance namespace.
This is currently used for inner class support.
Note: This method will likely be removed in the future.
|
Methods inherited from bsh.ClassGenerator | abstract public Class generateClass(String name, Modifiers modifiers, Class[] interfaces, Class superClass, BSHBlock block, boolean isInterface, CallStack callstack, Interpreter interpreter) throws EvalError(Code)(Java Doc) public static ClassGenerator getClassGenerator() throws UtilEvalError(Code)(Java Doc) abstract public Object invokeSuperclassMethod(BshClassManager bcm, Object instance, String methodName, Object[] args) throws UtilEvalError, ReflectError, InvocationTargetException(Code)(Java Doc) abstract public void setInstanceNameSpaceParent(Object instance, String className, NameSpace parent)(Code)(Java Doc)
|
|
|