public class MethodWeaver
extends MethodVisitor
| Modifier and Type | Field and Description |
|---|---|
protected java.lang.String |
methodDescriptor |
protected java.lang.String |
methodName |
protected boolean |
methodStarted
Determines if we are at the first line of a method.
|
protected ClassWeaver |
tcw |
| Constructor and Description |
|---|
MethodWeaver(ClassWeaver tcw,
java.lang.String methodName,
java.lang.String methodDescriptor,
MethodVisitor mv) |
| Modifier and Type | Method and Description |
|---|---|
void |
visitAttribute(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,
Label label) |
void |
visitLabel(Label label) |
void |
visitLdcInsn(java.lang.Object cst) |
void |
visitLineNumber(int line,
Label start) |
void |
visitLocalVariable(java.lang.String name,
java.lang.String desc,
java.lang.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,
java.lang.String owner,
java.lang.String name,
java.lang.String desc,
boolean intf) |
void |
visitMultiANewArrayInsn(java.lang.String desc,
int dims) |
void |
visitTableSwitchInsn(int min,
int max,
Label dflt,
Label... labels) |
void |
visitTryCatchBlock(Label start,
Label end,
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.
|
protected ClassWeaver tcw
protected java.lang.String methodName
protected java.lang.String methodDescriptor
protected boolean methodStarted
public MethodWeaver(ClassWeaver tcw, java.lang.String methodName, java.lang.String methodDescriptor, MethodVisitor mv)
public void visitInsn(int opcode)
public void visitIntInsn(int opcode,
int operand)
public void visitVarInsn(int opcode,
int var)
public void visitTypeInsn(int opcode,
java.lang.String desc)
public void visitFieldInsn(int opcode,
java.lang.String owner,
java.lang.String name,
java.lang.String desc)
public void visitMethodInsn(int opcode,
java.lang.String owner,
java.lang.String name,
java.lang.String desc,
boolean intf)
public void visitJumpInsn(int opcode,
Label label)
public void visitLabel(Label label)
public void visitLdcInsn(java.lang.Object cst)
public void visitIincInsn(int var,
int increment)
public void visitTableSwitchInsn(int min,
int max,
Label dflt,
Label... labels)
public void visitLookupSwitchInsn(Label dflt,
int[] keys,
Label[] labels)
public void visitMultiANewArrayInsn(java.lang.String desc,
int dims)
public void visitTryCatchBlock(Label start,
Label end,
Label handler,
java.lang.String type)
public void visitMaxs(int maxStack,
int maxLocals)
public void visitLocalVariable(java.lang.String name,
java.lang.String desc,
java.lang.String signature,
Label start,
Label end,
int index)
public void visitLineNumber(int line,
Label start)
public void visitAttribute(Attribute attr)
public void weaveAttributesIfRequired(int opcode,
java.lang.String owner,
java.lang.String name,
java.lang.String desc)
public void weaveBeginningOfMethodIfRequired()
public void weaveEndOfMethodIfRequired()