class Prism::DotVisitor

def visit_until_node(node)

Visit a UntilNode node.
def visit_until_node(node)
  table = Table.new("UntilNode")
  id = node_id(node)
  # flags
  table.field("flags", loop_flags_inspect(node))
  # keyword_loc
  table.field("keyword_loc", location_inspect(node.keyword_loc))
  # closing_loc
  unless (closing_loc = node.closing_loc).nil?
    table.field("closing_loc", location_inspect(closing_loc))
  end
  # predicate
  table.field("predicate", port: true)
  digraph.edge("#{id}:predicate -> #{node_id(node.predicate)};")
  # statements
  unless (statements = node.statements).nil?
    table.field("statements", port: true)
    digraph.edge("#{id}:statements -> #{node_id(statements)};")
  end
  digraph.nodes << <<~DOT
    #{id} [
      label=<#{table.to_dot.gsub(/\n/, "\n  ")}>
    ];
  DOT
  super
end