class Prism::DotVisitor

def visit_index_operator_write_node(node)

Visit a IndexOperatorWriteNode node.
def visit_index_operator_write_node(node)
  table = Table.new("IndexOperatorWriteNode")
  id = node_id(node)
  # flags
  table.field("flags", call_node_flags_inspect(node))
  # receiver
  unless (receiver = node.receiver).nil?
    table.field("receiver", port: true)
    digraph.edge("#{id}:receiver -> #{node_id(receiver)};")
  end
  # call_operator_loc
  unless (call_operator_loc = node.call_operator_loc).nil?
    table.field("call_operator_loc", location_inspect(call_operator_loc))
  end
  # opening_loc
  table.field("opening_loc", location_inspect(node.opening_loc))
  # arguments
  unless (arguments = node.arguments).nil?
    table.field("arguments", port: true)
    digraph.edge("#{id}:arguments -> #{node_id(arguments)};")
  end
  # closing_loc
  table.field("closing_loc", location_inspect(node.closing_loc))
  # block
  unless (block = node.block).nil?
    table.field("block", port: true)
    digraph.edge("#{id}:block -> #{node_id(block)};")
  end
  # operator
  table.field("operator", node.operator.inspect)
  # operator_loc
  table.field("operator_loc", location_inspect(node.operator_loc))
  # value
  table.field("value", port: true)
  digraph.edge("#{id}:value -> #{node_id(node.value)};")
  digraph.nodes << <<~DOT
    #{id} [
      label=<#{table.to_dot.gsub(/\n/, "\n  ")}>
    ];
  DOT
  super
end