java.lang.Object
ghidra.app.plugin.exceptionhandlers.gcc.GccAnalysisClass
ghidra.app.plugin.exceptionhandlers.gcc.structures.gccexcepttable.LSDAActionRecord

public class LSDAActionRecord extends GccAnalysisClass
A record that associates the type info with a catch action.
  • Field Details

  • Constructor Details

    • LSDAActionRecord

      public LSDAActionRecord(TaskMonitor monitor, Program program, RegionDescriptor region, LSDAActionTable lsdaActionTable)
      Constructor for an action record.
      Note: The create(Address) method must be called after constructing an LSDAActionRecord to associate it with an address before any of its "get..." methods are called.
      Parameters:
      monitor - task monitor to see if the user has cancelled analysis.
      program - the program containing the action record.
      region - the region of the program associated with the action record.
      lsdaActionTable - the action table containing the action record.
  • Method Details

    • create

      public void create(Address address) throws MemoryAccessException
      Creates data for an action record at the indicated address and creates a comment to identify it as an action record.
      Note: This method must get called before any of the "get..." methods.
      Parameters:
      address - the start (minimum address) of this action record.
      Throws:
      MemoryAccessException
    • getActionTypeFilter

      public int getActionTypeFilter()
      Gets the filter value indicating which type is associated with this action record.
      Returns:
      the value for this action's type.
    • getNextActionAddress

      public Address getNextActionAddress()
      Gets the base address of the next action record to consider in the action table.
      Returns:
      the address of the next action record or null.
    • getNextAddress

      public Address getNextAddress()
      Gets the next address indicating the address after this action record.
      Returns:
      the next address after this action record or null if this action record hasn't been created at any address yet.
    • getAddress

      public Address getAddress()
      Gets the base address (minimum address) indicating the start of this action record.
      Returns:
      the address of this action record or null if this action record hasn't been created at any address yet.
    • getNextAction

      public LSDAActionRecord getNextAction()
      Gets the record for the next action that the catch should fall to if the type isn't the one for this action.
      Returns:
      the next action's record or null if there isn't another specific type of exception for this try.
    • getSize

      public int getSize()
      Gets the size of the action record or 0 if this action record hasn't been created at any address yet.
      Returns:
      the size of the action record or 0;