LILAC
Language to language Interop LAyer Compiler
|
A helper class to traverse interface graph. More...
#include <interfacevisitor.h>
Public Member Functions | |
virtual | ~InterfaceVisitor ()=default |
virtual std::string | GetName () const =0 |
Gets the name of this interface visitor. | |
virtual void | Begin (TContext &ctx, const frxml::dom &parent, const frxml::dom ¤t, int depth)=0 |
virtual void | End (TContext &ctx, const frxml::dom &parent, const frxml::dom ¤t, int depth)=0 |
A helper class to traverse interface graph.
To implement transformer of interface graph, Implement visitor derived from lilac::shared::InterfaceVisitor.
TContext | Type of context object |
Definition at line 39 of file interfacevisitor.h.
|
virtualdefault |
|
pure virtual |
ctx | Context object for interface visitors |
parent | Parent DOM object |
current | Current DOM object |
depth | Depth of current DOM object |
Implemented in lilac::shared::AssemblyVisitor< TContext >, lilac::shared::AssemblyVisitor< VisitContext >, and lilac::shared::GenericInterfaceVisitor< TContext, TVisitor >.
|
pure virtual |
ctx | Context object for interface visitors |
parent | Parent DOM object |
current | Current DOM object |
depth | Depth of current DOM object |
Implemented in lilac::shared::AssemblyVisitor< TContext >, lilac::shared::AssemblyVisitor< VisitContext >, and lilac::shared::GenericInterfaceVisitor< TContext, TVisitor >.
|
nodiscardpure virtual |
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 ‘__’.
Implemented in lilac::csharp::CtorVisitor, lilac::csharp::DtorVisitor, lilac::csharp::EnumConstantVisitor, lilac::csharp::EnumVisitor, lilac::csharp::FunctionVisitor, lilac::csharp::MethodVisitor, lilac::csharp::NamespaceVisitor, lilac::csharp::RecordVisitor, lilac::shared::AssemblyVisitor< TContext >, lilac::shared::AssemblyVisitor< VisitContext >, and lilac::shared::GenericInterfaceVisitor< TContext, TVisitor >.