- const char *keyword = Traits::get_keyword();
- FilterStatement::add_line(st, Msp::format("%s \"%s\"", keyword, value));
+ if(dynamic_cast<const OrCondition *>(&parent) && !conditions.empty())
+ {
+ ChoiceCondition<T> *result = 0;
+ for(std::vector<Condition *>::const_iterator i=conditions.begin(); ++i!=conditions.end(); )
+ {
+ const std::vector<Type> &v = static_cast<ChoiceCondition<T> *>(*i)->values;
+ if(!result)
+ result = new ChoiceCondition<T>(v);
+ else
+ result->values.insert(result->values.end(), v.begin(), v.end());
+ }
+ return result;
+ }
+ else
+ return 0;