class Prism::WhileNode

def inspect(inspector = NodeInspector.new)

def inspect(NodeInspector inspector) -> String
def inspect(inspector = NodeInspector.new)
  inspector << inspector.header(self)
  flags = [("begin_modifier" if begin_modifier?)].compact
  inspector << "├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n"
  inspector << "├── keyword_loc: #{inspector.location(keyword_loc)}\n"
  inspector << "├── closing_loc: #{inspector.location(closing_loc)}\n"
  inspector << "├── predicate:\n"
  inspector << inspector.child_node(predicate, "│   ")
  if (statements = self.statements).nil?
    inspector << "└── statements: ∅\n"
  else
    inspector << "└── statements:\n"
    inspector << statements.inspect(inspector.child_inspector("    ")).delete_prefix(inspector.prefix)
  end
  inspector.to_str
end