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.