Class LocalVariablesSorter

java.lang.Object
org.springframework.asm.MethodVisitor
org.springframework.cglib.core.LocalVariablesSorter
Direct Known Subclasses:
CodeEmitter

public class LocalVariablesSorter extends MethodVisitor
A MethodVisitor that renumbers local variables in their order of appearance. This adapter allows one to easily add new local variables to a method.
Author:
Chris Nokleberg, Eric Bruneton
  • Field Details

    • firstLocal

      protected final int firstLocal
  • Constructor Details

  • Method Details

    • visitVarInsn

      public void visitVarInsn(int opcode, int var)
      Description copied from class: MethodVisitor
      Visits a local variable instruction. A local variable instruction is an instruction that loads or stores the value of a local variable.
      Overrides:
      visitVarInsn in class MethodVisitor
      Parameters:
      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.
    • visitIincInsn

      public void visitIincInsn(int var, int increment)
      Description copied from class: MethodVisitor
      Visits an IINC instruction.
      Overrides:
      visitIincInsn in class MethodVisitor
      Parameters:
      var - index of the local variable to be incremented.
      increment - amount to increment the local variable by.
    • visitMaxs

      public void visitMaxs(int maxStack, int maxLocals)
      Description copied from class: MethodVisitor
      Visits the maximum stack size and the maximum number of local variables of the method.
      Overrides:
      visitMaxs in class MethodVisitor
      Parameters:
      maxStack - maximum stack size of the method.
      maxLocals - maximum number of local variables for the method.
    • visitLocalVariable

      public void visitLocalVariable(String name, String desc, String signature, Label start, Label end, int index)
      Description copied from class: MethodVisitor
      Visits a local variable declaration.
      Overrides:
      visitLocalVariable in class MethodVisitor
      Parameters:
      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.
    • newLocal

      protected int newLocal(int size)