Package org.python.modules.jffi
Class SkinnyMethodAdapter
- java.lang.Object
-
- org.objectweb.asm.MethodVisitor
-
- org.python.modules.jffi.SkinnyMethodAdapter
-
- All Implemented Interfaces:
org.objectweb.asm.Opcodes
public class SkinnyMethodAdapter extends org.objectweb.asm.MethodVisitor implements org.objectweb.asm.Opcodes- Author:
- headius
-
-
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_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, ASM4, ASM5, ASM6, 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, SWAP, T_BOOLEAN, T_BYTE, T_CHAR, T_DOUBLE, T_FLOAT, T_INT, T_LONG, T_SHORT, TABLESWITCH, TOP, UNINITIALIZED_THIS, V1_1, V1_2, V1_3, V1_4, V1_5, V1_6, V1_7, V1_8, V9
-
-
Constructor Summary
Constructors Constructor Description SkinnyMethodAdapter(org.objectweb.asm.ClassVisitor cv, int flags, java.lang.String name, java.lang.String signature, java.lang.String something, java.lang.String[] exceptions)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaaload()voidaastore()voidaconst_null()voidaload(int arg0)voidaloadMany(int... args)Short-hand for specifying a set of aloadsvoidanewarray(java.lang.String arg0)voidaprintln()voidareturn()voidarraylength()voidarrayload()voidarraystore()voidastore(int arg0)voidathrow()voidbaload()voidbarrayload()voidbarraystore()voidbastore()voidbipush(int arg)voidcaload()voidcastore()voidcheckcast(java.lang.String arg0)voidd2f()voidd2i()voidd2l()voiddadd()voiddaload()voiddastore()voiddcmpg()voiddcmpl()voidddiv()voiddload(int arg0)voiddmul()voiddneg()voiddrem()voiddreturn()voiddstore(int arg0)voiddsub()voiddup()voiddup_x1()voiddup_x2()voiddup2()voiddup2_x1()voiddup2_x2()voidend()voidf2d()voidf2i()voidf2l()voidfadd()voidfaload()voidfastore()voidfcmpg()voidfcmpl()voidfdiv()voidfload(int arg0)voidfmul()voidfneg()voidfrem()voidfreturn()voidfstore(int arg0)voidfsub()voidgetfield(java.lang.String arg1, java.lang.String arg2, java.lang.String arg3)org.objectweb.asm.MethodVisitorgetMethodVisitor()voidgetstatic(java.lang.String arg1, java.lang.String arg2, java.lang.String arg3)voidgo_to(org.objectweb.asm.Label arg0)voidi2b()voidi2c()voidi2d()voidi2f()voidi2l()voidi2s()voidiadd()voidiaload()voidiand()voidiarrayload()voidiastore()voidiconst_0()voidiconst_1()voidiconst_2()voidiconst_3()voidiconst_4()voidiconst_5()voidiconst_m1()voididiv()voidif_acmpeq(org.objectweb.asm.Label arg0)voidif_acmpne(org.objectweb.asm.Label arg0)voidif_icmpeq(org.objectweb.asm.Label arg0)voidif_icmpgt(org.objectweb.asm.Label arg0)voidif_icmple(org.objectweb.asm.Label arg0)voidif_icmplt(org.objectweb.asm.Label arg0)voidif_icmpne(org.objectweb.asm.Label arg0)voidifeq(org.objectweb.asm.Label arg0)voidiffalse(org.objectweb.asm.Label arg0)voidifge(org.objectweb.asm.Label arg0)voidifgt(org.objectweb.asm.Label arg0)voidifle(org.objectweb.asm.Label arg0)voidiflt(org.objectweb.asm.Label arg0)voidifne(org.objectweb.asm.Label arg0)voidifnonnull(org.objectweb.asm.Label arg0)voidifnull(org.objectweb.asm.Label arg0)voidiftrue(org.objectweb.asm.Label arg0)voidiinc(int arg0, int arg1)voidiload(int arg0)voidimul()voidineg()voidinstance_of(java.lang.String arg0)voidinvokeinterface(java.lang.String arg1, java.lang.String arg2, java.lang.String arg3)voidinvokespecial(java.lang.String arg1, java.lang.String arg2, java.lang.String arg3)voidinvokestatic(java.lang.String arg1, java.lang.String arg2, java.lang.String arg3)voidinvokevirtual(java.lang.String arg1, java.lang.String arg2, java.lang.String arg3)voidior()voidiprintln()voidirem()voidireturn()voidishl()voidishr()voidistore(int arg0)voidisub()voidiushr()voidixor()voidjsr(org.objectweb.asm.Label branch)voidl2d()voidl2f()voidl2i()voidlabel(org.objectweb.asm.Label label)voidladd()voidlaload()voidland()voidlastore()voidlcmp()voidlconst_0()voidldc(java.lang.Object arg0)voidldiv()voidline(int line)voidline(int line, org.objectweb.asm.Label label)voidlload(int arg0)voidlmul()voidlneg()voidlookupswitch(org.objectweb.asm.Label arg0, int[] arg1, org.objectweb.asm.Label[] arg2)voidlor()voidlrem()voidlreturn()voidlshl()voidlshr()voidlstore(int arg0)voidlsub()voidlushr()voidlxor()voidmonitorenter()voidmonitorexit()voidmultianewarray(java.lang.String arg0, int dims)voidnewarray(int arg0)voidnewobj(java.lang.String arg0)voidnop()voidpop()voidpop2()voidpushBoolean(boolean bool)voidpushInt(int value)voidputfield(java.lang.String arg1, java.lang.String arg2, java.lang.String arg3)voidputstatic(java.lang.String arg1, java.lang.String arg2, java.lang.String arg3)voidret(int arg0)voidsaload()voidsastore()voidsetMethodVisitor(org.objectweb.asm.MethodVisitor mv)voidsipush(int arg)voidstart()voidswap()voidswap2()voidtableswitch(int min, int max, org.objectweb.asm.Label defaultLabel, org.objectweb.asm.Label[] cases)voidtrycatch(java.lang.String type, java.lang.Runnable body, java.lang.Runnable catchBody)voidtrycatch(org.objectweb.asm.Label arg0, org.objectweb.asm.Label arg1, org.objectweb.asm.Label arg2, java.lang.String arg3)org.objectweb.asm.AnnotationVisitorvisitAnnotation(java.lang.String arg0, boolean arg1)org.objectweb.asm.AnnotationVisitorvisitAnnotationDefault()voidvisitAttribute(org.objectweb.asm.Attribute arg0)voidvisitCode()voidvisitEnd()voidvisitFieldInsn(int arg0, java.lang.String arg1, java.lang.String arg2, java.lang.String arg3)voidvisitFrame(int arg0, int arg1, java.lang.Object[] arg2, int arg3, java.lang.Object[] arg4)voidvisitIincInsn(int arg0, int arg1)voidvisitInsn(int arg0)voidvisitIntInsn(int arg0, int arg1)voidvisitJumpInsn(int arg0, org.objectweb.asm.Label arg1)voidvisitLabel(org.objectweb.asm.Label arg0)voidvisitLdcInsn(java.lang.Object arg0)voidvisitLineNumber(int arg0, org.objectweb.asm.Label arg1)voidvisitLocalVariable(java.lang.String arg0, java.lang.String arg1, java.lang.String arg2, org.objectweb.asm.Label arg3, org.objectweb.asm.Label arg4, int arg5)voidvisitLookupSwitchInsn(org.objectweb.asm.Label arg0, int[] arg1, org.objectweb.asm.Label[] arg2)voidvisitMaxs(int arg0, int arg1)voidvisitMethodInsn(int arg0, java.lang.String arg1, java.lang.String arg2, java.lang.String arg3)voidvisitMultiANewArrayInsn(java.lang.String arg0, int arg1)org.objectweb.asm.AnnotationVisitorvisitParameterAnnotation(int arg0, java.lang.String arg1, boolean arg2)voidvisitTableSwitchInsn(int arg0, int arg1, org.objectweb.asm.Label arg2, org.objectweb.asm.Label... arg3)voidvisitTryCatchBlock(org.objectweb.asm.Label arg0, org.objectweb.asm.Label arg1, org.objectweb.asm.Label arg2, java.lang.String arg3)voidvisitTypeInsn(int arg0, java.lang.String arg1)voidvisitVarInsn(int arg0, int arg1)voidvoidreturn()
-
-
-
Method Detail
-
getMethodVisitor
public org.objectweb.asm.MethodVisitor getMethodVisitor()
-
setMethodVisitor
public void setMethodVisitor(org.objectweb.asm.MethodVisitor mv)
-
aloadMany
public void aloadMany(int... args)
Short-hand for specifying a set of aloads- Parameters:
args- list of aloads you want
-
aload
public void aload(int arg0)
-
iload
public void iload(int arg0)
-
lload
public void lload(int arg0)
-
fload
public void fload(int arg0)
-
dload
public void dload(int arg0)
-
astore
public void astore(int arg0)
-
istore
public void istore(int arg0)
-
lstore
public void lstore(int arg0)
-
fstore
public void fstore(int arg0)
-
dstore
public void dstore(int arg0)
-
ldc
public void ldc(java.lang.Object arg0)
-
bipush
public void bipush(int arg)
-
sipush
public void sipush(int arg)
-
pushInt
public void pushInt(int value)
-
pushBoolean
public void pushBoolean(boolean bool)
-
invokestatic
public void invokestatic(java.lang.String arg1, java.lang.String arg2, java.lang.String arg3)
-
invokespecial
public void invokespecial(java.lang.String arg1, java.lang.String arg2, java.lang.String arg3)
-
invokevirtual
public void invokevirtual(java.lang.String arg1, java.lang.String arg2, java.lang.String arg3)
-
invokeinterface
public void invokeinterface(java.lang.String arg1, java.lang.String arg2, java.lang.String arg3)
-
aprintln
public void aprintln()
-
iprintln
public void iprintln()
-
areturn
public void areturn()
-
ireturn
public void ireturn()
-
freturn
public void freturn()
-
lreturn
public void lreturn()
-
dreturn
public void dreturn()
-
newobj
public void newobj(java.lang.String arg0)
-
dup
public void dup()
-
swap
public void swap()
-
swap2
public void swap2()
-
getstatic
public void getstatic(java.lang.String arg1, java.lang.String arg2, java.lang.String arg3)
-
putstatic
public void putstatic(java.lang.String arg1, java.lang.String arg2, java.lang.String arg3)
-
getfield
public void getfield(java.lang.String arg1, java.lang.String arg2, java.lang.String arg3)
-
putfield
public void putfield(java.lang.String arg1, java.lang.String arg2, java.lang.String arg3)
-
voidreturn
public void voidreturn()
-
anewarray
public void anewarray(java.lang.String arg0)
-
multianewarray
public void multianewarray(java.lang.String arg0, int dims)
-
newarray
public void newarray(int arg0)
-
iconst_m1
public void iconst_m1()
-
iconst_0
public void iconst_0()
-
iconst_1
public void iconst_1()
-
iconst_2
public void iconst_2()
-
iconst_3
public void iconst_3()
-
iconst_4
public void iconst_4()
-
iconst_5
public void iconst_5()
-
lconst_0
public void lconst_0()
-
aconst_null
public void aconst_null()
-
label
public void label(org.objectweb.asm.Label label)
-
nop
public void nop()
-
pop
public void pop()
-
pop2
public void pop2()
-
arrayload
public void arrayload()
-
arraystore
public void arraystore()
-
iarrayload
public void iarrayload()
-
barrayload
public void barrayload()
-
barraystore
public void barraystore()
-
aaload
public void aaload()
-
aastore
public void aastore()
-
iaload
public void iaload()
-
iastore
public void iastore()
-
laload
public void laload()
-
lastore
public void lastore()
-
baload
public void baload()
-
bastore
public void bastore()
-
saload
public void saload()
-
sastore
public void sastore()
-
caload
public void caload()
-
castore
public void castore()
-
faload
public void faload()
-
fastore
public void fastore()
-
daload
public void daload()
-
dastore
public void dastore()
-
fcmpl
public void fcmpl()
-
fcmpg
public void fcmpg()
-
dcmpl
public void dcmpl()
-
dcmpg
public void dcmpg()
-
dup_x2
public void dup_x2()
-
dup_x1
public void dup_x1()
-
dup2_x2
public void dup2_x2()
-
dup2_x1
public void dup2_x1()
-
dup2
public void dup2()
-
trycatch
public void trycatch(org.objectweb.asm.Label arg0, org.objectweb.asm.Label arg1, org.objectweb.asm.Label arg2, java.lang.String arg3)
-
trycatch
public void trycatch(java.lang.String type, java.lang.Runnable body, java.lang.Runnable catchBody)
-
go_to
public void go_to(org.objectweb.asm.Label arg0)
-
lookupswitch
public void lookupswitch(org.objectweb.asm.Label arg0, int[] arg1, org.objectweb.asm.Label[] arg2)
-
athrow
public void athrow()
-
instance_of
public void instance_of(java.lang.String arg0)
-
ifeq
public void ifeq(org.objectweb.asm.Label arg0)
-
iffalse
public void iffalse(org.objectweb.asm.Label arg0)
-
ifne
public void ifne(org.objectweb.asm.Label arg0)
-
iftrue
public void iftrue(org.objectweb.asm.Label arg0)
-
if_acmpne
public void if_acmpne(org.objectweb.asm.Label arg0)
-
if_acmpeq
public void if_acmpeq(org.objectweb.asm.Label arg0)
-
if_icmple
public void if_icmple(org.objectweb.asm.Label arg0)
-
if_icmpgt
public void if_icmpgt(org.objectweb.asm.Label arg0)
-
if_icmplt
public void if_icmplt(org.objectweb.asm.Label arg0)
-
if_icmpne
public void if_icmpne(org.objectweb.asm.Label arg0)
-
if_icmpeq
public void if_icmpeq(org.objectweb.asm.Label arg0)
-
checkcast
public void checkcast(java.lang.String arg0)
-
start
public void start()
-
end
public void end()
-
line
public void line(int line)
-
line
public void line(int line, org.objectweb.asm.Label label)
-
ifnonnull
public void ifnonnull(org.objectweb.asm.Label arg0)
-
ifnull
public void ifnull(org.objectweb.asm.Label arg0)
-
iflt
public void iflt(org.objectweb.asm.Label arg0)
-
ifle
public void ifle(org.objectweb.asm.Label arg0)
-
ifgt
public void ifgt(org.objectweb.asm.Label arg0)
-
ifge
public void ifge(org.objectweb.asm.Label arg0)
-
arraylength
public void arraylength()
-
ishr
public void ishr()
-
ishl
public void ishl()
-
iushr
public void iushr()
-
lshr
public void lshr()
-
lshl
public void lshl()
-
lushr
public void lushr()
-
lcmp
public void lcmp()
-
iand
public void iand()
-
ior
public void ior()
-
ixor
public void ixor()
-
land
public void land()
-
lor
public void lor()
-
lxor
public void lxor()
-
iadd
public void iadd()
-
ladd
public void ladd()
-
fadd
public void fadd()
-
dadd
public void dadd()
-
isub
public void isub()
-
lsub
public void lsub()
-
fsub
public void fsub()
-
dsub
public void dsub()
-
idiv
public void idiv()
-
irem
public void irem()
-
ineg
public void ineg()
-
i2d
public void i2d()
-
i2l
public void i2l()
-
i2f
public void i2f()
-
i2s
public void i2s()
-
i2c
public void i2c()
-
i2b
public void i2b()
-
ldiv
public void ldiv()
-
lrem
public void lrem()
-
lneg
public void lneg()
-
l2d
public void l2d()
-
l2i
public void l2i()
-
l2f
public void l2f()
-
fdiv
public void fdiv()
-
frem
public void frem()
-
fneg
public void fneg()
-
f2d
public void f2d()
-
f2i
public void f2i()
-
f2l
public void f2l()
-
ddiv
public void ddiv()
-
drem
public void drem()
-
dneg
public void dneg()
-
d2f
public void d2f()
-
d2i
public void d2i()
-
d2l
public void d2l()
-
imul
public void imul()
-
lmul
public void lmul()
-
fmul
public void fmul()
-
dmul
public void dmul()
-
iinc
public void iinc(int arg0, int arg1)
-
monitorenter
public void monitorenter()
-
monitorexit
public void monitorexit()
-
jsr
public void jsr(org.objectweb.asm.Label branch)
-
ret
public void ret(int arg0)
-
visitAnnotationDefault
public org.objectweb.asm.AnnotationVisitor visitAnnotationDefault()
- Overrides:
visitAnnotationDefaultin classorg.objectweb.asm.MethodVisitor
-
visitAnnotation
public org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String arg0, boolean arg1)- Overrides:
visitAnnotationin classorg.objectweb.asm.MethodVisitor
-
visitParameterAnnotation
public org.objectweb.asm.AnnotationVisitor visitParameterAnnotation(int arg0, java.lang.String arg1, boolean arg2)- Overrides:
visitParameterAnnotationin classorg.objectweb.asm.MethodVisitor
-
visitAttribute
public void visitAttribute(org.objectweb.asm.Attribute arg0)
- Overrides:
visitAttributein classorg.objectweb.asm.MethodVisitor
-
visitCode
public void visitCode()
- Overrides:
visitCodein classorg.objectweb.asm.MethodVisitor
-
visitInsn
public void visitInsn(int arg0)
- Overrides:
visitInsnin classorg.objectweb.asm.MethodVisitor
-
visitIntInsn
public void visitIntInsn(int arg0, int arg1)- Overrides:
visitIntInsnin classorg.objectweb.asm.MethodVisitor
-
visitVarInsn
public void visitVarInsn(int arg0, int arg1)- Overrides:
visitVarInsnin classorg.objectweb.asm.MethodVisitor
-
visitTypeInsn
public void visitTypeInsn(int arg0, java.lang.String arg1)- Overrides:
visitTypeInsnin classorg.objectweb.asm.MethodVisitor
-
visitFieldInsn
public void visitFieldInsn(int arg0, java.lang.String arg1, java.lang.String arg2, java.lang.String arg3)- Overrides:
visitFieldInsnin classorg.objectweb.asm.MethodVisitor
-
visitMethodInsn
public void visitMethodInsn(int arg0, java.lang.String arg1, java.lang.String arg2, java.lang.String arg3)- Overrides:
visitMethodInsnin classorg.objectweb.asm.MethodVisitor
-
visitJumpInsn
public void visitJumpInsn(int arg0, org.objectweb.asm.Label arg1)- Overrides:
visitJumpInsnin classorg.objectweb.asm.MethodVisitor
-
visitLabel
public void visitLabel(org.objectweb.asm.Label arg0)
- Overrides:
visitLabelin classorg.objectweb.asm.MethodVisitor
-
visitLdcInsn
public void visitLdcInsn(java.lang.Object arg0)
- Overrides:
visitLdcInsnin classorg.objectweb.asm.MethodVisitor
-
visitIincInsn
public void visitIincInsn(int arg0, int arg1)- Overrides:
visitIincInsnin classorg.objectweb.asm.MethodVisitor
-
visitTableSwitchInsn
public void visitTableSwitchInsn(int arg0, int arg1, org.objectweb.asm.Label arg2, org.objectweb.asm.Label... arg3)- Overrides:
visitTableSwitchInsnin classorg.objectweb.asm.MethodVisitor
-
visitLookupSwitchInsn
public void visitLookupSwitchInsn(org.objectweb.asm.Label arg0, int[] arg1, org.objectweb.asm.Label[] arg2)- Overrides:
visitLookupSwitchInsnin classorg.objectweb.asm.MethodVisitor
-
visitMultiANewArrayInsn
public void visitMultiANewArrayInsn(java.lang.String arg0, int arg1)- Overrides:
visitMultiANewArrayInsnin classorg.objectweb.asm.MethodVisitor
-
visitTryCatchBlock
public void visitTryCatchBlock(org.objectweb.asm.Label arg0, org.objectweb.asm.Label arg1, org.objectweb.asm.Label arg2, java.lang.String arg3)- Overrides:
visitTryCatchBlockin classorg.objectweb.asm.MethodVisitor
-
visitLocalVariable
public void visitLocalVariable(java.lang.String arg0, java.lang.String arg1, java.lang.String arg2, org.objectweb.asm.Label arg3, org.objectweb.asm.Label arg4, int arg5)- Overrides:
visitLocalVariablein classorg.objectweb.asm.MethodVisitor
-
visitLineNumber
public void visitLineNumber(int arg0, org.objectweb.asm.Label arg1)- Overrides:
visitLineNumberin classorg.objectweb.asm.MethodVisitor
-
visitMaxs
public void visitMaxs(int arg0, int arg1)- Overrides:
visitMaxsin classorg.objectweb.asm.MethodVisitor
-
visitEnd
public void visitEnd()
- Overrides:
visitEndin classorg.objectweb.asm.MethodVisitor
-
tableswitch
public void tableswitch(int min, int max, org.objectweb.asm.Label defaultLabel, org.objectweb.asm.Label[] cases)
-
visitFrame
public void visitFrame(int arg0, int arg1, java.lang.Object[] arg2, int arg3, java.lang.Object[] arg4)- Overrides:
visitFramein classorg.objectweb.asm.MethodVisitor
-
-