From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 26054 invoked by alias); 14 Jun 2012 10:24:07 -0000 Mailing-List: contact archer-commits-help@sourceware.org; run by ezmlm Sender: Precedence: bulk List-Post: List-Help: List-Subscribe: Received: (qmail 26023 invoked by uid 9514); 14 Jun 2012 10:24:04 -0000 Date: Thu, 14 Jun 2012 10:24:00 -0000 Message-ID: <20120614102404.26008.qmail@sourceware.org> From: pmuldoon@sourceware.org To: archer-commits@sourceware.org Subject: [SCM] archer-pmuldoon-python-backtrace: Add Python Frame-like iterator. X-Git-Refname: refs/heads/archer-pmuldoon-python-backtrace X-Git-Reftype: branch X-Git-Oldrev: 14212616ff6b4ac50b9396946dd76bc7ae5acf7c X-Git-Newrev: edcdfba5b00306ef19e7da9a23665cb8e0a88bc6 X-SW-Source: 2012-q2/txt/msg00057.txt.bz2 List-Id: The branch, archer-pmuldoon-python-backtrace has been updated via edcdfba5b00306ef19e7da9a23665cb8e0a88bc6 (commit) from 14212616ff6b4ac50b9396946dd76bc7ae5acf7c (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email. - Log ----------------------------------------------------------------- commit edcdfba5b00306ef19e7da9a23665cb8e0a88bc6 Author: Phil Muldoon Date: Thu Jun 14 11:23:37 2012 +0100 Add Python Frame-like iterator. ----------------------------------------------------------------------- Summary of changes: gdb/python/lib/gdb/FrameIterator.py | 20 ++++++++++++++++++++ 1 files changed, 20 insertions(+), 0 deletions(-) create mode 100644 gdb/python/lib/gdb/FrameIterator.py First 500 lines of diff: diff --git a/gdb/python/lib/gdb/FrameIterator.py b/gdb/python/lib/gdb/FrameIterator.py new file mode 100644 index 0000000..4f14e8a --- /dev/null +++ b/gdb/python/lib/gdb/FrameIterator.py @@ -0,0 +1,20 @@ +class FrameIterator(object): + """A frame iterator. Iterates over gdb.Frames or objects that + conform to that interface.""" + + def __init__ (self, frame_obj): + "Initialize a FrameIterator. FRAME_OBJ is the starting + frame." + + super(FrameIterator, self).__init__() + self.frame = frame + + def __iter__ (self): + return self + + def next (self): + result = self.frame + if result is None: + raise StopIteration + self.frame = result.older () + return result hooks/post-receive -- Repository for Project Archer.