LLVM 20.0.0git
Classes | Namespaces | Enumerations | Functions
Demangle.h File Reference
#include <cstddef>
#include <optional>
#include <string>
#include <string_view>

Go to the source code of this file.

Classes

struct  llvm::ItaniumPartialDemangler
 "Partial" demangler. More...
 

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.
 

Enumerations

enum  : int {
  llvm::demangle_unknown_error = -4 , llvm::demangle_invalid_args = -3 , llvm::demangle_invalid_mangled_name = -2 , llvm::demangle_memory_alloc_failure = -1 ,
  llvm::demangle_success = 0
}
 This is a llvm local version of __cxa_demangle. More...
 
enum  llvm::MSDemangleFlags {
  llvm::MSDF_None = 0 , llvm::MSDF_DumpBackrefs = 1 << 0 , llvm::MSDF_NoAccessSpecifier = 1 << 1 , llvm::MSDF_NoCallingConvention = 1 << 2 ,
  llvm::MSDF_NoReturnType = 1 << 3 , llvm::MSDF_NoMemberType = 1 << 4 , llvm::MSDF_NoVariableType = 1 << 5
}
 

Functions

charllvm::itaniumDemangle (std::string_view mangled_name, bool ParseParams=true)
 Returns a non-NULL pointer to a NUL-terminated C style string that should be explicitly freed, if successful.
 
charllvm::microsoftDemangle (std::string_view mangled_name, size_t *n_read, int *status, MSDemangleFlags Flags=MSDF_None)
 Demangles the Microsoft symbol pointed at by mangled_name and returns it.
 
std::optional< size_t > llvm::getArm64ECInsertionPointInMangledName (std::string_view MangledName)
 
charllvm::rustDemangle (std::string_view MangledName)
 
charllvm::dlangDemangle (std::string_view MangledName)
 
std::string llvm::demangle (std::string_view MangledName)
 Attempt to demangle a string using different demangling schemes.
 
bool llvm::nonMicrosoftDemangle (std::string_view MangledName, std::string &Result, bool CanHaveLeadingDot=true, bool ParseParams=true)