class Herb::AST::ERBWhileNode
def initialize(type, location, errors, tag_opening, content, tag_closing, statements, end_node)
def initialize(type, location, errors, tag_opening, content, tag_closing, statements, end_node) super(type, location, errors) @tag_opening = tag_opening @content = content @tag_closing = tag_closing @statements = statements @end_node = end_node end
def inspect
def inspect tree_inspect.rstrip.gsub(/\s+$/, "") end
def to_hash
def to_hash super.merge({ tag_opening: tag_opening, content: content, tag_closing: tag_closing, statements: statements, end_node: end_node, }) 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 += "├── 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 += "└── 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