Package ghidra.app.plugin.exceptionhandlers.gcc

# Class GccAnalysisClass

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

Direct Known Subclasses:
  `Cie`, `FrameDescriptionEntry`, `LSDAActionRecord`, `LSDACallSiteRecord`, `LSDACallSiteTable`, `LSDAHeader`, `LSDATypeTable`

public abstract class GccAnalysisClass extends Object
An abstract class that can be extended by other classes that perform part of the gcc analysis. It provides some basic data types and methods for use by the extending class.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected DWordDataType`
  `dwordDT`
  `protected TaskMonitor`
  `monitor`
  `static final String`
  `NEWLINE`
  `protected Program`
  `program`
  `protected Pointer`
  `ptrDT`
  `protected int`
  `ptrSize`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `GccAnalysisClass(TaskMonitor monitor, Program program)`
  Creates an abstract GccAnalysisClass object.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected static void`
  `createAndCommentData(Program program, Address addr, DataType dt, String comment, int commentType)`
  Creates the specified DataType at the supplied address.
  `protected static void`
  `createData(Program program, Address addr, DataType dt)`
  Creates the specified DataType at the supplied address.
  `protected void`
  `init(Program program)`
  Method that initializes the various pieces of information that are used throughout the program.

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

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

- ## Field Details

  - ### NEWLINE

    public static final String NEWLINE

  - ### monitor

    protected TaskMonitor monitor

  - ### program

    protected Program program

  - ### ptrSize

    protected int ptrSize

  - ### ptrDT

    protected Pointer ptrDT

  - ### dwordDT

    protected DWordDataType dwordDT

- ## Constructor Details

  - ### GccAnalysisClass

    public GccAnalysisClass(TaskMonitor monitor, Program program)
    Creates an abstract GccAnalysisClass object. Subclasses should call this constructor to initialize the program and task monitor.
    Parameters:
      `monitor` - task monitor to see if the user has cancelled analysis.
      `program` - the program being analyzed.

- ## Method Details

  - ### init

    protected void init(Program program)
    Method that initializes the various pieces of information that are used throughout the program.
    Parameters:
      `program` - the program being analyzed

  - ### createData

    protected static void createData(Program program, Address addr, DataType dt)
    Creates the specified DataType at the supplied address.
    Parameters:
      `program` - the program being analyzed
      `addr` - the address where data is created
      `dt` - the type for the data

  - ### createAndCommentData

    protected static void createAndCommentData(Program program, Address addr, DataType dt, String comment, int commentType)
    Creates the specified DataType at the supplied address. In addition, a comment of the specified type is also created at the address.
    Parameters:
      `program` - the program being analyzed
      `addr` - the address where data is created
      `dt` - the type for the data
      `comment` - the comment about the data
      `commentType` - the type of comment (`CodeUnit.PLATE_COMMENT`, `CodeUnit.PRE_COMMENT`, `CodeUnit.EOL_COMMENT`, `CodeUnit.POST_COMMENT`, `CodeUnit.REPEATABLE_COMMENT`)