Class LSDAActionRecord
java.lang.Object
ghidra.app.plugin.exceptionhandlers.gcc.GccAnalysisClass
ghidra.app.plugin.exceptionhandlers.gcc.structures.gccexcepttable.LSDAActionRecord
A record that associates the type info with a catch action.
-
Field Summary
-
Constructor Summary
ConstructorDescriptionLSDAActionRecord
(TaskMonitor monitor, Program program, RegionDescriptor region, LSDAActionTable lsdaActionTable) Constructor for an action record. -
Method Summary
Modifier and TypeMethodDescriptionvoid
Creates data for an action record at the indicated address and creates a comment to identify it as an action record.int
Gets the filter value indicating which type is associated with this action record.Gets the base address (minimum address) indicating the start of this action record.Gets the record for the next action that the catch should fall to if the type isn't the one for this action.Gets the base address of the next action record to consider in the action table.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
-
Field Details
-
NO_ACTION
public static final long NO_ACTION- See Also:
-
-
Constructor Details
-
LSDAActionRecord
public LSDAActionRecord(TaskMonitor monitor, Program program, RegionDescriptor region, LSDAActionTable lsdaActionTable) Constructor for an action record.
Note: Thecreate(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
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
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
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
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
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;
-