public class MethodWeaver extends MethodVisitor implements Opcodes
| Modifier and Type | Field and Description |
|---|---|
protected String |
methodDescriptor |
protected String |
methodName |
protected boolean |
methodStarted
Determines if we are at the first line of a method.
|
protected ClassWeaver |
tcw |
api, mvAALOAD, 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, V9| Constructor and Description |
|---|
MethodWeaver(ClassWeaver tcw,
String methodName,
String methodDescriptor,
MethodVisitor mv) |
| Modifier and Type | Method and Description |
|---|---|
void |
visitAttribute(Attribute attr) |
void |
visitFieldInsn(int opcode,
String owner,
String name,
String desc) |
void |
visitIincInsn(int var,
int increment) |
void |
visitInsn(int opcode) |
void |
visitIntInsn(int opcode,
int operand) |
void |
visitJumpInsn(int opcode,
Label label) |
void |
visitLabel(Label label) |
void |
visitLdcInsn(Object cst) |
void |
visitLineNumber(int line,
Label start) |
void |
visitLocalVariable(String name,
String desc,
String signature,
Label start,
Label end,
int index) |
void |
visitLookupSwitchInsn(Label dflt,
int[] keys,
Label[] labels) |
void |
visitMaxs(int maxStack,
int maxLocals) |
void |
visitMethodInsn(int opcode,
String owner,
String name,
String desc,
boolean intf) |
void |
visitMultiANewArrayInsn(String desc,
int dims) |
void |
visitTableSwitchInsn(int min,
int max,
Label dflt,
Label... labels) |
void |
visitTryCatchBlock(Label start,
Label end,
Label handler,
String type) |
void |
visitTypeInsn(int opcode,
String desc) |
void |
visitVarInsn(int opcode,
int var) |
void |
weaveAttributesIfRequired(int opcode,
String owner,
String name,
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.
|
visitAnnotableParameterCount, visitAnnotation, visitAnnotationDefault, visitCode, visitEnd, visitFrame, visitInsnAnnotation, visitInvokeDynamicInsn, visitLocalVariableAnnotation, visitMethodInsn, visitParameter, visitParameterAnnotation, visitTryCatchAnnotation, visitTypeAnnotationprotected ClassWeaver tcw
protected String methodName
protected String methodDescriptor
protected boolean methodStarted
public MethodWeaver(ClassWeaver tcw, String methodName, String methodDescriptor, MethodVisitor mv)
public void visitInsn(int opcode)
visitInsn in class MethodVisitorpublic void visitIntInsn(int opcode,
int operand)
visitIntInsn in class MethodVisitorpublic void visitVarInsn(int opcode,
int var)
visitVarInsn in class MethodVisitorpublic void visitTypeInsn(int opcode,
String desc)
visitTypeInsn in class MethodVisitorpublic void visitFieldInsn(int opcode,
String owner,
String name,
String desc)
visitFieldInsn in class MethodVisitorpublic void visitMethodInsn(int opcode,
String owner,
String name,
String desc,
boolean intf)
visitMethodInsn in class MethodVisitorpublic void visitJumpInsn(int opcode,
Label label)
visitJumpInsn in class MethodVisitorpublic void visitLabel(Label label)
visitLabel in class MethodVisitorpublic void visitLdcInsn(Object cst)
visitLdcInsn in class MethodVisitorpublic void visitIincInsn(int var,
int increment)
visitIincInsn in class MethodVisitorpublic void visitTableSwitchInsn(int min,
int max,
Label dflt,
Label... labels)
visitTableSwitchInsn in class MethodVisitorpublic void visitLookupSwitchInsn(Label dflt, int[] keys, Label[] labels)
visitLookupSwitchInsn in class MethodVisitorpublic void visitMultiANewArrayInsn(String desc, int dims)
visitMultiANewArrayInsn in class MethodVisitorpublic void visitTryCatchBlock(Label start, Label end, Label handler, String type)
visitTryCatchBlock in class MethodVisitorpublic void visitMaxs(int maxStack,
int maxLocals)
visitMaxs in class MethodVisitorpublic void visitLocalVariable(String name, String desc, String signature, Label start, Label end, int index)
visitLocalVariable in class MethodVisitorpublic void visitLineNumber(int line,
Label start)
visitLineNumber in class MethodVisitorpublic void visitAttribute(Attribute attr)
visitAttribute in class MethodVisitorpublic void weaveAttributesIfRequired(int opcode,
String owner,
String name,
String desc)
public void weaveBeginningOfMethodIfRequired()
public void weaveEndOfMethodIfRequired()
Copyright © 2007–2021 Eclipse.org - EclipseLink Project. All rights reserved.