# File lib/ruby_parser_extras.rb, line 502 def new_defn val (line, bol), name, args, body = val[2], val[1], val[3], val[4] body ||= s(:nil) body ||= s(:block) body = s(:block, body) unless body.first == :block result = s(:defn, name.to_sym, args, s(:scope, body)) result.line = line result.line -= 1 if bol result.comments = self.comments.pop result end