10 #ifndef LLVM_CLANG_AST_COMMENTVISITOR_H 11 #define LLVM_CLANG_AST_COMMENTVISITOR_H 14 #include "llvm/Support/ErrorHandling.h" 22 template<
template <
typename>
class Ptr,
typename ImplClass,
typename RetTy=
void>
25 #define PTR(CLASS) typename Ptr<CLASS>::type 26 #define DISPATCH(NAME, CLASS) \ 27 return static_cast<ImplClass*>(this)->visit ## NAME(static_cast<PTR(CLASS)>(C)) 34 default: llvm_unreachable(
"Unknown comment kind!");
35 #define ABSTRACT_COMMENT(COMMENT) 36 #define COMMENT(CLASS, PARENT) \ 37 case Comment::CLASS##Kind: DISPATCH(CLASS, CLASS); 38 #include "clang/AST/CommentNodes.inc" 39 #undef ABSTRACT_COMMENT 46 #define ABSTRACT_COMMENT(COMMENT) COMMENT 47 #define COMMENT(CLASS, PARENT) \ 48 RetTy visit ## CLASS(PTR(CLASS) C) { DISPATCH(PARENT, PARENT); } 49 #include "clang/AST/CommentNodes.inc" 50 #undef ABSTRACT_COMMENT 59 template<
typename ImplClass,
typename RetTy=
void>
63 template<
typename ImplClass,
typename RetTy=
void>
70 #endif // LLVM_CLANG_AST_COMMENTVISITOR_H
Dataflow Directional Tag Classes.