class Prism::Relocation::Repository

def reify! # :nodoc:

:nodoc:
the various value APIs.
to reify their values. It is internal-only and meant to be called from
This method is called from the entries in the repository when they need
def reify! # :nodoc:
  result = source.result
  # Attach the comments if they have been requested as part of the
  # configuration of this repository.
  if fields.key?(:leading_comments) || fields.key?(:trailing_comments)
    result.attach_comments!
  end
  queue = [result.value] #: Array[Prism::node]
  while (node = queue.shift)
    @entries[node.node_id].each do |field_name, entry|
      value = node.public_send(field_name)
      values = {} #: Hash[Symbol, untyped]
      fields.each_value do |field|
        values.merge!(field.fields(value))
      end
      entry.reify!(values)
    end
    queue.concat(node.compact_child_nodes)
  end
  @entries.clear
end