clang  6.0.0svn
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/Stmt.h"
#include "clang/AST/StmtCXX.h"
#include "clang/AST/StmtObjC.h"
#include "clang/AST/StmtOpenMP.h"
#include "clang/Basic/LLVM.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/ErrorHandling.h"
#include <utility>
#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, ParamTys >
 StmtVisitorBase - This class implements a simple visitor for Stmt subclasses. More...
 
class  clang::StmtVisitor< ImplClass, RetTy, ParamTys >
 StmtVisitor - This class implements a simple visitor for Stmt subclasses. More...
 
class  clang::ConstStmtVisitor< ImplClass, RetTy, ParamTys >
 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)
 
#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, ParamTys... P) { 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

◆ ABSTRACT_STMT

#define ABSTRACT_STMT (   STMT)

◆ BINOP_FALLBACK

#define BINOP_FALLBACK (   NAME)
Value:
RetTy VisitBin ## NAME(PTR(BinaryOperator) S, ParamTys... P) { \
DISPATCH(BinaryOperator, BinaryOperator); \
}
StringRef P
#define PTR(CLASS)
Definition: StmtVisitor.h:200

Definition at line 124 of file StmtVisitor.h.

◆ CAO_FALLBACK

#define CAO_FALLBACK (   NAME)
Value:
RetTy VisitBin ## NAME(PTR(CompoundAssignOperator) S, ParamTys... P) { \
DISPATCH(CompoundAssignOperator, CompoundAssignOperator); \
}
StringRef P
#define PTR(CLASS)
Definition: StmtVisitor.h:200

◆ DISPATCH [1/2]

#define DISPATCH (   NAME,
  CLASS 
)
Value:
return static_cast<ImplClass*>(this)->Visit ## NAME( \
static_cast<PTR(CLASS)>(S), std::forward<ParamTys>(P)...)
StringRef P
#define PTR(CLASS)
Definition: StmtVisitor.h:200

Definition at line 201 of file StmtVisitor.h.

◆ DISPATCH [2/2]

#define DISPATCH (   CLASS)    return static_cast<ImplClass*>(this)->Visit##CLASS(static_cast<PTR(CLASS)>(S))

Definition at line 201 of file StmtVisitor.h.

◆ OPENMP_CLAUSE [1/2]

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

Definition at line 204 of file StmtVisitor.h.

◆ OPENMP_CLAUSE [2/2]

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

Definition at line 204 of file StmtVisitor.h.

◆ PTR [1/2]

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

Definition at line 200 of file StmtVisitor.h.

◆ PTR [2/2]

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

Definition at line 200 of file StmtVisitor.h.

◆ STMT [1/2]

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

Definition at line 118 of file StmtVisitor.h.

◆ STMT [2/2]

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

Definition at line 118 of file StmtVisitor.h.

◆ UNARYOP_FALLBACK

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