Class BlockCopy

java.lang.Object
ghidra.program.model.pcode.PcodeBlock
ghidra.program.model.pcode.BlockCopy

public class BlockCopy extends PcodeBlock
Placeholder for a basic block (BlockBasic) within a structured control-flow graph. It originally mirrors the in and out edges of the basic block, but edges may be modified during the structuring process. This copy holds a reference to the actual basic block
  • Constructor Details

    • BlockCopy

      public BlockCopy()
    • BlockCopy

      public BlockCopy(Object r, Address addr)
  • Method Details

    • getStart

      public Address getStart()
      Overrides:
      getStart in class PcodeBlock
      Returns:
      the first Address covered by this block
    • getStop

      public Address getStop()
      Overrides:
      getStop in class PcodeBlock
      Returns:
      the last Address covered by this block
    • getRef

      public Object getRef()
      Returns:
      the underlying basic block Object
    • set

      protected void set(Object r, Address addr)
      Used (by BlockGraph.transferObjectRef) to reset the internal Object and Address
      Parameters:
      r - is the internal Object
      addr - is the Address
    • getAltIndex

      public int getAltIndex()
      Returns:
      the alternative index, used as an id for the original basic block Object
    • encodeHeader

      protected void encodeHeader(Encoder encoder) throws IOException
      Description copied from class: PcodeBlock
      Encode basic attributes to stream. Assume this block's element is already started.
      Overrides:
      encodeHeader in class PcodeBlock
      Parameters:
      encoder - is the stream encoder
      Throws:
      IOException - for errors writing to the underlying stream
    • decodeHeader

      protected void decodeHeader(Decoder decoder) throws DecoderException
      Overrides:
      decodeHeader in class PcodeBlock
      Throws:
      DecoderException