class Parser::Source::Buffer

def line_range(lineno)

Raises:
  • (IndexError) - if `lineno` is out of bounds

Returns:
  • (Range) -

Parameters:
  • lineno (Integer) --
def line_range(lineno)
  index = lineno - @first_line
  if index < 0 || index + 1 >= line_begins.size
    raise IndexError, 'Parser::Source::Buffer: range for line ' \
      "#{lineno} requested, valid line numbers are #{@first_line}.." \
      "#{@first_line + line_begins.size - 2}"
  else
    Range.new(self, line_begins[index], line_begins[index + 1] - 1)
  end
end