Class LSDAActionTable
- java.lang.Object
-
- ghidra.app.plugin.exceptionhandlers.gcc.structures.gccexcepttable.LSDAActionTable
-
public class LSDAActionTable extends java.lang.Object
Defines the follow-on behavior of how to handle an exception in the context of the exceptions' C++ type.
-
-
Constructor Summary
Constructors Constructor Description LSDAActionTable(TaskMonitor monitor, Program program, RegionDescriptor region)
Constructor for an action table.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
create(Address address, Address maxAddress)
Create an LSDA Action Table from the bytes ataddress
.LSDAActionRecord
getActionRecord(int actionIndex)
Gets the action record from the table by its index.LSDAActionRecord
getActionRecordAtOffset(int actionOffset)
Gets the action record from the table for the indicated offset.java.util.List<LSDAActionRecord>
getActionRecords()
Gets all of the action records in this action table.
-
-
-
Constructor Detail
-
LSDAActionTable
public LSDAActionTable(TaskMonitor monitor, Program program, RegionDescriptor region)
Constructor for an action table.
Note: Thecreate(Address)
method must be called after constructing an LSDAActionTable 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 table.region
- the region or section of the program containing the action table.
-
-
Method Detail
-
create
public void create(Address address, Address maxAddress)
Create an LSDA Action Table from the bytes ataddress
.
Note: This method must get called before any of the "get..." methods.- Parameters:
address
- the start (minimum address) of this action table.maxddress
- the end (maximum address) of this action table.
-
getActionRecords
public java.util.List<LSDAActionRecord> getActionRecords()
Gets all of the action records in this action table.- Returns:
- the action records in this table or empty if no address has been established for this table.
-
getActionRecord
public LSDAActionRecord getActionRecord(int actionIndex)
Gets the action record from the table by its index.- Parameters:
actionIndex
- indicates which action record (0 based) to get from the table.- Returns:
- the action record or null if the index is invalid or an address hasn't been established for this table yet.
-
getActionRecordAtOffset
public LSDAActionRecord getActionRecordAtOffset(int actionOffset)
Gets the action record from the table for the indicated offset.- Parameters:
actionOffset
- the byte offset into the table for the desired record- Returns:
- the action record for the specified offset or null
-
-