From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pg1-x52c.google.com (mail-pg1-x52c.google.com [IPv6:2607:f8b0:4864:20::52c]) by sourceware.org (Postfix) with ESMTPS id 05DB53858D38 for ; Mon, 10 Apr 2023 23:44:04 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 05DB53858D38 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-pg1-x52c.google.com with SMTP id 41be03b00d2f7-517bb11ca34so197880a12.0 for ; Mon, 10 Apr 2023 16:44:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1681170243; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=So8K89e9/fOvoPnFGLcvd6Ygf2ZBJlZP0nmvLNoQtCc=; b=i8icKQbMXj64JJzY3c2O34ssgW1BDBWtBLGKFxoynKtLzBZ5GNSD9KKhwHegsMUPyD XeMA2oI0B1ZrQw6mPxcbhAbXa+u1gMCE22fCfLEvJ+6cd7f7xO53IoVSyYkQK4CJM2T0 XMaPDccv40UZ1ZhtB7kiEfwpPZ8I1HiJflUpqfO6nvVwkjs9VNTf8GuDncskMTiMZL8Z aAe+NiyzLqFwB5IoJLkx22rU4mRDeWQ1ZaJKoETdWPBt83o55Ov/1u1LzdPWpL5z6K8S jAK2Pqylo02JfuEPMp4AwKkivG0Z2/uD6A+MzlO7/ocAVv4XT8BMxwiBjEyn1fy0GmPa aKpQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1681170243; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=So8K89e9/fOvoPnFGLcvd6Ygf2ZBJlZP0nmvLNoQtCc=; b=pDclht/JUVraGsSh4HmIxXLe7qbBe0xGO/vVdjtWK36Zs7fFQ+4oNuJNzUkPVV/qxl 5y2Kye3hmHNgWjFK634w9nBhW3Ru4lqh8K5/XtjaRVjNk5qkEZm/vY7yzXe7U/3KeICb /tyikCKRep6EOADKiYa1QVINShH/rW46uNv2EPzce3/DcVFJDRlW0GlVKFRyPYLRezJu rBA+BF5YHcb/4PMuCkXRqJMBvxSlNlcBFR90PDHW+IDlWn45b27xw1vAt8L3tPL5zfRV nuAdNxtZmWesDCIfgfz7cY0/D8MZGZGf8SSrpSuwvFLZrir70OTcMIBaWFPTXm4JRK8g cybw== X-Gm-Message-State: AAQBX9cKQF/64+CJKmfFVUzic4Q7j/7ABXe6ciheXuJ+eYQG55wevVBY YBT8QhHVhYUMePWy76tC6j8JiZ8W+FlmkRjtUzvdD7Fi X-Google-Smtp-Source: AKy350aMSLGDcPO1FJoxoAbThKkdiiWaR48pASClh3pHvq/iBuMRXcdz/XZlmdJLGQw7IQaY5qGHomcdhp4AZ6zYlCc= X-Received: by 2002:a05:6a00:10d4:b0:638:2c95:6046 with SMTP id d20-20020a056a0010d400b006382c956046mr2110601pfu.5.1681170242919; Mon, 10 Apr 2023 16:44:02 -0700 (PDT) MIME-Version: 1.0 References: <20230404-dap-loaded-sources-v1-0-75c796bd644b@adacore.com> In-Reply-To: <20230404-dap-loaded-sources-v1-0-75c796bd644b@adacore.com> From: Matt Rice Date: Mon, 10 Apr 2023 23:43:51 +0000 Message-ID: Subject: Re: [PATCH 0/9] Implement the DAP "loadedSources" request To: Tom Tromey Cc: gdb-patches@sourceware.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-0.3 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: Can't comment much on the implementation, not being much of a c++ person, But tried it out, the output looks really sane & much nicer than the attempts I had made in the bug report, >From what I can tell, you solved most of the issues I'd run into in that bug report by parsing the table description, and then building the dictionaries based upon the column information which seems like a great idea. Very happy to see those issues apparently resolved. On Tue, Apr 4, 2023 at 5:09=E2=80=AFPM Tom Tromey via Gdb-patches wrote: > > This series implements the DAP "loadedSources" request. However, it > does so by exposing MI commands to Python, with MI output being > converted to Python objects via a new ui_out implementation. > > Regression tested on x86-64 Fedora 36. > > --- > Tom Tromey (9): > Use field_signed from Python MI commands > Use member initializers in mi_parse > Use accessor for mi_parse::args > Change mi_parse_argv to a method > Introduce "static constructor" for mi_parse > Introduce mi_parse helper methods > Add second mi_parse constructor > Implement gdb.execute_mi > Implement DAP loadedSources request > > gdb/Makefile.in | 1 + > gdb/NEWS | 3 + > gdb/data-directory/Makefile.in | 1 + > gdb/doc/python.texi | 29 ++++ > gdb/mi/mi-cmds.c | 6 +- > gdb/mi/mi-cmds.h | 5 + > gdb/mi/mi-main.c | 19 +- > gdb/mi/mi-parse.c | 192 +++++++++++++++----- > gdb/mi/mi-parse.h | 81 ++++++--- > gdb/python/lib/gdb/dap/__init__.py | 1 + > gdb/python/lib/gdb/dap/sources.py | 40 +++++ > gdb/python/py-mi.c | 298 ++++++++++++++++++++++++++= ++++++ > gdb/python/py-micmd.c | 20 ++- > gdb/python/python-internal.h | 5 + > gdb/python/python.c | 5 + > gdb/testsuite/gdb.dap/basic-dap.exp | 3 + > gdb/testsuite/gdb.python/py-exec-mi.exp | 32 ++++ > gdb/testsuite/gdb.python/py-mi-cmd.py | 18 ++ > 18 files changed, 682 insertions(+), 77 deletions(-) > --- > base-commit: 02d44d76584e4d483fe0fc677c12066ec23d67f4 > change-id: 20230404-dap-loaded-sources-5d01323a1240 > > Best regards, > -- > Tom Tromey >