Package bsh
Class ClassGenerator
- java.lang.Object
-
- bsh.ClassGenerator
-
public final class ClassGenerator extends java.lang.Object
-
-
Constructor Summary
Constructors Constructor Description ClassGenerator()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Class
generateClass(java.lang.String name, Modifiers modifiers, java.lang.Class[] interfaces, java.lang.Class superClass, bsh.BSHBlock block, boolean isInterface, CallStack callstack, Interpreter interpreter)
Parse the BSHBlock for the class definition and generate the class.static java.lang.Class
generateClassImpl(java.lang.String name, Modifiers modifiers, java.lang.Class[] interfaces, java.lang.Class superClass, bsh.BSHBlock block, boolean isInterface, CallStack callstack, Interpreter interpreter)
Parse the BSHBlock for for the class definition and generate the class using ClassGenerator.static ClassGenerator
getClassGenerator()
java.lang.Object
invokeSuperclassMethod(BshClassManager bcm, java.lang.Object instance, java.lang.String methodName, java.lang.Object[] args)
Invoke a super.method() style superclass method on an object instance.static java.lang.Object
invokeSuperclassMethodImpl(BshClassManager bcm, java.lang.Object instance, java.lang.String methodName, java.lang.Object[] args)
void
setInstanceNameSpaceParent(java.lang.Object instance, java.lang.String className, NameSpace parent)
Change the parent of the class instance namespace.
-
-
-
Method Detail
-
getClassGenerator
public static ClassGenerator getClassGenerator()
-
generateClass
public java.lang.Class generateClass(java.lang.String name, Modifiers modifiers, java.lang.Class[] interfaces, java.lang.Class superClass, bsh.BSHBlock block, boolean isInterface, CallStack callstack, Interpreter interpreter) throws EvalError
Parse the BSHBlock for the class definition and generate the class.- Throws:
EvalError
-
invokeSuperclassMethod
public java.lang.Object invokeSuperclassMethod(BshClassManager bcm, java.lang.Object instance, java.lang.String methodName, java.lang.Object[] args) throws UtilEvalError, bsh.ReflectError, java.lang.reflect.InvocationTargetException
Invoke a super.method() style superclass method on an object instance. This is not a normal function of the Java reflection API and is provided by generated class accessor methods.- Throws:
UtilEvalError
bsh.ReflectError
java.lang.reflect.InvocationTargetException
-
setInstanceNameSpaceParent
public void setInstanceNameSpaceParent(java.lang.Object instance, java.lang.String className, NameSpace parent)
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.
-
generateClassImpl
public static java.lang.Class generateClassImpl(java.lang.String name, Modifiers modifiers, java.lang.Class[] interfaces, java.lang.Class superClass, bsh.BSHBlock block, boolean isInterface, CallStack callstack, Interpreter interpreter) throws EvalError
Parse the BSHBlock for for the class definition and generate the class using ClassGenerator.- Throws:
EvalError
-
invokeSuperclassMethodImpl
public static java.lang.Object invokeSuperclassMethodImpl(BshClassManager bcm, java.lang.Object instance, java.lang.String methodName, java.lang.Object[] args) throws UtilEvalError, bsh.ReflectError, java.lang.reflect.InvocationTargetException
- Throws:
UtilEvalError
bsh.ReflectError
java.lang.reflect.InvocationTargetException
-
-