Class RegionDescriptor
- java.lang.Object
-
- ghidra.app.plugin.exceptionhandlers.gcc.RegionDescriptor
-
public class RegionDescriptor extends java.lang.Object
RegionDescriptor holds information about a call frame.
-
-
Constructor Summary
Constructors Constructor Description RegionDescriptor(MemoryBlock ehblock)
Constructor for a region descriptor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description LSDAActionTable
getActionTable()
Gets the action table for this region's frame.LSDACallSiteTable
getCallSiteTable()
Gets the call site table for this region's frame.MemoryBlock
getEHMemoryBlock()
Gets the exception handling memory block associated with this region.FrameDescriptionEntry
getFrameDescriptorEntry()
Gets the FDE associated with this region.Address
getLSDAAddress(Address addr)
Gets the address of the start of the LSDA.LSDATable
getLSDATable()
Gets the LSDA table for this frame region.AddressRange
getRange()
Gets the address range of the IP (instructions) for this region.long
getRangeSize()
Gets the size of the address range for the IP.Address
getRangeStart()
Gets the start (minimum address) of the IP range for this region.LSDATypeTable
getTypeTable()
Gets the type table for this region's frame.void
setFrameDescriptorEntry(FrameDescriptionEntry frameDescriptionEntry)
Sets the FDE associated with the region.void
setIPRange(AddressRange range)
Sets the address range of the IP (instructions) for this region.void
setLSDAAddress(Address addr)
Sets the address of the start of the LSDA.void
setLSDATable(LSDATable lsdaTable)
Sets the LSDA table for this frame region.
-
-
-
Constructor Detail
-
RegionDescriptor
public RegionDescriptor(MemoryBlock ehblock)
Constructor for a region descriptor.- Parameters:
ehblock
- the exception handling memory block for the region to be described.
-
-
Method Detail
-
getEHMemoryBlock
public MemoryBlock getEHMemoryBlock()
Gets the exception handling memory block associated with this region.- Returns:
- the memory block
-
setIPRange
public void setIPRange(AddressRange range)
Sets the address range of the IP (instructions) for this region.- Parameters:
range
- the address range to associate with this region.
-
getRange
public AddressRange getRange()
Gets the address range of the IP (instructions) for this region.- Returns:
- the instruction addresses
-
getRangeStart
public Address getRangeStart()
Gets the start (minimum address) of the IP range for this region.- Returns:
- the IP range start address
-
getRangeSize
public long getRangeSize()
Gets the size of the address range for the IP.- Returns:
- the IP address range size
-
setLSDAAddress
public void setLSDAAddress(Address addr)
Sets the address of the start of the LSDA.- Parameters:
addr
- the LSDA address.
-
getLSDAAddress
public Address getLSDAAddress(Address addr)
Gets the address of the start of the LSDA.- Returns:
- the LSDA address.
-
setLSDATable
public void setLSDATable(LSDATable lsdaTable)
Sets the LSDA table for this frame region.- Parameters:
lsdaTable
- the LSDA table
-
getLSDATable
public LSDATable getLSDATable()
Gets the LSDA table for this frame region.- Returns:
- the LSDA table
-
getCallSiteTable
public LSDACallSiteTable getCallSiteTable()
Gets the call site table for this region's frame.- Returns:
- the call site table
-
getActionTable
public LSDAActionTable getActionTable()
Gets the action table for this region's frame.- Returns:
- the action table or null if it hasn't been set for this region
-
getTypeTable
public LSDATypeTable getTypeTable()
Gets the type table for this region's frame.- Returns:
- the LSDA type table or null if it hasn't been set for this region
-
setFrameDescriptorEntry
public void setFrameDescriptorEntry(FrameDescriptionEntry frameDescriptionEntry)
Sets the FDE associated with the region.- Parameters:
frameDescriptionEntry
- the FDE
-
getFrameDescriptorEntry
public FrameDescriptionEntry getFrameDescriptorEntry()
Gets the FDE associated with this region.- Returns:
- the FDE
-
-