systemc-clang 2.0.0
Parsing SystemC constructs
|
#include <FindTemplateTypes.h>
Public Types | |
typedef TemplateType | TemplateTypePtr |
Typedefs. | |
typedef std::vector< TemplateTypePtr > | type_vector_t |
typedef std::vector< TemplateTypePtr > | argVectorType |
Public Member Functions | |
FindTemplateTypes () | |
FindTemplateTypes (const FindTemplateTypes &rhs) | |
Copy constructor. | |
FindTemplateTypes (const FindTemplateTypes *rhs) | |
bool | shouldVisitTemplateInstantiations () const |
bool | VisitEnumType (clang::EnumType *e) |
bool | VisitIntegerLiteral (clang::IntegerLiteral *l) |
bool | VisitTemplateSpecializationType (clang::TemplateSpecializationType *special_type) |
bool | VisitTypedefType (clang::TypedefType *typedef_type) |
bool | VisitCXXRecordDecl (clang::CXXRecordDecl *cxx_type) |
bool | VisitRecordType (clang::RecordType *rt) |
bool | VisitBuiltinType (clang::BuiltinType *bi_type) |
bool | VisitDependentNameType (clang::DependentNameType *type) |
bool | VisitDeclRefExpr (clang::DeclRefExpr *dre) |
virtual | ~FindTemplateTypes () |
void | Enumerate (const clang::Type *type) |
Tree< TemplateType > * | getTemplateArgTreePtr () |
void | printTemplateArguments (llvm::raw_ostream &os) |
std::string | asString () |
Returns the TemplateType data as a std::string. | |
Private Attributes | |
Tree< TemplateType > | template_args_ |
Tree< TemplateType >::TreeNodePtr | current_type_node_ |
std::stack< Tree< TemplateType >::TreeNodePtr > | stack_current_node_ |
Definition at line 49 of file FindTemplateTypes.h.
Definition at line 54 of file FindTemplateTypes.h.
Typedefs.
Definition at line 52 of file FindTemplateTypes.h.
Definition at line 53 of file FindTemplateTypes.h.
FindTemplateTypes::FindTemplateTypes | ( | ) |
Definition at line 39 of file FindTemplateTypes.cpp.
FindTemplateTypes::FindTemplateTypes | ( | const FindTemplateTypes & | rhs | ) |
Copy constructor.
Definition at line 42 of file FindTemplateTypes.cpp.
FindTemplateTypes::FindTemplateTypes | ( | const FindTemplateTypes * | rhs | ) |
Definition at line 46 of file FindTemplateTypes.cpp.
|
virtual |
Definition at line 51 of file FindTemplateTypes.cpp.
std::string FindTemplateTypes::asString | ( | ) |
Returns the TemplateType data as a std::string.
Definition at line 293 of file FindTemplateTypes.cpp.
void FindTemplateTypes::Enumerate | ( | const clang::Type * | type | ) |
Definition at line 53 of file FindTemplateTypes.cpp.
Tree< TemplateType > * FindTemplateTypes::getTemplateArgTreePtr | ( | ) |
Definition at line 289 of file FindTemplateTypes.cpp.
void FindTemplateTypes::printTemplateArguments | ( | llvm::raw_ostream & | os | ) |
Definition at line 323 of file FindTemplateTypes.cpp.
bool FindTemplateTypes::shouldVisitTemplateInstantiations | ( | ) | const |
Definition at line 34 of file FindTemplateTypes.cpp.
bool FindTemplateTypes::VisitBuiltinType | ( | clang::BuiltinType * | bi_type | ) |
Definition at line 137 of file FindTemplateTypes.cpp.
bool FindTemplateTypes::VisitCXXRecordDecl | ( | clang::CXXRecordDecl * | cxx_type | ) |
Definition at line 123 of file FindTemplateTypes.cpp.
bool FindTemplateTypes::VisitDeclRefExpr | ( | clang::DeclRefExpr * | dre | ) |
Definition at line 61 of file FindTemplateTypes.cpp.
bool FindTemplateTypes::VisitDependentNameType | ( | clang::DependentNameType * | type | ) |
Definition at line 184 of file FindTemplateTypes.cpp.
bool FindTemplateTypes::VisitEnumType | ( | clang::EnumType * | e | ) |
Definition at line 162 of file FindTemplateTypes.cpp.
bool FindTemplateTypes::VisitIntegerLiteral | ( | clang::IntegerLiteral * | l | ) |
Definition at line 280 of file FindTemplateTypes.cpp.
bool FindTemplateTypes::VisitRecordType | ( | clang::RecordType * | rt | ) |
Definition at line 203 of file FindTemplateTypes.cpp.
bool FindTemplateTypes::VisitTemplateSpecializationType | ( | clang::TemplateSpecializationType * | special_type | ) |
The specialized template type is used for user-defined template type arguments, and constexpr fpblk_sz (as in ZFP). The issue here is that one is a class, and the other is a function. So, if it's a function that we need to desugar it, and traverse its corresponding type. Otherwise, we proceed. Get the unqualified type.
We don't want it to go further since we called TraverseType().
Definition at line 78 of file FindTemplateTypes.cpp.
bool FindTemplateTypes::VisitTypedefType | ( | clang::TypedefType * | typedef_type | ) |
Definition at line 193 of file FindTemplateTypes.cpp.
|
private |
Definition at line 101 of file FindTemplateTypes.h.
|
private |
Definition at line 102 of file FindTemplateTypes.h.
|
private |
Definition at line 100 of file FindTemplateTypes.h.