Package ghidra.app.plugin.exceptionhandlers.gcc

# Interface DwarfEHDecoder

public interface DwarfEHDecoder
Decodes a sequence of program bytes to Ghidra addressing types.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `long`
  `decode(DwarfDecodeContext context)`
  Decodes an integer value which is indicated by the context.
  `Address`
  `decodeAddress(DwarfDecodeContext context)`
  Decodes the address which is indicated by the context.
  `DwarfEHDataApplicationMode`
  `getDataApplicationMode()`
  Gets the data application mode.
  `DwarfEHDataDecodeFormat`
  `getDataFormat()`
  Gets the exception handling data decoding format.
  `DataType`
  `getDataType(Program program)`
  Gets this decoder's encoded data type.
  `int`
  `getDecodeSize(Program program)`
  Gets the size of the encoded data.
  `boolean`
  `isSigned()`
  Whether or not this decoder is for decoding signed or unsigned data.

- ## Method Details

  - ### getDataFormat

    DwarfEHDataDecodeFormat getDataFormat()
    Gets the exception handling data decoding format.
    Returns:
      the data decoding format

  - ### getDataApplicationMode

    DwarfEHDataApplicationMode getDataApplicationMode()
    Gets the data application mode.
    Returns:
      the data application mode

  - ### isSigned

    boolean isSigned()
    Whether or not this decoder is for decoding signed or unsigned data.
    Returns:
      true if the decoder is for signed data. false for unsigned

  - ### getDecodeSize

    int getDecodeSize(Program program)
    Gets the size of the encoded data.
    Parameters:
      `program` - the program containing the data to be decoded.
    Returns:
      the size of the encoded data

  - ### decode

    long decode(DwarfDecodeContext context) throws MemoryAccessException
    Decodes an integer value which is indicated by the context.
    Parameters:
      `context` - Stores program location and decode parameters
    Returns:
      the value
    Throws:
      `MemoryAccessException` - if the data can't be read

  - ### decodeAddress

    Address decodeAddress(DwarfDecodeContext context) throws MemoryAccessException
    Decodes the address which is indicated by the context.
    Parameters:
      `context` - Stores program location and decode parameters
    Returns:
      the address
    Throws:
      `MemoryAccessException` - if the data can't be read

  - ### getDataType

    DataType getDataType(Program program)
    Gets this decoder's encoded data type.
    Parameters:
      `program` - the program containing the data to be decoded.
    Returns:
      the data type.