Class DIEAMonitoredIterator

java.lang.Object
ghidra.app.util.bin.format.dwarf4.next.DIEAMonitoredIterator

public class DIEAMonitoredIterator extends Object
Handles the details of iterating all the DIEAs of a DWARF program.

DWARF programs are made of multiple compilation units (CUs), and each CU has DIEs that are grouped together into aggregates (DIEAs).

In normal operation, to iterate the DIEAs, each CU's DIEs are loaded into memory, iterated, and then thrown away before going to the next CU.

There are typically no DIE references between CUs, but if there are, DWARFImportOptions.isPreloadAllDIEs() needs to be turned on by the user before analysis begins.

  • Constructor Details

    • DIEAMonitoredIterator

      public DIEAMonitoredIterator()
  • Method Details

    • iterable

      public static Iterable<DIEAggregate> iterable(DWARFProgram prog, String monitorMessage, TaskMonitor monitor)
      Create an iterable to allow for-each usage of this iterator.
      Parameters:
      prog - DWARFProgram that holds the DIEs.
      monitorMessage - String to display in the TaskMonitor.
      monitor - TaskMonitor
      Returns:
      Iterable that can be used in a for-each loop.