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

Methods

ItaniumPartialDemangler()

Declared at: llvm/include/llvm/Demangle/Demangle.h:79

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

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

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

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

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

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

Declared at: llvm/include/llvm/Demangle/Demangle.h:106

Parameters

char* Buf
size_t* N

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

Description

If this symbol describes a constructor or destructor.

Declared at: llvm/include/llvm/Demangle/Demangle.h:113

bool isData() const

Description

If this symbol describes a variable.

Declared at: llvm/include/llvm/Demangle/Demangle.h:119

bool isFunction() const

Description

If this symbol describes a function.

Declared at: llvm/include/llvm/Demangle/Demangle.h:116

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)

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()

Declared at: llvm/include/llvm/Demangle/Demangle.h:125