Envision
A visual programming IDE for object-oriented languages
List of all members | Public Member Functions | Private Attributes
CppImport::TemplateArgumentVisitor Class Reference

A visitor for template arguments. More...

Inheritance diagram for CppImport::TemplateArgumentVisitor:

Public Member Functions

 TemplateArgumentVisitor (ClangHelpers &clang, ExpressionVisitor *vis, CppImportUtilities *util, CppImportLogger *log)
 
OOModel::FormalTypeArgumenttranslateTemplateArg (clang::Decl *d)
 Translates the template argument declaration d. More...
 
bool TraverseNonTypeTemplateParmDecl (clang::NonTypeTemplateParmDecl *nonTypeTemplateParm)
 
bool TraverseTemplateTypeParmDecl (clang::TemplateTypeParmDecl *templateParm)
 
bool VisitDecl (clang::Decl *decl)
 

Private Attributes

ClangHelpersclang_
 
const QString className_ {"TemplateArgumentVisitor"}
 
ExpressionVisitorexprVisitor_ {}
 
OOModel::FormalTypeArgumentlastTranslatedTypeArg_ {}
 
CppImportLoggerlog_ {}
 
CppImportUtilitiesutils_ {}
 

Detailed Description

A visitor for template arguments.

Constructor & Destructor Documentation

◆ TemplateArgumentVisitor()

CppImport::TemplateArgumentVisitor::TemplateArgumentVisitor ( ClangHelpers clang,
ExpressionVisitor vis,
CppImportUtilities util,
CppImportLogger log 
)

Member Function Documentation

◆ translateTemplateArg()

OOModel::FormalTypeArgument * CppImport::TemplateArgumentVisitor::translateTemplateArg ( clang::Decl *  d)

Translates the template argument declaration d.

Returns the translated node.

◆ TraverseNonTypeTemplateParmDecl()

bool CppImport::TemplateArgumentVisitor::TraverseNonTypeTemplateParmDecl ( clang::NonTypeTemplateParmDecl *  nonTypeTemplateParm)

◆ TraverseTemplateTypeParmDecl()

bool CppImport::TemplateArgumentVisitor::TraverseTemplateTypeParmDecl ( clang::TemplateTypeParmDecl *  templateParm)

◆ VisitDecl()

bool CppImport::TemplateArgumentVisitor::VisitDecl ( clang::Decl *  decl)

Member Data Documentation

◆ clang_

ClangHelpers& CppImport::TemplateArgumentVisitor::clang_
private

◆ className_

const QString CppImport::TemplateArgumentVisitor::className_ {"TemplateArgumentVisitor"}
private

◆ exprVisitor_

ExpressionVisitor* CppImport::TemplateArgumentVisitor::exprVisitor_ {}
private

◆ lastTranslatedTypeArg_

OOModel::FormalTypeArgument* CppImport::TemplateArgumentVisitor::lastTranslatedTypeArg_ {}
private

◆ log_

CppImportLogger* CppImport::TemplateArgumentVisitor::log_ {}
private

◆ utils_

CppImportUtilities* CppImport::TemplateArgumentVisitor::utils_ {}
private