class Herb::AST::ERBBeginNode

def tree_inspect(indent = 0)

def tree_inspect(indent = 0)
  output = +""
  output += "@ #{node_name} "
  output += location.tree_inspect
  output += "\n"
  output += inspect_errors(prefix: "│   ")
  output += "├── tag_opening: "
  output += tag_opening ? tag_opening.tree_inspect : "∅"
  output += "\n"
  output += "├── content: "
  output += content ? content.tree_inspect : "∅"
  output += "\n"
  output += "├── tag_closing: "
  output += tag_closing ? tag_closing.tree_inspect : "∅"
  output += "\n"
  output += "├── statements: "
  output += inspect_array(statements, prefix: "│   ")
  output += "├── rescue_clause: "
  if rescue_clause
    output += "\n"
    output += "│   └── "
    output += rescue_clause.tree_inspect(indent).gsub(/^/, "    " * (indent + 1)).lstrip.gsub(/^/, "│   ").delete_prefix("│   ")
  else
    output += "∅\n"
  end
  output += "├── else_clause: "
  if else_clause
    output += "\n"
    output += "│   └── "
    output += else_clause.tree_inspect(indent).gsub(/^/, "    " * (indent + 1)).lstrip.gsub(/^/, "│   ").delete_prefix("│   ")
  else
    output += "∅\n"
  end
  output += "├── ensure_clause: "
  if ensure_clause
    output += "\n"
    output += "│   └── "
    output += ensure_clause.tree_inspect(indent).gsub(/^/, "    " * (indent + 1)).lstrip.gsub(/^/, "│   ").delete_prefix("│   ")
  else
    output += "∅\n"
  end
  output += "└── end_node: "
  if end_node
    output += "\n"
    output += "    └── "
    output += end_node.tree_inspect(indent).gsub(/^/, "    " * (indent + 1)).lstrip.gsub(/^/, "    ").delete_prefix("    ")
  else
    output += "∅\n"
  end
  output += "\n"
  output.gsub(/^/, "    " * indent)
end