org.python.expose.generate
Class ExposedMethodFinder
- java.lang.Object
-
- org.objectweb.asm.MethodVisitor
-
- org.python.expose.generate.ExposedMethodFinder
-
- All Implemented Interfaces:
- org.objectweb.asm.Opcodes, PyTypes
public abstract class ExposedMethodFinder extends org.objectweb.asm.MethodVisitor implements PyTypes, org.objectweb.asm.Opcodes
Visits a method passing all calls through to its delegate. If an ExposedNew or ExposedMethod annotation is visited, calls handleResult with the exposer constructed with that annotation. Only one of the handleResult methods will be called, if any.
-
-
Field Summary
-
Fields inherited from interface org.python.expose.generate.PyTypes
ABUILTIN_FUNCTION, ABUILTIN_METHOD, ADATA_DESCR, APYOBJ, ASSUPER, ASTRING, BOOLEAN, BUILTIN_FUNCTION, BUILTIN_INFO, BUILTIN_METHOD, BUILTIN_METHOD_NARROW, BYTE, CHAR, CLASS, DATA_DESCR, EXPOSED_CLASS_METHOD, EXPOSED_DELETE, EXPOSED_GET, EXPOSED_METHOD, EXPOSED_NEW, EXPOSED_SET, EXPOSED_TYPE, INT, OBJECT, PY, PYBOOLEAN, PYEXCEPTION, PYFLOAT, PYINTEGER, PYLONG, PYNEWWRAPPER, PYOBJ, PYSTR, PYTYPE, SHORT, STRING, STRING_BUILDER, THREAD_STATE, TYPEBUILDER, VOID
-
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 ExposedMethodFinder(java.lang.String typeName, org.objectweb.asm.Type onType, int access, java.lang.String name, java.lang.String desc, java.lang.String[] exceptions, org.objectweb.asm.MethodVisitor delegate)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method and Description abstract voidexposeAsDeleteDescriptor(java.lang.String descName)abstract voidexposeAsGetDescriptor(java.lang.String descName, java.lang.String doc)abstract voidexposeAsSetDescriptor(java.lang.String descName)abstract voidhandleNewExposer(Exposer exposer)abstract voidhandleResult(ClassMethodExposer exposer)abstract voidhandleResult(InstanceMethodExposer exposer)org.objectweb.asm.AnnotationVisitorvisitAnnotation(java.lang.String desc, boolean visible)voidvisitEnd()-
Methods inherited from class org.objectweb.asm.MethodVisitor
visitAnnotableParameterCount, visitAnnotationDefault, visitAttribute, visitCode, visitFieldInsn, visitFrame, visitIincInsn, visitInsn, visitInsnAnnotation, visitIntInsn, visitInvokeDynamicInsn, visitJumpInsn, visitLabel, visitLdcInsn, visitLineNumber, visitLocalVariable, visitLocalVariableAnnotation, visitLookupSwitchInsn, visitMaxs, visitMethodInsn, visitMethodInsn, visitMultiANewArrayInsn, visitParameter, visitParameterAnnotation, visitTableSwitchInsn, visitTryCatchAnnotation, visitTryCatchBlock, visitTypeAnnotation, visitTypeInsn, visitVarInsn
-
-
-
-
Constructor Detail
-
ExposedMethodFinder
public ExposedMethodFinder(java.lang.String typeName, org.objectweb.asm.Type onType, int access, java.lang.String name, java.lang.String desc, java.lang.String[] exceptions, org.objectweb.asm.MethodVisitor delegate)
-
-
Method Detail
-
handleResult
public abstract void handleResult(InstanceMethodExposer exposer)
- Parameters:
exposer- - the InstanceMethodExposer built as a result of visiting ExposeMethod
-
handleResult
public abstract void handleResult(ClassMethodExposer exposer)
- Parameters:
exposer- - the ClassMethodExposer built as a result of visiting ExposeClassMethod
-
handleNewExposer
public abstract void handleNewExposer(Exposer exposer)
- Parameters:
exposer- - the newExposer built as a result of visiting ExposeNew
-
exposeAsGetDescriptor
public abstract void exposeAsGetDescriptor(java.lang.String descName, java.lang.String doc)
-
exposeAsSetDescriptor
public abstract void exposeAsSetDescriptor(java.lang.String descName)
-
exposeAsDeleteDescriptor
public abstract void exposeAsDeleteDescriptor(java.lang.String descName)
-
visitAnnotation
public org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String desc, boolean visible)- Overrides:
visitAnnotationin classorg.objectweb.asm.MethodVisitor
-
visitEnd
public void visitEnd()
- Overrides:
visitEndin classorg.objectweb.asm.MethodVisitor
-
-
DMelt 3.0 © DataMelt by jWork.ORG