Package ghidra.app.util.bin.format.pe.cli.tables

# Class CliTableMethodDef

java.lang.Object
ghidra.app.util.bin.format.pe.cli.tables.CliAbstractTable
ghidra.app.util.bin.format.pe.cli.tables.CliTableMethodDef

All Implemented Interfaces:
  `PeMarkupable`, `StructConverter`

public class CliTableMethodDef extends CliAbstractTable
Describes the MethodDef table. Each row represents a method in a specific class. Each row is stored one after the other grouped by class. References to the MethodDef table are coded to indicate where the methods for a class start and end.

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Class
  Description
  `class`
  `CliTableMethodDef.CliMethodDefRow`

- ## Field Summary

  ### Fields inherited from class ghidra.app.util.bin.format.pe.cli.tables.CliAbstractTable

  `blobs, metadataStream, numRows, PATH, readerOffset, rows, strings, tableType, userStrings`

  ### Fields inherited from interface ghidra.app.util.bin.StructConverter

  `ASCII, BYTE, DWORD, IBO32, IBO64, POINTER, QWORD, SLEB128, STRING, ULEB128, UTF16, UTF8, VOID, WORD`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `CliTableMethodDef(BinaryReader reader, CliStreamMetadata stream, CliTypeTable tableId)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `StructureDataType`
  `getRowDataType()`
  Gets the data type of a row in this table.
  `void`
  `markup(Program program, boolean isBinary, TaskMonitor monitor, MessageLog log, NTHeader ntHeader)`
  Marks up a PE structure.

  ### Methods inherited from class ghidra.app.util.bin.format.pe.cli.tables.CliAbstractTable

  `getNumRows, getRow, getRowRepresentationSafe, getRowShortRepSafe, getRowSize, getTableSize, getTableType, readBlobIndex, readGuidIndex, readStringIndex, readTableIndex, toDataType, toString`

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

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

- ## Constructor Details

  - ### CliTableMethodDef

    public CliTableMethodDef(BinaryReader reader, CliStreamMetadata stream, CliTypeTable tableId) throws IOException
    Throws:
      `IOException`

- ## Method Details

  - ### markup

    public void markup(Program program, boolean isBinary, TaskMonitor monitor, MessageLog log, NTHeader ntHeader) throws DuplicateNameException, CodeUnitInsertionException, IOException
    Description copied from interface: `PeMarkupable`
    Marks up a PE structure.
    Specified by:
      `markup` in interface `PeMarkupable`
    Overrides:
      `markup` in class `CliAbstractTable`
    Parameters:
      `program` - The program to markup.
      `isBinary` - True if the program is binary; otherwise, false.
      `monitor` - The monitor.
      `log` - The log.
      `ntHeader` - The PE's NT Header structure.
    Throws:
      `DuplicateNameException`
      `CodeUnitInsertionException`
      `IOException`

  - ### getRowDataType

    public StructureDataType getRowDataType()
    Description copied from class: `CliAbstractTable`
    Gets the data type of a row in this table.
    Specified by:
      `getRowDataType` in class `CliAbstractTable`
    Returns:
      The data type of a row in this table.