Package ghidra.app.util.demangler
Class DemangledDataType
- java.lang.Object
-
- ghidra.app.util.demangler.DemangledType
-
- ghidra.app.util.demangler.DemangledDataType
-
- All Implemented Interfaces:
Demangled
- Direct Known Subclasses:
AbstractDemangledFunctionDefinitionDataType
public class DemangledDataType extends DemangledType
A class to represent a demangled data type.
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
ARR_NOTATION
static java.lang.String
BOOL
static java.lang.String
CHAR
static java.lang.String
CLASS
static java.lang.String
COCLASS
static java.lang.String
COINTERFACE
static java.lang.String
COMPLEX
static java.lang.String
CONST
static java.lang.String
DOUBLE
static java.lang.String
ENUM
static java.lang.String
FLOAT
static java.lang.String
FLOAT128
static java.lang.String
INT
static java.lang.String
INT0_T
static java.lang.String
INT128
static java.lang.String
INT16
static java.lang.String
INT32
static java.lang.String
INT64
static java.lang.String
INT8
static java.lang.String
LONG
static java.lang.String
LONG_DOUBLE
static java.lang.String
LONG_LONG
static java.lang.String[]
PRIMITIVES
static java.lang.String
PTR_NOTATION
static java.lang.String
PTR64
static java.lang.String
REF_NOTATION
static java.lang.String
RESTRICT
static java.lang.String
SHORT
static java.lang.String
SIGNED
static char
SPACE
static java.lang.String
STRING
static java.lang.String
STRUCT
static java.lang.String
UNALIGNED
static java.lang.String
UNDEFINED
static java.lang.String
UNION
static java.lang.String
UNSIGNED
static java.lang.String
VARARGS
static java.lang.String
VOID
static java.lang.String
VOLATILE
static java.lang.String
WCHAR_T
-
Fields inherited from class ghidra.app.util.demangler.DemangledType
mangled, namespace, template
-
-
Constructor Summary
Constructors Constructor Description DemangledDataType(java.lang.String mangled, java.lang.String originaDemangled, java.lang.String name)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
getArrayDimensions()
java.lang.String
getBasedName()
DataType
getDataType(DataTypeManager dataTypeManager)
Converts this demangled datatype into the corresponding Ghidra datatypejava.lang.String
getMemberScope()
int
getPointerLevels()
java.lang.String
getSignature()
Generates a complete representation of this object to include all know attributes of this objectvoid
incrementPointerLevels()
boolean
isArray()
boolean
isClass()
boolean
isCoclass()
boolean
isCointerface()
boolean
isComplex()
boolean
isEnum()
boolean
isPointer()
boolean
isPointer64()
boolean
isPrimitive()
boolean
isReference()
boolean
isRestrict()
boolean
isSigned()
boolean
isStruct()
boolean
isTemplate()
boolean
isUnaligned()
boolean
isUnion()
boolean
isUnsigned()
boolean
isVarArgs()
boolean
isVoid()
void
setArray(int dimensions)
void
setBasedName(java.lang.String basedName)
void
setClass()
void
setCoclass()
void
setCointerface()
void
setComplex()
void
setEnum()
java.lang.String
setEnumType()
void
setEnumType(java.lang.String enumType)
void
setMemberScope(java.lang.String memberScope)
void
setPointer64()
void
setReference()
void
setRestrict()
void
setRValueReference()
rvalue reference; C++11void
setSigned()
void
setStruct()
void
setTemplate()
void
setUnaligned()
void
setUnion()
void
setUnsigned()
void
setVarArgs()
java.lang.String
toString()
-
Methods inherited from class ghidra.app.util.demangler.DemangledType
getDemangledName, getMangledString, getName, getNamespace, getNamespaceName, getNamespaceString, getOriginalDemangled, getTemplate, isConst, isVolatile, setConst, setName, setNamespace, setTemplate, setVolatile
-
-
-
-
Field Detail
-
SPACE
public static final char SPACE
- See Also:
- Constant Field Values
-
UNSIGNED
public static final java.lang.String UNSIGNED
- See Also:
- Constant Field Values
-
SIGNED
public static final java.lang.String SIGNED
- See Also:
- Constant Field Values
-
ARR_NOTATION
public static final java.lang.String ARR_NOTATION
- See Also:
- Constant Field Values
-
REF_NOTATION
public static final java.lang.String REF_NOTATION
- See Also:
- Constant Field Values
-
PTR_NOTATION
public static final java.lang.String PTR_NOTATION
- See Also:
- Constant Field Values
-
VOLATILE
public static final java.lang.String VOLATILE
- See Also:
- Constant Field Values
-
COMPLEX
public static final java.lang.String COMPLEX
- See Also:
- Constant Field Values
-
CLASS
public static final java.lang.String CLASS
- See Also:
- Constant Field Values
-
ENUM
public static final java.lang.String ENUM
- See Also:
- Constant Field Values
-
STRUCT
public static final java.lang.String STRUCT
- See Also:
- Constant Field Values
-
UNION
public static final java.lang.String UNION
- See Also:
- Constant Field Values
-
CONST
public static final java.lang.String CONST
- See Also:
- Constant Field Values
-
COCLASS
public static final java.lang.String COCLASS
- See Also:
- Constant Field Values
-
COINTERFACE
public static final java.lang.String COINTERFACE
- See Also:
- Constant Field Values
-
VARARGS
public static final java.lang.String VARARGS
- See Also:
- Constant Field Values
-
VOID
public static final java.lang.String VOID
- See Also:
- Constant Field Values
-
BOOL
public static final java.lang.String BOOL
- See Also:
- Constant Field Values
-
CHAR
public static final java.lang.String CHAR
- See Also:
- Constant Field Values
-
WCHAR_T
public static final java.lang.String WCHAR_T
- See Also:
- Constant Field Values
-
SHORT
public static final java.lang.String SHORT
- See Also:
- Constant Field Values
-
INT
public static final java.lang.String INT
- See Also:
- Constant Field Values
-
INT0_T
public static final java.lang.String INT0_T
- See Also:
- Constant Field Values
-
LONG
public static final java.lang.String LONG
- See Also:
- Constant Field Values
-
LONG_LONG
public static final java.lang.String LONG_LONG
- See Also:
- Constant Field Values
-
FLOAT
public static final java.lang.String FLOAT
- See Also:
- Constant Field Values
-
DOUBLE
public static final java.lang.String DOUBLE
- See Also:
- Constant Field Values
-
INT8
public static final java.lang.String INT8
- See Also:
- Constant Field Values
-
INT16
public static final java.lang.String INT16
- See Also:
- Constant Field Values
-
INT32
public static final java.lang.String INT32
- See Also:
- Constant Field Values
-
INT64
public static final java.lang.String INT64
- See Also:
- Constant Field Values
-
INT128
public static final java.lang.String INT128
- See Also:
- Constant Field Values
-
FLOAT128
public static final java.lang.String FLOAT128
- See Also:
- Constant Field Values
-
LONG_DOUBLE
public static final java.lang.String LONG_DOUBLE
- See Also:
- Constant Field Values
-
PTR64
public static final java.lang.String PTR64
- See Also:
- Constant Field Values
-
STRING
public static final java.lang.String STRING
- See Also:
- Constant Field Values
-
UNDEFINED
public static final java.lang.String UNDEFINED
- See Also:
- Constant Field Values
-
UNALIGNED
public static final java.lang.String UNALIGNED
- See Also:
- Constant Field Values
-
RESTRICT
public static final java.lang.String RESTRICT
- See Also:
- Constant Field Values
-
PRIMITIVES
public static final java.lang.String[] PRIMITIVES
-
-
Method Detail
-
getDataType
public DataType getDataType(DataTypeManager dataTypeManager)
Converts this demangled datatype into the corresponding Ghidra datatype- Parameters:
dataTypeManager
- the manager to search and whose data organization should be used- Returns:
- the Ghidra datatype corresponding to the demangled datatype
-
getPointerLevels
public int getPointerLevels()
-
incrementPointerLevels
public void incrementPointerLevels()
-
setArray
public void setArray(int dimensions)
-
getArrayDimensions
public int getArrayDimensions()
-
setClass
public void setClass()
-
setComplex
public void setComplex()
-
setEnum
public void setEnum()
-
setPointer64
public void setPointer64()
-
setReference
public void setReference()
-
setRValueReference
public void setRValueReference()
rvalue reference; C++11
-
setSigned
public void setSigned()
-
setStruct
public void setStruct()
-
setTemplate
public void setTemplate()
-
setUnion
public void setUnion()
-
setCoclass
public void setCoclass()
-
setCointerface
public void setCointerface()
-
setUnsigned
public void setUnsigned()
-
setUnaligned
public void setUnaligned()
-
isUnaligned
public boolean isUnaligned()
-
setVarArgs
public void setVarArgs()
-
setEnumType
public void setEnumType(java.lang.String enumType)
-
setRestrict
public void setRestrict()
-
isRestrict
public boolean isRestrict()
-
isArray
public boolean isArray()
-
isClass
public boolean isClass()
-
isComplex
public boolean isComplex()
-
isEnum
public boolean isEnum()
-
isPointer
public boolean isPointer()
-
isPointer64
public boolean isPointer64()
-
isReference
public boolean isReference()
-
isSigned
public boolean isSigned()
-
isStruct
public boolean isStruct()
-
isTemplate
public boolean isTemplate()
-
isUnion
public boolean isUnion()
-
isCoclass
public boolean isCoclass()
-
isCointerface
public boolean isCointerface()
-
isUnsigned
public boolean isUnsigned()
-
isVarArgs
public boolean isVarArgs()
-
isVoid
public boolean isVoid()
-
setEnumType
public java.lang.String setEnumType()
-
getBasedName
public java.lang.String getBasedName()
-
setBasedName
public void setBasedName(java.lang.String basedName)
-
getMemberScope
public java.lang.String getMemberScope()
-
setMemberScope
public void setMemberScope(java.lang.String memberScope)
-
isPrimitive
public boolean isPrimitive()
-
getSignature
public java.lang.String getSignature()
Description copied from interface:Demangled
Generates a complete representation of this object to include all know attributes of this object- Specified by:
getSignature
in interfaceDemangled
- Overrides:
getSignature
in classDemangledType
- Returns:
- the signature
-
toString
public java.lang.String toString()
- Overrides:
toString
in classDemangledType
-
-