Package ghidra.app.plugin.exceptionhandlers.gcc

# Class RegionDescriptor

java.lang.Object
ghidra.app.plugin.exceptionhandlers.gcc.RegionDescriptor

public class RegionDescriptor extends Object
RegionDescriptor holds information about a call frame.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `RegionDescriptor(MemoryBlock ehblock)`
  Constructor for a region descriptor.

- ## Method Summary

  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.

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### RegionDescriptor

    public RegionDescriptor(MemoryBlock ehblock)
    Constructor for a region descriptor.
    Parameters:
      `ehblock` - the exception handling memory block for the region to be described.

- ## Method Details

  - ### 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