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.



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 @@
 
 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 @@
         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 @@
 # 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"