Exception: Syskit::ModifyingFinalizedPortInfo

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

Overview

Raised during dataflow propagation if #done_port_info has already been called on a port that is being modified

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(task, port_name, done_at, propagation_class_name) ⇒ ModifyingFinalizedPortInfo

Returns a new instance of ModifyingFinalizedPortInfo



945
946
947
948
949
950
# File 'lib/syskit/exceptions.rb', line 945

def initialize(task, port_name, done_at, propagation_class_name)
    @task = task
    @port_name = port_name
    @done_at = done_at
    @propagation_class_name = propagation_class_name
end

Instance Attribute Details

#done_atObject (readonly)

Returns the value of attribute done_at



944
945
946
# File 'lib/syskit/exceptions.rb', line 944

def done_at
  @done_at
end

#port_nameObject (readonly)

Returns the value of attribute port_name



944
945
946
# File 'lib/syskit/exceptions.rb', line 944

def port_name
  @port_name
end

#taskObject (readonly)

Returns the value of attribute task



944
945
946
# File 'lib/syskit/exceptions.rb', line 944

def task
  @task
end

Instance Method Details

#pretty_print(pp) ⇒ Object



952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
# File 'lib/syskit/exceptions.rb', line 952

def pretty_print(pp)
    pp.text "trying to change port information in #{@propagation_class_name} for #{task}.#{port_name} after done_port_info has been called"
    pp.breakable
    if done_at
        pp.text "== START done_port_info called at"
        done_at.each do |line|
            pp.nest(4) do
                pp.breakable
                pp.text line
            end
        end
        pp.breakable
        pp.text "== END done_port_info called at"
    else
        pp.text "set the logger for #{@propagation_class_name.gsub('::', '/')} to DEBUG to get a full backtrace of where done_port_info was called"
    end
end