clang  6.0.0svn
Classes | Namespaces | Macros
DeclVisitor.h File Reference
#include "clang/AST/Decl.h"
#include "clang/AST/DeclBase.h"
#include "clang/AST/DeclCXX.h"
#include "clang/AST/DeclFriend.h"
#include "clang/AST/DeclObjC.h"
#include "clang/AST/DeclOpenMP.h"
#include "clang/AST/DeclTemplate.h"
#include "llvm/Support/ErrorHandling.h"
#include "clang/AST/DeclNodes.inc"
Include dependency graph for DeclVisitor.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  clang::declvisitor::make_ptr< T >
 
struct  clang::declvisitor::make_const_ptr< T >
 
class  clang::declvisitor::Base< Ptr, ImplClass, RetTy >
 A simple visitor class that helps create declaration visitors. More...
 
class  clang::DeclVisitor< ImplClass, RetTy >
 A simple visitor class that helps create declaration visitors. More...
 
class  clang::ConstDeclVisitor< ImplClass, RetTy >
 A simple visitor class that helps create declaration visitors. More...
 

Namespaces

 clang
 Dataflow Directional Tag Classes.
 
 clang::declvisitor
 

Macros

#define PTR(CLASS)   typename Ptr<CLASS>::type
 
#define DISPATCH(NAME, CLASS)   return static_cast<ImplClass*>(this)->Visit##NAME(static_cast<PTR(CLASS)>(D))
 
#define DECL(DERIVED, BASE)   case Decl::DERIVED: DISPATCH(DERIVED##Decl, DERIVED##Decl);
 
#define ABSTRACT_DECL(DECL)
 
#define DECL(DERIVED, BASE)   RetTy Visit##DERIVED##Decl(PTR(DERIVED##Decl) D) { DISPATCH(BASE, BASE); }
 

Macro Definition Documentation

◆ ABSTRACT_DECL

#define ABSTRACT_DECL (   DECL)

◆ DECL [1/2]

#define DECL (   DERIVED,
  BASE 
)    case Decl::DERIVED: DISPATCH(DERIVED##Decl, DERIVED##Decl);

Definition at line 53 of file DeclVisitor.h.

◆ DECL [2/2]

#define DECL (   DERIVED,
  BASE 
)    RetTy Visit##DERIVED##Decl(PTR(DERIVED##Decl) D) { DISPATCH(BASE, BASE); }

Definition at line 53 of file DeclVisitor.h.

◆ DISPATCH

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

Definition at line 38 of file DeclVisitor.h.

◆ PTR

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

Definition at line 37 of file DeclVisitor.h.