Class: Roby::EventConstraints::UnboundTaskPredicate::Negate

Inherits:
Roby::EventConstraints::UnboundTaskPredicate show all
Defined in:
lib/roby/event_constraints.rb

Overview

Representation of predicates UnboundPredicateSupport#negate and UnboundTaskPredicate#negate

See documentation from UnboundTaskPredicate

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from Roby::EventConstraints::UnboundTaskPredicate

#and, #compile, #evaluate, #negate, #or, #pretty_print, #to_unbound_task_predicate

Constructor Details

#initialize(pred) ⇒ Negate

Returns a new instance of Negate.



406
407
408
# File 'lib/roby/event_constraints.rb', line 406

def initialize(pred)
    @predicate = pred
end

Instance Attribute Details

#predicateObject (readonly)

Returns the value of attribute predicate.



405
406
407
# File 'lib/roby/event_constraints.rb', line 405

def predicate
  @predicate
end

Instance Method Details

#==(pred) ⇒ Object



410
# File 'lib/roby/event_constraints.rb', line 410

def ==(pred); pred.kind_of?(Negate) && pred.predicate == predicate end

#codeObject



417
418
419
# File 'lib/roby/event_constraints.rb', line 417

def code
    "!(#{predicate.code})"
end

#explain_false(task) ⇒ Object



413
# File 'lib/roby/event_constraints.rb', line 413

def explain_false(task); predicate.explain_true(task)  end

#explain_static(task) ⇒ Object



414
# File 'lib/roby/event_constraints.rb', line 414

def explain_static(task); predicate.explain_static(task) end

#explain_true(task) ⇒ Object



412
# File 'lib/roby/event_constraints.rb', line 412

def explain_true(task);  predicate.explain_false(task) end

#required_eventsObject



416
# File 'lib/roby/event_constraints.rb', line 416

def required_events; predicate.required_events end

#static?(task) ⇒ Boolean

Returns:

  • (Boolean)


420
# File 'lib/roby/event_constraints.rb', line 420

def static?(task); predicate.static?(task) end

#to_sObject



421
# File 'lib/roby/event_constraints.rb', line 421

def to_s; "!#{predicate}" end