# File lib/rcodetools/completion.rb, line 155
  def runtime_data_with_class(code, lineno, column=nil)
    newcode = code.to_a.enum_with_index.map{|line, i|
      i+1==lineno ? prepare_line(line.chomp, column) : line
    }.join
    newcode << add_BEGIN if @ignore_NoMethodError
    debugprint "newcode", newcode.gsub(/;/, "\n"), "-"*80
    stdout, stderr = execute(newcode)
    output = stderr.readlines
    debugprint "stderr", output, "-"*80
    output = output.reject{|x| /^-:[0-9]+: warning/.match(x)}
    runtime_data = extract_data(output)
    if exception = /^-:[0-9]+:.*/m.match(output.join)
      raise NewCodeError, exception[0].chomp
    end
    begin
      dat = runtime_data.results[1][0]
      debugprint "dat = #{dat.inspect}"
      [dat[0], dat[1..-1].to_s]
    rescue
      raise RuntimeDataError, runtime_data.inspect
    end
  end