Filter out types from DAP scopes request
authorTom Tromey <tromey@adacore.com>
Thu, 6 Apr 2023 12:56:11 +0000 (06:56 -0600)
committerTom Tromey <tromey@adacore.com>
Fri, 5 May 2023 19:55:59 +0000 (13:55 -0600)
The DAP scopes request examines the symbols in a block tree, but
neglects to omit types.  This patch fixes the problem.

gdb/python/lib/gdb/dap/scopes.py
gdb/testsuite/gdb.dap/scopes.c

index 9ab454aa57b496aa51c2fffc71a843da3530d4a6..be4f8fc28a09a2b2f2a9f6061f385cb4c2f76ae9 100644 (file)
@@ -41,7 +41,7 @@ def _block_vars(block):
         for var in block:
             if var.is_argument:
                 args.append(var)
-            else:
+            elif var.is_variable or var.is_constant:
                 locs.append(var)
         if block.function is not None:
             break
index 7b35036cce151be0ef6e6eaf7cf801f91aebb96f..ce87db1f13d0254271f06e351b84be9cd157fd67 100644 (file)
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
-struct dei_struct
-{
-  int x;
-  int more[5];
-};
-
 int main ()
 {
+  struct dei_struct
+  {
+    int x;
+    int more[5];
+  };
+
   struct dei_struct dei = { 2, { 3, 5, 7, 11, 13 } };
 
   static int scalar = 23;