class RBI::Rewriters::GroupNodes
Public Instance Methods
visit(node)
click to toggle source
# File lib/rbi/rewriters/group_nodes.rb, line 10 def visit(node) return unless node case node when Tree kinds = node.nodes.map(&:group_kind) kinds.compact! kinds.uniq! groups = {} kinds.each { |kind| groups[kind] = Group.new(kind) } node.nodes.dup.each do |child| visit(child) child.detach groups[child.group_kind] << child end groups.each { |_, group| node << group } end end