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

# Class CliAbstractSig

java.lang.Object
ghidra.app.util.bin.format.pe.cli.blobs.CliBlob
ghidra.app.util.bin.format.pe.cli.blobs.CliAbstractSig

All Implemented Interfaces:
  `CliRepresentable`, `StructConverter`

Direct Known Subclasses:
  `CliSigAssembly`, `CliSigAssemblyRef`, `CliSigConstant`, `CliSigField`, `CliSigLocalVar`, `CliSigMethodDef`, `CliSigMethodRef`, `CliSigMethodSpec`, `CliSigProperty`, `CliSigStandAloneMethod`, `CliSigTypeSpec`

public abstract class CliAbstractSig extends CliBlob implements CliRepresentable

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Class
  Description
  `class`
  `CliAbstractSig.CliArrayShape`
  `static class`
  `CliAbstractSig.CliByRef`
  `static class`
  `CliAbstractSig.CliConstraint`
  `static class`
  `CliAbstractSig.CliCustomMod`
  `static enum`
  `CliAbstractSig.CliElementType`
  `class`
  `CliAbstractSig.CliParam`
  `class`
  `CliAbstractSig.CliRetType`
  `class`
  `CliAbstractSig.CliSigType`
  `class`
  `CliAbstractSig.CliTypeArray`
  `class`
  `CliAbstractSig.CliTypeBase`
  `class`
  `CliAbstractSig.CliTypeClass`
  `static class`
  `CliAbstractSig.CliTypeCodeDataType`
  `class`
  `CliAbstractSig.CliTypeFnPtr`
  `class`
  `CliAbstractSig.CliTypeGenericInst`
  `class`
  `CliAbstractSig.CliTypePrimitive`
  `class`
  `CliAbstractSig.CliTypePtr`
  `class`
  `CliAbstractSig.CliTypeSzArray`
  `class`
  `CliAbstractSig.CliTypeValueType`
  `class`
  `CliAbstractSig.CliTypeVarOrMvar`

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final String`
  `PATH`

  ### Fields inherited from class ghidra.app.util.bin.format.pe.cli.blobs.CliBlob

  `blobOffset, contentsOffset, contentsSize`

  ### 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
  `CliAbstractSig(CliBlob blob)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static DataType`
  `convertTypeCodeToDataType(CliAbstractSig.CliElementType typeCode)`
  `abstract String`
  `getContentsComment()`
  Gets the comment associated with this blob's contents.
  `abstract DataType`
  `getContentsDataType()`
  Gets the data type associated with this blob's contents.
  `abstract String`
  `getContentsName()`
  Gets the name associated with this blob's contents.
  `final String`
  `getRepresentation()`
  Gets the string representation of this blob.
  `final String`
  `getRepresentation(CliStreamMetadata stream)`
  `protected abstract String`
  `getRepresentationCommon(CliStreamMetadata stream, boolean isShort)`
  This is the method that subclasses should override.
  `protected String`
  `getRepresentationOf(CliRepresentable obj, CliStreamMetadata stream, boolean isShort)`
  `final String`
  `getShortRepresentation()`
  `final String`
  `getShortRepresentation(CliStreamMetadata stream)`
  `CliAbstractSig.CliSigType`
  `readCliType(BinaryReader reader)`

  ### Methods inherited from class ghidra.app.util.bin.format.pe.cli.blobs.CliBlob

  `decodeCompressedSigned, decodeCompressedSigned, decodeCompressedSigned, decodeCompressedSignedInt, decodeCompressedUnsigned, decodeCompressedUnsigned, decodeCompressedUnsigned, decodeCompressedUnsignedInt, getContents, getContentsReader, getContentsSize, getDataTypeForBytes, getName, getSize, getSizeDataType, getStreamIndex, isLittleEndian, testSizeDecoding, toDataType, toDataType`

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

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

- ## Field Details

  - ### PATH

    public static final String PATH
    See Also:
      - Constant Field Values

- ## Constructor Details

  - ### CliAbstractSig

    public CliAbstractSig(CliBlob blob)

- ## Method Details

  - ### getContentsDataType

    public abstract DataType getContentsDataType()
    Description copied from class: `CliBlob`
    Gets the data type associated with this blob's contents.
    Overrides:
      `getContentsDataType` in class `CliBlob`
    Returns:
      The data type associated with this blob's contents.

  - ### getContentsName

    public abstract String getContentsName()
    Description copied from class: `CliBlob`
    Gets the name associated with this blob's contents.
    Overrides:
      `getContentsName` in class `CliBlob`
    Returns:
      The name associated with this blob's contents.

  - ### getContentsComment

    public abstract String getContentsComment()
    Description copied from class: `CliBlob`
    Gets the comment associated with this blob's contents.
    Overrides:
      `getContentsComment` in class `CliBlob`
    Returns:
      The comment associated with this blob's contents.

  - ### getRepresentationCommon

    protected abstract String getRepresentationCommon(CliStreamMetadata stream, boolean isShort)
    This is the method that subclasses should override. If stream is null, the method must not cause a NullPointerException, i.e. it must handle this as if there was no stream to begin with.

  - ### getRepresentation

    public final String getRepresentation()
    Description copied from class: `CliBlob`
    Gets the string representation of this blob.
    Specified by:
      `getRepresentation` in interface `CliRepresentable`
    Overrides:
      `getRepresentation` in class `CliBlob`
    Returns:
      The string representation of this blob.

  - ### getShortRepresentation

    public final String getShortRepresentation()
    Specified by:
      `getShortRepresentation` in interface `CliRepresentable`

  - ### getRepresentation

    public final String getRepresentation(CliStreamMetadata stream)
    Specified by:
      `getRepresentation` in interface `CliRepresentable`

  - ### getShortRepresentation

    public final String getShortRepresentation(CliStreamMetadata stream)
    Specified by:
      `getShortRepresentation` in interface `CliRepresentable`

  - ### getRepresentationOf

    protected String getRepresentationOf(CliRepresentable obj, CliStreamMetadata stream, boolean isShort)

  - ### convertTypeCodeToDataType

    public static DataType convertTypeCodeToDataType(CliAbstractSig.CliElementType typeCode)

  - ### readCliType

    public CliAbstractSig.CliSigType readCliType(BinaryReader reader) throws IOException, InvalidInputException
    Throws:
      `IOException`
      `InvalidInputException`