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
- public BalancedDelimiterTracker(clang::Parser & p, tok::TokenKind k, tok::TokenKind FinalToken = tok::semi)
- public bool consumeClose()
- public bool consumeOpen()
- private bool diagnoseMissingClose()
- private bool diagnoseOverflow()
- public bool expectAndConsume(unsigned int DiagID = diag::err_expected, const char * Msg = "", tok::TokenKind SkipToTok = tok::unknown)
- public clang::SourceLocation getCloseLocation() const
- private unsigned short & getDepth()
- public clang::SourceLocation getOpenLocation() const
- public clang::SourceRange getRange() const
- public void skipToEnd()
Inherited from GreaterThanIsOperatorScope:
Methods
¶BalancedDelimiterTracker(
clang::Parser& p,
tok::TokenKind k,
tok::TokenKind FinalToken = tok::semi)
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()
bool consumeClose()
Declared at: clang/include/clang/Parse/RAIIObjectsForParser.h:449
¶bool consumeOpen()
bool consumeOpen()
Declared at: clang/include/clang/Parse/RAIIObjectsForParser.h:434
¶bool diagnoseMissingClose()
bool diagnoseMissingClose()
Declared at: clang/include/clang/Parse/RAIIObjectsForParser.h:404
¶bool diagnoseOverflow()
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)
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
clang::SourceLocation getCloseLocation() const
Declared at: clang/include/clang/Parse/RAIIObjectsForParser.h:431
¶unsigned short& getDepth()
unsigned short& getDepth()
Declared at: clang/include/clang/Parse/RAIIObjectsForParser.h:394
¶clang::SourceLocation getOpenLocation() const
clang::SourceLocation getOpenLocation() const
Declared at: clang/include/clang/Parse/RAIIObjectsForParser.h:430
¶clang::SourceRange getRange() const
clang::SourceRange getRange() const
Declared at: clang/include/clang/Parse/RAIIObjectsForParser.h:432
¶void skipToEnd()
void skipToEnd()
Declared at: clang/include/clang/Parse/RAIIObjectsForParser.h:463