clang  3.7.0
Public Member Functions | List of all members
clang::BalancedDelimiterTracker Class Reference

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

#include <RAIIObjectsForParser.h>

Inheritance diagram for clang::BalancedDelimiterTracker:
[legend]
Collaboration diagram for clang::BalancedDelimiterTracker:
[legend]

Public Member Functions

 BalancedDelimiterTracker (Parser &p, tok::TokenKind k, tok::TokenKind FinalToken=tok::semi)
 
SourceLocation getOpenLocation () const
 
SourceLocation getCloseLocation () const
 
SourceRange getRange () const
 
bool consumeOpen ()
 
bool expectAndConsume (unsigned DiagID=diag::err_expected, const char *Msg="", tok::TokenKind SkipToTok=tok::unknown)
 
bool consumeClose ()
 
void skipToEnd ()
 
- Public Member Functions inherited from clang::GreaterThanIsOperatorScope
 GreaterThanIsOperatorScope (bool &GTIO, bool Val)
 
 ~GreaterThanIsOperatorScope ()
 

Detailed Description

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

Definition at line 365 of file RAIIObjectsForParser.h.

Constructor & Destructor Documentation

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

Definition at line 386 of file RAIIObjectsForParser.h.

Member Function Documentation

bool clang::BalancedDelimiterTracker::consumeClose ( )
inline
bool clang::BalancedDelimiterTracker::consumeOpen ( )
inline

Definition at line 413 of file RAIIObjectsForParser.h.

References clang::Parser::getLangOpts(), and clang::Token::is().

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

Definition at line 2000 of file Parse/Parser.cpp.

References clang::Parser::StopAtSemi.

SourceLocation clang::BalancedDelimiterTracker::getCloseLocation ( ) const
inline

Definition at line 410 of file RAIIObjectsForParser.h.

SourceLocation clang::BalancedDelimiterTracker::getOpenLocation ( ) const
inline

Definition at line 409 of file RAIIObjectsForParser.h.

SourceRange clang::BalancedDelimiterTracker::getRange ( ) const
inline

Definition at line 411 of file RAIIObjectsForParser.h.

void BalancedDelimiterTracker::skipToEnd ( )

Definition at line 2033 of file Parse/Parser.cpp.

References consumeClose(), and clang::Parser::StopBeforeMatch.


The documentation for this class was generated from the following files: