struct ItaniumPartialDemangler
Declaration
struct ItaniumPartialDemangler { /* full declaration omitted */ };
Description
"Partial" demangler. This supports demangling a string into an AST (typically an intermediate stage in itaniumDemangle) and querying certain properties or partially printing the demangled name.
Declared at: llvm/include/llvm/Demangle/Demangle.h:56
Method Overview
- public ItaniumPartialDemangler()
- public ItaniumPartialDemangler(llvm::ItaniumPartialDemangler && Other)
- public char * finishDemangle(char * Buf, size_t * N) const
- public char * getFunctionBaseName(char * Buf, size_t * N) const
- public char * getFunctionDeclContextName(char * Buf, size_t * N) const
- public char * getFunctionName(char * Buf, size_t * N) const
- public char * getFunctionParameters(char * Buf, size_t * N) const
- public char * getFunctionReturnType(char * Buf, size_t * N) const
- public bool hasFunctionQualifiers() const
- public bool isCtorOrDtor() const
- public bool isData() const
- public bool isFunction() const
- public bool isSpecialName() const
- public bool partialDemangle(const char * MangledName)
- public ~ItaniumPartialDemangler()
Methods
¶ItaniumPartialDemangler()
ItaniumPartialDemangler()
Declared at: llvm/include/llvm/Demangle/Demangle.h:57
¶ItaniumPartialDemangler(
llvm::ItaniumPartialDemangler&& Other)
ItaniumPartialDemangler(
llvm::ItaniumPartialDemangler&& Other)
Declared at: llvm/include/llvm/Demangle/Demangle.h:59
Parameters
- llvm::ItaniumPartialDemangler&& Other
¶char* finishDemangle(char* Buf, size_t* N) const
char* finishDemangle(char* Buf, size_t* N) const
Description
Just print the entire mangled name into Buf. Buf and N behave like the second and third parameters to itaniumDemangle.
Declared at: llvm/include/llvm/Demangle/Demangle.h:69
Parameters
- char* Buf
- size_t* N
¶char* getFunctionBaseName(char* Buf,
size_t* N) const
char* getFunctionBaseName(char* Buf,
size_t* N) const
Description
Get the base name of a function. This doesn't include trailing template arguments, ie for "a::b<int>" this function returns "b".
Declared at: llvm/include/llvm/Demangle/Demangle.h:73
Parameters
- char* Buf
- size_t* N
¶char* getFunctionDeclContextName(char* Buf,
size_t* N) const
char* getFunctionDeclContextName(char* Buf,
size_t* N) const
Description
Get the context name for a function. For "a::b::c", this function returns "a::b".
Declared at: llvm/include/llvm/Demangle/Demangle.h:77
Parameters
- char* Buf
- size_t* N
¶char* getFunctionName(char* Buf, size_t* N) const
char* getFunctionName(char* Buf, size_t* N) const
Description
Get the entire name of this function.
Declared at: llvm/include/llvm/Demangle/Demangle.h:80
Parameters
- char* Buf
- size_t* N
¶char* getFunctionParameters(char* Buf,
size_t* N) const
char* getFunctionParameters(char* Buf,
size_t* N) const
Description
Get the parameters for this function.
Declared at: llvm/include/llvm/Demangle/Demangle.h:83
Parameters
- char* Buf
- size_t* N
¶char* getFunctionReturnType(char* Buf,
size_t* N) const
char* getFunctionReturnType(char* Buf,
size_t* N) const
Declared at: llvm/include/llvm/Demangle/Demangle.h:84
Parameters
- char* Buf
- size_t* N
¶bool hasFunctionQualifiers() const
bool hasFunctionQualifiers() const
Description
If this function has any any cv or reference qualifiers. These imply that the function is a non-static member function.
Declared at: llvm/include/llvm/Demangle/Demangle.h:88
¶bool isCtorOrDtor() const
bool isCtorOrDtor() const
Description
If this symbol describes a constructor or destructor.
Declared at: llvm/include/llvm/Demangle/Demangle.h:91
¶bool isData() const
bool isData() const
Description
If this symbol describes a variable.
Declared at: llvm/include/llvm/Demangle/Demangle.h:97
¶bool isFunction() const
bool isFunction() const
Description
If this symbol describes a function.
Declared at: llvm/include/llvm/Demangle/Demangle.h:94
¶bool isSpecialName() const
bool isSpecialName() const
Description
If this symbol is a <special -name>. These are generally implicitly generated by the implementation, such as vtables and typeinfo names.
Declared at: llvm/include/llvm/Demangle/Demangle.h:101
¶bool partialDemangle(const char* MangledName)
bool partialDemangle(const char* MangledName)
Description
Demangle into an AST. Subsequent calls to the rest of the member functions implicitly operate on the AST this produces.
Declared at: llvm/include/llvm/Demangle/Demangle.h:65
Parameters
- const char* MangledName
Returns
true on error, false otherwise
¶~ItaniumPartialDemangler()
~ItaniumPartialDemangler()
Declared at: llvm/include/llvm/Demangle/Demangle.h:103