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.
-
-
Constructor Summary
Constructors Constructor Description LSDAActionRecord(TaskMonitor monitor, Program program, RegionDescriptor region, LSDAActionTable lsdaActionTable)
Constructor for an action record.
-
Method Summary
All Methods Instance Methods Concrete Methods 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
-
-
-
-
Field Detail
-
NO_ACTION
public static final long NO_ACTION
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
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 Detail
-
create
public 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.
Note: This method must get called before any of the "get..." methods.- Parameters:
address
- the start (minimum address) of this action record.
-
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;
-
-