Documentation of 'org.python.compiler.ProxyMaker' Java class
ProxyMaker
org.python.compiler

Class ProxyMaker

    • Field Summary

      Fields 
      Modifier and Type Field and Description
      ClassFile classfile 
      java.lang.String myClass
      The name of the class to build.
      • Fields inherited from interface org.objectweb.asm.Opcodes

        AALOAD, AASTORE, ACC_ABSTRACT, ACC_ANNOTATION, ACC_BRIDGE, ACC_DEPRECATED, ACC_ENUM, ACC_FINAL, ACC_INTERFACE, ACC_MANDATED, ACC_MODULE, ACC_NATIVE, ACC_OPEN, ACC_PRIVATE, ACC_PROTECTED, ACC_PUBLIC, ACC_RECORD, ACC_STATIC, ACC_STATIC_PHASE, ACC_STRICT, ACC_SUPER, ACC_SYNCHRONIZED, ACC_SYNTHETIC, ACC_TRANSIENT, ACC_TRANSITIVE, ACC_VARARGS, ACC_VOLATILE, ACONST_NULL, ALOAD, ANEWARRAY, ARETURN, ARRAYLENGTH, ASM10_EXPERIMENTAL, ASM4, ASM5, ASM6, ASM7, ASM8, ASM9, ASTORE, ATHROW, BALOAD, BASTORE, BIPUSH, CALOAD, CASTORE, CHECKCAST, D2F, D2I, D2L, DADD, DALOAD, DASTORE, DCMPG, DCMPL, DCONST_0, DCONST_1, DDIV, DLOAD, DMUL, DNEG, DOUBLE, DREM, DRETURN, DSTORE, DSUB, DUP, DUP_X1, DUP_X2, DUP2, DUP2_X1, DUP2_X2, F_APPEND, F_CHOP, F_FULL, F_NEW, F_SAME, F_SAME1, F2D, F2I, F2L, FADD, FALOAD, FASTORE, FCMPG, FCMPL, FCONST_0, FCONST_1, FCONST_2, FDIV, FLOAD, FLOAT, FMUL, FNEG, FREM, FRETURN, FSTORE, FSUB, GETFIELD, GETSTATIC, GOTO, H_GETFIELD, H_GETSTATIC, H_INVOKEINTERFACE, H_INVOKESPECIAL, H_INVOKESTATIC, H_INVOKEVIRTUAL, H_NEWINVOKESPECIAL, H_PUTFIELD, H_PUTSTATIC, I2B, I2C, I2D, I2F, I2L, I2S, IADD, IALOAD, IAND, IASTORE, ICONST_0, ICONST_1, ICONST_2, ICONST_3, ICONST_4, ICONST_5, ICONST_M1, IDIV, IF_ACMPEQ, IF_ACMPNE, IF_ICMPEQ, IF_ICMPGE, IF_ICMPGT, IF_ICMPLE, IF_ICMPLT, IF_ICMPNE, IFEQ, IFGE, IFGT, IFLE, IFLT, IFNE, IFNONNULL, IFNULL, IINC, ILOAD, IMUL, INEG, INSTANCEOF, INTEGER, INVOKEDYNAMIC, INVOKEINTERFACE, INVOKESPECIAL, INVOKESTATIC, INVOKEVIRTUAL, IOR, IREM, IRETURN, ISHL, ISHR, ISTORE, ISUB, IUSHR, IXOR, JSR, L2D, L2F, L2I, LADD, LALOAD, LAND, LASTORE, LCMP, LCONST_0, LCONST_1, LDC, LDIV, LLOAD, LMUL, LNEG, LONG, LOOKUPSWITCH, LOR, LREM, LRETURN, LSHL, LSHR, LSTORE, LSUB, LUSHR, LXOR, MONITORENTER, MONITOREXIT, MULTIANEWARRAY, NEW, NEWARRAY, NOP, NULL, POP, POP2, PUTFIELD, PUTSTATIC, RET, RETURN, SALOAD, SASTORE, SIPUSH, SOURCE_DEPRECATED, SOURCE_MASK, SWAP, T_BOOLEAN, T_BYTE, T_CHAR, T_DOUBLE, T_FLOAT, T_INT, T_LONG, T_SHORT, TABLESWITCH, TOP, UNINITIALIZED_THIS, V_PREVIEW, V1_1, V1_2, V1_3, V1_4, V1_5, V1_6, V1_7, V1_8, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V9
    • Constructor Summary

      Constructors 
      Constructor and Description
      ProxyMaker(java.lang.String superclassName, java.lang.Class<?> superclass)
      ProxyMaker(java.lang.String proxyClassName, java.lang.Class<?> superclass, java.lang.Class<?>... interfaces)
      Creates a proxy class maker that produces classes named proxyClassName that extends superclass and implements the interfaces in interfaces.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method and Description
      void addClassDictInit() 
      void addConstructor(java.lang.String name, java.lang.Class<?>[] parameters, java.lang.Class<?> ret, java.lang.String sig, int access) 
      void addConstructorMethodCode(java.lang.String pyName, java.lang.Class<?>[] parameters, java.lang.Class<?>[] exceptions, int access, java.lang.Class<?> declaringClass, Code code)
      A constructor that is also a method (!)
      void addConstructors(java.lang.Class<?> c) 
      void addMethod(java.lang.reflect.Method method, int access) 
      void addMethod(java.lang.String name, java.lang.Class<?> ret, java.lang.Class<?>[] parameters, java.lang.Class<?>[] exceptions, int access, java.lang.Class<?> declaringClass)
      Adds a method of the given name to the class being implemented.
      void addMethod(java.lang.String name, java.lang.String pyName, java.lang.Class<?> ret, java.lang.Class<?>[] parameters, java.lang.Class<?>[] exceptions, int access, java.lang.Class<?> declaringClass, ProxyCodeHelpers.AnnotationDescr[] methodAnnotations, ProxyCodeHelpers.AnnotationDescr[][] parameterAnnotations)
      Generates and adds a proxy method to the proxy class
      void addProxy() 
      void addSuperMethod(java.lang.reflect.Method method, int access) 
      void addSuperMethod(java.lang.String methodName, java.lang.String superName, java.lang.String declClass, java.lang.Class<?>[] parameters, java.lang.Class<?> ret, java.lang.String sig, int access) 
      void build() 
      void build(java.io.OutputStream out)
      Builds this proxy and writes its bytecode to out.
      void callMethod(Code code, java.lang.String name, java.lang.Class<?>[] parameters, java.lang.Class<?> ret, java.lang.Class<?>[] exceptions) 
      void callSuper(Code code, java.lang.String name, java.lang.String superclass, java.lang.Class<?>[] parameters, java.lang.Class<?> ret, boolean doReturn) 
      void doConstants() 
      void doJavaCall(Code code, java.lang.String name, java.lang.String type, java.lang.String jcallName) 
      void getArgs(Code code, java.lang.Class<?>[] parameters) 
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • myClass

        public java.lang.String myClass
        The name of the class to build.
    • Constructor Detail

      • ProxyMaker

        @Deprecated
        public ProxyMaker(java.lang.String superclassName,
                                      java.lang.Class<?> superclass)
        Creates a proxy class maker that produces classes named org.python.proxies.(superclassName) with superclass as an implemented interface or extended class, depending on the its type.
      • ProxyMaker

        public ProxyMaker(java.lang.String proxyClassName,
                          java.lang.Class<?> superclass,
                          java.lang.Class<?>... interfaces)
        Creates a proxy class maker that produces classes named proxyClassName that extends superclass and implements the interfaces in interfaces.
    • Method Detail

      • doConstants

        public void doConstants()
                         throws java.lang.Exception
        Throws:
        java.lang.Exception
      • callSuper

        public void callSuper(Code code,
                              java.lang.String name,
                              java.lang.String superclass,
                              java.lang.Class<?>[] parameters,
                              java.lang.Class<?> ret,
                              boolean doReturn)
                       throws java.lang.Exception
        Throws:
        java.lang.Exception
      • doJavaCall

        public void doJavaCall(Code code,
                               java.lang.String name,
                               java.lang.String type,
                               java.lang.String jcallName)
                        throws java.lang.Exception
        Throws:
        java.lang.Exception
      • getArgs

        public void getArgs(Code code,
                            java.lang.Class<?>[] parameters)
                     throws java.lang.Exception
        Throws:
        java.lang.Exception
      • callMethod

        public void callMethod(Code code,
                               java.lang.String name,
                               java.lang.Class<?>[] parameters,
                               java.lang.Class<?> ret,
                               java.lang.Class<?>[] exceptions)
                        throws java.lang.Exception
        Throws:
        java.lang.Exception
      • addMethod

        public void addMethod(java.lang.reflect.Method method,
                              int access)
                       throws java.lang.Exception
        Throws:
        java.lang.Exception
      • addMethod

        public void addMethod(java.lang.String name,
                              java.lang.Class<?> ret,
                              java.lang.Class<?>[] parameters,
                              java.lang.Class<?>[] exceptions,
                              int access,
                              java.lang.Class<?> declaringClass)
                       throws java.lang.Exception
        Adds a method of the given name to the class being implemented. If declaringClass is null, the generated method will expect to find an object of the method's name in the Python object and call it. If it isn't null, if an object is found in the Python object, it'll be called. Otherwise the superclass will be called. No checking is done to guarantee that the superclass has a method with the same signature.
        Throws:
        java.lang.Exception
      • addMethod

        public void addMethod(java.lang.String name,
                              java.lang.String pyName,
                              java.lang.Class<?> ret,
                              java.lang.Class<?>[] parameters,
                              java.lang.Class<?>[] exceptions,
                              int access,
                              java.lang.Class<?> declaringClass,
                              ProxyCodeHelpers.AnnotationDescr[] methodAnnotations,
                              ProxyCodeHelpers.AnnotationDescr[][] parameterAnnotations)
                       throws java.lang.Exception
        Generates and adds a proxy method to the proxy class
        Parameters:
        name - of the java method
        pyName - name of the python method to which the java method proxies (useful for clamped objects)
        ret - return type
        parameters - parameter types
        exceptions - throwable exception types
        access -
        declaringClass -
        methodAnnotations - method annotations
        parameterAnnotations - parameter annotations
        Throws:
        java.lang.Exception
      • addConstructorMethodCode

        public void addConstructorMethodCode(java.lang.String pyName,
                                             java.lang.Class<?>[] parameters,
                                             java.lang.Class<?>[] exceptions,
                                             int access,
                                             java.lang.Class<?> declaringClass,
                                             Code code)
                                      throws java.lang.Exception
        A constructor that is also a method (!)
        Throws:
        java.lang.Exception
      • addConstructor

        public void addConstructor(java.lang.String name,
                                   java.lang.Class<?>[] parameters,
                                   java.lang.Class<?> ret,
                                   java.lang.String sig,
                                   int access)
                            throws java.lang.Exception
        Throws:
        java.lang.Exception
      • addConstructors

        public void addConstructors(java.lang.Class<?> c)
                             throws java.lang.Exception
        Throws:
        java.lang.Exception
      • addSuperMethod

        public void addSuperMethod(java.lang.reflect.Method method,
                                   int access)
                            throws java.lang.Exception
        Throws:
        java.lang.Exception
      • addSuperMethod

        public void addSuperMethod(java.lang.String methodName,
                                   java.lang.String superName,
                                   java.lang.String declClass,
                                   java.lang.Class<?>[] parameters,
                                   java.lang.Class<?> ret,
                                   java.lang.String sig,
                                   int access)
                            throws java.lang.Exception
        Throws:
        java.lang.Exception
      • addProxy

        public void addProxy()
                      throws java.lang.Exception
        Throws:
        java.lang.Exception
      • addClassDictInit

        public void addClassDictInit()
                              throws java.lang.Exception
        Throws:
        java.lang.Exception
      • build

        public void build(java.io.OutputStream out)
                   throws java.lang.Exception
        Builds this proxy and writes its bytecode to out.
        Throws:
        java.lang.Exception
      • build

        public void build()
                   throws java.lang.Exception
        Throws:
        java.lang.Exception

DMelt 3.0 © DataMelt by jWork.ORG

You see the box below because you did not login.