Interface ProgramFragment

All Superinterfaces:
AddressSetView, Group, Iterable<AddressRange>

public interface ProgramFragment extends Group, AddressSetView
A ProgramFragment is a set of CodeUnits that have been bundled together with some additional information such as a name, comment, alias, etc. Every code unit in the program is in one and only one fragment so the fragments form a partition of the program. Fragments in turn are the building blocks of ProgramModules. Program fragments and modules allow the user to overlay a hierarchical structure upon the program which can then be used to control viewing and navigating the program.
  • Method Details

    • contains

      boolean contains(CodeUnit codeUnit)
      Returns whether this fragment contains the given code unit.

      Specified by:
      contains in interface Group
      Parameters:
      codeUnit - the code unit being tested.
      Returns:
      true if the code unit is in the fragment, false otherwise.
    • getCodeUnits

      CodeUnitIterator getCodeUnits()
      Returns a forward iterator over the code units making up this fragment.
    • move

      void move(Address min, Address max) throws NotFoundException
      Moves all of the code units in a given range into this fragment. Note that min must the starting address of a code unit and max must be the ending address of a code unit. Furthermore every address in the given range must exist in program memory.

      Parameters:
      min - min address of range specifying the code units to move
      max - max address of range specifying the code units to move
      Throws:
      NotFoundException - thrown if any address between min and max (inclusive) does not belong to program memory.