9#ifndef LLVM_DEMANGLE_DEMANGLE_H
10#define LLVM_DEMANGLE_DEMANGLE_H
57 size_t *n_buf,
int *status,
71std::string
demangle(
const std::string &MangledName);
This is an optimization pass for GlobalISel generic memory operations.
std::string demangle(const std::string &MangledName)
Attempt to demangle a string using different demangling schemes.
char * microsoftDemangle(const char *mangled_name, size_t *n_read, char *buf, size_t *n_buf, int *status, MSDemangleFlags Flags=MSDF_None)
Demangles the Microsoft symbol pointed at by mangled_name and returns it.
char * itaniumDemangle(const char *mangled_name, char *buf, size_t *n, int *status)
char * dlangDemangle(const char *MangledName)
char * rustDemangle(const char *MangledName)
bool nonMicrosoftDemangle(const char *MangledName, std::string &Result)
@ MSDF_NoCallingConvention
@ demangle_invalid_mangled_name
@ demangle_memory_alloc_failure
char * getFunctionParameters(char *Buf, size_t *N) const
Get the parameters for this function.
bool isFunction() const
If this symbol describes a function.
char * getFunctionBaseName(char *Buf, size_t *N) const
Get the base name of a function.
bool isSpecialName() const
If this symbol is a <special-name>.
bool partialDemangle(const char *MangledName)
Demangle into an AST.
char * getFunctionName(char *Buf, size_t *N) const
Get the entire name of this function.
bool hasFunctionQualifiers() const
If this function has any any cv or reference qualifiers.
char * finishDemangle(char *Buf, size_t *N) const
Just print the entire mangled name into Buf.
char * getFunctionReturnType(char *Buf, size_t *N) const
ItaniumPartialDemangler()
ItaniumPartialDemangler & operator=(ItaniumPartialDemangler &&Other)
bool isCtorOrDtor() const
If this symbol describes a constructor or destructor.
~ItaniumPartialDemangler()
char * getFunctionDeclContextName(char *Buf, size_t *N) const
Get the context name for a function.
bool isData() const
If this symbol describes a variable.