Package ghidra.program.model.data

# Class PascalUnicodeDataType

java.lang.Object
ghidra.program.model.data.AbstractDataType
ghidra.program.model.data.DataTypeImpl
ghidra.program.model.data.BuiltIn
ghidra.program.model.data.AbstractStringDataType
ghidra.program.model.data.PascalUnicodeDataType

All Implemented Interfaces:
  `BuiltInDataType`, `DataType`, `DataTypeWithCharset`, `Dynamic`, `ExtensionPoint`

public class PascalUnicodeDataType extends AbstractStringDataType
A length-prefixed string `DataType` (max 64k bytes) with char size of 2 bytes, `UTF-16` charset, unbounded (ignores containing field size, relies on embedded length value).

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final PascalUnicodeDataType`
  `dataType`

  ### Fields inherited from class ghidra.program.model.data.AbstractStringDataType

  `COMMON_STRING_SETTINGS_DEFS, COMMON_WITH_CHARSET_STRING_SETTINGS_DEFS, DEFAULT_ABBREV_PREFIX, DEFAULT_LABEL, DEFAULT_LABEL_PREFIX, DEFAULT_UNICODE_ABBREV_PREFIX, DEFAULT_UNICODE_LABEL, DEFAULT_UNICODE_LABEL_PREFIX, USE_CHARSET_DEF_DEFAULT`

  ### Fields inherited from class ghidra.program.model.data.DataTypeImpl

  `defaultSettings`

  ### Fields inherited from class ghidra.program.model.data.AbstractDataType

  `categoryPath, dataMgr, name`

  ### Fields inherited from interface ghidra.program.model.data.DataType

  `CONFLICT_SUFFIX, DEFAULT, NO_LAST_CHANGE_TIME, NO_SOURCE_SYNC_TIME, TYPEDEF_ATTRIBUTE_PREFIX, TYPEDEF_ATTRIBUTE_SUFFIX, VOID`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `PascalUnicodeDataType()`
  `PascalUnicodeDataType(DataTypeManager dtm)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `DataType`
  `clone(DataTypeManager dtm)`
  Returns an instance of this DataType using the specified `DataTypeManager` to allow its use of the corresponding `DataOrganization` while retaining its unique identity (see `DataType.getUniversalID()` and archive association (see `DataType.getSourceArchive()`) if applicable.

  ### Methods inherited from class ghidra.program.model.data.AbstractStringDataType

  `canSpecifyLength, encodeRepresentation, encodeValue, getBuiltInSettingsDefinitions, getCharsetName, getDefaultAbbreviatedLabelPrefix, getDefaultLabelPrefix, getDefaultLabelPrefix, getDefaultOffcutLabelPrefix, getDescription, getLength, getLength, getMnemonic, getReplacementBaseType, getRepresentation, getStringDataInstance, getStringLayout, getValue, getValueClass, isEncodable`

  ### Methods inherited from class ghidra.program.model.data.BuiltIn

  `addParent, copy, dataTypeDeleted, dataTypeNameChanged, dataTypeReplaced, dataTypeSizeChanged, dependsOn, getCTypeDeclaration, getCTypeDeclaration, getCTypeDeclaration, getCTypeDeclaration, getDecompilerDisplayName, getLastChangeTime, getSettingsDefinitions, getUniversalID, isEquivalent, removeParent, setCategoryPath, setDefaultSettings, setName, setNameAndCategory`

  ### Methods inherited from class ghidra.program.model.data.DataTypeImpl

  `equals, getAlignedLength, getAlignment, getDefaultSettings, getLastChangeTimeInSourceArchive, getParents, getPathName, getSourceArchive, hashCode, notifyAlignmentChanged, notifyDeleted, notifyNameChanged, notifyParents, notifyReplaced, notifySizeChanged, replaceWith, setDescription, setLastChangeTime, setLastChangeTimeInSourceArchive, setSourceArchive`

  ### Methods inherited from class ghidra.program.model.data.AbstractDataType

  `dataTypeAlignmentChanged, getCategoryPath, getDataOrganization, getDataOrganization, getDataTypeManager, getDataTypePath, getDisplayName, getDocs, getName, getTypeDefSettingsDefinitions, hasLanguageDependantLength, isDeleted, isNotYetDefined, isZeroLength, toString`

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

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

  ### Methods inherited from interface ghidra.program.model.data.BuiltInDataType

  `getCTypeDeclaration, setDefaultSettings`

  ### Methods inherited from interface ghidra.program.model.data.DataType

  `addParent, copy, dataTypeAlignmentChanged, dataTypeDeleted, dataTypeNameChanged, dataTypeReplaced, dataTypeSizeChanged, dependsOn, getAlignedLength, getAlignment, getCategoryPath, getDataOrganization, getDataTypeManager, getDataTypePath, getDefaultSettings, getDisplayName, getDocs, getLastChangeTime, getLastChangeTimeInSourceArchive, getName, getParents, getPathName, getSettingsDefinitions, getSourceArchive, getTypeDefSettingsDefinitions, getUniversalID, hasLanguageDependantLength, isDeleted, isEquivalent, isNotYetDefined, isZeroLength, removeParent, replaceWith, setCategoryPath, setDescription, setLastChangeTime, setLastChangeTimeInSourceArchive, setName, setNameAndCategory, setSourceArchive`

  ### Methods inherited from interface ghidra.program.model.data.DataTypeWithCharset

  `encodeCharacterRepresentation, encodeCharacterValue`

- ## Field Details

  - ### dataType

    public static final PascalUnicodeDataType dataType

- ## Constructor Details

  - ### PascalUnicodeDataType

    public PascalUnicodeDataType()

  - ### PascalUnicodeDataType

    public PascalUnicodeDataType(DataTypeManager dtm)

- ## Method Details

  - ### clone

    public DataType clone(DataTypeManager dtm)
    Description copied from interface: `DataType`
    Returns an instance of this DataType using the specified `DataTypeManager` to allow its use of the corresponding `DataOrganization` while retaining its unique identity (see `DataType.getUniversalID()` and archive association (see `DataType.getSourceArchive()`) if applicable.

    This instance will be returned if this datatype's DataTypeManager matches the specified dtm. The recursion depth of a clone will stop on any datatype whose `DataTypeManager` matches the specified dtm and simply use the existing datatype instance.

    NOTE: In general, this method should not be used to obtain an instance to be modified. In most cases changes may be made directly to this instance if supported or to a `DataType.copy(DataTypeManager)` of this type.

    Parameters:
      `dtm` - the data-type manager instance whose data-organization should apply.
    Returns:
      cloned instance which may be the same as this instance