Package ghidra.program.model.data
Class Integer3DataType
- java.lang.Object
-
- ghidra.program.model.data.AbstractDataType
-
- ghidra.program.model.data.DataTypeImpl
-
- ghidra.program.model.data.BuiltIn
-
- ghidra.program.model.data.AbstractIntegerDataType
-
- ghidra.program.model.data.Integer3DataType
-
- All Implemented Interfaces:
ArrayStringable
,BuiltInDataType
,DataType
,ExtensionPoint
public class Integer3DataType extends AbstractIntegerDataType
-
-
Field Summary
Fields Modifier and Type Field Description static Integer3DataType
dataType
A statically defined Integer3DataType instance.-
Fields inherited from class ghidra.program.model.data.AbstractIntegerDataType
ENDIAN, MNEMONIC, PADDING
-
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 Integer3DataType()
Integer3DataType(DataTypeManager dtm)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Integer3DataType
clone(DataTypeManager dtm)
Returns an instance of this DataType with its universalID and SourceArchive identity retained.java.lang.String
getCTypeDeclaration(DataOrganization dataOrganization)
Returns null for FactoryDataType (which should never be used) and Dynamic types which should generally be replaced by a primitive array (e.g., char[5]) or, a primitive pointer (e.g., char *).java.lang.String
getDescription()
Get a String briefly describing this DataType.int
getLength()
Get the length (number of 8-bit bytes) of this DataType.UnsignedInteger3DataType
getOppositeSignednessDataType()
-
Methods inherited from class ghidra.program.model.data.AbstractIntegerDataType
castValueToEncode, encodeRepresentation, encodeValue, getArrayDefaultLabelPrefix, getArrayDefaultOffcutLabelPrefix, getAssemblyMnemonic, getBuiltInSettingsDefinitions, getCDeclaration, getCMnemonic, getDefaultLabelPrefix, getFormatSettingsDefinition, getMnemonic, getRepresentation, getSignedDataType, getSignedDataTypes, getUnsignedDataType, getUnsignedDataTypes, getValue, getValueClass, hasStringValue, isEncodable, isEquivalent, isSigned
-
Methods inherited from class ghidra.program.model.data.BuiltIn
addParent, copy, dataTypeDeleted, dataTypeNameChanged, dataTypeReplaced, dataTypeSizeChanged, dependsOn, getCTypeDeclaration, getCTypeDeclaration, getCTypeDeclaration, getDecompilerDisplayName, getLastChangeTime, getSettingsDefinitions, getUniversalID, 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, getDefaultAbbreviatedLabelPrefix, getDefaultLabelPrefix, getDefaultOffcutLabelPrefix, 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.ArrayStringable
getArrayString
-
Methods inherited from interface ghidra.program.model.data.DataType
addParent, copy, dataTypeAlignmentChanged, dataTypeDeleted, dataTypeNameChanged, dataTypeReplaced, dataTypeSizeChanged, dependsOn, getAlignment, getCategoryPath, getDataOrganization, getDataTypeManager, getDataTypePath, getDefaultAbbreviatedLabelPrefix, getDefaultLabelPrefix, getDefaultOffcutLabelPrefix, getDefaultSettings, getDisplayName, getDocs, getLastChangeTime, getLastChangeTimeInSourceArchive, getName, getParents, getPathName, getSettingsDefinitions, getSourceArchive, getUniversalID, hasLanguageDependantLength, isDeleted, isNotYetDefined, isZeroLength, removeParent, replaceWith, setCategoryPath, setDefaultSettings, setDescription, setLastChangeTime, setLastChangeTimeInSourceArchive, setName, setNameAndCategory, setSourceArchive
-
-
-
-
Field Detail
-
dataType
public static final Integer3DataType dataType
A statically defined Integer3DataType instance.
-
-
Constructor Detail
-
Integer3DataType
public Integer3DataType()
-
Integer3DataType
public Integer3DataType(DataTypeManager dtm)
-
-
Method Detail
-
getDescription
public java.lang.String getDescription()
Description copied from interface:DataType
Get a String briefly describing this DataType.- Returns:
- a one-liner describing 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
-
getOppositeSignednessDataType
public UnsignedInteger3DataType getOppositeSignednessDataType()
- Specified by:
getOppositeSignednessDataType
in 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
public Integer3DataType 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
-
getCTypeDeclaration
public java.lang.String getCTypeDeclaration(DataOrganization dataOrganization)
Description copied from class:BuiltIn
Returns null for FactoryDataType (which should never be used) and Dynamic types which should generally be replaced by a primitive array (e.g., char[5]) or, a primitive pointer (e.g., char *). For other types an appropriately sized unsigned integer typedef is returned.- Specified by:
getCTypeDeclaration
in interfaceBuiltInDataType
- Overrides:
getCTypeDeclaration
in classBuiltIn
- Parameters:
dataOrganization
- or null for default- Returns:
- definition C-statement (e.g., #define or typedef) or null if type name is a standard C-primitive name or if type is FactoryDataType or Dynamic.
- See Also:
BuiltInDataType.getCTypeDeclaration(ghidra.program.model.data.DataOrganization)
-
-