Class PackedEncodeOverlay

All Implemented Interfaces:
CachedEncoder, Encoder, PatchEncoder

public class PackedEncodeOverlay extends PatchPackedEncode
Alter address space encoding for a specific overlay space. Any space that matches the overlay space is encoded as the overlayed space. This causes addresses in the overlay space to be converted into the underlying space.
  • Constructor Details

  • Method Details

    • setOverlay

      public void setOverlay(OverlayAddressSpace spc) throws AddressFormatException
      Throws:
      AddressFormatException
    • writeSpace

      public void writeSpace(AttributeId attribId, AddressSpace spc) throws IOException
      Description copied from interface: Encoder
      Write an address space reference into the encoding The address space is associated with the given AttributeId annotation and the current open element.
      Specified by:
      writeSpace in interface Encoder
      Overrides:
      writeSpace in class PackedEncode
      Parameters:
      attribId - is the given AttributeId annotation
      spc - is the address space to encode
      Throws:
      IOException - for errors in the underlying stream
    • writeSpaceId MODIFIED

      public void writeSpaceId(AttributeId attribId, long spaceId) throws IOException
      added throws IOException
      -void writeSpaceId(ghidra.program.model.pcode.AttributeId attribId, long spaceId)
      +void writeSpaceId(ghidra.program.model.pcode.AttributeId attribId, long spaceId) throws IOException
      Description copied from interface: PatchEncoder
      Write a given raw spaceid (as returned by AddressSpace.getSpaceID()) as an attribute. The effect is the same as if writeSpace() was called with the AddressSpace matching the spaceid, i.e. the decoder will read this as just space attribute.
      Specified by:
      writeSpaceId in interface PatchEncoder
      Overrides:
      writeSpaceId in class PatchPackedEncode
      Parameters:
      attribId - is the attribute
      spaceId - is the given spaceid
      Throws:
      IOException - for problems writing to the stream