Package ghidra.app.plugin.exceptionhandlers.gcc.structures.gccexcepttable

# Class LSDAActionRecord

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 Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final long`
  `NO_ACTION`

  ### Fields inherited from class ghidra.app.plugin.exceptionhandlers.gcc.GccAnalysisClass

  `dwordDT, monitor, NEWLINE, program, ptrDT, ptrSize`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `LSDAActionRecord(TaskMonitor monitor, Program program, RegionDescriptor region, LSDAActionTable lsdaActionTable)`
  Constructor for an action record.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `create(Address address)`
  Creates data for an action record at the indicated address and creates a comment to identify it as an action record.
  `int`
  `getActionTypeFilter()`
  Gets the filter value indicating which type is associated with this action record.
  `Address`
  `getAddress()`
  Gets the base address (minimum address) indicating the start of this action record.
  `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.
  `Address`
  `getNextActionAddress()`
  Gets the base address of the next action record to consider in the action table.
  `Address`
  `getNextAddress()`
  Gets the next address indicating the address after this action record.
  `int`
  `getSize()`
  Gets the size of the action record or 0 if this action record hasn't been created at any address yet.

  ### Methods inherited from class ghidra.app.plugin.exceptionhandlers.gcc.GccAnalysisClass

  `createAndCommentData, createData, init`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Field Details

  - ### NO_ACTION

    public static final long NO_ACTION
    See Also:
      - Constant Field Values

- ## 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;