Author: John Harrison Date: 2025-03-10T10:00:10-07:00 New Revision: 414e5c58cb5ca48e86e30150790bdcdaa2cc306e
URL: https://github.com/llvm/llvm-project/commit/414e5c58cb5ca48e86e30150790bdcdaa2cc306e DIFF: https://github.com/llvm/llvm-project/commit/414e5c58cb5ca48e86e30150790bdcdaa2cc306e.diff LOG: [lldb-dap] Migrating terminated statistics to the event body. (#130454) Per the DAP spec, the event 'body' field should contain any additional data related to the event. I updated the lldb-dap 'statistics' extension into the terminated event's body like: ``` { "type": "event", "seq": 0, "event": "terminated", "body": { "$__lldb_statistics": {...} } } ``` This allows us to more uniformly handle event messages. Added: Modified: lldb/test/API/tools/lldb-dap/terminated-event/TestDAP_terminatedEvent.py lldb/tools/lldb-dap/JSONUtils.cpp Removed: ################################################################################ diff --git a/lldb/test/API/tools/lldb-dap/terminated-event/TestDAP_terminatedEvent.py b/lldb/test/API/tools/lldb-dap/terminated-event/TestDAP_terminatedEvent.py index 6d1c25e8e4534..b0abe2a38dac4 100644 --- a/lldb/test/API/tools/lldb-dap/terminated-event/TestDAP_terminatedEvent.py +++ b/lldb/test/API/tools/lldb-dap/terminated-event/TestDAP_terminatedEvent.py @@ -43,7 +43,7 @@ def test_terminated_event(self): self.continue_to_breakpoints(breakpoint_ids) self.continue_to_exit() - statistics = self.dap_server.wait_for_terminated()["statistics"] + statistics = self.dap_server.wait_for_terminated()["body"]["$__lldb_statistics"] self.assertGreater(statistics["totalDebugInfoByteSize"], 0) self.assertGreater(statistics["totalDebugInfoEnabled"], 0) self.assertGreater(statistics["totalModuleCountHasDebugInfo"], 0) diff --git a/lldb/tools/lldb-dap/JSONUtils.cpp b/lldb/tools/lldb-dap/JSONUtils.cpp index 7094bf60bfbc2..932145b1799bd 100644 --- a/lldb/tools/lldb-dap/JSONUtils.cpp +++ b/lldb/tools/lldb-dap/JSONUtils.cpp @@ -1526,7 +1526,8 @@ static void addStatistic(lldb::SBTarget &target, llvm::json::Object &event) { const char *key = keys.GetStringAtIndex(i); FilterAndGetValueForKey(statistics, key, stats_body); } - event.try_emplace("statistics", std::move(stats_body)); + llvm::json::Object body{{"$__lldb_statistics", std::move(stats_body)}}; + event.try_emplace("body", std::move(body)); } llvm::json::Object CreateTerminatedEventObject(lldb::SBTarget &target) { _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits