Class ByteDataType
- All Implemented Interfaces:
ArrayStringable,BuiltInDataType,DataType,ExtensionPoint
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final ByteDataTypeA statically defined ByteDataType instance.Fields inherited from class ghidra.program.model.data.AbstractIntegerDataType
ENDIAN, MNEMONIC, PADDINGFields inherited from class ghidra.program.model.data.DataTypeImpl
defaultSettingsFields inherited from class ghidra.program.model.data.AbstractDataType
categoryPath, dataMgr, nameFields 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 -
Method Summary
Modifier and TypeMethodDescriptionclone(DataTypeManager dtm) Returns an instance of this DataType using the specifiedDataTypeManagerto allow its use of the correspondingDataOrganizationwhile retaining its unique identity (seeDataType.getUniversalID()and archive association (seeDataType.getSourceArchive()) if applicable.getDecompilerDisplayName(DecompilerLanguage language) Return token used to represent this type in decompiler/source-code outputGet a String briefly describing this DataType.intGet the length of this DataType as a number of 8-bit bytes.Methods inherited from class ghidra.program.model.data.AbstractUnsignedIntegerDataType
isSignedMethods inherited from class ghidra.program.model.data.AbstractIntegerDataType
castValueToEncode, encodeRepresentation, encodeValue, getArrayDefaultLabelPrefix, getArrayDefaultOffcutLabelPrefix, getBitCount, getBuiltInSettingsDefinitions, getCDeclaration, getCMnemonic, getDefaultLabelPrefix, getFormatSettingsDefinition, getMnemonic, getRepresentation, getSignedDataType, getSignedDataTypes, getUnsignedDataType, getUnsignedDataTypes, getValue, getValueClass, hasStringValue, isEncodable, isEquivalentMethods inherited from class ghidra.program.model.data.BuiltIn
addParent, copy, dataTypeDeleted, dataTypeNameChanged, dataTypeReplaced, dataTypeSizeChanged, dependsOn, getCTypeDeclaration, getCTypeDeclaration, getCTypeDeclaration, getCTypeDeclaration, getLastChangeTime, getSettingsDefinitions, getUniversalID, removeParent, setCategoryPath, setDefaultSettings, setName, setNameAndCategoryMethods 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, setSourceArchiveMethods inherited from class ghidra.program.model.data.AbstractDataType
dataTypeAlignmentChanged, getCategoryPath, getDataOrganization, getDataOrganization, getDataTypeManager, getDataTypePath, getDefaultAbbreviatedLabelPrefix, getDefaultLabelPrefix, getDefaultOffcutLabelPrefix, getDisplayName, getName, getTypeDefSettingsDefinitions, hasLanguageDependantLength, isDeleted, isNotYetDefined, isZeroLength, toStringMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface ghidra.program.model.data.ArrayStringable
getArrayStringMethods inherited from interface ghidra.program.model.data.DataType
addParent, copy, dataTypeAlignmentChanged, dataTypeDeleted, dataTypeNameChanged, dataTypeReplaced, dataTypeSizeChanged, dependsOn, getAlignedLength, getAlignment, getCategoryPath, getDataOrganization, getDataTypeManager, getDataTypePath, getDefaultAbbreviatedLabelPrefix, getDefaultLabelPrefix, getDefaultOffcutLabelPrefix, getDefaultSettings, getDisplayName, getLastChangeTime, getLastChangeTimeInSourceArchive, getName, getParents, getPathName, getSettingsDefinitions, getSourceArchive, getTypeDefSettingsDefinitions, getUniversalID, hasLanguageDependantLength, isDeleted, isNotYetDefined, isZeroLength, removeParent, replaceWith, setCategoryPath, setDescription, setLastChangeTime, setLastChangeTimeInSourceArchive, setName, setNameAndCategory, setSourceArchive
-
Field Details
-
dataType
A statically defined ByteDataType instance.
-
-
Constructor Details
-
ByteDataType
public ByteDataType() -
ByteDataType
-
-
Method Details
-
getDescription
Description copied from interface:DataTypeGet a String briefly describing this DataType.- Returns:
- a one-liner describing this DataType.
-
getLength
public int getLength()Description copied from interface:DataTypeGet the length of this DataType as a number of 8-bit bytes.For primitive datatypes this reflects the smallest varnode which can be used to contain its value (i.e., raw data length).
Example: For x86 32-bit gcc an 80-bit
long doubleraw data lengthof 10-bytes will fit within a floating point register while itsaligned-lengthof 12-bytes is used by the gcc compiler for data/array/component allocations to maintain alignment (i.e.,sizeof(long double)).NOTE: Other than the
VoidDataType, no datatype should ever return 0, even ifDataType.isZeroLength(), and onlyDynamic/FactoryDataTypedatatypes 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
-
getAssemblyMnemonic
- Overrides:
getAssemblyMnemonicin classAbstractIntegerDataType- Returns:
- the Assembly style data-type declaration for this data-type.
-
getDecompilerDisplayName
Description copied from class:BuiltInReturn token used to represent this type in decompiler/source-code output- Overrides:
getDecompilerDisplayNamein classBuiltIn- Parameters:
language- is the language being displayed- Returns:
- the name string
-
getOppositeSignednessDataType
- Specified by:
getOppositeSignednessDataTypein classAbstractIntegerDataType- Returns:
- the data-type with the opposite signedness from this data-type. For example, this method on IntegerDataType will return an instance of UnsignedIntegerDataType.
-
clone
Description copied from interface:DataTypeReturns an instance of this DataType using the specifiedDataTypeManagerto allow its use of the correspondingDataOrganizationwhile retaining its unique identity (seeDataType.getUniversalID()and archive association (seeDataType.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
DataTypeManagermatches 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
-