Package ghidra.app.util.demangler
Class DemangledAddressTable
java.lang.Object
ghidra.app.util.demangler.DemangledObject
ghidra.app.util.demangler.DemangledAddressTable
- All Implemented Interfaces:
Demangled
-
Field Summary
Fields inherited from class ghidra.app.util.demangler.DemangledObject
basedName, EMPTY_STRING, isRestrict, isStatic, isThunk, isUnaligned, isVirtual, mangled, mangledContext, memberScope, namespace, NAMESPACE_SEPARATOR, originalDemangled, rawDemangled, SPACE, SPACE_PATTERN, specialPrefix, storageClass, visibility -
Constructor Summary
ConstructorsConstructorDescriptionDemangledAddressTable(String mangled, String originalDemangled, String name, boolean calculateLength) Constructor -
Method Summary
Modifier and TypeMethodDescriptionbooleanapplyTo(Program program, Address address, DemanglerOptions options, TaskMonitor monitor) Apply this demangled object detail to the specified program.intReturns the length of the address table.getSignature(boolean format) Returns a complete signature for the demangled symbol.Methods inherited from class ghidra.app.util.demangler.DemangledObject
applyDemangledName, applyDemangledName, applyPlateCommentOnly, applyUsingContext, createNamespace, demangledNameSuccessfully, ensureNameLength, generatePlateComment, getBasedName, getDemangledName, getErrorMessage, getMangledContext, getMangledString, getMemberScope, getName, getNamespace, getNamespaceName, getNamespaceString, getOriginalDemangled, getRawDemangled, getSignature, getSpecialPrefix, getStorageClass, getVisibility, isAlreadyDemangled, isConst, isPointer64, isRestrict, isStatic, isThunk, isUnaligned, isVirtual, isVolatile, setBackupPlateComment, setBasedName, setConst, setErrorMessage, setMangledContext, setMemberScope, setName, setNamespace, setOriginalDemangled, setPointer64, setRawDemangledString, setRestrict, setSpecialPrefix, setStatic, setStorageClass, setThunk, setUnaligned, setVirtual, setVisibilty, setVolatile, toString
-
Constructor Details
-
DemangledAddressTable
public DemangledAddressTable(String mangled, String originalDemangled, String name, boolean calculateLength) Constructor- Parameters:
mangled- the source mangled stringoriginalDemangled- the original demangled stringname- the name of the address tablecalculateLength- true if the length of this address table should be calculated at analysis time
-
-
Method Details
-
getLength
public int getLength()Returns the length of the address table. -1 indicates the length is unknown.- Returns:
- the length of the address table
-
getSignature
Description copied from class:DemangledObjectReturns a complete signature for the demangled symbol.
For example: "unsigned long foo" "unsigned char * ClassA::getFoo(float, short *)" "void * getBar(int **, MyStruct &)"
Note: based on the underlying mangling scheme, the return type may or may not be specified in the signature.- Specified by:
getSignaturein classDemangledObject- Parameters:
format- true if signature should be pretty printed- Returns:
- a complete signature for the demangled symbol
-
applyTo
public boolean applyTo(Program program, Address address, DemanglerOptions options, TaskMonitor monitor) throws Exception Description copied from class:DemangledObjectApply this demangled object detail to the specified program.
NOTE: An open Program transaction must be established prior to invoking this method.- Overrides:
applyToin classDemangledObject- Parameters:
program- program to which demangled data should be applied.address- address which corresponds to this demangled objectoptions- options which control how demangled data is appliedmonitor- task monitor- Returns:
- true if successfully applied, else false
- Throws:
Exception- if an error occurs during the apply operation
-