stage3/fill_candidate_datatypes.cc
changeset 802 cac262d1d6a5
parent 763 2779f4a5f305
child 813 0630cc31569f
--- a/stage3/fill_candidate_datatypes.cc	Fri Mar 08 02:00:36 2013 +0100
+++ b/stage3/fill_candidate_datatypes.cc	Mon Mar 11 12:49:33 2013 +0100
@@ -1270,7 +1270,31 @@
 	return NULL;
 }
 
-
+/********************************************/
+/* B 1.6 Sequential function chart elements */
+/********************************************/
+
+void *fill_candidate_datatypes_c::visit(transition_condition_c *symbol) {
+	symbol_c *condition_type;
+
+	if (symbol->transition_condition_il != NULL) {
+		symbol->transition_condition_il->accept(*this);
+		for (unsigned int i = 0; i < symbol->transition_condition_il->candidate_datatypes.size(); i++) {
+			condition_type = symbol->transition_condition_il->candidate_datatypes[i];
+			if (get_datatype_info_c::is_BOOL_compatible(condition_type))
+				add_datatype_to_candidate_list(symbol, condition_type);
+		}
+	}
+	if (symbol->transition_condition_st != NULL) {
+		symbol->transition_condition_st->accept(*this);
+		for (unsigned int i = 0; i < symbol->transition_condition_st->candidate_datatypes.size(); i++) {
+			condition_type = symbol->transition_condition_st->candidate_datatypes[i];
+			if (get_datatype_info_c::is_BOOL_compatible(condition_type))
+				add_datatype_to_candidate_list(symbol, condition_type);
+		}
+	}
+	return NULL;
+}
 
 /********************************/
 /* B 1.7 Configuration elements */