Class ClassGenerator

  • Direct Known Subclasses:
    ClassGeneratorImpl

    public abstract class ClassGenerator
    extends java.lang.Object
    • Constructor Summary

      Constructors 
      Constructor Description
      ClassGenerator()  
    • Constructor Detail

      • ClassGenerator

        public ClassGenerator()
    • Method Detail

      • generateClass

        public abstract 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
        Parse the BSHBlock for the class definition and generate the class.
        Throws:
        EvalError
      • invokeSuperclassMethod

        public abstract 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
        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
        java.lang.reflect.InvocationTargetException
      • setInstanceNameSpaceParent

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