1 #ifndef __VISITOR_HXX__
2 #define __VISITOR_HXX__
23 class ServiceInlineNode;
34 Visitor(ComposedNode *root);
35 virtual void visitBloc(Bloc *node) = 0;
36 virtual void visitElementaryNode(ElementaryNode *node) = 0;
37 virtual void visitForEachLoop(ForEachLoop *node) = 0;
38 virtual void visitForLoop(ForLoop *node) = 0;
39 virtual void visitInlineNode(InlineNode *node) = 0;
40 virtual void visitInlineFuncNode(InlineFuncNode *node) = 0;
41 virtual void visitLoop(Loop *node) = 0;
42 virtual void visitProc(Proc *node) = 0;
43 virtual void visitServiceNode(ServiceNode *node) = 0;
44 virtual void visitServiceInlineNode(ServiceInlineNode *node) = 0;
45 virtual void visitSwitch(Switch *node) = 0;
46 virtual void visitWhileLoop(WhileLoop *node) = 0;
47 virtual void visitPresetNode(DataNode *node) = 0;
48 virtual void visitOutNode(DataNode *node) = 0;
49 virtual void visitStudyInNode(DataNode *node) = 0;
50 virtual void visitStudyOutNode(DataNode *node) = 0;
53 std::map<std::string, std::string> getNodeProperties(Node *node);
54 std::map<std::string, TypeCode*> getTypeCodeMap(Proc *proc);
55 std::map<std::string, Container*> getContainerMap(Proc *proc);
56 std::list<TypeCodeObjref *> getListOfBases(TypeCodeObjref *objref);