public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
* [PATCH 0/7] Handle nested functions in DAP
@ 2023-11-01 17:09 Tom Tromey
  2023-11-01 17:09 ` [PATCH 1/7] Add two convenience methods to block Tom Tromey
                   ` (7 more replies)
  0 siblings, 8 replies; 16+ messages in thread
From: Tom Tromey @ 2023-11-01 17:09 UTC (permalink / raw)
  To: gdb-patches

DAP doesn't really describe what to do for nested functions.  We
discussed it internally a little, and I came up with this series.  The
idea here is that variables from the outer scope ought to be visible,
so this series lets Python code follow a frame's static link, and then
changes the DAP frame decorators to use this ability.

At some point I think we'll need a "frame decorator v2", like we added
for pretty-printers.  But, I've been putting this off a little and
still haven't done it here.

Regression tested on x86-64 Fedora 36.

---
Tom Tromey (7):
      Add two convenience methods to block
      Add block::function_block
      Move follow_static_link to frame.c
      Add gdb.Frame.static_link method
      Fix a bug in DAP scopes code
      Handle the static link in FrameDecorator
      Update gdb.Symbol.is_variable documentation

 gdb/NEWS                                  |  3 +
 gdb/block.c                               | 13 +++++
 gdb/block.h                               | 21 +++++++
 gdb/doc/python.texi                       | 14 ++++-
 gdb/findvar.c                             | 64 +++-------------------
 gdb/frame.c                               | 40 ++++++++++++++
 gdb/frame.h                               |  7 +++
 gdb/python/lib/gdb/FrameDecorator.py      | 64 +++++++++++++++++-----
 gdb/python/lib/gdb/dap/scopes.py          |  8 ++-
 gdb/python/py-frame.c                     | 26 +++++++++
 gdb/testsuite/gdb.dap/ada-nested.exp      | 91 +++++++++++++++++++++++++++++++
 gdb/testsuite/gdb.dap/ada-nested/prog.adb | 32 +++++++++++
 12 files changed, 311 insertions(+), 72 deletions(-)
---
base-commit: 5fbee060e807fbc317aa265eb7e25d1cf94a4dad
change-id: 20231101-dap-nested-function-28a2595863ad

Best regards,
-- 
Tom Tromey <tromey@adacore.com>


^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2023-11-15 14:58 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-11-01 17:09 [PATCH 0/7] Handle nested functions in DAP Tom Tromey
2023-11-01 17:09 ` [PATCH 1/7] Add two convenience methods to block Tom Tromey
2023-11-01 17:09 ` [PATCH 2/7] Add block::function_block Tom Tromey
2023-11-01 17:09 ` [PATCH 3/7] Move follow_static_link to frame.c Tom Tromey
2023-11-01 17:09 ` [PATCH 4/7] Add gdb.Frame.static_link method Tom Tromey
2023-11-01 17:17   ` Eli Zaretskii
2023-11-01 17:09 ` [PATCH 5/7] Fix a bug in DAP scopes code Tom Tromey
2023-11-01 17:09 ` [PATCH 6/7] Handle the static link in FrameDecorator Tom Tromey
2023-11-15 12:31   ` Tom de Vries
2023-11-15 13:58     ` Tom Tromey
2023-11-15 14:07       ` Tom de Vries
2023-11-15 14:58         ` Tom Tromey
2023-11-01 17:09 ` [PATCH 7/7] Update gdb.Symbol.is_variable documentation Tom Tromey
2023-11-01 17:15   ` Eli Zaretskii
2023-11-14 15:39 ` [PATCH 0/7] Handle nested functions in DAP Tom Tromey
2023-11-14 16:11   ` Tom Tromey

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).