LILAC
Language to language Interop LAyer Compiler
Loading...
Searching...
No Matches
lilac::shared::GenericInterfaceVisitor< TContext, TVisitor > Class Template Referencefinal

A composite ASTVisitor wrapping other ASTVisitor(s) More...

#include <interfacevisitor.h>

Inheritance diagram for lilac::shared::GenericInterfaceVisitor< TContext, TVisitor >:
Collaboration diagram for lilac::shared::GenericInterfaceVisitor< TContext, TVisitor >:

Public Member Functions

 GenericInterfaceVisitor ()
 
std::string GetName () const override
 Gets the name of this interface visitor.
 
void Begin (TContext &ctx, const frxml::dom &parent, const frxml::dom &current, int depth) override
 
void End (TContext &ctx, const frxml::dom &parent, const frxml::dom &current, int depth) override
 
- Public Member Functions inherited from lilac::shared::InterfaceVisitor< TContext >
virtual ~InterfaceVisitor ()=default
 

Detailed Description

template<typename TContext, TVisitor< TContext >... TVisitor>
class lilac::shared::GenericInterfaceVisitor< TContext, TVisitor >

A composite ASTVisitor wrapping other ASTVisitor(s)

Template Parameters
TContextType of context object
TVisitorType derived from lilac::shared::ASTVisitor

Definition at line 84 of file interfacevisitor.h.

Constructor & Destructor Documentation

◆ GenericInterfaceVisitor()

template<typename TContext , TVisitor< TContext >... TVisitor>
lilac::shared::GenericInterfaceVisitor< TContext, TVisitor >::GenericInterfaceVisitor ( )
inline

Definition at line 89 of file interfacevisitor.h.

Member Function Documentation

◆ Begin()

template<typename TContext , TVisitor< TContext >... TVisitor>
void lilac::shared::GenericInterfaceVisitor< TContext, TVisitor >::Begin ( TContext & ctx,
const frxml::dom & parent,
const frxml::dom & current,
int depth )
inlineoverridevirtual
Parameters
ctxContext object for interface visitors
parentParent DOM object
currentCurrent DOM object
depthDepth of current DOM object

Implements lilac::shared::InterfaceVisitor< TContext >.

Definition at line 103 of file interfacevisitor.h.

◆ End()

template<typename TContext , TVisitor< TContext >... TVisitor>
void lilac::shared::GenericInterfaceVisitor< TContext, TVisitor >::End ( TContext & ctx,
const frxml::dom & parent,
const frxml::dom & current,
int depth )
inlineoverridevirtual
Parameters
ctxContext object for interface visitors
parentParent DOM object
currentCurrent DOM object
depthDepth of current DOM object

Implements lilac::shared::InterfaceVisitor< TContext >.

Definition at line 112 of file interfacevisitor.h.

◆ GetName()

template<typename TContext , TVisitor< TContext >... TVisitor>
std::string lilac::shared::GenericInterfaceVisitor< TContext, TVisitor >::GetName ( ) const
inlinenodiscardoverridevirtual

Gets the name of this interface visitor.

To traverse interface graph and matching proper visitor for XML tag, Interface visitors should have key corresponding to XML tag.

Interface visitor is reserved for special purpose if its name starts with ‘__’.

Returns
Name of this interface visitor

Implements lilac::shared::InterfaceVisitor< TContext >.

Definition at line 98 of file interfacevisitor.h.


The documentation for this class was generated from the following file: