#include "PerlTraceInfo.h"
#include "backtrace.h"
using panda::string;
namespace xs {
string PerlFrame::to_string() const noexcept {
return as_perl_string(*this);
}
string PerlTraceInfo::to_string() const noexcept {
string r;
for(size_t i = 0; i < frames.size(); ++i) {
r += as_perl_string(*frames[i]);
if (i + 1 < frames.size()) r += "\n";
}
return r;
}
std::vector<PerlFrameSP> PerlTraceInfo::get_frames() const noexcept {
std::vector<PerlFrameSP> r;
r.reserve(frames.size());
for (auto& f: frames) {
r.push_back(panda::static_pointer_cast<PerlFrame>(f));
}
return r;
}
}