struct AbstractManglingParser

Declaration

template <typename Derived, typename Alloc>
struct AbstractManglingParser { /* full declaration omitted */ };

Declared at: llvm/include/llvm/Demangle/ItaniumDemangle.h:2290

Templates

Derived
Alloc

Member Variables

public const char* First
public const char* Last
public PODSmallVector<llvm::itanium_demangle::Node*, 32> Names
public PODSmallVector<llvm::itanium_demangle::Node*, 32> Subs
public llvm::itanium_demangle::AbstractManglingParser:: TemplateParamList OuterTemplateParams
public PODSmallVector<llvm::itanium_demangle:: AbstractManglingParser:: TemplateParamList*, 4> TemplateParams
public PODSmallVector<llvm::itanium_demangle:: ForwardTemplateReference*, 4> ForwardTemplateRefs
public bool TryToParseTemplateArgs = true
public bool PermitForwardTemplateReferences = false
public size_t ParsingLambdaParamsAtLevel = (unsigned long)-1
public unsigned int[3] NumSyntheticTemplateParameters = {}
public Alloc ASTAllocator

Method Overview

Methods

AbstractManglingParser<Derived, Alloc>(
    const char* First_,
    const char* Last_)

Declared at: llvm/include/llvm/Demangle/ItaniumDemangle.h:2347

Parameters

const char* First_
const char* Last_

char consume()

Declared at: llvm/include/llvm/Demangle/ItaniumDemangle.h:2402

bool consumeIf(
    llvm::itanium_demangle::StringView S)

Declared at: llvm/include/llvm/Demangle/ItaniumDemangle.h:2386

Parameters

llvm::itanium_demangle::StringView S

bool consumeIf(char C)

Declared at: llvm/include/llvm/Demangle/ItaniumDemangle.h:2394

Parameters

char C

Derived& getDerived()

Declared at: llvm/include/llvm/Demangle/ItaniumDemangle.h:2350

char look(unsigned int Lookahead = 0)

Declared at: llvm/include/llvm/Demangle/ItaniumDemangle.h:2404

Parameters

unsigned int Lookahead = 0

template <class T, class... Args>
llvm::itanium_demangle::Node* make(Args&&... args)

Declared at: llvm/include/llvm/Demangle/ItaniumDemangle.h:2366

Templates

T
Args

Parameters

Args&&... args

template <class It>
llvm::itanium_demangle::NodeArray makeNodeArray(
    It begin,
    It end)

Declared at: llvm/include/llvm/Demangle/ItaniumDemangle.h:2370

Templates

It

Parameters

It begin
It end

size_t numLeft() const

Declared at: llvm/include/llvm/Demangle/ItaniumDemangle.h:2410

llvm::itanium_demangle::Node* parse()

Description

Top-level entry point into the parser.

Declared at: llvm/include/llvm/Demangle/ItaniumDemangle.h:2499

llvm::itanium_demangle::Node* parseAbiTags(
    llvm::itanium_demangle::Node* N)

Declared at: llvm/include/llvm/Demangle/ItaniumDemangle.h:2489

Parameters

llvm::itanium_demangle::Node* N

llvm::itanium_demangle::Node* parseArrayType()

Declared at: llvm/include/llvm/Demangle/ItaniumDemangle.h:2442

llvm::itanium_demangle::StringView
parseBareSourceName()

Declared at: llvm/include/llvm/Demangle/ItaniumDemangle.h:2415

llvm::itanium_demangle::Node*
parseBaseUnresolvedName()

Declared at: llvm/include/llvm/Demangle/ItaniumDemangle.h:2494

llvm::itanium_demangle::Node* parseBinaryExpr(
    llvm::itanium_demangle::StringView Kind)

Declared at: llvm/include/llvm/Demangle/ItaniumDemangle.h:2427

Parameters

llvm::itanium_demangle::StringView Kind

llvm::itanium_demangle::Node* parseBracedExpr()

Declared at: llvm/include/llvm/Demangle/ItaniumDemangle.h:2434

llvm::itanium_demangle::Qualifiers
parseCVQualifiers()

Declared at: llvm/include/llvm/Demangle/ItaniumDemangle.h:2413

bool parseCallOffset()

Declared at: llvm/include/llvm/Demangle/ItaniumDemangle.h:2448

llvm::itanium_demangle::Node* parseClassEnumType()

Declared at: llvm/include/llvm/Demangle/ItaniumDemangle.h:2444

llvm::itanium_demangle::Node*
parseConversionExpr()

Declared at: llvm/include/llvm/Demangle/ItaniumDemangle.h:2433

llvm::itanium_demangle::Node* parseCtorDtorName(
    llvm::itanium_demangle::Node*& SoFar,
    llvm::itanium_demangle::
        AbstractManglingParser::NameState* State)

Declared at: llvm/include/llvm/Demangle/ItaniumDemangle.h:2487

Parameters

llvm::itanium_demangle::Node*& SoFar
llvm::itanium_demangle::AbstractManglingParser:: NameState* State

llvm::itanium_demangle::Node* parseDecltype()

Declared at: llvm/include/llvm/Demangle/ItaniumDemangle.h:2441

llvm::itanium_demangle::Node*
parseDestructorName()

Declared at: llvm/include/llvm/Demangle/ItaniumDemangle.h:2496

llvm::itanium_demangle::Node* parseEncoding()

Declared at: llvm/include/llvm/Demangle/ItaniumDemangle.h:2447

llvm::itanium_demangle::Node* parseExpr()

Description

Parse the <expr > production.

Declared at: llvm/include/llvm/Demangle/ItaniumDemangle.h:2425

llvm::itanium_demangle::Node* parseExprPrimary()

Declared at: llvm/include/llvm/Demangle/ItaniumDemangle.h:2429

template <class Float>
llvm::itanium_demangle::Node*
parseFloatingLiteral()

Declared at: llvm/include/llvm/Demangle/ItaniumDemangle.h:2430

Templates

Float

llvm::itanium_demangle::Node* parseFoldExpr()

Declared at: llvm/include/llvm/Demangle/ItaniumDemangle.h:2435

llvm::itanium_demangle::Node* parseFunctionParam()

Declared at: llvm/include/llvm/Demangle/ItaniumDemangle.h:2431

llvm::itanium_demangle::Node* parseFunctionType()

Declared at: llvm/include/llvm/Demangle/ItaniumDemangle.h:2439

llvm::itanium_demangle::Node* parseIntegerLiteral(
    llvm::itanium_demangle::StringView Lit)

Declared at: llvm/include/llvm/Demangle/ItaniumDemangle.h:2428

Parameters

llvm::itanium_demangle::StringView Lit

llvm::itanium_demangle::Node* parseLocalName(
    llvm::itanium_demangle::
        AbstractManglingParser::NameState* State)

Declared at: llvm/include/llvm/Demangle/ItaniumDemangle.h:2480

Parameters

llvm::itanium_demangle::AbstractManglingParser:: NameState* State

llvm::itanium_demangle::Node* parseName(
    llvm::itanium_demangle::
        AbstractManglingParser::NameState* State =
            nullptr)

Description

Parse the <name > production>

Declared at: llvm/include/llvm/Demangle/ItaniumDemangle.h:2479

Parameters

llvm::itanium_demangle::AbstractManglingParser:: NameState* State = nullptr

llvm::itanium_demangle::Node* parseNestedName(
    llvm::itanium_demangle::
        AbstractManglingParser::NameState* State)

Declared at: llvm/include/llvm/Demangle/ItaniumDemangle.h:2486

Parameters

llvm::itanium_demangle::AbstractManglingParser:: NameState* State

llvm::itanium_demangle::Node* parseNewExpr()

Declared at: llvm/include/llvm/Demangle/ItaniumDemangle.h:2432

llvm::itanium_demangle::StringView parseNumber(
    bool AllowNegative = false)

Declared at: llvm/include/llvm/Demangle/ItaniumDemangle.h:2412

Parameters

bool AllowNegative = false

llvm::itanium_demangle::Node* parseOperatorName(
    llvm::itanium_demangle::
        AbstractManglingParser::NameState* State)

Declared at: llvm/include/llvm/Demangle/ItaniumDemangle.h:2481

Parameters

llvm::itanium_demangle::AbstractManglingParser:: NameState* State

llvm::itanium_demangle::Node*
parsePointerToMemberType()

Declared at: llvm/include/llvm/Demangle/ItaniumDemangle.h:2443

bool parsePositiveInteger(size_t* Out)

Declared at: llvm/include/llvm/Demangle/ItaniumDemangle.h:2414

Parameters

size_t* Out

llvm::itanium_demangle::Node* parsePrefixExpr(
    llvm::itanium_demangle::StringView Kind)

Declared at: llvm/include/llvm/Demangle/ItaniumDemangle.h:2426

Parameters

llvm::itanium_demangle::StringView Kind

llvm::itanium_demangle::Node* parseQualifiedType()

Declared at: llvm/include/llvm/Demangle/ItaniumDemangle.h:2445

bool parseSeqId(size_t* Out)

Declared at: llvm/include/llvm/Demangle/ItaniumDemangle.h:2417

Parameters

size_t* Out

llvm::itanium_demangle::Node* parseSimpleId()

Declared at: llvm/include/llvm/Demangle/ItaniumDemangle.h:2493

llvm::itanium_demangle::Node* parseSourceName(
    llvm::itanium_demangle::
        AbstractManglingParser::NameState* State)

Declared at: llvm/include/llvm/Demangle/ItaniumDemangle.h:2484

Parameters

llvm::itanium_demangle::AbstractManglingParser:: NameState* State

llvm::itanium_demangle::Node* parseSpecialName()

Declared at: llvm/include/llvm/Demangle/ItaniumDemangle.h:2449

llvm::itanium_demangle::Node* parseSubstitution()

Declared at: llvm/include/llvm/Demangle/ItaniumDemangle.h:2418

llvm::itanium_demangle::Node* parseTemplateArg()

Declared at: llvm/include/llvm/Demangle/ItaniumDemangle.h:2422

llvm::itanium_demangle::Node* parseTemplateArgs(
    bool TagTemplates = false)

Declared at: llvm/include/llvm/Demangle/ItaniumDemangle.h:2421

Parameters

bool TagTemplates = false

llvm::itanium_demangle::Node* parseTemplateParam()

Declared at: llvm/include/llvm/Demangle/ItaniumDemangle.h:2419

llvm::itanium_demangle::Node*
parseTemplateParamDecl()

Declared at: llvm/include/llvm/Demangle/ItaniumDemangle.h:2420

llvm::itanium_demangle::Node* parseType()

Description

Parse the <type > production.

Declared at: llvm/include/llvm/Demangle/ItaniumDemangle.h:2438

llvm::itanium_demangle::Node*
parseUnnamedTypeName(
    llvm::itanium_demangle::
        AbstractManglingParser::NameState* State)

Declared at: llvm/include/llvm/Demangle/ItaniumDemangle.h:2483

Parameters

llvm::itanium_demangle::AbstractManglingParser:: NameState* State

llvm::itanium_demangle::Node*
parseUnqualifiedName(
    llvm::itanium_demangle::
        AbstractManglingParser::NameState* State)

Declared at: llvm/include/llvm/Demangle/ItaniumDemangle.h:2482

Parameters

llvm::itanium_demangle::AbstractManglingParser:: NameState* State

llvm::itanium_demangle::Node*
parseUnresolvedName()

Description

Parse the <unresolved -name> production.

Declared at: llvm/include/llvm/Demangle/ItaniumDemangle.h:2492

llvm::itanium_demangle::Node*
parseUnresolvedType()

Declared at: llvm/include/llvm/Demangle/ItaniumDemangle.h:2495

llvm::itanium_demangle::Node* parseUnscopedName(
    llvm::itanium_demangle::
        AbstractManglingParser::NameState* State)

Declared at: llvm/include/llvm/Demangle/ItaniumDemangle.h:2485

Parameters

llvm::itanium_demangle::AbstractManglingParser:: NameState* State

llvm::itanium_demangle::Node* parseVectorType()

Declared at: llvm/include/llvm/Demangle/ItaniumDemangle.h:2440

llvm::itanium_demangle::NodeArray
popTrailingNodeArray(size_t FromPosition)

Declared at: llvm/include/llvm/Demangle/ItaniumDemangle.h:2378

Parameters

size_t FromPosition

void reset(const char* First_, const char* Last_)

Declared at: llvm/include/llvm/Demangle/ItaniumDemangle.h:2352

Parameters

const char* First_
const char* Last_

bool resolveForwardTemplateRefs(
    llvm::itanium_demangle::
        AbstractManglingParser::NameState& State)

Declared at: llvm/include/llvm/Demangle/ItaniumDemangle.h:2464

Parameters

llvm::itanium_demangle::AbstractManglingParser:: NameState& State