Package ghidra.app.util.demangler
Class DemangledDataType
- java.lang.Object
-
- ghidra.app.util.demangler.DemangledType
-
- ghidra.app.util.demangler.DemangledDataType
-
- Direct Known Subclasses:
DemangledFunctionIndirect,DemangledFunctionPointer,DemangledFunctionReference
public class DemangledDataType extends DemangledType
A class to represent a demangled data type.
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringARR_NOTATIONstatic java.lang.StringBOOLstatic java.lang.StringCHARstatic java.lang.StringCLASSstatic java.lang.StringCOCLASSstatic java.lang.StringCOINTERFACEstatic java.lang.StringCOMPLEXstatic java.lang.StringCONSTstatic java.lang.StringDOUBLEstatic java.lang.StringENUMstatic java.lang.StringFLOATstatic java.lang.StringFLOAT128static java.lang.StringINTstatic java.lang.StringINT0_Tstatic java.lang.StringINT128static java.lang.StringINT16static java.lang.StringINT32static java.lang.StringINT64static java.lang.StringINT8static java.lang.StringLONGstatic java.lang.StringLONG_DOUBLEstatic java.lang.StringLONG_LONGstatic java.lang.String[]PRIMITIVESstatic java.lang.StringPTR_NOTATIONstatic java.lang.StringPTR64static java.lang.StringREF_NOTATIONstatic java.lang.StringRESTRICTstatic java.lang.StringSHORTstatic java.lang.StringSIGNEDstatic charSPACEstatic java.lang.StringSTRINGstatic java.lang.StringSTRUCTstatic java.lang.StringUNALIGNEDstatic java.lang.StringUNDEFINEDstatic java.lang.StringUNIONstatic java.lang.StringUNSIGNEDstatic java.lang.StringVARARGSstatic java.lang.StringVOIDstatic java.lang.StringVOLATILEstatic java.lang.StringWCHAR_T-
Fields inherited from class ghidra.app.util.demangler.DemangledType
namespace, originalMangled, template
-
-
Constructor Summary
Constructors Constructor Description DemangledDataType(java.lang.String name)Constructs a new demangled datatype.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description DemangledDataTypecopy()protected voidcopy(DemangledDataType source, DemangledDataType destination)intgetArrayDimensions()java.lang.StringgetBasedName()DataTypegetDataType(DataTypeManager dataTypeManager)Converts this demangled datatype into the corresponding Ghidra datatype.java.lang.StringgetMemberScope()intgetPointerLevels()voidincrementPointerLevels()booleanisArray()booleanisClass()booleanisCoclass()booleanisCointerface()booleanisComplex()booleanisEnum()booleanisPointer()booleanisPointer64()booleanisPrimitive()booleanisReference()booleanisRestrict()booleanisSigned()booleanisStruct()booleanisTemplate()booleanisUnaligned()booleanisUnion()booleanisUnsigned()booleanisVarArgs()booleanisVoid()voidsetArray(int dimensions)voidsetBasedName(java.lang.String basedName)voidsetClass()voidsetCoclass()voidsetCointerface()voidsetComplex()voidsetEnum()java.lang.StringsetEnumType()voidsetEnumType(java.lang.String enumType)voidsetMemberScope(java.lang.String memberScope)voidsetPointer64()voidsetReference()voidsetRestrict()voidsetSigned()voidsetStruct()voidsetTemplate()voidsetUnaligned()voidsetUnion()voidsetUnsigned()voidsetVarArgs()java.lang.StringtoSignature()java.lang.StringtoString()-
Methods inherited from class ghidra.app.util.demangler.DemangledType
convertToNamespace, getDemangledName, getName, getNamespace, getOriginalMangled, getTemplate, isConst, isFunction, isVolatile, setConst, setName, setNamespace, setOriginalMangled, setTemplate, setVolatile, toNamespace
-
-
-
-
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
-
copy
public DemangledDataType copy()
-
copy
protected void copy(DemangledDataType source, DemangledDataType destination)
-
getDataType
public DataType getDataType(DataTypeManager dataTypeManager)
Converts this demangled datatype into the corresponding Ghidra datatype.- Parameters:
dataTypeManager- the data type manager to be searched 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()
-
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()
-
toSignature
public java.lang.String toSignature()
- Overrides:
toSignaturein classDemangledType
-
toString
public java.lang.String toString()
- Overrides:
toStringin classDemangledType
-
-