1#ifndef _FIND_TEMPLATE_TYPES_H_
2#define _FIND_TEMPLATE_TYPES_H_
8#include "clang/AST/RecursiveASTVisitor.h"
13#define DEBUG_TYPE "Templates"
70 clang::TemplateSpecializationType *special_type);
bool VisitDeclRefExpr(clang::DeclRefExpr *dre)
bool VisitBuiltinType(clang::BuiltinType *bi_type)
Tree< TemplateType >::TreeNodePtr current_type_node_
bool VisitEnumType(clang::EnumType *e)
void printTemplateArguments(llvm::raw_ostream &os)
bool VisitIntegerLiteral(clang::IntegerLiteral *l)
std::stack< Tree< TemplateType >::TreeNodePtr > stack_current_node_
virtual ~FindTemplateTypes()
TemplateType TemplateTypePtr
Typedefs.
std::vector< TemplateTypePtr > argVectorType
Tree< TemplateType > * getTemplateArgTreePtr()
bool VisitTemplateSpecializationType(clang::TemplateSpecializationType *special_type)
std::vector< TemplateTypePtr > type_vector_t
bool VisitDependentNameType(clang::DependentNameType *type)
bool VisitTypedefType(clang::TypedefType *typedef_type)
Tree< TemplateType > template_args_
bool VisitCXXRecordDecl(clang::CXXRecordDecl *cxx_type)
std::string asString()
Returns the TemplateType data as a std::string.
bool VisitRecordType(clang::RecordType *rt)
void Enumerate(const clang::Type *type)
bool shouldVisitTemplateInstantiations() const
std::string getTypeName() const
std::string toString() const
TemplateType(std::string, const clang::Type *)
const clang::Type * getTypePtr() const
const clang::Type * type_ptr_
Clang forward declarations.