Class DemangledType

java.lang.Object
ghidra.app.util.demangler.DemangledType
All Implemented Interfaces:
Demangled
Direct Known Subclasses:
DemangledDataType

public class DemangledType extends Object implements Demangled
Represents a demangled string. This class is really just a placeholder for demangled information. See DemangledObject for a class that represents software concepts that can be applied to a program. The DemangledObject may use instances of this class to compose its internal state for namespace information, return types and parameters.
  • Field Details

  • Constructor Details

    • DemangledType

      public DemangledType(String mangled, String originalDemangled, String name)
  • Method Details

    • getDemangledName

      public String getDemangledName()
      Description copied from interface: Demangled
      Returns the unmodified demangled name of this object. This name may contain whitespace and other characters not supported for symbol or data type creation. See Demangled.getName() for the same name modified for use within Ghidra.
      Specified by:
      getDemangledName in interface Demangled
      Returns:
      name of this DemangledObject
    • getName

      public String getName()
      Description copied from interface: Demangled
      Returns the demangled name of this object. NOTE: unsupported symbol characters, like whitespace, will be converted to an underscore.
      Specified by:
      getName in interface Demangled
      Returns:
      name of this DemangledObject with unsupported characters converted to underscore
      See Also:
    • setName

      public void setName(String name)
      Description copied from interface: Demangled
      Sets the name for this object
      Specified by:
      setName in interface Demangled
      Parameters:
      name - the name
    • getOriginalDemangled

      public String getOriginalDemangled()
      Description copied from interface: Demangled
      Returns the original demangled string returned by the demangling service
      Specified by:
      getOriginalDemangled in interface Demangled
      Returns:
      the original demangled string
    • getMangledString

      public String getMangledString()
      Description copied from interface: Demangled
      Returns the original mangled string
      Specified by:
      getMangledString in interface Demangled
      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: Demangled
      Returns the namespace containing this demangled object
      Specified by:
      getNamespace in interface Demangled
      Returns:
      the namespace containing this demangled object
    • setNamespace

      public void setNamespace(Demangled namespace)
      Description copied from interface: Demangled
      Sets the namespace of this demangled object
      Specified by:
      setNamespace in interface Demangled
      Parameters:
      namespace - the namespace
    • getTemplate

      public DemangledTemplate getTemplate()
    • setTemplate

      public void setTemplate(DemangledTemplate template)
    • getSignature

      public String getSignature()
      Description copied from interface: Demangled
      Generates a complete representation of this object to include all know attributes of this object
      Specified by:
      getSignature in interface Demangled
      Returns:
      the signature
    • getNamespaceString

      public String getNamespaceString()
      Description copied from interface: Demangled
      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 '--'.
      Specified by:
      getNamespaceString in interface Demangled
      Returns:
      the full namespace
    • getNamespaceName

      public String getNamespaceName()
      Description copied from interface: Demangled
      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 '--'.
      Specified by:
      getNamespaceName in interface Demangled
      Returns:
      the name
    • toString

      public String toString()
      Overrides:
      toString in class Object