Class BCIRenumberedAttribute

    • Method Detail

      • hasBCIRenumbering

        public boolean hasBCIRenumbering()
        Description copied from class: Attribute
        Answer true if the receiver needs to have BCI renumbering applied to it; otherwise answer false.
        Overrides:
        hasBCIRenumbering in class Attribute
        Returns:
        boolean BCI renumbering required
      • writeBody

        protected abstract void writeBody​(java.io.DataOutputStream dos)
                                   throws java.io.IOException
        Specified by:
        writeBody in class Attribute
        Throws:
        java.io.IOException
      • renumber

        public void renumber​(java.util.List byteCodeOffsets)
                      throws Pack200Exception
        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.
        Parameters:
        byteCodeOffsets - List of Integer offsets of the bytecode array
        Throws:
        Pack200Exception - TODO