Class ExtCodeBlockImpl

java.lang.Object
ghidra.program.model.address.AddressSet
ghidra.program.model.block.ExtCodeBlockImpl
All Implemented Interfaces:
AddressSetView, CodeBlock, Iterable<AddressRange>

public class ExtCodeBlockImpl extends AddressSet implements CodeBlock
  • Constructor Details

  • Method Details

    • getFirstStartAddress

      public Address getFirstStartAddress()
      Description copied from interface: CodeBlock
      Return the first start address of the CodeBlock. Depending on the model used to generate the CodeBlock, there may be multiple entry points to the block. This will return the first start address for the block. It should always return the same address for a given block if there is more than one entry point.
      Specified by:
      getFirstStartAddress in interface CodeBlock
      Returns:
      the first start address of the block.
    • getFlowType

      public FlowType getFlowType()
      Description copied from interface: CodeBlock
      Return, in theory, how things flow out of this node. If there are any abnormal ways to flow out of this node, (ie: jump, call, etc...) then the flow type of the node takes on that type. If there are multiple unique ways out of the node, then we should return FlowType.UNKNOWN. Fallthrough is returned if that is the only way out.
      Specified by:
      getFlowType in interface CodeBlock
      Returns:
      flow type of this node
    • getModel

      public CodeBlockModel getModel()
      Description copied from interface: CodeBlock
      Get the model instance which was used to generate this block.
      Specified by:
      getModel in interface CodeBlock
      Returns:
      the model used to build this CodeBlock
    • getName

      public String getName()
      Description copied from interface: CodeBlock
      Return the name of the block.
      Specified by:
      getName in interface CodeBlock
      Returns:
      name of block, normally the symbol at the starting address
    • getNumDestinations

      public int getNumDestinations(TaskMonitor monitor) throws CancelledException
      Description copied from interface: CodeBlock
      Get the number of CodeBlocks this block flows to. Note that this is almost as much work as getting the actual destination references.
      Specified by:
      getNumDestinations in interface CodeBlock
      Parameters:
      monitor - task monitor which allows user to cancel operation.
      Returns:
      number of destination CodeBlocks.
      Throws:
      CancelledException - if the monitor cancels the operation.
      See Also:
    • getDestinations

      public CodeBlockReferenceIterator getDestinations(TaskMonitor monitor) throws CancelledException
      Description copied from interface: CodeBlock
      Get an Iterator over the CodeBlocks that are flowed to from this CodeBlock.
      Specified by:
      getDestinations in interface CodeBlock
      Parameters:
      monitor - task monitor which allows user to cancel operation.
      Returns:
      An iterator over CodeBlocks referred to by this Block.
      Throws:
      CancelledException - if the monitor cancels the operation.
    • getNumSources

      public int getNumSources(TaskMonitor monitor) throws CancelledException
      Description copied from interface: CodeBlock
      Get the number of CodeBlocks that flow into this CodeBlock. Note that this is almost as much work as getting the actual source references.
      Specified by:
      getNumSources in interface CodeBlock
      Parameters:
      monitor - task monitor which allows user to cancel operation.
      Returns:
      number of source CodeBlocks.
      Throws:
      CancelledException - if the monitor cancels the operation.
      See Also:
    • getSources

      public CodeBlockReferenceIterator getSources(TaskMonitor monitor) throws CancelledException
      Description copied from interface: CodeBlock
      Get an Iterator over the CodeBlocks that flow into this CodeBlock.
      Specified by:
      getSources in interface CodeBlock
      Parameters:
      monitor - task monitor which allows user to cancel operation.
      Returns:
      An iterator over CodeBlocks referencing this Block.
      Throws:
      CancelledException - if the monitor cancels the operation.
    • getStartAddresses

      public Address[] getStartAddresses()
      Description copied from interface: CodeBlock
      Get all the entry points to this block. Depending on the model, there may be more than one entry point. Entry points will be returned in natural sorted order.
      Specified by:
      getStartAddresses in interface CodeBlock
      Returns:
      an array of entry points to this block. a zero length array if there are no entry points.
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class AddressSet
      See Also: