org.python.expose.generate
Class DescriptorExposer
- java.lang.Object
-
- org.python.expose.generate.Exposer
-
- org.python.expose.generate.DescriptorExposer
-
- All Implemented Interfaces:
- org.objectweb.asm.Opcodes, PyTypes
public class DescriptorExposer extends Exposer
Generates a class to expose a descriptor on Python type. One of addMethodGetter or addFieldGetter must be called, and possibly one of addMethodSetter and addFieldSetter if this is a settable descriptor. If this is a deletable descriptor, addMethodDeleter may be called. There is no addFieldDeleter since there's no defined behavior to 'delete' a field.
-
-
Field Summary
-
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
-
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
-
-
Constructor Summary
Constructors Constructor and Description DescriptorExposer(org.objectweb.asm.Type onType, java.lang.String descrName)Creates an exposer that will work on type and havedescrNameas its name in the type's dict.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description voidaddFieldGetter(java.lang.String fieldName, org.objectweb.asm.Type fieldType)voidaddFieldGetter(java.lang.String fieldName, org.objectweb.asm.Type fieldType, java.lang.String doc)voidaddFieldSetter(java.lang.String fieldName, org.objectweb.asm.Type fieldType)voidaddMethodDeleter(java.lang.String methodName, java.lang.String desc)voidaddMethodGetter(java.lang.String methodName, java.lang.String desc)voidaddMethodGetter(java.lang.String methodName, java.lang.String desc, java.lang.String doc)voidaddMethodSetter(java.lang.String methodName, java.lang.String desc)java.lang.StringgetName()booleanhasGetter()booleanhasSetter()java.lang.StringtoString()-
Methods inherited from class org.python.expose.generate.Exposer
generate, getClassName, getInternalName
-
-
-
-
Constructor Detail
-
DescriptorExposer
public DescriptorExposer(org.objectweb.asm.Type onType, java.lang.String descrName)Creates an exposer that will work on type and havedescrNameas its name in the type's dict.
-
-
Method Detail
-
getName
public java.lang.String getName()
- Returns:
- - the name this descriptor will be exposed as in its type's dict
-
addMethodGetter
public void addMethodGetter(java.lang.String methodName, java.lang.String desc)
-
addMethodGetter
public void addMethodGetter(java.lang.String methodName, java.lang.String desc, java.lang.String doc)
-
addFieldGetter
public void addFieldGetter(java.lang.String fieldName, org.objectweb.asm.Type fieldType)
-
addFieldGetter
public void addFieldGetter(java.lang.String fieldName, org.objectweb.asm.Type fieldType, java.lang.String doc)
-
hasGetter
public boolean hasGetter()
-
addMethodSetter
public void addMethodSetter(java.lang.String methodName, java.lang.String desc)
-
addFieldSetter
public void addFieldSetter(java.lang.String fieldName, org.objectweb.asm.Type fieldType)
-
hasSetter
public boolean hasSetter()
-
addMethodDeleter
public void addMethodDeleter(java.lang.String methodName, java.lang.String desc)
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-
DMelt 3.0 © DataMelt by jWork.ORG