bsh

Class ClassGeneratorImpl


public class ClassGeneratorImpl
extends ClassGenerator

Author:
Pat Niemeyer (pat@pat.net)

Method Summary

Class
generateClass(String name, Modifiers modifiers, Class[] interfaces, Class superClass, bsh.BSHBlock block, boolean isInterface, CallStack callstack, Interpreter interpreter)
static Class
generateClassImpl(String name, Modifiers modifiers, Class[] interfaces, 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.
Object
invokeSuperclassMethod(BshClassManager bcm, Object instance, String methodName, Object[] args)
static Object
invokeSuperclassMethodImpl(BshClassManager bcm, Object instance, String methodName, Object[] args)
void
setInstanceNameSpaceParent(Object instance, String className, NameSpace parent)
Change the parent of the class instance namespace.

Methods inherited from class bsh.ClassGenerator

generateClass, getClassGenerator, invokeSuperclassMethod, setInstanceNameSpaceParent

Method Details

generateClass

public Class generateClass(String name,
                           Modifiers modifiers,
                           Class[] interfaces,
                           Class superClass,
                           bsh.BSHBlock block,
                           boolean isInterface,
                           CallStack callstack,
                           Interpreter interpreter)
            throws EvalError
Overrides:
generateClass in interface ClassGenerator


generateClassImpl

public static Class generateClassImpl(String name,
                                      Modifiers modifiers,
                                      Class[] interfaces,
                                      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.


invokeSuperclassMethod

public Object invokeSuperclassMethod(BshClassManager bcm,
                                     Object instance,
                                     String methodName,
                                     Object[] args)
            throws UtilEvalError,
                   bsh.ReflectError,
                   InvocationTargetException
Overrides:
invokeSuperclassMethod in interface ClassGenerator


invokeSuperclassMethodImpl

public static Object invokeSuperclassMethodImpl(BshClassManager bcm,
                                                Object instance,
                                                String methodName,
                                                Object[] args)
            throws UtilEvalError,
                   bsh.ReflectError,
                   InvocationTargetException


setInstanceNameSpaceParent

public void setInstanceNameSpaceParent(Object instance,
                                       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.
Overrides:
setInstanceNameSpaceParent in interface ClassGenerator


B) 2000-2005 pat@pat.net :-)