class Herb::AST::HTMLDoctypeNode

def initialize(type, location, errors, tag_opening, children, tag_closing)

def initialize(type, location, errors, tag_opening, children, tag_closing)
  super(type, location, errors)
  @tag_opening = tag_opening
  @children = children
  @tag_closing = tag_closing
end

def inspect

def inspect
  tree_inspect.rstrip.gsub(/\s+$/, "")
end

def to_hash

def to_hash
  super.merge({
    tag_opening: tag_opening,
    children: children,
    tag_closing: tag_closing,
  })
end

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 += "├── children: "
  output += inspect_array(children, prefix: "│   ")
  output += "└── tag_closing: "
  output += tag_closing ? tag_closing.tree_inspect : "∅"
  output += "\n"
  output += "\n"
  output.gsub(/^/, "    " * indent)
end