Package ghidra.app.util.demangler
Class DemangledStructure
java.lang.Object
ghidra.app.util.demangler.DemangledType
ghidra.app.util.demangler.DemangledDataType
ghidra.app.util.demangler.DemangledStructure
- All Implemented Interfaces:
Demangled
A class to represent a demangled structure
-
Nested Class Summary
-
Field Summary
Fields inherited from class ghidra.app.util.demangler.DemangledDataType
ARR_NOTATION, BOOL, CHAR, CHAR8_T, CLASS, COCLASS, COINTERFACE, COMPLEX, CONST, DEMANGLER_ANONYMOUS_FUNCTION_CATEGORY_PATH, DEMANGLER_ROOT_CATEGORY_PATH, DOUBLE, ENUM, FLOAT, FLOAT128, FLOAT2, INT, INT0_T, INT128, INT16, INT32, INT64, INT8, LONG, LONG_DOUBLE, LONG_LONG, PRIMITIVES, PTR_NOTATION, PTR64, REF_NOTATION, RESTRICT, RIGHT_REF_NOTATION, SHORT, SIGNED, SPACE, STRING, STRUCT, UNALIGNED, UNDEFINED, UNION, UNSIGNED, VARARGS, VOID, VOLATILE, WCHAR_T, WCHAR16, WCHAR32
Fields inherited from class ghidra.app.util.demangler.DemangledType
mangled, namespace, template
-
Constructor Summary
ConstructorDescriptionDemangledStructure
(String mangled, String originalDemangled, String name, String categoryPath, boolean packed) Creates a newDemangledStructure
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addField
(String name, DemangledDataType type) Adds a new field to the structure.void
addField
(String name, String description, DemangledDataType type) Adds a new field to the structuregetDataType
(DataTypeManager dataTypeManager) Converts this demangled datatype into the corresponding Ghidra datatypeGets theList
ofDemangledStructure.Field
sMethods inherited from class ghidra.app.util.demangler.DemangledDataType
getArrayDimensions, getBasedName, getDemanglerCategoryPath, getMemberScope, getPointerLevels, getSignature, incrementPointerLevels, isArray, isClass, isCoclass, isCointerface, isComplex, isEnum, isLValueReference, isPointer, isPointer64, isPrimitive, isReference, isRestrict, isRValueReference, isSigned, isStruct, isTemplate, isUnaligned, isUnion, isUnsigned, isVarArgs, isVoid, setArray, setBasedName, setClass, setCoclass, setCointerface, setComplex, setEnum, setEnumType, setEnumType, setLValueReference, setMemberScope, setPointer64, setReference, setRestrict, setRValueReference, setSigned, setStruct, setTemplate, setUnaligned, setUnion, setUnsigned, setVarArgs, 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
-
Constructor Details
-
DemangledStructure
public DemangledStructure(String mangled, String originalDemangled, String name, String categoryPath, boolean packed) Creates a newDemangledStructure
- Parameters:
mangled
- The mangled stringoriginalDemangled
- The natively demangled stringname
- The structure namecategoryPath
- The structure category pathpacked
- True if the structure should be packed; otherwise, false
-
-
Method Details
-
addField
Adds a new field to the structure. The field will not have a description.- Parameters:
name
- The field nametype
- The fieldtype
-
addField
Adds a new field to the structure- Parameters:
name
- The field namedescription
- The field descriptiontype
- The fieldtype
-
getFields
Gets theList
ofDemangledStructure.Field
s- Returns:
- The
List
ofDemangledStructure.Field
s
-
getDataType
Description copied from class:DemangledDataType
Converts this demangled datatype into the corresponding Ghidra datatype- Overrides:
getDataType
in classDemangledDataType
- Parameters:
dataTypeManager
- the manager to search and whose data organization should be used- Returns:
- the Ghidra datatype corresponding to the demangled datatype
-