new_while (RubyParser)

    # File lib/ruby_parser_extras.rb, line 666
      def new_while block, expr, pre
        line = [block && block.line, expr.line].compact.min
        block, pre = block.last, false if block && block[0] == :begin

        expr = cond expr
        result = if expr.first == :not then
                   s(:until, expr.last, block, pre)
                 else
                   s(:while, expr, block, pre)
                 end

        result.line = line
        result
      end