class Prism::DotVisitor

def visit_match_write_node(node)

Visit a MatchWriteNode node.
def visit_match_write_node(node)
  table = Table.new("MatchWriteNode")
  id = node_id(node)
  # call
  table.field("call", port: true)
  digraph.edge("#{id}:call -> #{node_id(node.call)};")
  # targets
  if node.targets.any?
    table.field("targets", port: true)
    waypoint = "#{id}_targets"
    digraph.waypoint("#{waypoint};")
    digraph.edge("#{id}:targets -> #{waypoint};")
    node.targets.each { |child| digraph.edge("#{waypoint} -> #{node_id(child)};") }
  else
    table.field("targets", "[]")
  end
  digraph.nodes << <<~DOT
    #{id} [
      label=<#{table.to_dot.gsub(/\n/, "\n  ")}>
    ];
  DOT
  super
end