class Parser::Source::Buffer

def bsearch(line_begins, position)

RUBY_VERSION >= 2.3
def bsearch(line_begins, position)
  line_begins.bsearch_index do |line_begin|
    position < line_begin
  end || line_begins.size - 1 # || only for out of bound values
end