class Roby::EventConstraints::UnboundTaskPredicate::Or
Representation of UnboundPredicateSupport#or
and UnboundTaskPredicate#or
See documentation from UnboundTaskPredicate
Public Instance Methods
code()
click to toggle source
# File lib/roby/event_constraints.rb, line 594 def code "(#{predicates[0].code}) || (#{predicates[1].code})" end
explain_static(task)
click to toggle source
Calls superclass method
Roby::EventConstraints::UnboundTaskPredicate::BinaryCommutativePredicate#explain_static
# File lib/roby/event_constraints.rb, line 624 def explain_static(task) static0 = predicates[0].static?(task) static1 = predicates[1].static?(task) if static0 && static1 super(task) elsif static0 && predicates[0].evaluate(task) predicates[0].explain_static(task) elsif static1 && predicates[1].evaluate(task) predicates[1].explain_static(task) end end
or(pred)
click to toggle source
Calls superclass method
Roby::EventConstraints::UnboundTaskPredicate#or
# File lib/roby/event_constraints.rb, line 598 def or(pred) pred = pred.to_unbound_task_predicate if pred.kind_of?(Or) # Only add predicates in +pred+ that are not already in # +self+ result = self pred.each_atomic_predicate do |predicate| result = result.or(predicate) end result elsif has_atomic_predicate?(pred) # Do not add +pred+ if it is already included in +self+ self else super end end
static?(task)
click to toggle source
# File lib/roby/event_constraints.rb, line 616 def static?(task) static0 = predicates[0].static?(task) static1 = predicates[1].static?(task) static0 && static1 || (static0 && predicates[0].evaluate(task) || static1 && predicates[1].evaluate(task)) end
to_s()
click to toggle source
# File lib/roby/event_constraints.rb, line 635 def to_s; "(#{predicates[0]}) || (#{predicates[1]})" end