clang  3.9.0
Classes | Namespaces | Macros
StmtVisitor.h File Reference
#include "clang/AST/ExprCXX.h"
#include "clang/AST/ExprObjC.h"
#include "clang/AST/ExprOpenMP.h"
#include "clang/AST/StmtCXX.h"
#include "clang/AST/StmtObjC.h"
#include "clang/AST/StmtOpenMP.h"
#include "clang/AST/StmtNodes.inc"
#include "clang/Basic/OpenMPKinds.def"
Include dependency graph for StmtVisitor.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  clang::make_ptr< T >
 
struct  clang::make_const_ptr< T >
 
class  clang::StmtVisitorBase< Ptr, ImplClass, RetTy >
 StmtVisitorBase - This class implements a simple visitor for Stmt subclasses. More...
 
class  clang::StmtVisitor< ImplClass, RetTy >
 StmtVisitor - This class implements a simple visitor for Stmt subclasses. More...
 
class  clang::ConstStmtVisitor< ImplClass, RetTy >
 ConstStmtVisitor - This class implements a simple visitor for Stmt subclasses. More...
 
class  clang::OMPClauseVisitorBase< ImplClass, Ptr, RetTy >
 This class implements a simple visitor for OMPClause subclasses. More...
 
class  clang::OMPClauseVisitor< ImplClass, RetTy >
 
class  clang::ConstOMPClauseVisitor< ImplClass, RetTy >
 

Namespaces

 clang
 Dataflow Directional Tag Classes.
 

Macros

#define PTR(CLASS)   typename Ptr<CLASS>::type
 
#define DISPATCH(NAME, CLASS)   return static_cast<ImplClass*>(this)->Visit ## NAME(static_cast<PTR(CLASS)>(S))
 
#define ABSTRACT_STMT(STMT)
 
#define STMT(CLASS, PARENT)   case Stmt::CLASS ## Class: DISPATCH(CLASS, CLASS);
 
#define STMT(CLASS, PARENT)   RetTy Visit ## CLASS(PTR(CLASS) S) { DISPATCH(PARENT, PARENT); }
 
#define BINOP_FALLBACK(NAME)
 
#define CAO_FALLBACK(NAME)
 
#define UNARYOP_FALLBACK(NAME)
 
#define PTR(CLASS)   typename Ptr<CLASS>::type
 
#define DISPATCH(CLASS)   return static_cast<ImplClass*>(this)->Visit##CLASS(static_cast<PTR(CLASS)>(S))
 
#define OPENMP_CLAUSE(Name, Class)   RetTy Visit ## Class (PTR(Class) S) { DISPATCH(Class); }
 
#define OPENMP_CLAUSE(Name, Class)   case OMPC_ ## Name : return Visit ## Class(static_cast<PTR(Class)>(S));
 

Macro Definition Documentation

#define ABSTRACT_STMT (   STMT)
#define BINOP_FALLBACK (   NAME)
Value:
RetTy VisitBin ## NAME(PTR(BinaryOperator) S) { \
DISPATCH(BinaryOperator, BinaryOperator); \
}
#define PTR(CLASS)
Definition: StmtVisitor.h:195
#define DISPATCH(NAME, CLASS)
Definition: StmtVisitor.h:196

Definition at line 119 of file StmtVisitor.h.

#define CAO_FALLBACK (   NAME)
Value:
RetTy VisitBin ## NAME(PTR(CompoundAssignOperator) S) { \
DISPATCH(CompoundAssignOperator, CompoundAssignOperator); \
}
#define PTR(CLASS)
Definition: StmtVisitor.h:195
#define DISPATCH(NAME, CLASS)
Definition: StmtVisitor.h:196
#define DISPATCH (   NAME,
  CLASS 
)    return static_cast<ImplClass*>(this)->Visit ## NAME(static_cast<PTR(CLASS)>(S))
#define DISPATCH (   CLASS)    return static_cast<ImplClass*>(this)->Visit##CLASS(static_cast<PTR(CLASS)>(S))

Definition at line 196 of file StmtVisitor.h.

#define OPENMP_CLAUSE (   Name,
  Class 
)    RetTy Visit ## Class (PTR(Class) S) { DISPATCH(Class); }

Definition at line 199 of file StmtVisitor.h.

#define OPENMP_CLAUSE (   Name,
  Class 
)    case OMPC_ ## Name : return Visit ## Class(static_cast<PTR(Class)>(S));

Definition at line 199 of file StmtVisitor.h.

#define PTR (   CLASS)    typename Ptr<CLASS>::type
#define PTR (   CLASS)    typename Ptr<CLASS>::type

Definition at line 195 of file StmtVisitor.h.

#define STMT (   CLASS,
  PARENT 
)    case Stmt::CLASS ## Class: DISPATCH(CLASS, CLASS);

Definition at line 113 of file StmtVisitor.h.

#define STMT (   CLASS,
  PARENT 
)    RetTy Visit ## CLASS(PTR(CLASS) S) { DISPATCH(PARENT, PARENT); }

Definition at line 113 of file StmtVisitor.h.

#define UNARYOP_FALLBACK (   NAME)
Value:
RetTy VisitUnary ## NAME(PTR(UnaryOperator) S) { \
DISPATCH(UnaryOperator, UnaryOperator); \
}
#define PTR(CLASS)
Definition: StmtVisitor.h:195
#define DISPATCH(NAME, CLASS)
Definition: StmtVisitor.h:196