Class DemangledString

java.lang.Object
ghidra.app.util.demangler.DemangledObject
ghidra.app.util.demangler.DemangledString
All Implemented Interfaces:
Demangled

public class DemangledString extends DemangledObject
  • Constructor Details

    • DemangledString

      public DemangledString(String mangled, String originalDemangled, String name, String string, int length, boolean unicode)
      Construct demangled string.
      Parameters:
      mangled - the source mangled string
      originalDemangled - the original demangled string
      name - name associated with this object
      string - string text associated with this object or null. This is used to establish label and plate comment if specified. If null, name will be used as symbol name.
      length - length of string or -1. Actual string data type applied currently assumes null terminated string.
      unicode - true if string is a Unicode string.
  • Method Details

    • getSignature

      public String getSignature(boolean format)
      Description copied from class: DemangledObject
      Returns 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:
      getSignature in class DemangledObject
      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: DemangledObject
      Apply this demangled object detail to the specified program.
      NOTE: An open Program transaction must be established prior to invoking this method.
      Overrides:
      applyTo in class DemangledObject
      Parameters:
      program - program to which demangled data should be applied.
      address - address which corresponds to this demangled object
      options - options which control how demangled data is applied
      monitor - task monitor
      Returns:
      true if successfully applied, else false
      Throws:
      Exception - if an error occurs during the apply operation
    • getString

      public String getString()
      Returns the demangled string.
      Returns:
      the demangled string
    • getLength

      public int getLength()
      Returns the length in bytes of the demangled string.
      Returns:
      the length in bytes of the demangled string
    • isUnicode

      public boolean isUnicode()
      Returns true if the demangled string is unicode.
      Returns:
      true if the demangled string is unicode