From 04f901b63b82db654676af08c228b5c89e27042b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Arne=20D=C3=B6ring?= Date: Tue, 26 Mar 2019 13:12:39 +0100 Subject: [PATCH] add NimFrameFilter to nim-gdb.py (#10873) --- tools/nim-gdb.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/tools/nim-gdb.py b/tools/nim-gdb.py index b6481a99d..c1c2e0004 100644 --- a/tools/nim-gdb.py +++ b/tools/nim-gdb.py @@ -561,6 +561,20 @@ class NimTablePrinter: # raise ValueError("RTI is absent or incomplete, can't find union definition in RTI") +################################################################################ + +class NimFrameFilter: + def __init__(self): + self.name = "nim-frame-filter" + self.enabled = True + self.priority = 100 + self.hidden = {"NimMainInner","NimMain", "main"} + + def filter(self, iterator): + for framedecorator in iterator: + if framedecorator.function() not in self.hidden: + yield framedecorator + ################################################################################ def makematcher(klass): @@ -593,3 +607,5 @@ def new_object_handler(event): register_nim_pretty_printers_for_object(event.new_objfile) gdb.events.new_objfile.connect(new_object_handler) + +gdb.frame_filters = {"nim-frame-filter": NimFrameFilter()}