Module jEdit

Class ClassGenerator

java.lang.Object
org.gjt.sp.jedit.bsh.ClassGenerator
Direct Known Subclasses:
ClassGeneratorImpl

public abstract class ClassGenerator extends Object
  • Constructor Details

    • ClassGenerator

      public ClassGenerator()
  • Method Details

    • getClassGenerator

      public static ClassGenerator getClassGenerator() throws UtilEvalError
      Throws:
      UtilEvalError
    • generateClass

      public abstract Class generateClass(String name, Modifiers modifiers, Class[] interfaces, Class superClass, org.gjt.sp.jedit.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 abstract Object invokeSuperclassMethod(BshClassManager bcm, Object instance, String methodName, Object[] args) throws UtilEvalError, org.gjt.sp.jedit.bsh.ReflectError, 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
      org.gjt.sp.jedit.bsh.ReflectError
      InvocationTargetException
    • setInstanceNameSpaceParent

      public abstract 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.