Package ghidra.program.model.data
Interface ArrayStringable
-
- All Superinterfaces:
DataType
- All Known Implementing Classes:
AbstractIntegerDataType
,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
public interface ArrayStringable extends DataType
ArrayStringable
identifies those data types which when formed into an array can be interpreted as a string (e.g., character array). TheArray
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, VOID
-
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description java.lang.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.java.lang.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 typedefault java.lang.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
getArrayStringable(DataType dt)
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, getAlignment, getCategoryPath, getDataOrganization, getDataTypeManager, getDataTypePath, getDefaultAbbreviatedLabelPrefix, getDefaultLabelPrefix, getDefaultLabelPrefix, getDefaultOffcutLabelPrefix, getDefaultSettings, getDescription, getDisplayName, getDocs, getLastChangeTime, getLastChangeTimeInSourceArchive, getLength, getMnemonic, getName, getParents, getPathName, getRepresentation, getSettingsDefinitions, getSourceArchive, getUniversalID, getValue, getValueClass, hasLanguageDependantLength, isDeleted, isEncodable, isEquivalent, isNotYetDefined, isZeroLength, removeParent, replaceWith, setCategoryPath, setDefaultSettings, setDescription, setLastChangeTime, setLastChangeTimeInSourceArchive, setName, setNameAndCategory, setSourceArchive
-
-
-
-
Method Detail
-
hasStringValue
boolean hasStringValue(Settings settings)
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
default java.lang.String getArrayString(MemBuffer buf, Settings settings, int length)
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
java.lang.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
java.lang.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
static ArrayStringable getArrayStringable(DataType dt)
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.
-
-