clang API Documentation

Classes | Namespaces | Defines
DeclVisitor.h File Reference
#include "clang/AST/Decl.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 "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

namespace  clang
namespace  clang::declvisitor

Defines

#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); }

Define Documentation

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

Definition at line 50 of file DeclVisitor.h.

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

Definition at line 50 of file DeclVisitor.h.

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

Definition at line 35 of file DeclVisitor.h.

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

Definition at line 34 of file DeclVisitor.h.