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
Nested Classes -
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, WCHAR32Fields inherited from class ghidra.app.util.demangler.DemangledType
mangled, namespace, template -
Constructor Summary
ConstructorsConstructorDescriptionDemangledStructure(String mangled, String originalDemangled, String name, String categoryPath, boolean packed) Creates a newDemangledStructure -
Method Summary
Modifier and TypeMethodDescriptionvoidaddField(String name, DemangledDataType type) Adds a new field to the structure.voidaddField(String name, String description, DemangledDataType type) Adds a new field to the structuregetDataType(DataTypeManager dataTypeManager) Converts this demangled datatype into the corresponding Ghidra datatypeGets theListofDemangledStructure.FieldsMethods 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, toStringMethods inherited from class ghidra.app.util.demangler.DemangledType
getDemangledName, getMangledString, getName, getNamespace, getNamespaceName, getNamespaceString, getOriginalDemangled, getTemplate, isConst, isVolatile, setConst, setName, setNamespace, setTemplate, setVolatileMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface ghidra.app.util.demangler.Demangled
getMangledContext, setMangledContext
-
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 theListofDemangledStructure.Fields- Returns:
- The
ListofDemangledStructure.Fields
-
getDataType
Description copied from class:DemangledDataTypeConverts this demangled datatype into the corresponding Ghidra datatype- Overrides:
getDataTypein classDemangledDataType- Parameters:
dataTypeManager- the manager to search and whose data organization should be used- Returns:
- the Ghidra datatype corresponding to the demangled datatype
-