Class LocalVariableTableAttribute

    • Field Detail

      • attributeName

        private static CPUTF8 attributeName
      • localVariableTableLength

        private final int localVariableTableLength
      • startPcs

        private final int[] startPcs
      • lengths

        private final int[] lengths
      • nameIndexes

        private int[] nameIndexes
      • descriptorIndexes

        private int[] descriptorIndexes
      • indexes

        private final int[] indexes
      • names

        private final CPUTF8[] names
      • descriptors

        private final CPUTF8[] descriptors
      • codeLength

        private int codeLength
    • Constructor Detail

      • LocalVariableTableAttribute

        public LocalVariableTableAttribute​(int localVariableTableLength,
                                           int[] startPcs,
                                           int[] lengths,
                                           CPUTF8[] names,
                                           CPUTF8[] descriptors,
                                           int[] indexes)
    • Method Detail

      • setAttributeName

        public static void setAttributeName​(CPUTF8 cpUTF8Value)
      • renumber

        public void renumber​(java.util.List<java.lang.Integer> byteCodeOffsets)
                      throws Pack200Exception
        Description copied from class: BCIRenumberedAttribute
        In Pack200, line number tables are BCI renumbered. This method takes the byteCodeOffsets (which is a List of Integers specifying the offset in the byte code array of each instruction) and updates the start_pcs so that it points to the instruction index itself, not the BCI renumbering of the instruction.
        Overrides:
        renumber in class BCIRenumberedAttribute
        Parameters:
        byteCodeOffsets - List of Integer offsets of the byte code array
        Throws:
        Pack200Exception - Thrown from a subclass.
      • resolve

        protected void resolve​(ClassConstantPool pool)
        Description copied from class: ClassFileEntry
        Allows the constant pool entries to resolve their nested entries.
        Overrides:
        resolve in class Attribute
        Parameters:
        pool - TODO
      • setCodeLength

        public void setCodeLength​(int length)
      • writeBody

        protected void writeBody​(java.io.DataOutputStream dos)
                          throws java.io.IOException
        Specified by:
        writeBody in class BCIRenumberedAttribute
        Throws:
        java.io.IOException