aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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"