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:78
Member Variables
- private void* RootNode
- private void* Context
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:79
¶ItaniumPartialDemangler(
llvm::ItaniumPartialDemangler&& Other)
ItaniumPartialDemangler(
llvm::ItaniumPartialDemangler&& Other)
Declared at: llvm/include/llvm/Demangle/Demangle.h:81
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:91
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:95
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:99
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:102
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:105
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:106
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:110
¶bool isCtorOrDtor() const
bool isCtorOrDtor() const
Description
If this symbol describes a constructor or destructor.
Declared at: llvm/include/llvm/Demangle/Demangle.h:113
¶bool isData() const
bool isData() const
Description
If this symbol describes a variable.
Declared at: llvm/include/llvm/Demangle/Demangle.h:119
¶bool isFunction() const
bool isFunction() const
Description
If this symbol describes a function.
Declared at: llvm/include/llvm/Demangle/Demangle.h:116
¶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:123
¶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:87
Parameters
- const char* MangledName
Returns
true on error, false otherwise
¶~ItaniumPartialDemangler()
~ItaniumPartialDemangler()
Declared at: llvm/include/llvm/Demangle/Demangle.h:125