aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Tromey <tromey@adacore.com>2024-04-29 12:57:11 -0600
committerTom Tromey <tromey@adacore.com>2024-06-04 10:36:34 -0600
commitea54f7806ba8d58e9c3fb0fa37e44e75157e72e6 (patch)
tree9267113454389faef3beb78f9b906c4ed0b73ac3
parent57ab1952fcf921f06ac47ee4b0fa13798bf7a230 (diff)
downloadgdb-ea54f7806ba8d58e9c3fb0fa37e44e75157e72e6.zip
gdb-ea54f7806ba8d58e9c3fb0fa37e44e75157e72e6.tar.gz
gdb-ea54f7806ba8d58e9c3fb0fa37e44e75157e72e6.tar.bz2
Put "source" into DAP scope
I noticed a FIXME comment in the DAP code about adding a "source" field to a scope. This is easy to implement; I don't know why I didn't do this originally.
-rw-r--r--gdb/python/lib/gdb/dap/scopes.py5
-rw-r--r--gdb/testsuite/gdb.dap/ada-scopes.exp1
2 files changed, 5 insertions, 1 deletions
diff --git a/gdb/python/lib/gdb/dap/scopes.py b/gdb/python/lib/gdb/dap/scopes.py
index 8cd8601..09f440e 100644
--- a/gdb/python/lib/gdb/dap/scopes.py
+++ b/gdb/python/lib/gdb/dap/scopes.py
@@ -17,6 +17,7 @@ import gdb
from .frames import frame_for_id
from .server import request
+from .sources import make_source
from .startup import in_gdb_thread
from .varref import BaseReference
@@ -93,7 +94,9 @@ class _ScopeReference(BaseReference):
result["namedVariables"] = self.child_count()
if self.line is not None:
result["line"] = self.line
- # FIXME construct a Source object
+ filename = self.frame.filename()
+ if filename is not None:
+ result["source"] = make_source(filename)
return result
def has_children(self):
diff --git a/gdb/testsuite/gdb.dap/ada-scopes.exp b/gdb/testsuite/gdb.dap/ada-scopes.exp
index 12004f8..4d895a5 100644
--- a/gdb/testsuite/gdb.dap/ada-scopes.exp
+++ b/gdb/testsuite/gdb.dap/ada-scopes.exp
@@ -59,6 +59,7 @@ set scopes [dict get [lindex $scopes 0] body scopes]
# just in case something changes.
lassign $scopes scope _ignore
gdb_assert {[dict get $scope name] == "Locals"} "scope is locals"
+gdb_assert {[dict get $scope source name] == "prog.adb"} "scope has source"
gdb_assert {[dict get $scope namedVariables] == 2} "two vars in scope"