Envision
A visual programming IDE for object-oriented languages
List of all members | Public Member Functions | Private Member Functions
CppExport::ExpressionVisitor Class Reference
Inheritance diagram for CppExport::ExpressionVisitor:
Export::Visitor< DeclarationVisitor, ExpressionVisitor, StatementVisitor, ElementVisitor, CppPrintContext >

Public Member Functions

Export::SourceFragment * visit (OOModel::Expression *expression)
 
Export::SourceFragment * visitFunctionPointer (OOModel::PointerTypeExpression *functionPointer, const QString &name={})
 
- Public Member Functions inherited from Export::Visitor< DeclarationVisitor, ExpressionVisitor, StatementVisitor, ElementVisitor, CppPrintContext >
 Visitor ()
 
 Visitor (CppPrintContext printContext)
 
 Visitor (CppPrintContext printContext, std::shared_ptr< VisitorData< CppPrintContext >> data)
 
 Visitor (std::shared_ptr< VisitorData< CppPrintContext >> data)
 
 ~Visitor ()
 
QList< ExportError > errors () const
 
CppPrintContext & printContext ()
 

Private Member Functions

template<typename T >
Export::SourceFragment * optional (T *node)
 

Additional Inherited Members

- Protected Member Functions inherited from Export::Visitor< DeclarationVisitor, ExpressionVisitor, StatementVisitor, ElementVisitor, CppPrintContext >
std::shared_ptr< VisitorData< CppPrintContext > > data ()
 
SourceFragment * declaration (NodeType *node)
 
SourceFragment * element (NodeType *node)
 
void error (const QString &errorMessage)
 
void error (Model::Node *node, const QString &errorMessage)
 
SourceFragment * expression (NodeType *node)
 
CompositeFragment * list (Model::TypedList< ListElement > *list, VisitorClass &&v, const QString &fragmentType={}, Predicate filter=nullptr)
 
CompositeFragment * list (Model::TypedList< ListElement > *list, VisitorClass *v, const QString &fragmentType={}, Predicate filter=nullptr)
 
void notAllowed (Model::List *list)
 
void notAllowed (Model::Node *node)
 
void required (Model::Node *parent, Model::Node *node, const QString &childName)
 
SourceFragment * statement (NodeType *node)
 

Member Function Documentation

◆ optional()

template<typename T >
Export::SourceFragment * CppExport::ExpressionVisitor::optional ( T *  node)
private

◆ visit()

SourceFragment * CppExport::ExpressionVisitor::visit ( OOModel::Expression *  expression)

◆ visitFunctionPointer()

SourceFragment * CppExport::ExpressionVisitor::visitFunctionPointer ( OOModel::PointerTypeExpression *  functionPointer,
const QString &  name = {} 
)