Package ghidra.app.util.demangler
Class DemangledType
- java.lang.Object
-
- ghidra.app.util.demangler.DemangledType
-
- All Implemented Interfaces:
Demangled
- Direct Known Subclasses:
DemangledDataType
public class DemangledType extends java.lang.Object implements Demangled
Represents a demangled string. This class is really just a placeholder for demangled information. SeeDemangledObjectfor a class that represents software concepts that can be applied to a program. TheDemangledObjectmay use instances of this class to compose its internal state for namespace information, return types and parameters.
-
-
Field Summary
Fields Modifier and Type Field Description protected java.lang.Stringmangledprotected Demanglednamespaceprotected DemangledTemplatetemplate
-
Constructor Summary
Constructors Constructor Description DemangledType(java.lang.String mangled, java.lang.String originaDemangled, java.lang.String name)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.StringgetDemangledName()Returns the unmodified demangled name of this object.java.lang.StringgetMangledString()Returns the original mangled stringjava.lang.StringgetName()Returns the demangled name of this object.DemangledgetNamespace()Returns the namespace containing this demangled objectjava.lang.StringgetNamespaceName()Returns this object's namespace name without the fully-qualified parent path.java.lang.StringgetNamespaceString()Returns a representation of this object as fully-qualified namespace.java.lang.StringgetOriginalDemangled()Returns the original demangled string returned by the demangling servicejava.lang.StringgetSignature()Generates a complete representation of this object to include all know attributes of this objectDemangledTemplategetTemplate()booleanisConst()booleanisVolatile()voidsetConst()voidsetName(java.lang.String name)Sets the name for this objectvoidsetNamespace(Demangled namespace)Sets the namespace of this demangled objectvoidsetTemplate(DemangledTemplate template)voidsetVolatile()java.lang.StringtoString()
-
-
-
Field Detail
-
mangled
protected java.lang.String mangled
-
namespace
protected Demangled namespace
-
template
protected DemangledTemplate template
-
-
Method Detail
-
getDemangledName
public java.lang.String getDemangledName()
Description copied from interface:DemangledReturns the unmodified demangled name of this object. This name may contain whitespace and other characters not supported for symbol or data type creation. SeeDemangled.getName()for the same name modified for use within Ghidra.- Specified by:
getDemangledNamein interfaceDemangled- Returns:
- name of this DemangledObject
-
getName
public java.lang.String getName()
Description copied from interface:DemangledReturns the demangled name of this object. NOTE: unsupported symbol characters, like whitespace, will be converted to an underscore.- Specified by:
getNamein interfaceDemangled- Returns:
- name of this DemangledObject with unsupported characters converted to underscore
- See Also:
Demangled.getDemangledName()
-
setName
public void setName(java.lang.String name)
Description copied from interface:DemangledSets the name for this object
-
getOriginalDemangled
public java.lang.String getOriginalDemangled()
Description copied from interface:DemangledReturns the original demangled string returned by the demangling service- Specified by:
getOriginalDemangledin interfaceDemangled- Returns:
- the original demangled string
-
getMangledString
public java.lang.String getMangledString()
Description copied from interface:DemangledReturns the original mangled string- Specified by:
getMangledStringin interfaceDemangled- Returns:
- the string
-
isConst
public boolean isConst()
-
setConst
public void setConst()
-
isVolatile
public boolean isVolatile()
-
setVolatile
public void setVolatile()
-
getNamespace
public Demangled getNamespace()
Description copied from interface:DemangledReturns the namespace containing this demangled object- Specified by:
getNamespacein interfaceDemangled- Returns:
- the namespace containing this demangled object
-
setNamespace
public void setNamespace(Demangled namespace)
Description copied from interface:DemangledSets the namespace of this demangled object- Specified by:
setNamespacein interfaceDemangled- Parameters:
namespace- the namespace
-
getTemplate
public DemangledTemplate getTemplate()
-
setTemplate
public void setTemplate(DemangledTemplate template)
-
getSignature
public java.lang.String getSignature()
Description copied from interface:DemangledGenerates a complete representation of this object to include all know attributes of this object- Specified by:
getSignaturein interfaceDemangled- Returns:
- the signature
-
getNamespaceString
public java.lang.String getNamespaceString()
Description copied from interface:DemangledReturns 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 '--'.- Specified by:
getNamespaceStringin interfaceDemangled- Returns:
- the full namespace
-
getNamespaceName
public java.lang.String getNamespaceName()
Description copied from interface:DemangledReturns 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 '--'.- Specified by:
getNamespaceNamein interfaceDemangled- Returns:
- the name
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-