# File lib/parser/diagnostic.rb, line 84
    def render
      if @location.line == @location.last_line || @location.is?("\n")
        ["#{@location}: #{@level}: #{message}"] + render_line(@location)
      else
        # multi-line diagnostic
        first_line = first_line_only(@location)
        last_line  = last_line_only(@location)
        num_lines  = (@location.last_line - @location.line) + 1
        buffer     = @location.source_buffer

        last_lineno, last_column = buffer.decompose_position(@location.end_pos)
        ["#{@location}-#{last_lineno}:#{last_column}: #{@level}: #{message}"] +
          render_line(first_line, num_lines > 2, false) +
          render_line(last_line, false, true)
      end
    end