public inbox for archer-commits@sourceware.org
help / color / mirror / Atom feed
From: pmuldoon@sourceware.org
To: archer-commits@sourceware.org
Subject: [SCM]  archer-pmuldoon-python-backtrace: use frame.locals() and frame.arguments() API over assembling the local/arguments from the frame.
Date: Thu, 05 Apr 2012 11:06:00 -0000	[thread overview]
Message-ID: <20120405110609.1668.qmail@sourceware.org> (raw)

The branch, archer-pmuldoon-python-backtrace has been updated
       via  deb8867f8cbe4a5ffa97e1b9ec9aa0a104f59775 (commit)
      from  4e0a42a813aa31156268765bba0219263a08f071 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email.

- Log -----------------------------------------------------------------
commit deb8867f8cbe4a5ffa97e1b9ec9aa0a104f59775
Author: Phil Muldoon <pmuldoon@redhat.com>
Date:   Thu Apr 5 12:05:19 2012 +0100

    use frame.locals() and frame.arguments() API over assembling the
    local/arguments from the frame.

-----------------------------------------------------------------------

Summary of changes:
 gdb/testsuite/gdb.python/py-framefilter.py |   81 ++++++----------------------
 1 files changed, 16 insertions(+), 65 deletions(-)

First 500 lines of diff:
diff --git a/gdb/testsuite/gdb.python/py-framefilter.py b/gdb/testsuite/gdb.python/py-framefilter.py
index c6528c3..c1bf717 100644
--- a/gdb/testsuite/gdb.python/py-framefilter.py
+++ b/gdb/testsuite/gdb.python/py-framefilter.py
@@ -71,73 +71,24 @@ class TestFilter:
             return "unknown"
 
     def frame_args (self):
-        func = self.frame.function()
-        args = []
-        block = self.frame.block()
-
-        if not func:
-            return
-
-        for sym in block:
-            if not sym.is_argument:
-                continue;
-
-            if len (sym.linkage_name):
-                nsym, is_field_of_this = gdb.lookup_symbol (sym.linkage_name, block)
-                if nsym.addr_class != gdb.SYMBOL_LOC_REGISTER:
-                    sym = nsym
-            try:
-                val = sym.value(self.frame)
-                if val != None:
-                    val = val
-                else:
-                    val="???"
-            except RuntimeError, text:
-                val = text
-
-            atuple = (sym.print_name, val)
-            args.append (atuple)
-
-        return args
+        args = self.frame.arguments()
+        args_list = []
+        if args != None:
+            for arg in args:
+                value = arg.value(self.frame)
+                args_list.append((arg, value))
 
-    def frame_locals (self):
-        args = []
-        block = self.frame.block()
-        func = self.frame.function()
-
-        if not func:
-            return
-        fname = str (func)
-
-        if fname == "end_func":
-            args.append(("Some kind of synthetic var", gdb.Value(42)))
-
-        for sym in block:
-            if not sym.is_variable:
-                continue;
-
-            if len (sym.linkage_name):
-                nsym, is_field_of_this = gdb.lookup_symbol (sym.linkage_name, block)
-                if nsym.addr_class != gdb.SYMBOL_LOC_REGISTER:
-                    sym = nsym
-            try:
-                val = sym.value(self.frame)
-                if val != None:
-                    val = val
-                else:
-                    val="???"
-            except RuntimeError, text:
-                val = text
-
-            atuple = (sym.print_name, val)
-            args.append (atuple)
-
-        fname = str (self.frame.function())
+        return args_list
 
-        if fname == "end_func":
-            args.append(("Some kind of synthetic var", gdb.Value(42)))
-
-        return args
+    def frame_locals (self):
+        frame_locals = self.frame.locals()
+        frame_locals_list = []
+        if frame_locals != None:
+            for frame_local in frame_locals:
+                value = frame_local.value(self.frame)
+                frame_locals_list.append((frame_local, value))
+
+        return frame_locals_list
 
     def line (self):
         sal = self.frame.find_sal()


hooks/post-receive
--
Repository for Project Archer.


                 reply	other threads:[~2012-04-05 11:06 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20120405110609.1668.qmail@sourceware.org \
    --to=pmuldoon@sourceware.org \
    --cc=archer-commits@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).