class Prism::DotVisitor

def visit_begin_node(node)

Visit a BeginNode node.
def visit_begin_node(node)
  table = Table.new("BeginNode")
  id = node_id(node)
  # begin_keyword_loc
  unless (begin_keyword_loc = node.begin_keyword_loc).nil?
    table.field("begin_keyword_loc", location_inspect(begin_keyword_loc))
  end
  # statements
  unless (statements = node.statements).nil?
    table.field("statements", port: true)
    digraph.edge("#{id}:statements -> #{node_id(statements)};")
  end
  # rescue_clause
  unless (rescue_clause = node.rescue_clause).nil?
    table.field("rescue_clause", port: true)
    digraph.edge("#{id}:rescue_clause -> #{node_id(rescue_clause)};")
  end
  # else_clause
  unless (else_clause = node.else_clause).nil?
    table.field("else_clause", port: true)
    digraph.edge("#{id}:else_clause -> #{node_id(else_clause)};")
  end
  # ensure_clause
  unless (ensure_clause = node.ensure_clause).nil?
    table.field("ensure_clause", port: true)
    digraph.edge("#{id}:ensure_clause -> #{node_id(ensure_clause)};")
  end
  # end_keyword_loc
  unless (end_keyword_loc = node.end_keyword_loc).nil?
    table.field("end_keyword_loc", location_inspect(end_keyword_loc))
  end
  digraph.nodes << <<~DOT
    #{id} [
      label=<#{table.to_dot.gsub(/\n/, "\n  ")}>
    ];
  DOT
  super
end