clang 20.0.0git
Classes | Namespaces | Macros
StmtVisitor.h File Reference
#include "clang/AST/ExprCXX.h"
#include "clang/AST/ExprConcepts.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/StmtOpenACC.h"
#include "clang/AST/StmtOpenMP.h"
#include "clang/Basic/LLVM.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/ErrorHandling.h"
#include <utility>
#include "clang/AST/StmtNodes.inc"

Go to the source code of this file.

Classes

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...
 

Namespaces

namespace  clang
 The JSON file list parser is used to communicate input to InstallAPI.
 

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)
 

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:39

Definition at line 123 of file StmtVisitor.h.

◆ CAO_FALLBACK

#define CAO_FALLBACK (   NAME)
Value:
RetTy VisitBin ## NAME(PTR(CompoundAssignOperator) S, ParamTys... P) { \
DISPATCH(CompoundAssignOperator, CompoundAssignOperator); \
}

◆ DISPATCH

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

Definition at line 40 of file StmtVisitor.h.

◆ PTR

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

Definition at line 39 of file StmtVisitor.h.

◆ STMT [1/2]

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

Definition at line 117 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 117 of file StmtVisitor.h.

◆ UNARYOP_FALLBACK

#define UNARYOP_FALLBACK (   NAME)
Value:
RetTy VisitUnary ## NAME(PTR(UnaryOperator) S, ParamTys... P) { \
DISPATCH(UnaryOperator, UnaryOperator); \
}