Class LocalVariableTable

    • Constructor Detail

      • LocalVariableTable

        public LocalVariableTable​(int nameIndex,
                                  int length,
                                  LocalVariable[] localVariableTable,
                                  ConstantPool constantPool)
        Constructs a new LocalVariableTable.
        Parameters:
        nameIndex - Index in constant pool to 'LocalVariableTable'.
        length - Content length in bytes.
        localVariableTable - Table of local variables.
        constantPool - Array of constants.
      • LocalVariableTable

        public LocalVariableTable​(LocalVariableTable c)
        Initialize from another object. Note that both objects use the same references (shallow copy). Use copy() for a physical copy.
        Parameters:
        c - Source to copy.
    • Method Detail

      • accept

        public void accept​(Visitor v)
        Called by objects that are traversing the nodes of the tree implicitly defined by the contents of a Java class. I.e., the hierarchy of methods, fields, attributes, etc. spawns a tree of objects.
        Specified by:
        accept in interface Node
        Specified by:
        accept in class Attribute
        Parameters:
        v - Visitor object.
      • copy

        public Attribute copy​(ConstantPool constantPool)
        Description copied from class: Attribute
        Creates a deep copy of this attribute.
        Specified by:
        copy in class Attribute
        Parameters:
        constantPool - constant pool to save.
        Returns:
        deep copy of this attribute.
      • dump

        public final void dump​(java.io.DataOutputStream file)
                        throws java.io.IOException
        Dumps local variable table attribute to file stream in binary format.
        Overrides:
        dump in class Attribute
        Parameters:
        file - Output file stream.
        Throws:
        java.io.IOException - Thrown if an I/O error occurs.
      • getLocalVariable

        @Deprecated
        public final LocalVariable getLocalVariable​(int index)
        Deprecated.
        Since 5.2 because multiple variables can share the same slot, use getLocalVariable(int index, int pc) instead.
        Gets the local variable for the given index.
        Parameters:
        index - The variable slot.
        Returns:
        The first LocalVariable that matches the slot or null if not found.
      • getLocalVariable

        public final LocalVariable getLocalVariable​(int index,
                                                    int pc)
        Gets the local variable for the given index and program counter.
        Parameters:
        index - The variable slot.
        pc - The current pc that this variable is alive.
        Returns:
        The LocalVariable that matches or null if not found.
      • getTableLength

        public final int getTableLength()
        Gets the table length.
        Returns:
        The table length.
      • setLocalVariableTable

        public final void setLocalVariableTable​(LocalVariable[] localVariableTable)
        Sets the local variable table.
        Parameters:
        localVariableTable - The local variable table to set.
      • toString

        public final java.lang.String toString()
        Overrides:
        toString in class Attribute
        Returns:
        String representation.