Add fill candidate method for fb_invocation_c symbol.
authorManuele Conti <conti.ma@alice.it>
Wed, 01 Feb 2012 22:40:54 +0100
changeset 418 2ac41d2cba91
parent 417 d48f53715f77
child 419 6384168a8e95
Add fill candidate method for fb_invocation_c symbol.
stage3/fill_candidate_datatypes.cc
stage3/fill_candidate_datatypes.hh
--- a/stage3/fill_candidate_datatypes.cc	Wed Feb 01 19:49:11 2012 +0000
+++ b/stage3/fill_candidate_datatypes.cc	Wed Feb 01 22:40:54 2012 +0100
@@ -1735,6 +1735,19 @@
 	return NULL;
 }
 
+/*****************************************/
+/* B 3.2.2 Subprogram Control Statements */
+/*****************************************/
+void *fill_candidate_datatypes_c::visit(fb_invocation_c *symbol) {
+	symbol_c *fb_decl = search_varfb_instance_type->get_basetype_decl(symbol->fb_name);
+
+	if (NULL == fb_decl) ERROR;
+	if (symbol->   formal_param_list != NULL) match_formal_call(symbol, fb_decl);
+	if (symbol->nonformal_param_list != NULL) match_nonformal_call(symbol, fb_decl);
+	if (debug) std::cout << "FB [] ==> "  << symbol->candidate_datatypes.size() << " result.\n";
+	return NULL;
+}
+
 
 
 /********************************/
--- a/stage3/fill_candidate_datatypes.hh	Wed Feb 01 19:49:11 2012 +0000
+++ b/stage3/fill_candidate_datatypes.hh	Wed Feb 01 22:40:54 2012 +0100
@@ -289,7 +289,7 @@
     /*****************************************/
     /* B 3.2.2 Subprogram Control Statements */
     /*****************************************/
-    //void *visit(fb_invocation_c *symbol);
+    void *visit(fb_invocation_c *symbol);
 
     /********************************/
     /* B 3.2.3 Selection Statements */