Package ghidra.program.model.data
Class AbstractComplexDataType
java.lang.Object
ghidra.program.model.data.AbstractDataType
ghidra.program.model.data.DataTypeImpl
ghidra.program.model.data.BuiltIn
ghidra.program.model.data.AbstractComplexDataType
- All Implemented Interfaces:
BuiltInDataType
,DataType
,ExtensionPoint
- Direct Known Subclasses:
Complex16DataType
,Complex32DataType
,Complex8DataType
,DoubleComplexDataType
,FloatComplexDataType
,LongDoubleComplexDataType
Base class for a variety of Complex data types of different sizes and types.
-
Field Summary
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
ConstructorsConstructorDescriptionAbstractComplexDataType
(String name, AbstractFloatDataType floats, DataTypeManager dtm) -
Method Summary
Modifier and TypeMethodDescriptionstatic DataType
getComplexDataType
(int size, DataTypeManager dtm) protected static AbstractComplexDataType
getDefaultComplexDataType
(int size) Get a String briefly describing this DataType.int
Get the length (number of 8-bit bytes) of this DataType.getMnemonic
(Settings settings) Get the mnemonic for this DataType.getRepresentation
(MemBuffer buf, Settings settings, int length) Get bytes from memory in a printable format for this type.Get the interpretted data value in the form of the appropriate Object for this DataType.Methods inherited from class ghidra.program.model.data.BuiltIn
addParent, copy, dataTypeDeleted, dataTypeNameChanged, dataTypeReplaced, dataTypeSizeChanged, dependsOn, getBuiltInSettingsDefinitions, getCTypeDeclaration, getCTypeDeclaration, getCTypeDeclaration, getCTypeDeclaration, getDecompilerDisplayName, getLastChangeTime, getSettingsDefinitions, getUniversalID, isEquivalent, removeParent, setCategoryPath, setDefaultSettings, setName, setNameAndCategory
Methods inherited from class ghidra.program.model.data.DataTypeImpl
equals, getAlignment, getDefaultSettings, getLastChangeTimeInSourceArchive, getParents, getPathName, getSourceArchive, getValueClass, hashCode, notifyAlignmentChanged, notifyDeleted, notifyNameChanged, notifyParents, notifyReplaced, notifySizeChanged, replaceWith, setDescription, setLastChangeTime, setLastChangeTimeInSourceArchive, setSourceArchive
Methods inherited from class ghidra.program.model.data.AbstractDataType
dataTypeAlignmentChanged, encodeRepresentation, encodeValue, getCategoryPath, getDataOrganization, getDataTypeManager, getDataTypePath, getDefaultAbbreviatedLabelPrefix, getDefaultLabelPrefix, getDefaultLabelPrefix, getDefaultOffcutLabelPrefix, getDisplayName, getDocs, getName, getTypeDefSettingsDefinitions, hasLanguageDependantLength, isDeleted, isEncodable, 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.DataType
clone, dataTypeAlignmentChanged, encodeRepresentation, encodeValue, getAlignment, getCategoryPath, getDataOrganization, getDataTypeManager, getDataTypePath, getDefaultAbbreviatedLabelPrefix, getDefaultLabelPrefix, getDefaultLabelPrefix, getDefaultOffcutLabelPrefix, getDefaultSettings, getDisplayName, getDocs, getLastChangeTimeInSourceArchive, getName, getParents, getPathName, getSourceArchive, getTypeDefSettingsDefinitions, getValueClass, hasLanguageDependantLength, isDeleted, isEncodable, isNotYetDefined, isZeroLength, replaceWith, setDescription, setLastChangeTime, setLastChangeTimeInSourceArchive, setSourceArchive
-
Constructor Details
-
AbstractComplexDataType
-
-
Method Details
-
getDefaultComplexDataType
-
getComplexDataType
-
getMnemonic
Description copied from interface:DataType
Get the mnemonic for this DataType.- Specified by:
getMnemonic
in interfaceDataType
- Overrides:
getMnemonic
in classAbstractDataType
- Parameters:
settings
- settings which may influence the result or null- Returns:
- the mnemonic for this DataType.
-
getLength
public int getLength()Description copied from interface:DataType
Get the length (number of 8-bit bytes) of this DataType.NOTE: No datatype should ever return 0, even if
DataType.isZeroLength()
, and onlyDynamic
datatypes should return -1. IfDataType.isZeroLength()
is true a length of 1 should be returned. Where a zero-length datatype can be handled (e.g.,Composite
) theDataType.isZeroLength()
method should be used.- Returns:
- the length of this DataType
-
getDescription
Description copied from interface:DataType
Get a String briefly describing this DataType.- Returns:
- a one-liner describing this DataType.
-
getValue
Description copied from interface:DataType
Get the interpretted data value in the form of the appropriate Object for this DataType. This method must return a value consistent withDataType.getValueClass(Settings)
.For instance, if this datatype is a
Pointer
an Address object or null should be returned. A Byte, returns aScalar
object.- Parameters:
buf
- the data buffer.settings
- the settings to use.length
- the number of bytes to get the value from.- Returns:
- the data Object.
-
getRepresentation
Description copied from interface:DataType
Get bytes from memory in a printable format for this type.- Parameters:
buf
- the data.settings
- the settings to use for the representation.length
- the number of bytes to represent.- Returns:
- the representation of the data in this format, never null.
-