File indexing completed on 2024-05-05 04:37:06

0001 // THIS FILE IS GENERATED
0002 // WARNING! All changes made in this file will be lost!
0003 
0004 #include "cool_default_visitor.h"
0005 
0006 namespace cool
0007   {
0008 
0009   void default_visitor::visit_additive_expression(additive_expression_ast *node)
0010   {
0011     if (node->expression_sequence)
0012       {
0013         const list_node<multiplicative_expression_ast*> *__it = node->expression_sequence->to_front(), *__end = __it;
0014         do
0015           {
0016             visit_node(__it->element);
0017             __it = __it->next;
0018           }
0019         while (__it != __end);
0020       }
0021   }
0022 
0023   void default_visitor::visit_block_expression(block_expression_ast *node)
0024   {
0025     if (node->expression_sequence)
0026       {
0027         const list_node<expression_ast*> *__it = node->expression_sequence->to_front(), *__end = __it;
0028         do
0029           {
0030             visit_node(__it->element);
0031             __it = __it->next;
0032           }
0033         while (__it != __end);
0034       }
0035   }
0036 
0037   void default_visitor::visit_case_condition(case_condition_ast *node)
0038   {
0039     visit_node(node->expression);
0040   }
0041 
0042   void default_visitor::visit_case_expression(case_expression_ast *node)
0043   {
0044     visit_node(node->expression);
0045     if (node->condition_sequence)
0046       {
0047         const list_node<case_condition_ast*> *__it = node->condition_sequence->to_front(), *__end = __it;
0048         do
0049           {
0050             visit_node(__it->element);
0051             __it = __it->next;
0052           }
0053         while (__it != __end);
0054       }
0055   }
0056 
0057   void default_visitor::visit_class(class_ast *node)
0058   {
0059     if (node->feature_sequence)
0060       {
0061         const list_node<feature_ast*> *__it = node->feature_sequence->to_front(), *__end = __it;
0062         do
0063           {
0064             visit_node(__it->element);
0065             __it = __it->next;
0066           }
0067         while (__it != __end);
0068       }
0069   }
0070 
0071   void default_visitor::visit_expression(expression_ast *node)
0072   {
0073     visit_node(node->expression);
0074   }
0075 
0076   void default_visitor::visit_feature(feature_ast *node)
0077   {
0078     if (node->formal_sequence)
0079       {
0080         const list_node<formal_ast*> *__it = node->formal_sequence->to_front(), *__end = __it;
0081         do
0082           {
0083             visit_node(__it->element);
0084             __it = __it->next;
0085           }
0086         while (__it != __end);
0087       }
0088     visit_node(node->expression);
0089   }
0090 
0091   void default_visitor::visit_formal(formal_ast *)
0092 {}
0093 
0094   void default_visitor::visit_if_expression(if_expression_ast *node)
0095   {
0096     visit_node(node->condition);
0097     visit_node(node->true_expression);
0098     visit_node(node->false_expression);
0099   }
0100 
0101   void default_visitor::visit_let_declaration(let_declaration_ast *node)
0102   {
0103     visit_node(node->expression);
0104   }
0105 
0106   void default_visitor::visit_let_expression(let_expression_ast *node)
0107   {
0108     if (node->declaration_sequence)
0109       {
0110         const list_node<let_declaration_ast*> *__it = node->declaration_sequence->to_front(), *__end = __it;
0111         do
0112           {
0113             visit_node(__it->element);
0114             __it = __it->next;
0115           }
0116         while (__it != __end);
0117       }
0118     visit_node(node->body_expression);
0119   }
0120 
0121   void default_visitor::visit_multiplicative_expression(multiplicative_expression_ast *node)
0122   {
0123     if (node->expression_sequence)
0124       {
0125         const list_node<postfix_expression_ast*> *__it = node->expression_sequence->to_front(), *__end = __it;
0126         do
0127           {
0128             visit_node(__it->element);
0129             __it = __it->next;
0130           }
0131         while (__it != __end);
0132       }
0133   }
0134 
0135   void default_visitor::visit_postfix_expression(postfix_expression_ast *node)
0136   {
0137     visit_node(node->base_expression);
0138     if (node->arguments_sequence)
0139       {
0140         const list_node<expression_ast*> *__it = node->arguments_sequence->to_front(), *__end = __it;
0141         do
0142           {
0143             visit_node(__it->element);
0144             __it = __it->next;
0145           }
0146         while (__it != __end);
0147       }
0148   }
0149 
0150   void default_visitor::visit_primary_expression(primary_expression_ast *node)
0151   {
0152     visit_node(node->expression);
0153     if (node->argument_sequence)
0154       {
0155         const list_node<expression_ast*> *__it = node->argument_sequence->to_front(), *__end = __it;
0156         do
0157           {
0158             visit_node(__it->element);
0159             __it = __it->next;
0160           }
0161         while (__it != __end);
0162       }
0163     visit_node(node->if_expression);
0164     visit_node(node->while_expression);
0165     visit_node(node->block_expression);
0166     visit_node(node->let_expression);
0167     visit_node(node->case_expression);
0168   }
0169 
0170   void default_visitor::visit_program(program_ast *node)
0171   {
0172     if (node->klass_sequence)
0173       {
0174         const list_node<class_ast*> *__it = node->klass_sequence->to_front(), *__end = __it;
0175         do
0176           {
0177             visit_node(__it->element);
0178             __it = __it->next;
0179           }
0180         while (__it != __end);
0181       }
0182   }
0183 
0184   void default_visitor::visit_relational_expression(relational_expression_ast *node)
0185   {
0186     if (node->expression_sequence)
0187       {
0188         const list_node<additive_expression_ast*> *__it = node->expression_sequence->to_front(), *__end = __it;
0189         do
0190           {
0191             visit_node(__it->element);
0192             __it = __it->next;
0193           }
0194         while (__it != __end);
0195       }
0196   }
0197 
0198   void default_visitor::visit_unary_expression(unary_expression_ast *node)
0199   {
0200     visit_node(node->expression);
0201   }
0202 
0203   void default_visitor::visit_while_expression(while_expression_ast *node)
0204   {
0205     visit_node(node->condition);
0206     visit_node(node->loop_expression);
0207   }
0208 
0209 
0210 } // end of namespace cool
0211 
0212