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