2017-09-27 14:35:55 +02:00
|
|
|
module RxFile
|
2015-05-03 19:16:06 +02:00
|
|
|
|
2015-06-15 07:21:15 +02:00
|
|
|
# simple struct like class to wrap an object and hold additionally
|
|
|
|
# - the shallowest level at which it was seen
|
|
|
|
# - A possible reference
|
|
|
|
# - the fact if it has been written (for referenced objects)
|
2015-05-03 19:16:06 +02:00
|
|
|
class Occurence
|
|
|
|
def initialize object , level
|
|
|
|
@object = object
|
|
|
|
@level = level
|
2015-06-14 21:55:41 +02:00
|
|
|
@referenced = nil
|
|
|
|
@written = nil
|
2015-05-03 19:16:06 +02:00
|
|
|
end
|
|
|
|
def set_reference r
|
2015-06-16 17:51:30 +02:00
|
|
|
raise "was set #{@referenced}" if @referenced
|
2015-05-03 19:16:06 +02:00
|
|
|
@referenced = r
|
|
|
|
end
|
|
|
|
attr_reader :object , :referenced
|
2015-06-14 21:55:41 +02:00
|
|
|
attr_accessor :level , :written
|
2015-05-03 19:16:06 +02:00
|
|
|
end
|
|
|
|
|
|
|
|
end
|