## org.gjt.sp.jedit.bsh
Class ClassGeneratorImpl

    java.lang.Object
      org.gjt.sp.jedit.bsh.ClassGenerator
          org.gjt.sp.jedit.bsh.ClassGeneratorImpl

    public class ClassGeneratorImpl

extends ClassGenerator

Constructor Summary
`ClassGeneratorImpl()`

Method Summary
`java.lang.Class` `generateClass(java.lang.String name, Modifiers modifiers, java.lang.Class[] interfaces, java.lang.Class superClass, org.gjt.sp.jedit.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, org.gjt.sp.jedit.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 org.gjt.sp.jedit.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,
                                         org.gjt.sp.jedit.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,
                                                   org.gjt.sp.jedit.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`
    `org.gjt.sp.jedit.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,
                                                    org.gjt.sp.jedit.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,
                                                              org.gjt.sp.jedit.bsh.ReflectError,
                                                              java.lang.reflect.InvocationTargetException

  Throws:
    `UtilEvalError`
    `org.gjt.sp.jedit.bsh.ReflectError`
    `java.lang.reflect.InvocationTargetException`