Package ghidra.program.model.data
Interface ArrayStringable
- All Superinterfaces:
DataType
- All Known Implementing Classes:
AbstractIntegerDataType
,AbstractSignedIntegerDataType
,AbstractUnsignedIntegerDataType
,BooleanDataType
,ByteDataType
,CharDataType
,DWordDataType
,Integer16DataType
,Integer3DataType
,Integer5DataType
,Integer6DataType
,Integer7DataType
,IntegerDataType
,LongDataType
,LongLongDataType
,QWordDataType
,ShortDataType
,SignedByteDataType
,SignedCharDataType
,SignedDWordDataType
,SignedQWordDataType
,SignedWordDataType
,UnsignedCharDataType
,UnsignedInteger16DataType
,UnsignedInteger3DataType
,UnsignedInteger5DataType
,UnsignedInteger6DataType
,UnsignedInteger7DataType
,UnsignedIntegerDataType
,UnsignedLongDataType
,UnsignedLongLongDataType
,UnsignedShortDataType
,WideChar16DataType
,WideChar32DataType
,WideCharDataType
,WordDataType
ArrayStringable
identifies those data types which when formed into
an array can be interpreted as a string (e.g., character array). The Array
implementations will leverage this interface as both a marker and to generate appropriate
representations and values for data instances.-
Field Summary
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
-
Method Summary
Modifier and TypeMethodDescriptiongetArrayDefaultLabelPrefix
(MemBuffer buf, Settings settings, int len, DataTypeDisplayOptions options) For cases where an array of this type exists, get the appropriate string to use as the default label prefix for the array.getArrayDefaultOffcutLabelPrefix
(MemBuffer buf, Settings settings, int len, DataTypeDisplayOptions options, int offcutLength) For cases where an array of this type exists, get the appropriate string to use as the default label prefix, taking into account the fact that there exists a reference to the data that referencesoffcutLength
bytes into this typedefault String
getArrayString
(MemBuffer buf, Settings settings, int length) For cases where an array of this type exists, get the array value as a String.static ArrayStringable
Get the ArrayStringable for a specified data type.boolean
hasStringValue
(Settings settings) For cases where an array of this type exists, determines if a String value will be returned.Methods inherited from interface ghidra.program.model.data.DataType
addParent, clone, copy, dataTypeAlignmentChanged, dataTypeDeleted, dataTypeNameChanged, dataTypeReplaced, dataTypeSizeChanged, dependsOn, encodeRepresentation, encodeValue, getAlignedLength, getAlignment, getCategoryPath, getDataOrganization, getDataTypeManager, getDataTypePath, getDefaultAbbreviatedLabelPrefix, getDefaultLabelPrefix, getDefaultLabelPrefix, getDefaultOffcutLabelPrefix, getDefaultSettings, getDescription, getDisplayName, getDocs, getLastChangeTime, getLastChangeTimeInSourceArchive, getLength, getMnemonic, getName, getParents, getPathName, getRepresentation, getSettingsDefinitions, getSourceArchive, getTypeDefSettingsDefinitions, getUniversalID, getValue, getValueClass, hasLanguageDependantLength, isDeleted, isEncodable, isEquivalent, isNotYetDefined, isZeroLength, removeParent, replaceWith, setCategoryPath, setDescription, setLastChangeTime, setLastChangeTimeInSourceArchive, setName, setNameAndCategory, setSourceArchive
-
Method Details
-
hasStringValue
For cases where an array of this type exists, determines if a String value will be returned.- Parameters:
settings
-- Returns:
- true if array of this type with the specified settings will return a String value.
-
getArrayString
For cases where an array of this type exists, get the array value as a String. When data corresponds to character data it should generally be expressed as a string. A null value is returned if not supported or memory is uninitialized.- Parameters:
buf
- data buffersettings
- data settingslength
- length of array- Returns:
- array value expressed as a string or null if data is not character data
-
getArrayDefaultLabelPrefix
String getArrayDefaultLabelPrefix(MemBuffer buf, Settings settings, int len, DataTypeDisplayOptions options) For cases where an array of this type exists, get the appropriate string to use as the default label prefix for the array.- Parameters:
buf
- memory buffer containing the bytes.settings
- the Settings objectlen
- the length of the data.options
- options for how to format the default label prefix.- Returns:
- the default label prefix or null if none specified.
-
getArrayDefaultOffcutLabelPrefix
String getArrayDefaultOffcutLabelPrefix(MemBuffer buf, Settings settings, int len, DataTypeDisplayOptions options, int offcutLength) For cases where an array of this type exists, get the appropriate string to use as the default label prefix, taking into account the fact that there exists a reference to the data that referencesoffcutLength
bytes into this type- Parameters:
buf
- memory buffer containing the bytes.settings
- the Settings object.len
- the length of the data.options
- options for how to format the default label prefix.offcutLength
- the length of the offcut label prefix.- Returns:
- the default label prefix or null if none specified.
-
getArrayStringable
Get the ArrayStringable for a specified data type. Not used on an Array DataType, but on Array's element's type.- Parameters:
dt
- data type- Returns:
- ArrayStringable object, or null.
-