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 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 Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected String`
  `mangled`
  `protected Demangled`
  `namespace`
  `protected DemangledTemplate`
  `template`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `DemangledType(String mangled, String originalDemangled, String name)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `String`
  `getDemangledName()`
  Returns the unmodified demangled name of this object.
  `String`
  `getMangledString()`
  Returns the original mangled string
  `String`
  `getName()`
  Returns the demangled name of this object.
  `Demangled`
  `getNamespace()`
  Returns the namespace containing this demangled object
  `String`
  `getNamespaceName()`
  Returns this object's namespace name without the fully-qualified parent path.
  `String`
  `getNamespaceString()`
  Returns a representation of this object as fully-qualified namespace.
  `String`
  `getOriginalDemangled()`
  Returns the original demangled string returned by the demangling service
  `String`
  `getSignature()`
  Generates a complete representation of this object to include all know attributes of this object
  `DemangledTemplate`
  `getTemplate()`
  `boolean`
  `isConst()`
  `boolean`
  `isVolatile()`
  `void`
  `setConst()`
  `void`
  `setName(String name)`
  Sets the name for this object
  `void`
  `setNamespace(Demangled namespace)`
  Sets the namespace of this demangled object
  `void`
  `setTemplate(DemangledTemplate template)`
  `void`
  `setVolatile()`
  `String`
  `toString()`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

  ### Methods inherited from interface ghidra.app.util.demangler.Demangled

  `getMangledContext, setMangledContext`

- ## Field Details

  - ### mangled

    protected String mangled

  - ### namespace

    protected Demangled namespace

  - ### template

    protected DemangledTemplate template

- ## 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:
      - `Demangled.getDemangledName()`

  - ### 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`