Package ghidra.program.model.block

# Interface CodeBlockReference

All Known Implementing Classes:
  `CodeBlockReferenceImpl`

public interface CodeBlockReference
A CodeBlockReference represents the flow from one CodeBlock to another. Flow consists of:

- The source and destination CodeBlocks
- The Type of flow (JMP, CALL, Fallthrough, etc...
- The referent - the instruction's address in the source block that causes the flow
- The reference - the address in the destination block that is flowed to.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Address`
  `getDestinationAddress()`
  Returns the Destination Block address.
  `CodeBlock`
  `getDestinationBlock()`
  Returns the Destination CodeBlock.
  `FlowType`
  `getFlowType()`
  Returns the type of flow from the Source to the Destination CodeBlock.
  `Address`
  `getReference()`
  Returns the address in the Destination block that is referenced by the Source block.
  `Address`
  `getReferent()`
  Returns the address of the instruction in the Source Block that refers to the Destination block.
  `Address`
  `getSourceAddress()`
  Returns the Source Block address.
  `CodeBlock`
  `getSourceBlock()`
  Returns the Source CodeBlock.

- ## Method Details

  - ### getSourceAddress

    Address getSourceAddress()
    Returns the Source Block address. The source address should only occur in one block.
    Returns:
      the Source Block address

  - ### getDestinationAddress

    Address getDestinationAddress()
    Returns the Destination Block address. The destination address should only occur in one block.
    Returns:
      the Destination Block address

  - ### getFlowType

    FlowType getFlowType()
    Returns the type of flow from the Source to the Destination CodeBlock.
    Returns:
      the type of flow

  - ### getReference

    Address getReference()
    Returns the address in the Destination block that is referenced by the Source block.
    Returns:
      the address in the Destination block that is referenced by the Source block

  - ### getReferent

    Address getReferent()
    Returns the address of the instruction in the Source Block that refers to the Destination block.
    Returns:
      the address of the instruction in the Source Block that refers to the Destination block

  - ### getDestinationBlock

    CodeBlock getDestinationBlock()
    Returns the Destination CodeBlock.
    Returns:
      the Destination CodeBlock

  - ### getSourceBlock

    CodeBlock getSourceBlock()
    Returns the Source CodeBlock.
    Returns:
      the Source CodeBlock