bsh
Class ClassGeneratorImpl

java.lang.Object
  extended bybsh.ClassGenerator
      extended bybsh.ClassGeneratorImpl

public class ClassGeneratorImpl
extends ClassGenerator

Author:
Pat Niemeyer (pat@pat.net)

Constructor Summary
ClassGeneratorImpl()
           
 
Method Summary
 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.
 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.
 
Methods inherited from class bsh.ClassGenerator
getClassGenerator
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ClassGeneratorImpl

public ClassGeneratorImpl()
Method Detail

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
Description copied from class: ClassGenerator
Parse the BSHBlock for the class definition and generate the class.

Specified by:
generateClass in class ClassGenerator
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
Description copied from class: ClassGenerator
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.

Specified by:
invokeSuperclassMethod in class ClassGenerator
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.

Specified by:
setInstanceNameSpaceParent in class ClassGenerator

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