Class BlockAddresses

java.lang.Object
com.android.dx.dex.code.BlockAddresses

public final class BlockAddresses extends Object
Container for the set of CodeAddress instances associated with the blocks of a particular method. Each block has a corresponding start address, end address, and last instruction address.
  • Constructor Details

    • BlockAddresses

      public BlockAddresses(RopMethod method)
      Constructs an instance.
      Parameters:
      method - non-null; the method to have block addresses for
  • Method Details

    • getStart

      public CodeAddress getStart(BasicBlock block)
      Gets the instance for the start of the given block.
      Parameters:
      block - non-null; the block in question
      Returns:
      non-null; the appropriate instance
    • getStart

      public CodeAddress getStart(int label)
      Gets the instance for the start of the block with the given label.
      Parameters:
      label - non-null; the label of the block in question
      Returns:
      non-null; the appropriate instance
    • getLast

      public CodeAddress getLast(BasicBlock block)
      Gets the instance for the final instruction of the given block.
      Parameters:
      block - non-null; the block in question
      Returns:
      non-null; the appropriate instance
    • getLast

      public CodeAddress getLast(int label)
      Gets the instance for the final instruction of the block with the given label.
      Parameters:
      label - non-null; the label of the block in question
      Returns:
      non-null; the appropriate instance
    • getEnd

      public CodeAddress getEnd(BasicBlock block)
      Gets the instance for the end (address after the final instruction) of the given block.
      Parameters:
      block - non-null; the block in question
      Returns:
      non-null; the appropriate instance
    • getEnd

      public CodeAddress getEnd(int label)
      Gets the instance for the end (address after the final instruction) of the block with the given label.
      Parameters:
      label - non-null; the label of the block in question
      Returns:
      non-null; the appropriate instance