Class LSDATypeTable
- java.lang.Object
-
- ghidra.app.plugin.exceptionhandlers.gcc.GccAnalysisClass
-
- ghidra.app.plugin.exceptionhandlers.gcc.structures.gccexcepttable.LSDATypeTable
-
public class LSDATypeTable extends GccAnalysisClass
Stores addresses of __type_info structures for thrown values. Used by the Unwind routines to determine if a given catch block appropriately handles a given exception-of-type.
-
-
Constructor Summary
Constructors Constructor Description LSDATypeTable(TaskMonitor monitor, Program program, RegionDescriptor region)
Constructor for a table of references to types that are associated with catch actions.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
create(Address bottom, Address top)
Create a LSDA Type Table from the bytes betweenbottom
andtop
.Address
getNextAddress()
Gets the address after this type table.Address
getTypeInfoAddress(int index)
Gets the address of the type information from the reference record at the specified index in the table.-
Methods inherited from class ghidra.app.plugin.exceptionhandlers.gcc.GccAnalysisClass
createAndCommentData, createData, init
-
-
-
-
Constructor Detail
-
LSDATypeTable
public LSDATypeTable(TaskMonitor monitor, Program program, RegionDescriptor region)
Constructor for a table of references to types that are associated with catch actions.
Note: Thecreate(Address, Address)
method must be called after constructing an LSDATypeTable 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 type table.region
- the region of the program associated with this type table.
-
-
Method Detail
-
create
public void create(Address bottom, Address top)
Create a LSDA Type Table from the bytes betweenbottom
andtop
. This table is built from bottom-to-top.
Note: This method must get called before any of the "get..." methods.- Parameters:
bottom
- the bottom address of the type tabletop
- the top address of the type table
-
getTypeInfoAddress
public Address getTypeInfoAddress(int index)
Gets the address of the type information from the reference record at the specified index in the table.- Parameters:
index
- the index (1-based) of the type info table record.- Returns:
- the address of the type info.
-
getNextAddress
public Address getNextAddress()
Gets the address after this type table.- Returns:
- the next address after this type table or null if this type table hasn't been created at any address yet.
-
-