public class LocalVariablesSorter
extends org.objectweb.asm.MethodVisitor
MethodVisitor
that renumbers local variables in their order of
appearance. This adapter allows one to easily add new local variables to a
method.Modifier and Type | Class and Description |
---|---|
private static class |
LocalVariablesSorter.State
Mapping from old to new local variable indexes.
|
Modifier and Type | Field and Description |
---|---|
protected int |
firstLocal |
private LocalVariablesSorter.State |
state |
Constructor and Description |
---|
LocalVariablesSorter(int access,
java.lang.String desc,
org.objectweb.asm.MethodVisitor mv) |
LocalVariablesSorter(LocalVariablesSorter lvs) |
Modifier and Type | Method and Description |
---|---|
protected int |
newLocal(int size) |
private int |
remap(int var) |
private int |
remap(int var,
int size) |
void |
visitIincInsn(int var,
int increment) |
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 |
visitMaxs(int maxStack,
int maxLocals) |
void |
visitVarInsn(int opcode,
int var) |
visitAnnotableParameterCount, visitAnnotation, visitAnnotationDefault, visitAttribute, visitCode, visitEnd, visitFieldInsn, visitFrame, visitInsn, visitInsnAnnotation, visitIntInsn, visitInvokeDynamicInsn, visitJumpInsn, visitLabel, visitLdcInsn, visitLineNumber, visitLocalVariableAnnotation, visitLookupSwitchInsn, visitMethodInsn, visitMethodInsn, visitMultiANewArrayInsn, visitParameter, visitParameterAnnotation, visitTableSwitchInsn, visitTryCatchAnnotation, visitTryCatchBlock, visitTypeAnnotation, visitTypeInsn
protected final int firstLocal
private final LocalVariablesSorter.State state
public LocalVariablesSorter(int access, java.lang.String desc, org.objectweb.asm.MethodVisitor mv)
public LocalVariablesSorter(LocalVariablesSorter lvs)
public void visitVarInsn(int opcode, int var)
visitVarInsn
in class org.objectweb.asm.MethodVisitor
public void visitIincInsn(int var, int increment)
visitIincInsn
in class org.objectweb.asm.MethodVisitor
public void visitMaxs(int maxStack, int maxLocals)
visitMaxs
in class org.objectweb.asm.MethodVisitor
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 class org.objectweb.asm.MethodVisitor
protected int newLocal(int size)
private int remap(int var, int size)
private int remap(int var)