13 #ifndef LLVM_CLANG_AST_TYPEVISITOR_H 14 #define LLVM_CLANG_AST_TYPEVISITOR_H 20 #define DISPATCH(CLASS) \ 21 return static_cast<ImplClass*>(this)-> \ 22 Visit##CLASS(static_cast<const CLASS*>(T)) 63 template<
typename ImplClass,
typename RetTy=
void>
71 #define ABSTRACT_TYPE(CLASS, PARENT) 72 #define TYPE(CLASS, PARENT) case Type::CLASS: DISPATCH(CLASS##Type); 73 #include "clang/AST/TypeNodes.inc" 75 llvm_unreachable(
"Unknown type class!");
80 #define TYPE(CLASS, PARENT) RetTy Visit##CLASS##Type(const CLASS##Type *T) { \ 83 #include "clang/AST/TypeNodes.inc" RetTy VisitType(const Type *)
Method called if ImpClass doesn't provide specific handler for some type class.
C Language Family Type Representation.
The base class of the type hierarchy.
RetTy Visit(const Type *T)
Performs the operation associated with this visitor object.
TypeClass getTypeClass() const
Dataflow Directional Tag Classes.