Package ghidra.program.model.data
Class StringDataType
- 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.StringDataType
-
- All Implemented Interfaces:
BuiltInDataType
,DataType
,DataTypeWithCharset
,Dynamic
,ExtensionPoint
public class StringDataType extends AbstractStringDataType
A fixed-length stringDataType
with a user setablecharset
(default ASCII).All string data types:
StringDataType
- this type, fixed length, user settable charset.StringUTF8DataType
- fixed length UTF-8 string.TerminatedStringDataType
- terminated and unbounded string, user settable charset.TerminatedUnicodeDataType
- terminated and unbounded UTF-16 string.TerminatedUnicode32DataType
- terminated and unbounded UTF-32 string.PascalString255DataType
- length-prefixed string (limited to 255 chars), user settable charset.PascalStringDataType
- length-prefixed string (limited to 64k), user settable charset.PascalUnicodeDataType
- length-prefixed UTF-16 (limited to 64k).UnicodeDataType
- fixed length UTF-16 string.Unicode32DataType
- fixed length UTF-32 string.
The following settings are supported by all string types on the data instance:
-
TranslationSettingsDefinition
- controls display of string values that have been translated to english. -
RenderUnicodeSettingsDefinition
- controls display of non-ascii Unicode characters.
-
-
Field Summary
Fields Modifier and Type Field Description static StringDataType
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, VOID
-
-
Constructor Summary
Constructors Constructor Description StringDataType()
StringDataType(DataTypeManager dtm)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description DataType
clone(DataTypeManager dtm)
Returns an instance of this DataType with its universalID and SourceArchive identity retained.-
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, setName, setNameAndCategory
-
Methods inherited from class ghidra.program.model.data.DataTypeImpl
equals, getAlignment, getDefaultSettings, getLastChangeTimeInSourceArchive, getParents, getPathName, getSourceArchive, hashCode, notifyAlignmentChanged, notifyDeleted, notifyNameChanged, notifyParents, notifyReplaced, notifySizeChanged, replaceWith, setDefaultSettings, setDescription, setLastChangeTime, setLastChangeTimeInSourceArchive, setSourceArchive
-
Methods inherited from class ghidra.program.model.data.AbstractDataType
dataTypeAlignmentChanged, getCategoryPath, getDataOrganization, getDataTypeManager, getDataTypePath, getDisplayName, getDocs, getName, 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
-
Methods inherited from interface ghidra.program.model.data.DataType
addParent, copy, dataTypeAlignmentChanged, dataTypeDeleted, dataTypeNameChanged, dataTypeReplaced, dataTypeSizeChanged, dependsOn, getAlignment, getCategoryPath, getDataOrganization, getDataTypeManager, getDataTypePath, getDefaultSettings, getDisplayName, getDocs, getLastChangeTime, getLastChangeTimeInSourceArchive, getName, getParents, getPathName, getSettingsDefinitions, getSourceArchive, getUniversalID, hasLanguageDependantLength, isDeleted, isEquivalent, isNotYetDefined, isZeroLength, removeParent, replaceWith, setCategoryPath, setDefaultSettings, setDescription, setLastChangeTime, setLastChangeTimeInSourceArchive, setName, setNameAndCategory, setSourceArchive
-
Methods inherited from interface ghidra.program.model.data.DataTypeWithCharset
encodeCharacterRepresentation, encodeCharacterValue
-
-
-
-
Field Detail
-
dataType
public static final StringDataType dataType
-
-
Constructor Detail
-
StringDataType
public StringDataType()
-
StringDataType
public StringDataType(DataTypeManager dtm)
-
-
Method Detail
-
clone
public DataType clone(DataTypeManager dtm)
Description copied from interface:DataType
Returns an instance of this DataType with its universalID and SourceArchive identity retained.The current instanceof 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.
- Parameters:
dtm
- the data-type manager instance whose data-organization should apply.- Returns:
- cloned instance which may be the same as this instance
-
-