Package ghidra.program.model.data
Class UnsignedCharDataType
- 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.CharDataType
-
- ghidra.program.model.data.UnsignedCharDataType
-
- All Implemented Interfaces:
ArrayStringable
,BuiltInDataType
,DataType
,DataTypeWithCharset
,ExtensionPoint
public class UnsignedCharDataType extends CharDataType
Provides a definition of a primitive unsigned char data type. While in most environment the size is one 8-bit byte, this can vary based upon data organization imposed by the associated data type manager.
-
-
Field Summary
Fields Modifier and Type Field Description static UnsignedCharDataType
dataType
-
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 UnsignedCharDataType()
Constructs a new unsigned char datatype.UnsignedCharDataType(DataTypeManager dtm)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description UnsignedCharDataType
clone(DataTypeManager dtm)
Returns an instance of this DataType with its universalID and SourceArchive identity retained.java.lang.String
getCDeclaration()
Returns the C style data-type declaration for this data-type.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
getDefaultLabelPrefix()
Returns the appropriate string to use as the default label prefix in the absence of any data.java.lang.String
getDescription()
Get a String briefly describing this DataType.-
Methods inherited from class ghidra.program.model.data.CharDataType
encodeRepresentation, encodeValue, getBuiltInSettingsDefinitions, getCharsetName, getDefaultLabelPrefix, getFormatSettingsDefinition, getLength, getOppositeSignednessDataType, getValue, getValueClass, hasLanguageDependantLength, isEncodable
-
Methods inherited from class ghidra.program.model.data.AbstractIntegerDataType
castValueToEncode, getArrayDefaultLabelPrefix, getArrayDefaultOffcutLabelPrefix, getAssemblyMnemonic, getCMnemonic, getMnemonic, getRepresentation, getSignedDataType, getSignedDataTypes, getUnsignedDataType, getUnsignedDataTypes, hasStringValue, 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, getDefaultOffcutLabelPrefix, getDisplayName, getDocs, getName, 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, getDefaultOffcutLabelPrefix, getDefaultSettings, getDisplayName, getDocs, getLastChangeTime, getLastChangeTimeInSourceArchive, getMnemonic, getName, getParents, getPathName, getRepresentation, getSettingsDefinitions, getSourceArchive, getUniversalID, 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 UnsignedCharDataType dataType
-
-
Constructor Detail
-
UnsignedCharDataType
public UnsignedCharDataType()
Constructs a new unsigned char datatype.
-
UnsignedCharDataType
public UnsignedCharDataType(DataTypeManager dtm)
-
-
Method Detail
-
getDescription
public java.lang.String getDescription()
Description copied from interface:DataType
Get a String briefly describing this DataType.- Specified by:
getDescription
in interfaceDataType
- Overrides:
getDescription
in classCharDataType
- Returns:
- a one-liner describing this DataType.
-
clone
public UnsignedCharDataType 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.
- Specified by:
clone
in interfaceDataType
- Overrides:
clone
in classCharDataType
- Parameters:
dtm
- the data-type manager instance whose data-organization should apply.- Returns:
- cloned instance which may be the same as this instance
-
getDefaultLabelPrefix
public java.lang.String getDefaultLabelPrefix()
Description copied from interface:DataType
Returns the appropriate string to use as the default label prefix in the absence of any data.- Specified by:
getDefaultLabelPrefix
in interfaceDataType
- Overrides:
getDefaultLabelPrefix
in classCharDataType
- Returns:
- the default label prefix or null if none specified.
-
getCDeclaration
public java.lang.String getCDeclaration()
Description copied from class:CharDataType
Returns the C style data-type declaration for this data-type. Null is returned if no appropriate declaration exists.- Overrides:
getCDeclaration
in classCharDataType
- Returns:
- the C style data-type declaration for this data-type. Null is returned if no appropriate declaration exists.
-
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 classCharDataType
- 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)
-
-