public class MethodWeaver
extends org.objectweb.asm.MethodAdapter
implements org.objectweb.asm.Opcodes
AALOAD, AASTORE, ACC_ABSTRACT, ACC_ANNOTATION, ACC_BRIDGE, ACC_DEPRECATED, ACC_ENUM, ACC_FINAL, ACC_INTERFACE, ACC_NATIVE, ACC_PRIVATE, ACC_PROTECTED, ACC_PUBLIC, ACC_STATIC, ACC_STRICT, ACC_SUPER, ACC_SYNCHRONIZED, ACC_SYNTHETIC, ACC_TRANSIENT, ACC_VARARGS, ACC_VOLATILE, ACONST_NULL, ALOAD, ANEWARRAY, ARETURN, ARRAYLENGTH, 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, 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, INVOKEDYNAMIC_OWNER, 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
Constructor and Description |
---|
MethodWeaver(ClassWeaver tcw,
java.lang.String methodName,
java.lang.String methodDescriptor,
org.objectweb.asm.MethodVisitor mv) |
Modifier and Type | Method and Description |
---|---|
void |
visitAttribute(org.objectweb.asm.Attribute attr) |
void |
visitFieldInsn(int opcode,
java.lang.String owner,
java.lang.String name,
java.lang.String desc) |
void |
visitIincInsn(int var,
int increment) |
void |
visitInsn(int opcode) |
void |
visitIntInsn(int opcode,
int operand) |
void |
visitJumpInsn(int opcode,
org.objectweb.asm.Label label) |
void |
visitLabel(org.objectweb.asm.Label label) |
void |
visitLdcInsn(java.lang.Object cst) |
void |
visitLineNumber(int line,
org.objectweb.asm.Label start) |
void |
visitLocalVariable(java.lang.String name,
java.lang.String desc,
java.lang.String signature,
org.objectweb.asm.Label start,
org.objectweb.asm.Label end,
int index) |
void |
visitLookupSwitchInsn(org.objectweb.asm.Label dflt,
int[] keys,
org.objectweb.asm.Label[] labels) |
void |
visitMaxs(int maxStack,
int maxLocals) |
void |
visitMethodInsn(int opcode,
java.lang.String owner,
java.lang.String name,
java.lang.String desc) |
void |
visitMultiANewArrayInsn(java.lang.String desc,
int dims) |
void |
visitTableSwitchInsn(int min,
int max,
org.objectweb.asm.Label dflt,
org.objectweb.asm.Label[] labels) |
void |
visitTryCatchBlock(org.objectweb.asm.Label start,
org.objectweb.asm.Label end,
org.objectweb.asm.Label handler,
java.lang.String type) |
void |
visitTypeInsn(int opcode,
java.lang.String desc) |
void |
visitVarInsn(int opcode,
int var) |
void |
weaveAttributesIfRequired(int opcode,
java.lang.String owner,
java.lang.String name,
java.lang.String desc)
Change GETFIELD and PUTFIELD for fields that use attribute access to make use of new convenience methods.
|
void |
weaveBeginningOfMethodIfRequired()
Makes modifications to the beginning of a method.
|
void |
weaveEndOfMethodIfRequired()
Modifies methods just before the return.
|
public MethodWeaver(ClassWeaver tcw, java.lang.String methodName, java.lang.String methodDescriptor, org.objectweb.asm.MethodVisitor mv)
public void visitInsn(int opcode)
visitInsn
in interface org.objectweb.asm.MethodVisitor
visitInsn
in class org.objectweb.asm.MethodAdapter
public void visitIntInsn(int opcode, int operand)
visitIntInsn
in interface org.objectweb.asm.MethodVisitor
visitIntInsn
in class org.objectweb.asm.MethodAdapter
public void visitVarInsn(int opcode, int var)
visitVarInsn
in interface org.objectweb.asm.MethodVisitor
visitVarInsn
in class org.objectweb.asm.MethodAdapter
public void visitTypeInsn(int opcode, java.lang.String desc)
visitTypeInsn
in interface org.objectweb.asm.MethodVisitor
visitTypeInsn
in class org.objectweb.asm.MethodAdapter
public void visitFieldInsn(int opcode, java.lang.String owner, java.lang.String name, java.lang.String desc)
visitFieldInsn
in interface org.objectweb.asm.MethodVisitor
visitFieldInsn
in class org.objectweb.asm.MethodAdapter
public void visitMethodInsn(int opcode, java.lang.String owner, java.lang.String name, java.lang.String desc)
visitMethodInsn
in interface org.objectweb.asm.MethodVisitor
visitMethodInsn
in class org.objectweb.asm.MethodAdapter
public void visitJumpInsn(int opcode, org.objectweb.asm.Label label)
visitJumpInsn
in interface org.objectweb.asm.MethodVisitor
visitJumpInsn
in class org.objectweb.asm.MethodAdapter
public void visitLabel(org.objectweb.asm.Label label)
visitLabel
in interface org.objectweb.asm.MethodVisitor
visitLabel
in class org.objectweb.asm.MethodAdapter
public void visitLdcInsn(java.lang.Object cst)
visitLdcInsn
in interface org.objectweb.asm.MethodVisitor
visitLdcInsn
in class org.objectweb.asm.MethodAdapter
public void visitIincInsn(int var, int increment)
visitIincInsn
in interface org.objectweb.asm.MethodVisitor
visitIincInsn
in class org.objectweb.asm.MethodAdapter
public void visitTableSwitchInsn(int min, int max, org.objectweb.asm.Label dflt, org.objectweb.asm.Label[] labels)
visitTableSwitchInsn
in interface org.objectweb.asm.MethodVisitor
visitTableSwitchInsn
in class org.objectweb.asm.MethodAdapter
public void visitLookupSwitchInsn(org.objectweb.asm.Label dflt, int[] keys, org.objectweb.asm.Label[] labels)
visitLookupSwitchInsn
in interface org.objectweb.asm.MethodVisitor
visitLookupSwitchInsn
in class org.objectweb.asm.MethodAdapter
public void visitMultiANewArrayInsn(java.lang.String desc, int dims)
visitMultiANewArrayInsn
in interface org.objectweb.asm.MethodVisitor
visitMultiANewArrayInsn
in class org.objectweb.asm.MethodAdapter
public void visitTryCatchBlock(org.objectweb.asm.Label start, org.objectweb.asm.Label end, org.objectweb.asm.Label handler, java.lang.String type)
visitTryCatchBlock
in interface org.objectweb.asm.MethodVisitor
visitTryCatchBlock
in class org.objectweb.asm.MethodAdapter
public void visitMaxs(int maxStack, int maxLocals)
visitMaxs
in interface org.objectweb.asm.MethodVisitor
visitMaxs
in class org.objectweb.asm.MethodAdapter
public void visitLocalVariable(java.lang.String name, java.lang.String desc, java.lang.String signature, org.objectweb.asm.Label start, org.objectweb.asm.Label end, int index)
visitLocalVariable
in interface org.objectweb.asm.MethodVisitor
visitLocalVariable
in class org.objectweb.asm.MethodAdapter
public void visitLineNumber(int line, org.objectweb.asm.Label start)
visitLineNumber
in interface org.objectweb.asm.MethodVisitor
visitLineNumber
in class org.objectweb.asm.MethodAdapter
public void visitAttribute(org.objectweb.asm.Attribute attr)
visitAttribute
in interface org.objectweb.asm.MethodVisitor
visitAttribute
in class org.objectweb.asm.MethodAdapter
public void weaveAttributesIfRequired(int opcode, java.lang.String owner, java.lang.String name, java.lang.String desc)
public void weaveBeginningOfMethodIfRequired()
public void weaveEndOfMethodIfRequired()
EclipseLink 2.4.2, "build v20130514-5956486" API Reference