org.objectweb.asm.commons
Class LocalVariablesSorter
- MethodVisitor
public class LocalVariablesSorter
A
MethodAdapter that renumbers local variables in their order of
appearance. This adapter allows one to easily add new local variables to a
method.
- Chris Nokleberg
- Eric Bruneton
protected int | newLocal(int size)
|
void | visitIincInsn(int var, int increment)- Visits an IINC instruction.
|
void | visitLocalVariable(String name, String desc, String signature, Label start, Label end, int index)- Visits a local variable declaration.
|
void | visitMaxs(int maxStack, int maxLocals)- Visits the maximum stack size and the maximum number of local variables
of the method.
|
void | visitVarInsn(int opcode, int var)- Visits a local variable instruction.
|
visitAnnotation, visitAnnotationDefault, visitAttribute, visitCode, visitEnd, visitFieldInsn, visitIincInsn, visitInsn, visitIntInsn, visitJumpInsn, visitLabel, visitLdcInsn, visitLineNumber, visitLocalVariable, visitLookupSwitchInsn, visitMaxs, visitMethodInsn, visitMultiANewArrayInsn, visitParameterAnnotation, visitTableSwitchInsn, visitTryCatchBlock, visitTypeInsn, visitVarInsn |
firstLocal
protected final int firstLocal
LocalVariablesSorter
public LocalVariablesSorter(int access,
String desc,
MethodVisitor mv)
newLocal
protected int newLocal(int size)
visitIincInsn
public void visitIincInsn(int var,
int increment) Visits an IINC instruction.
- visitIincInsn in interface MethodVisitor
- visitIincInsn in interface MethodAdapter
var - index of the local variable to be incremented.increment - amount to increment the local variable by.
visitLocalVariable
public void visitLocalVariable(String name,
String desc,
String signature,
Label start,
Label end,
int index) Visits a local variable declaration.
- visitLocalVariable in interface MethodVisitor
- visitLocalVariable in interface MethodAdapter
name - the name of a local variable.desc - the type descriptor of this local variable.signature - the type signature of this local variable. May be
null if the local variable type does not use generic
types.start - the first instruction corresponding to the scope of this
local variable (inclusive).end - the last instruction corresponding to the scope of this local
variable (exclusive).index - the local variable's index.
visitMaxs
public void visitMaxs(int maxStack,
int maxLocals) Visits the maximum stack size and the maximum number of local variables
of the method.
- visitMaxs in interface MethodVisitor
- visitMaxs in interface MethodAdapter
maxStack - maximum stack size of the method.maxLocals - maximum number of local variables for the method.
visitVarInsn
public void visitVarInsn(int opcode,
int var) Visits a local variable instruction. A local variable instruction is an
instruction that loads or stores the value of a local variable.
- visitVarInsn in interface MethodVisitor
- visitVarInsn in interface MethodAdapter
opcode - the opcode of the local variable instruction to be visited.
This opcode is either ILOAD, LLOAD, FLOAD, DLOAD, ALOAD, ISTORE,
LSTORE, FSTORE, DSTORE, ASTORE or RET.var - the operand of the instruction to be visited. This operand is
the index of a local variable.