Home | History | Annotate | Download | only in libclang

Lines Matching refs:STMT

27 #include "clang/AST/Stmt.h"
85 /// the node's dynamic type, until the top-most class (e.g. Stmt,
97 /// TraverseStmt(Stmt *x) and TraverseType(QualType x) work
162 bool TraverseStmt(Stmt *S);
244 // Declare Traverse*() for all concrete Stmt classes.
245 #define ABSTRACT_STMT(STMT)
246 #define STMT(CLASS, PARENT) \
249 // The above header #undefs ABSTRACT_STMT and STMT upon exit.
251 // Define WalkUpFrom*() and empty Visit*() for all Stmt classes.
252 bool WalkUpFromStmt(Stmt *S) { return getDerived().VisitStmt(S); }
253 bool VisitStmt(Stmt *S) { return true; }
254 #define STMT(CLASS, PARENT) \
414 typedef SmallVector<Stmt *, 16> StmtsTy;
442 void queue(Stmt *S) {
452 bool RecursiveASTVisitor<Derived>::TraverseStmt(Stmt *S) {
471 // optimizer (e.g. LLVM) will fold this comparison into the switch stmt
501 // Top switch stmt: dispatch to TraverseFooStmt for each concrete FooStmt.
503 case Stmt::NoStmtClass: break;
504 #define ABSTRACT_STMT(STMT)
505 #define STMT(CLASS, PARENT) \
506 case Stmt::CLASS##Class: DISPATCH_STMT(CLASS, CLASS, S);
511 for (SmallVectorImpl<Stmt *>::reverse_iterator
1862 // ----------------- Stmt traversal -----------------
1865 // over the children defined in children() (every stmt
1871 // This macro makes available a variable S, the passed-in stmt.
1872 #define DEF_TRAVERSE_STMT(STMT, CODE) \
1874 bool RecursiveASTVisitor<Derived>::Traverse##STMT (STMT *S) { \
1875 TRY_TO(WalkUpFrom##STMT(S)); \
1878 for (Stmt::child_range range = S->children(); range; ++range) { \
2028 for (Stmt::child_range range = S->children(); range; ++range) {