/* * Copyright 2009, Ingo Weinhold, ingo_weinhold@gmx.de. * Distributed under the terms of the MIT License. */ #include "StackTrace.h" StackTrace::StackTrace() { } StackTrace::~StackTrace() { for (int32 i = 0; StackFrame* frame = FrameAt(i); i++) frame->ReleaseReference(); } bool StackTrace::AddFrame(StackFrame* frame) { if (fStackFrames.AddItem(frame)) return true; frame->ReleaseReference(); return false; } int32 StackTrace::CountFrames() const { return fStackFrames.CountItems(); } StackFrame* StackTrace::FrameAt(int32 index) const { return fStackFrames.ItemAt(index); }