File indexing completed on 2024-05-19 08:27:44
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