class Sexp

def block_pass?

def block_pass?
  any? { |s| Sexp === s && s.sexp_type == :block_pass }
end

def check_line_numbers

def check_line_numbers
  raise "bad nil line for:\n%s" % [self.pretty_inspect] if nil_line?
  raise "bad line number for:\n%s" % [self.pretty_inspect] unless
    Integer === self.line &&
    self.line >= 1 &&
    self.line <= self.line_min
end

def line_min

def line_min
  @line_min ||= [self.deep_each.map(&:line).min, self.line].compact.min
end

def nil_line?

def nil_line?
  self.deep_each.map(&:line).any?(&:nil?)
end

def paren

def paren
  @paren ||= false
end