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

Methods

ItaniumPartialDemangler()

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

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

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

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

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

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

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

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

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:88

bool isCtorOrDtor() const

Description

If this symbol describes a constructor or destructor.

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

bool isData() const

Description

If this symbol describes a variable.

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

bool isFunction() const

Description

If this symbol describes a function.

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

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)

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

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