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

# Class LSDACallSiteTable

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

public class LSDACallSiteTable extends GccAnalysisClass
Defines the specific program regions that may throw an exception within the context of the LSDA.

- ## Field Summary

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

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

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `LSDACallSiteTable(TaskMonitor monitor, Program program, RegionDescriptor region)`
  Constructor for a call site table.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `create(Address addr)`
  Create a LSDA Call Site Table from the bytes at `addr`.
  `List<LSDACallSiteRecord>`
  `getCallSiteRecords()`
  Gets all of the call site records in this table.

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

- ## Constructor Details

  - ### LSDACallSiteTable

    public LSDACallSiteTable(TaskMonitor monitor, Program program, RegionDescriptor region)
    Constructor for a call site table.
    Note: The `create(Address)` method must be called after constructing an LSDACallSiteTable 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 call site table.
      `region` - the region of the program associated with the call site table.

- ## Method Details

  - ### create

    public void create(Address addr) throws MemoryAccessException
    Create a LSDA Call Site Table from the bytes at `addr`.
    Note: This method must get called before any of the "get..." methods.
    Parameters:
      `addr` - the start (minimum address) of this call site table.
    Throws:
      `MemoryAccessException` - if memory couldn't be accessed for the call site table

  - ### getCallSiteRecords

    public List<LSDACallSiteRecord> getCallSiteRecords()
    Gets all of the call site records in this table.
    Returns:
      the call site records in this table or empty if no address has been established for this table.