LLDB mainline
lldb_private::DemangledNameInfo Struct Reference

Stores information about where certain portions of a demangled function name begin and end. More...

#include <DemangledNameInfo.h>

Public Member Functions

bool hasBasename () const
 Returns true if this object holds a valid basename range.
bool hasTemplateArguments () const
 Returns true if this object holds a valid template arguments range.
bool hasScope () const
 Returns true if this object holds a valid scope range.
bool hasArguments () const
 Returns true if this object holds a valid arguments range.
bool hasQualifiers () const
 Returns true if this object holds a valid qualifiers range.
bool hasNameQualifiers () const
 Returns true if this object holds a valid name qualifiers range.
bool hasPrefix () const
 Returns true if this object holds a valid prefix range.
bool hasSuffix () const
 Returns true if this object holds a valid suffix range.

Public Attributes

std::pair< size_t, size_t > BasenameRange
 A [start, end) pair for the function basename.
std::pair< size_t, size_t > TemplateArgumentsRange
 A [start, end) pair for the function template arguments.
std::pair< size_t, size_t > ScopeRange
 A [start, end) pair for the function scope qualifiers.
std::pair< size_t, size_t > ArgumentsRange
 Indicates the [start, end) of the function argument list.
std::pair< size_t, size_t > QualifiersRange
 Indicates the [start, end) of the function qualifiers (e.g., CV-qualifiers, reference qualifiers, requires clauses).
std::pair< size_t, size_t > NameQualifiersRange
 Indicates the [start, end) of the function's name qualifiers.
std::pair< size_t, size_t > PrefixRange
 Indicates the [start, end) of the function's prefix.
std::pair< size_t, size_t > SuffixRange
 Indicates the [start, end) of the function's suffix.

Detailed Description

Stores information about where certain portions of a demangled function name begin and end.

Definition at line 22 of file DemangledNameInfo.h.

Member Function Documentation

◆ hasArguments()

bool lldb_private::DemangledNameInfo::hasArguments ( ) const
inline

Returns true if this object holds a valid arguments range.

Definition at line 114 of file DemangledNameInfo.h.

References ArgumentsRange.

Referenced by lldb_private::CPlusPlusLanguage::GetDemangledFunctionArguments().

◆ hasBasename()

bool lldb_private::DemangledNameInfo::hasBasename ( ) const
inline

Returns true if this object holds a valid basename range.

Definition at line 100 of file DemangledNameInfo.h.

References BasenameRange.

Referenced by lldb_private::CPlusPlusLanguage::GetDemangledBasename(), and GetItaniumDemangledStr().

◆ hasNameQualifiers()

bool lldb_private::DemangledNameInfo::hasNameQualifiers ( ) const
inline

Returns true if this object holds a valid name qualifiers range.

Definition at line 124 of file DemangledNameInfo.h.

References NameQualifiersRange.

◆ hasPrefix()

bool lldb_private::DemangledNameInfo::hasPrefix ( ) const
inline

Returns true if this object holds a valid prefix range.

Definition at line 129 of file DemangledNameInfo.h.

References PrefixRange.

◆ hasQualifiers()

bool lldb_private::DemangledNameInfo::hasQualifiers ( ) const
inline

Returns true if this object holds a valid qualifiers range.

Definition at line 119 of file DemangledNameInfo.h.

References QualifiersRange.

Referenced by lldb_private::CPlusPlusLanguage::GetDemangledFunctionQualifiers().

◆ hasScope()

bool lldb_private::DemangledNameInfo::hasScope ( ) const
inline

Returns true if this object holds a valid scope range.

Definition at line 111 of file DemangledNameInfo.h.

References ScopeRange.

Referenced by lldb_private::CPlusPlusLanguage::GetDemangledScope().

◆ hasSuffix()

bool lldb_private::DemangledNameInfo::hasSuffix ( ) const
inline

Returns true if this object holds a valid suffix range.

Definition at line 132 of file DemangledNameInfo.h.

References SuffixRange.

Referenced by lldb_private::CPlusPlusLanguage::GetDemangledFunctionSuffix().

◆ hasTemplateArguments()

bool lldb_private::DemangledNameInfo::hasTemplateArguments ( ) const
inline

Returns true if this object holds a valid template arguments range.

Definition at line 106 of file DemangledNameInfo.h.

References TemplateArgumentsRange.

Referenced by lldb_private::CPlusPlusLanguage::GetDemangledTemplateArguments().

Member Data Documentation

◆ ArgumentsRange

std::pair<size_t, size_t> lldb_private::DemangledNameInfo::ArgumentsRange

Indicates the [start, end) of the function argument list.

E.g.,

int (*getFunc<float>(float, double))(int, int)
^ ^
start end

Definition at line 63 of file DemangledNameInfo.h.

Referenced by lldb_private::CPlusPlusLanguage::GetDemangledFunctionArguments(), lldb_private::CPlusPlusLanguage::GetDemangledReturnTypeRHS(), and hasArguments().

◆ BasenameRange

std::pair<size_t, size_t> lldb_private::DemangledNameInfo::BasenameRange

A [start, end) pair for the function basename.

The basename is the name without scope qualifiers and without template parameters.

E.g.,

void foo::bar<int>::someFunc<float>(int) const &&
^ ^
start end

Definition at line 33 of file DemangledNameInfo.h.

Referenced by lldb_private::CPlusPlusLanguage::GetDemangledBasename(), and hasBasename().

◆ NameQualifiersRange

std::pair<size_t, size_t> lldb_private::DemangledNameInfo::NameQualifiersRange

Indicates the [start, end) of the function's name qualifiers.

This is a catch-all range for anything in between the basename and the function's arguments or template arguments, that is not tracked by the rest of the pairs.

E.g.,

closure #1 in A.foo<Int>()
^ ^
start end

Definition at line 87 of file DemangledNameInfo.h.

Referenced by hasNameQualifiers().

◆ PrefixRange

std::pair<size_t, size_t> lldb_private::DemangledNameInfo::PrefixRange

Indicates the [start, end) of the function's prefix.

This is a catch-all range for anything that is not tracked by the rest of the pairs.

Definition at line 92 of file DemangledNameInfo.h.

Referenced by hasPrefix().

◆ QualifiersRange

std::pair<size_t, size_t> lldb_private::DemangledNameInfo::QualifiersRange

Indicates the [start, end) of the function qualifiers (e.g., CV-qualifiers, reference qualifiers, requires clauses).

E.g.,

void foo::bar<int>::qux<float>(int) const &&
^ ^
start end

Definition at line 74 of file DemangledNameInfo.h.

Referenced by lldb_private::CPlusPlusLanguage::GetDemangledFunctionQualifiers(), lldb_private::CPlusPlusLanguage::GetDemangledReturnTypeRHS(), and hasQualifiers().

◆ ScopeRange

std::pair<size_t, size_t> lldb_private::DemangledNameInfo::ScopeRange

A [start, end) pair for the function scope qualifiers.

E.g.,

void foo::bar<int>::qux<float>(int) const &&
^ ^
start end

Definition at line 53 of file DemangledNameInfo.h.

Referenced by lldb_private::CPlusPlusLanguage::GetDemangledReturnTypeLHS(), lldb_private::CPlusPlusLanguage::GetDemangledScope(), and hasScope().

◆ SuffixRange

std::pair<size_t, size_t> lldb_private::DemangledNameInfo::SuffixRange

Indicates the [start, end) of the function's suffix.

This is a catch-all range for anything that is not tracked by the rest of the pairs.

Definition at line 97 of file DemangledNameInfo.h.

Referenced by lldb_private::CPlusPlusLanguage::GetDemangledFunctionSuffix(), and hasSuffix().

◆ TemplateArgumentsRange

std::pair<size_t, size_t> lldb_private::DemangledNameInfo::TemplateArgumentsRange

A [start, end) pair for the function template arguments.

E.g.,

void foo::bar<int>::someFunc<float>(int) const &&
^ ^
start end

Definition at line 43 of file DemangledNameInfo.h.

Referenced by lldb_private::CPlusPlusLanguage::GetDemangledTemplateArguments(), and hasTemplateArguments().


The documentation for this struct was generated from the following file: