14 #ifndef LLVM_CLANG_AST_TYPEVISITOR_H 15 #define LLVM_CLANG_AST_TYPEVISITOR_H 21 #define DISPATCH(CLASS) \ 22 return static_cast<ImplClass*>(this)-> \ 23 Visit##CLASS(static_cast<const CLASS*>(T)) 64 template<
typename ImplClass,
typename RetTy=
void>
72 #define ABSTRACT_TYPE(CLASS, PARENT) 73 #define TYPE(CLASS, PARENT) case Type::CLASS: DISPATCH(CLASS##Type); 74 #include "clang/AST/TypeNodes.def" 76 llvm_unreachable(
"Unknown type class!");
81 #define TYPE(CLASS, PARENT) RetTy Visit##CLASS##Type(const CLASS##Type *T) { \ 84 #include "clang/AST/TypeNodes.def" 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.