Exception: Syskit::NonSymmetricSpecializationConstraint

Inherits:
RuntimeError
  • Object
show all
Defined in:
lib/syskit/exceptions.rb

Overview

Exception raised in SpecializationManager when it detects that a constraint added with SpecializationManager#add_specialization_constraint is not symmetric

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(validator, specializations) ⇒ NonSymmetricSpecializationConstraint

Returns a new instance of NonSymmetricSpecializationConstraint



865
866
867
# File 'lib/syskit/exceptions.rb', line 865

def initialize(validator, specializations)
    @validator, @specializations = validator, specializations
end

Instance Attribute Details

#specializationsObject (readonly)

The validator arguments that trigger the bug



863
864
865
# File 'lib/syskit/exceptions.rb', line 863

def specializations
  @specializations
end

#validatorObject (readonly)

The constraint block



861
862
863
# File 'lib/syskit/exceptions.rb', line 861

def validator
  @validator
end

Instance Method Details

#pretty_print(pp) ⇒ Object



869
870
871
872
873
874
875
# File 'lib/syskit/exceptions.rb', line 869

def pretty_print(pp)
    pp.text "the specialization constraint block #{validator} is not symmetric:"
    pp.breakable
    pp.text "  #{validator}[#{specializations[0]},#{specializations[1]}] => #{validator[*specializations]}"
    pp.breakable
    pp.text "  #{validator}[#{specializations[1]},#{specializations[0]}] => #{validator[*specializations.reverse]}"
end