Package ghidra.app.util.demangler
Interface Demangled
- All Known Implementing Classes:
AbstractDemangledFunctionDefinitionDataType
,DemangledAddressTable
,DemangledDataType
,DemangledFunction
,DemangledFunctionIndirect
,DemangledFunctionPointer
,DemangledFunctionReference
,DemangledLabel
,DemangledLambda
,DemangledList
,DemangledNamespaceNode
,DemangledObject
,DemangledString
,DemangledStructure
,DemangledThunk
,DemangledType
,DemangledUnknown
,DemangledVariable
public interface Demangled
A unifying top-level interface for all
DemangledObject
s and DemangledType
s
This class and its children have many overlapping concepts that we wish to refine at a future date. Below is a listing of known uses:
Method | Description |
---|---|
getName()
|
A 'safe' name that is the getDemangledName() , but with some characters
changed to be valid for use within Ghidra.
|
getDemangledName()
|
The unmodified name that was set upon this object. |
getNamespaceName()
|
The 'safe' name of this object when it is used as a namespace name. This usually has
parameter and template information. Further, some characters within templates and
function signatures are replaced, such as spaces and namespace separators.
Given this full demangled string: |
getNamespaceString()
|
This returns the unmodified name of this item, along with any unmodified parent
namespace names, all separated by a namespace delimiter. Unlike
getNamespaceName() , the spaces and internal namespace tokens will not be
replaced.
Given this full demangled string: |
getSignature()
|
Returns the complete string form of this object, with most known attributes. For functions, this will be a complete signature. |
getOriginalDemangled()
|
The original unmodified demangled string. This is the full demangled string returned from the demangling service. |
-
Method Summary
Modifier and TypeMethodDescriptionReturns the unmodified demangled name of this object.Returns the original mangled stringgetName()
Returns the demangled name of this object.Returns the namespace containing this demangled objectReturns this object's namespace name without the fully-qualified parent path.Returns a representation of this object as fully-qualified namespace.Returns the original demangled string returned by the demangling serviceGenerates a complete representation of this object to include all know attributes of this objectvoid
Sets the name for this objectvoid
Sets the namespace of this demangled object
-
Method Details
-
getMangledString
String getMangledString()Returns the original mangled string- Returns:
- the string
-
getOriginalDemangled
String getOriginalDemangled()Returns the original demangled string returned by the demangling service- Returns:
- the original demangled string
-
getName
String getName()Returns the demangled name of this object. NOTE: unsupported symbol characters, like whitespace, will be converted to an underscore.- Returns:
- name of this DemangledObject with unsupported characters converted to underscore
- See Also:
-
setName
Sets the name for this object- Parameters:
name
- the name
-
getDemangledName
String getDemangledName()Returns the unmodified demangled name of this object. This name may contain whitespace and other characters not supported for symbol or data type creation. SeegetName()
for the same name modified for use within Ghidra.- Returns:
- name of this DemangledObject
-
getNamespace
Demangled getNamespace()Returns the namespace containing this demangled object- Returns:
- the namespace containing this demangled object
-
setNamespace
Sets the namespace of this demangled object- Parameters:
ns
- the namespace
-
getNamespaceString
String getNamespaceString()Returns a representation of this object as fully-qualified namespace. The value returned here may have had some special characters replaced, such as ' ' replaced with '_' and '::' replaced with '--'.- Returns:
- the full namespace
-
getNamespaceName
String getNamespaceName()Returns this object's namespace name without the fully-qualified parent path. The value returned here may have had some special characters replaced, such as ' ' replaced with '_' and '::' replaced with '--'.- Returns:
- the name
-
getSignature
String getSignature()Generates a complete representation of this object to include all know attributes of this object- Returns:
- the signature
-