Package serp.bytecode

Class LocalVariableTable

All Implemented Interfaces:
BCEntity, InstructionPtr, VisitAcceptor

public class LocalVariableTable extends LocalTable
Code blocks compiled from source have local variable tables mapping locals used in opcodes to their names and descriptions.
  • Constructor Details

    • LocalVariableTable

      LocalVariableTable(int nameIndex, Attributes owner)
  • Method Details

    • getLocalVariables

      public LocalVariable[] getLocalVariables()
      Return all the locals of this method.
    • getLocalVariable

      public LocalVariable getLocalVariable(int local)
      Return the local with the given locals index, or null if none.
    • getLocalVariable

      public LocalVariable getLocalVariable(String name)
      Return the local with the given name, or null if none. If multiple locals have the given name, which is returned is undefined.
    • getLocalVariables

      public LocalVariable[] getLocalVariables(String name)
      Return all locals with the given name, or empty array if none.
    • addLocalVariable

      public LocalVariable addLocalVariable(LocalVariable local)
      Import a local from another method/class. Note that the program counter and length from the given local is copied directly, and thus will be incorrect unless this method is the same as the one the local is copied from, or the pc and length are reset.
    • addLocalVariable

      public LocalVariable addLocalVariable()
      Add a local to this table.
    • addLocalVariable

      public LocalVariable addLocalVariable(String name, String type)
      Add a local to this table.
    • addLocalVariable

      public LocalVariable addLocalVariable(String name, Class type)
      Add a local to this table.
    • addLocalVariable

      public LocalVariable addLocalVariable(String name, BCClass type)
      Add a local to this table.
    • acceptVisit

      public void acceptVisit(BCVisitor visit)
      Description copied from interface: VisitAcceptor
      Accept a visit from a BCVisitor, calling the appropriate methods to notify the visitor that it has entered this entity, and to provide it with the proper callbacks for each sub-entity owned by this one.
    • newLocal

      protected Local newLocal()
      Description copied from class: LocalTable
      Create a new element of this table.
      Specified by:
      newLocal in class LocalTable
    • newLocalArray

      protected Local[] newLocalArray(int size)
      Description copied from class: LocalTable
      Create a new array.
      Specified by:
      newLocalArray in class LocalTable