stage3/flow_control_analysis.cc
changeset 457 67d8b07bac22
parent 454 099aa5d655de
child 459 01f6664bf8c5
equal deleted inserted replaced
456:ca8d98289ff9 457:67d8b07bac22
   188 
   188 
   189 /* | label ':' [il_incomplete_instruction] eol_list */
   189 /* | label ':' [il_incomplete_instruction] eol_list */
   190 // SYM_REF2(il_instruction_c, label, il_instruction)
   190 // SYM_REF2(il_instruction_c, label, il_instruction)
   191 // void *visit(instruction_list_c *symbol);
   191 // void *visit(instruction_list_c *symbol);
   192 void *flow_control_analysis_c::visit(il_instruction_c *symbol) {
   192 void *flow_control_analysis_c::visit(il_instruction_c *symbol) {
   193 	symbol->prev_il_instruction = prev_il_instruction;
   193 	symbol->prev_il_instruction.push_back(prev_il_instruction);
   194 	/* TODO: handle labels correctly!
   194 	/* TODO: handle labels correctly!
   195 	 *
   195 	 *
   196 	 *      Don't forget to handle multiple consecutive lables too!
   196 	 *      Don't forget to handle multiple consecutive lables too!
   197 	 *        label2:
   197 	 *        label2:
   198 	 *        label3:
   198 	 *        label3:
   266 }
   266 }
   267 
   267 
   268 
   268 
   269 // SYM_REF1(il_simple_instruction_c, il_simple_instruction, symbol_c *prev_il_instruction;)
   269 // SYM_REF1(il_simple_instruction_c, il_simple_instruction, symbol_c *prev_il_instruction;)
   270 void *flow_control_analysis_c::visit(il_simple_instruction_c*symbol) {
   270 void *flow_control_analysis_c::visit(il_simple_instruction_c*symbol) {
   271 	symbol->prev_il_instruction = prev_il_instruction;
   271 	symbol->prev_il_instruction.push_back(prev_il_instruction);
   272 	return NULL;
   272 	return NULL;
   273 }
   273 }
   274 
   274 
   275 
   275 
   276 /*
   276 /*