diff -r 2481fffe6e58 -r cac262d1d6a5 stage3/fill_candidate_datatypes.cc --- 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 */