stage3/fill_candidate_datatypes.cc
changeset 467 4910eaa1206a
parent 465 b52ec62773db
child 470 d2cd05c5e01a
--- a/stage3/fill_candidate_datatypes.cc	Thu Mar 08 18:57:55 2012 +0000
+++ b/stage3/fill_candidate_datatypes.cc	Thu Mar 08 19:14:45 2012 +0000
@@ -301,7 +301,7 @@
 	 * here).
 	 */
 	if (NULL != prev_il_instruction)
-		copy_candidate_datatype_list(prev_il_instruction/*from*/, il_instruction/*to*/);
+		il_instruction->candidate_datatypes = prev_il_instruction->candidate_datatypes; 
 
 	if (debug) std::cout << "handle_implicit_il_fb_call() [" << prev_il_instruction->candidate_datatypes.size() << "] ==> " << il_instruction->candidate_datatypes.size() << " result.\n";
 }
@@ -849,7 +849,7 @@
 		prev_il_instruction = NULL;
 
 		/* This object has (inherits) the same candidate datatypes as the il_instruction */
-		copy_candidate_datatype_list(symbol->il_instruction /*from*/, symbol /*to*/);	
+		symbol->candidate_datatypes = symbol->il_instruction->candidate_datatypes;
 	}
 
 	return NULL;
@@ -867,7 +867,7 @@
 	symbol->il_simple_operator->accept(*this);
 	il_operand = NULL;
 	/* This object has (inherits) the same candidate datatypes as the il_simple_operator */
-	copy_candidate_datatype_list(symbol->il_simple_operator /*from*/, symbol /*to*/);
+	symbol->candidate_datatypes = symbol->il_simple_operator->candidate_datatypes;
 	return NULL;
 }
 
@@ -940,7 +940,7 @@
   il_operand = NULL;
   
   /* This object has the same candidate datatypes as the il_expr_operator. */
-  copy_candidate_datatype_list(symbol->il_expr_operator/*from*/, symbol/*to*/);
+  symbol->candidate_datatypes = symbol->il_expr_operator->candidate_datatypes;
   return NULL;
 }
 
@@ -951,7 +951,7 @@
   symbol->il_jump_operator->accept(*this);
   il_operand = NULL;
   /* This object has the same candidate datatypes as the il_jump_operator. */
-  copy_candidate_datatype_list(symbol->il_jump_operator/*from*/, symbol/*to*/);
+  symbol->candidate_datatypes = symbol->il_jump_operator->candidate_datatypes;
   return NULL;
 }
 
@@ -998,7 +998,7 @@
 	 *       print_datatypes_error_c, so the code will never reach stage 4!
 	 */
 	symbol->il_call_operator->accept(*this);
-	copy_candidate_datatype_list(symbol->il_call_operator/*from*/, symbol/*to*/);
+	symbol->candidate_datatypes = symbol->il_call_operator->candidate_datatypes;
 
 	if (debug) std::cout << "FB [] ==> "  << symbol->candidate_datatypes.size() << " result.\n";
 	return NULL;
@@ -1040,7 +1040,7 @@
     symbol->elements[i]->accept(*this);
 
   /* This object has (inherits) the same candidate datatypes as the last il_instruction */
-  copy_candidate_datatype_list(symbol->elements[symbol->n-1] /*from*/, symbol /*to*/);	
+  symbol->candidate_datatypes = symbol->elements[symbol->n-1]->candidate_datatypes;
   
   if (debug) std::cout << "simple_instr_list_c [" << symbol->candidate_datatypes.size() << "] result.\n";
   return NULL;
@@ -1058,7 +1058,7 @@
   prev_il_instruction = NULL;
 
   /* This object has (inherits) the same candidate datatypes as the il_simple_instruction it points to */
-  copy_candidate_datatype_list(symbol->il_simple_instruction /*from*/, symbol /*to*/);	
+  symbol->candidate_datatypes = symbol->il_simple_instruction->candidate_datatypes;
   return NULL;
 }