class BalancedDelimiterTracker

Declaration

class BalancedDelimiterTracker : public GreaterThanIsOperatorScope { /* full declaration omitted */ };

Description

RAII class that helps handle the parsing of an open/close delimiter pair, such as braces { ... } or parentheses ( ... ).

Declared at: clang/include/clang/Parse/RAIIObjectsForParser.h:388

Inherits from: GreaterThanIsOperatorScope

Member Variables

private clang::Parser& P
private tok::TokenKind Kind
private tok::TokenKind Close
private tok::TokenKind FinalToken
private clang::SourceLocation (clang::Parser::*)() Consumer
private clang::SourceLocation LOpen
private clang::SourceLocation LClose

Method Overview

Inherited from GreaterThanIsOperatorScope:

    Methods

    BalancedDelimiterTracker(
        clang::Parser& p,
        tok::TokenKind k,
        tok::TokenKind FinalToken = tok::semi)

    Declared at: clang/include/clang/Parse/RAIIObjectsForParser.h:407

    Parameters

    clang::Parser& p
    tok::TokenKind k
    tok::TokenKind FinalToken = tok::semi

    bool consumeClose()

    Declared at: clang/include/clang/Parse/RAIIObjectsForParser.h:449

    bool consumeOpen()

    Declared at: clang/include/clang/Parse/RAIIObjectsForParser.h:434

    bool diagnoseMissingClose()

    Declared at: clang/include/clang/Parse/RAIIObjectsForParser.h:404

    bool diagnoseOverflow()

    Declared at: clang/include/clang/Parse/RAIIObjectsForParser.h:403

    bool expectAndConsume(
        unsigned int DiagID = diag::err_expected,
        const char* Msg = "",
        tok::TokenKind SkipToTok = tok::unknown)

    Declared at: clang/include/clang/Parse/RAIIObjectsForParser.h:446

    Parameters

    unsigned int DiagID = diag::err_expected
    const char* Msg = ""
    tok::TokenKind SkipToTok = tok::unknown

    clang::SourceLocation getCloseLocation() const

    Declared at: clang/include/clang/Parse/RAIIObjectsForParser.h:431

    unsigned short& getDepth()

    Declared at: clang/include/clang/Parse/RAIIObjectsForParser.h:394

    clang::SourceLocation getOpenLocation() const

    Declared at: clang/include/clang/Parse/RAIIObjectsForParser.h:430

    clang::SourceRange getRange() const

    Declared at: clang/include/clang/Parse/RAIIObjectsForParser.h:432

    void skipToEnd()

    Declared at: clang/include/clang/Parse/RAIIObjectsForParser.h:463