https://github.com/JDevlieghere updated 
https://github.com/llvm/llvm-project/pull/128553

>From d6a556acb94c334c24308743aeedfaa7da51f872 Mon Sep 17 00:00:00 2001
From: Jonas Devlieghere <jo...@devlieghere.com>
Date: Mon, 24 Feb 2025 12:50:21 -0600
Subject: [PATCH 1/3] [lldb-dap] Finish refactoring the request handlers (NFC)

This removes the old way of register request handlers with callbacks.
---
 lldb/tools/lldb-dap/DAP.cpp      | 17 ++---------------
 lldb/tools/lldb-dap/DAP.h        | 19 ++-----------------
 lldb/tools/lldb-dap/lldb-dap.cpp |  2 --
 3 files changed, 4 insertions(+), 34 deletions(-)

diff --git a/lldb/tools/lldb-dap/DAP.cpp b/lldb/tools/lldb-dap/DAP.cpp
index c9487dd89b5dc..74af181931fc1 100644
--- a/lldb/tools/lldb-dap/DAP.cpp
+++ b/lldb/tools/lldb-dap/DAP.cpp
@@ -758,20 +758,12 @@ bool DAP::HandleObject(const llvm::json::Object &object) {
   if (packet_type == "request") {
     const auto command = GetString(object, "command");
 
-    // Try the new request handler first.
-    auto new_handler_pos = new_request_handlers.find(command);
-    if (new_handler_pos != new_request_handlers.end()) {
+    auto new_handler_pos = request_handlers.find(command);
+    if (new_handler_pos != request_handlers.end()) {
       (*new_handler_pos->second)(object);
       return true; // Success
     }
 
-    // FIXME: Remove request_handlers once everything has been migrated.
-    auto handler_pos = request_handlers.find(command);
-    if (handler_pos != request_handlers.end()) {
-      handler_pos->second(*this, object);
-      return true; // Success
-    }
-
     if (log)
       *log << "error: unhandled command \"" << command.data() << "\""
            << std::endl;
@@ -900,11 +892,6 @@ void DAP::SendReverseRequest(llvm::StringRef command,
   });
 }
 
-void DAP::RegisterRequestCallback(std::string request,
-                                  RequestCallback callback) {
-  request_handlers[request] = callback;
-}
-
 lldb::SBError DAP::WaitForProcessToStop(uint32_t seconds) {
   lldb::SBError error;
   lldb::SBProcess process = target.GetProcess();
diff --git a/lldb/tools/lldb-dap/DAP.h b/lldb/tools/lldb-dap/DAP.h
index ca26ea1b9a5de..c3cc3c3184ffb 100644
--- a/lldb/tools/lldb-dap/DAP.h
+++ b/lldb/tools/lldb-dap/DAP.h
@@ -68,7 +68,6 @@ enum DAPBroadcasterBits {
   eBroadcastBitStopProgressThread = 1u << 1
 };
 
-typedef void (*RequestCallback)(DAP &dap, const llvm::json::Object &command);
 typedef void (*ResponseCallback)(llvm::Expected<llvm::json::Value> value);
 
 enum class PacketStatus {
@@ -190,8 +189,7 @@ struct DAP {
   // the old process here so we can detect this case and keep running.
   lldb::pid_t restarting_process_id;
   bool configuration_done_sent;
-  std::map<std::string, RequestCallback, std::less<>> request_handlers;
-  llvm::StringMap<std::unique_ptr<RequestHandler>> new_request_handlers;
+  llvm::StringMap<std::unique_ptr<RequestHandler>> request_handlers;
   bool waiting_for_run_in_terminal;
   ProgressEventReporter progress_event_reporter;
   // Keep track of the last stop thread index IDs as threads won't go away
@@ -309,8 +307,6 @@ struct DAP {
   /// listeing for its breakpoint events.
   void SetTarget(const lldb::SBTarget target);
 
-  const std::map<std::string, RequestCallback> &GetRequestHandlers();
-
   PacketStatus GetNextObject(llvm::json::Object &object);
   bool HandleObject(const llvm::json::Object &object);
 
@@ -338,20 +334,9 @@ struct DAP {
   void SendReverseRequest(llvm::StringRef command, llvm::json::Value arguments,
                           ResponseCallback callback);
 
-  /// Registers a callback handler for a Debug Adapter Protocol request
-  ///
-  /// \param[in] request
-  ///     The name of the request following the Debug Adapter Protocol
-  ///     specification.
-  ///
-  /// \param[in] callback
-  ///     The callback to execute when the given request is triggered by the
-  ///     IDE.
-  void RegisterRequestCallback(std::string request, RequestCallback callback);
-
   /// Registers a request handler.
   template <typename Handler> void RegisterRequest() {
-    new_request_handlers[Handler::getCommand()] =
+    request_handlers[Handler::getCommand()] =
         std::make_unique<Handler>(*this);
   }
 
diff --git a/lldb/tools/lldb-dap/lldb-dap.cpp b/lldb/tools/lldb-dap/lldb-dap.cpp
index 7f196a958654c..5345d57a0b910 100644
--- a/lldb/tools/lldb-dap/lldb-dap.cpp
+++ b/lldb/tools/lldb-dap/lldb-dap.cpp
@@ -123,8 +123,6 @@ class LLDBDAPOptTable : public llvm::opt::GenericOptTable {
                                    InfoTable, true) {}
 };
 
-typedef void (*RequestCallback)(const llvm::json::Object &command);
-
 void RegisterRequestCallbacks(DAP &dap) {
   dap.RegisterRequest<AttachRequestHandler>();
   dap.RegisterRequest<BreakpointLocationsRequestHandler>();

>From 611d0c958f731060038211db47d9d1fe25af9244 Mon Sep 17 00:00:00 2001
From: Jonas Devlieghere <jo...@devlieghere.com>
Date: Mon, 24 Feb 2025 16:06:25 -0600
Subject: [PATCH 2/3] Make RequestHandler methods const

---
 .../lldb-dap/Handler/AttachRequestHandler.cpp |  2 +-
 .../Handler/BreakpointLocationsHandler.cpp    |  2 +-
 .../Handler/CompileUnitsRequestHandler.cpp    |  3 +-
 .../lldb-dap/Handler/CompletionsHandler.cpp   |  3 +-
 .../ConfigurationDoneRequestHandler.cpp       |  2 +-
 .../Handler/ContinueRequestHandler.cpp        |  3 +-
 .../DataBreakpointInfoRequestHandler.cpp      |  2 +-
 .../Handler/DisassembleRequestHandler.cpp     |  3 +-
 .../Handler/DisconnectRequestHandler.cpp      |  3 +-
 .../Handler/EvaluateRequestHandler.cpp        |  3 +-
 .../Handler/ExceptionInfoRequestHandler.cpp   |  2 +-
 .../Handler/InitializeRequestHandler.cpp      |  3 +-
 .../lldb-dap/Handler/LaunchRequestHandler.cpp |  2 +-
 .../Handler/LocationsRequestHandler.cpp       |  3 +-
 .../Handler/ModulesRequestHandler.cpp         |  3 +-
 .../lldb-dap/Handler/NextRequestHandler.cpp   |  2 +-
 .../lldb-dap/Handler/PauseRequestHandler.cpp  |  2 +-
 .../Handler/ReadMemoryRequestHandler.cpp      |  3 +-
 .../tools/lldb-dap/Handler/RequestHandler.cpp |  9 ++-
 lldb/tools/lldb-dap/Handler/RequestHandler.h  | 78 +++++++++----------
 .../Handler/RestartRequestHandler.cpp         |  3 +-
 .../lldb-dap/Handler/ScopesRequestHandler.cpp |  2 +-
 .../Handler/SetBreakpointsRequestHandler.cpp  |  2 +-
 .../SetDataBreakpointsRequestHandler.cpp      |  2 +-
 .../SetExceptionBreakpointsRequestHandler.cpp |  2 +-
 .../SetFunctionBreakpointsRequestHandler.cpp  |  2 +-
 ...etInstructionBreakpointsRequestHandler.cpp |  2 +-
 .../Handler/SetVariableRequestHandler.cpp     |  3 +-
 .../lldb-dap/Handler/SourceRequestHandler.cpp |  2 +-
 .../Handler/StackTraceRequestHandler.cpp      |  3 +-
 .../lldb-dap/Handler/StepInRequestHandler.cpp |  2 +-
 .../Handler/StepInTargetsRequestHandler.cpp   |  2 +-
 .../Handler/StepOutRequestHandler.cpp         |  3 +-
 ...TestGetTargetBreakpointsRequestHandler.cpp |  2 +-
 .../Handler/ThreadsRequestHandler.cpp         |  3 +-
 .../Handler/VariablesRequestHandler.cpp       |  3 +-
 36 files changed, 94 insertions(+), 77 deletions(-)

diff --git a/lldb/tools/lldb-dap/Handler/AttachRequestHandler.cpp 
b/lldb/tools/lldb-dap/Handler/AttachRequestHandler.cpp
index b36240a0d4acf..8b203e0392066 100644
--- a/lldb/tools/lldb-dap/Handler/AttachRequestHandler.cpp
+++ b/lldb/tools/lldb-dap/Handler/AttachRequestHandler.cpp
@@ -44,7 +44,7 @@ namespace lldb_dap {
 //   }]
 // }
 
-void AttachRequestHandler::operator()(const llvm::json::Object &request) {
+void AttachRequestHandler::operator()(const llvm::json::Object &request) const 
{
   dap.is_attach = true;
   dap.last_launch_or_attach_request = request;
   llvm::json::Object response;
diff --git a/lldb/tools/lldb-dap/Handler/BreakpointLocationsHandler.cpp 
b/lldb/tools/lldb-dap/Handler/BreakpointLocationsHandler.cpp
index a324e59999ab1..1b5c8ba307dcb 100644
--- a/lldb/tools/lldb-dap/Handler/BreakpointLocationsHandler.cpp
+++ b/lldb/tools/lldb-dap/Handler/BreakpointLocationsHandler.cpp
@@ -125,7 +125,7 @@ namespace lldb_dap {
 //   "required": [ "line" ]
 // },
 void BreakpointLocationsRequestHandler::operator()(
-    const llvm::json::Object &request) {
+    const llvm::json::Object &request) const {
   llvm::json::Object response;
   FillResponse(request, response);
   auto *arguments = request.getObject("arguments");
diff --git a/lldb/tools/lldb-dap/Handler/CompileUnitsRequestHandler.cpp 
b/lldb/tools/lldb-dap/Handler/CompileUnitsRequestHandler.cpp
index c541d1cd039c8..51ae44a0def9d 100644
--- a/lldb/tools/lldb-dap/Handler/CompileUnitsRequestHandler.cpp
+++ b/lldb/tools/lldb-dap/Handler/CompileUnitsRequestHandler.cpp
@@ -53,7 +53,8 @@ namespace lldb_dap {
 //     }
 //   }]
 // }
-void CompileUnitsRequestHandler::operator()(const llvm::json::Object &request) 
{
+void CompileUnitsRequestHandler::operator()(
+    const llvm::json::Object &request) const {
   llvm::json::Object response;
   FillResponse(request, response);
   llvm::json::Object body;
diff --git a/lldb/tools/lldb-dap/Handler/CompletionsHandler.cpp 
b/lldb/tools/lldb-dap/Handler/CompletionsHandler.cpp
index b7cafb3c47ac6..09b73054ca62f 100644
--- a/lldb/tools/lldb-dap/Handler/CompletionsHandler.cpp
+++ b/lldb/tools/lldb-dap/Handler/CompletionsHandler.cpp
@@ -128,7 +128,8 @@ namespace lldb_dap {
 //   "interface", "module", "property", "unit", "value", "enum", "keyword",
 //   "snippet", "text", "color", "file", "reference", "customcolor" ]
 // }
-void CompletionsRequestHandler::operator()(const llvm::json::Object &request) {
+void CompletionsRequestHandler::operator()(
+    const llvm::json::Object &request) const {
   llvm::json::Object response;
   FillResponse(request, response);
   llvm::json::Object body;
diff --git a/lldb/tools/lldb-dap/Handler/ConfigurationDoneRequestHandler.cpp 
b/lldb/tools/lldb-dap/Handler/ConfigurationDoneRequestHandler.cpp
index 429bcd21eab30..cd120e1fdfaba 100644
--- a/lldb/tools/lldb-dap/Handler/ConfigurationDoneRequestHandler.cpp
+++ b/lldb/tools/lldb-dap/Handler/ConfigurationDoneRequestHandler.cpp
@@ -45,7 +45,7 @@ namespace lldb_dap {
 //             }]
 // },
 void ConfigurationDoneRequestHandler::operator()(
-    const llvm::json::Object &request) {
+    const llvm::json::Object &request) const {
   llvm::json::Object response;
   FillResponse(request, response);
   dap.SendJSON(llvm::json::Value(std::move(response)));
diff --git a/lldb/tools/lldb-dap/Handler/ContinueRequestHandler.cpp 
b/lldb/tools/lldb-dap/Handler/ContinueRequestHandler.cpp
index cf0e8f1805327..214e3c59c594c 100644
--- a/lldb/tools/lldb-dap/Handler/ContinueRequestHandler.cpp
+++ b/lldb/tools/lldb-dap/Handler/ContinueRequestHandler.cpp
@@ -66,7 +66,8 @@ namespace lldb_dap {
 //     "required": [ "body" ]
 //   }]
 // }
-void ContinueRequestHandler::operator()(const llvm::json::Object &request) {
+void ContinueRequestHandler::operator()(
+    const llvm::json::Object &request) const {
   llvm::json::Object response;
   FillResponse(request, response);
   lldb::SBProcess process = dap.target.GetProcess();
diff --git a/lldb/tools/lldb-dap/Handler/DataBreakpointInfoRequestHandler.cpp 
b/lldb/tools/lldb-dap/Handler/DataBreakpointInfoRequestHandler.cpp
index 0d007ee52e07f..64829b93c783d 100644
--- a/lldb/tools/lldb-dap/Handler/DataBreakpointInfoRequestHandler.cpp
+++ b/lldb/tools/lldb-dap/Handler/DataBreakpointInfoRequestHandler.cpp
@@ -108,7 +108,7 @@ namespace lldb_dap {
 //   }]
 // }
 void DataBreakpointInfoRequestHandler::operator()(
-    const llvm::json::Object &request) {
+    const llvm::json::Object &request) const {
   llvm::json::Object response;
   FillResponse(request, response);
   llvm::json::Object body;
diff --git a/lldb/tools/lldb-dap/Handler/DisassembleRequestHandler.cpp 
b/lldb/tools/lldb-dap/Handler/DisassembleRequestHandler.cpp
index 6d25ef0fc5d74..4c2690d32d3b2 100644
--- a/lldb/tools/lldb-dap/Handler/DisassembleRequestHandler.cpp
+++ b/lldb/tools/lldb-dap/Handler/DisassembleRequestHandler.cpp
@@ -87,7 +87,8 @@ namespace lldb_dap {
 //     }
 //   }]
 // }
-void DisassembleRequestHandler::operator()(const llvm::json::Object &request) {
+void DisassembleRequestHandler::operator()(
+    const llvm::json::Object &request) const {
   llvm::json::Object response;
   FillResponse(request, response);
   auto *arguments = request.getObject("arguments");
diff --git a/lldb/tools/lldb-dap/Handler/DisconnectRequestHandler.cpp 
b/lldb/tools/lldb-dap/Handler/DisconnectRequestHandler.cpp
index 4d2e2518626e8..1d6ff0d039405 100644
--- a/lldb/tools/lldb-dap/Handler/DisconnectRequestHandler.cpp
+++ b/lldb/tools/lldb-dap/Handler/DisconnectRequestHandler.cpp
@@ -57,7 +57,8 @@ namespace lldb_dap {
 //                     acknowledgement, so no body field is required."
 //   }]
 // }
-void DisconnectRequestHandler::operator()(const llvm::json::Object &request) {
+void DisconnectRequestHandler::operator()(
+    const llvm::json::Object &request) const {
   llvm::json::Object response;
   FillResponse(request, response);
   const auto *arguments = request.getObject("arguments");
diff --git a/lldb/tools/lldb-dap/Handler/EvaluateRequestHandler.cpp 
b/lldb/tools/lldb-dap/Handler/EvaluateRequestHandler.cpp
index ed4a13a66c488..36a9d9bff5db9 100644
--- a/lldb/tools/lldb-dap/Handler/EvaluateRequestHandler.cpp
+++ b/lldb/tools/lldb-dap/Handler/EvaluateRequestHandler.cpp
@@ -138,7 +138,8 @@ namespace lldb_dap {
 //      "required": [ "body" ]
 //    }]
 //  }
-void EvaluateRequestHandler::operator()(const llvm::json::Object &request) {
+void EvaluateRequestHandler::operator()(
+    const llvm::json::Object &request) const {
   llvm::json::Object response;
   FillResponse(request, response);
   llvm::json::Object body;
diff --git a/lldb/tools/lldb-dap/Handler/ExceptionInfoRequestHandler.cpp 
b/lldb/tools/lldb-dap/Handler/ExceptionInfoRequestHandler.cpp
index ca12e505e0630..2f4d4efd1b189 100644
--- a/lldb/tools/lldb-dap/Handler/ExceptionInfoRequestHandler.cpp
+++ b/lldb/tools/lldb-dap/Handler/ExceptionInfoRequestHandler.cpp
@@ -112,7 +112,7 @@ namespace lldb_dap {
 //   }
 // },
 void ExceptionInfoRequestHandler::operator()(
-    const llvm::json::Object &request) {
+    const llvm::json::Object &request) const {
   llvm::json::Object response;
   FillResponse(request, response);
   const auto *arguments = request.getObject("arguments");
diff --git a/lldb/tools/lldb-dap/Handler/InitializeRequestHandler.cpp 
b/lldb/tools/lldb-dap/Handler/InitializeRequestHandler.cpp
index aba746cbafea9..e9041f3985523 100644
--- a/lldb/tools/lldb-dap/Handler/InitializeRequestHandler.cpp
+++ b/lldb/tools/lldb-dap/Handler/InitializeRequestHandler.cpp
@@ -246,7 +246,8 @@ static void EventThreadFunction(DAP &dap) {
 //     }
 //   }]
 // }
-void InitializeRequestHandler::operator()(const llvm::json::Object &request) {
+void InitializeRequestHandler::operator()(
+    const llvm::json::Object &request) const {
   llvm::json::Object response;
   FillResponse(request, response);
   llvm::json::Object body;
diff --git a/lldb/tools/lldb-dap/Handler/LaunchRequestHandler.cpp 
b/lldb/tools/lldb-dap/Handler/LaunchRequestHandler.cpp
index 57d8463390b2f..a41bdd36e5fef 100644
--- a/lldb/tools/lldb-dap/Handler/LaunchRequestHandler.cpp
+++ b/lldb/tools/lldb-dap/Handler/LaunchRequestHandler.cpp
@@ -48,7 +48,7 @@ namespace lldb_dap {
 //                     acknowledgement, so no body field is required."
 //   }]
 // }
-void LaunchRequestHandler::operator()(const llvm::json::Object &request) {
+void LaunchRequestHandler::operator()(const llvm::json::Object &request) const 
{
   dap.is_attach = false;
   dap.last_launch_or_attach_request = request;
   llvm::json::Object response;
diff --git a/lldb/tools/lldb-dap/Handler/LocationsRequestHandler.cpp 
b/lldb/tools/lldb-dap/Handler/LocationsRequestHandler.cpp
index 81ec42689b13f..fa763f3ffe931 100644
--- a/lldb/tools/lldb-dap/Handler/LocationsRequestHandler.cpp
+++ b/lldb/tools/lldb-dap/Handler/LocationsRequestHandler.cpp
@@ -91,7 +91,8 @@ namespace lldb_dap {
 //     }
 //   }]
 // },
-void LocationsRequestHandler::operator()(const llvm::json::Object &request) {
+void LocationsRequestHandler::operator()(
+    const llvm::json::Object &request) const {
   llvm::json::Object response;
   FillResponse(request, response);
   auto *arguments = request.getObject("arguments");
diff --git a/lldb/tools/lldb-dap/Handler/ModulesRequestHandler.cpp 
b/lldb/tools/lldb-dap/Handler/ModulesRequestHandler.cpp
index f72faa7be8963..ed51d395768c4 100644
--- a/lldb/tools/lldb-dap/Handler/ModulesRequestHandler.cpp
+++ b/lldb/tools/lldb-dap/Handler/ModulesRequestHandler.cpp
@@ -39,7 +39,8 @@ namespace lldb_dap {
 //     }
 //   }]
 // }
-void ModulesRequestHandler::operator()(const llvm::json::Object &request) {
+void ModulesRequestHandler::operator()(
+    const llvm::json::Object &request) const {
   llvm::json::Object response;
   FillResponse(request, response);
 
diff --git a/lldb/tools/lldb-dap/Handler/NextRequestHandler.cpp 
b/lldb/tools/lldb-dap/Handler/NextRequestHandler.cpp
index 695703fe301b3..216e710035cb1 100644
--- a/lldb/tools/lldb-dap/Handler/NextRequestHandler.cpp
+++ b/lldb/tools/lldb-dap/Handler/NextRequestHandler.cpp
@@ -56,7 +56,7 @@ namespace lldb_dap {
 //                     acknowledgement, so no body field is required."
 //   }]
 // }
-void NextRequestHandler::operator()(const llvm::json::Object &request) {
+void NextRequestHandler::operator()(const llvm::json::Object &request) const {
   llvm::json::Object response;
   FillResponse(request, response);
   const auto *arguments = request.getObject("arguments");
diff --git a/lldb/tools/lldb-dap/Handler/PauseRequestHandler.cpp 
b/lldb/tools/lldb-dap/Handler/PauseRequestHandler.cpp
index 69b5d60655a1d..99917b2e28223 100644
--- a/lldb/tools/lldb-dap/Handler/PauseRequestHandler.cpp
+++ b/lldb/tools/lldb-dap/Handler/PauseRequestHandler.cpp
@@ -49,7 +49,7 @@ namespace lldb_dap {
 //     acknowledgement, so no body field is required."
 //   }]
 // }
-void PauseRequestHandler::operator()(const llvm::json::Object &request) {
+void PauseRequestHandler::operator()(const llvm::json::Object &request) const {
   llvm::json::Object response;
   FillResponse(request, response);
   lldb::SBProcess process = dap.target.GetProcess();
diff --git a/lldb/tools/lldb-dap/Handler/ReadMemoryRequestHandler.cpp 
b/lldb/tools/lldb-dap/Handler/ReadMemoryRequestHandler.cpp
index f258dae3e4a22..bc8158f9d3079 100644
--- a/lldb/tools/lldb-dap/Handler/ReadMemoryRequestHandler.cpp
+++ b/lldb/tools/lldb-dap/Handler/ReadMemoryRequestHandler.cpp
@@ -92,7 +92,8 @@ namespace lldb_dap {
 //     }
 //   }]
 // },
-void ReadMemoryRequestHandler::operator()(const llvm::json::Object &request) {
+void ReadMemoryRequestHandler::operator()(
+    const llvm::json::Object &request) const {
   llvm::json::Object response;
   FillResponse(request, response);
   auto *arguments = request.getObject("arguments");
diff --git a/lldb/tools/lldb-dap/Handler/RequestHandler.cpp 
b/lldb/tools/lldb-dap/Handler/RequestHandler.cpp
index f9502e09846d4..ad00e43947212 100644
--- a/lldb/tools/lldb-dap/Handler/RequestHandler.cpp
+++ b/lldb/tools/lldb-dap/Handler/RequestHandler.cpp
@@ -34,7 +34,7 @@ MakeArgv(const llvm::ArrayRef<std::string> &strs) {
 // Both attach and launch take a either a sourcePath or sourceMap
 // argument (or neither), from which we need to set the target.source-map.
 void RequestHandler::SetSourceMapFromArguments(
-    const llvm::json::Object &arguments) {
+    const llvm::json::Object &arguments) const {
   const char *sourceMapHelp =
       "source must be be an array of two-element arrays, "
       "each containing a source and replacement path string.\n";
@@ -153,7 +153,8 @@ static llvm::Error RunInTerminal(DAP &dap,
                                  error.GetCString());
 }
 
-lldb::SBError RequestHandler::LaunchProcess(const llvm::json::Object &request) 
{
+lldb::SBError
+RequestHandler::LaunchProcess(const llvm::json::Object &request) const {
   lldb::SBError error;
   const auto *arguments = request.getObject("arguments");
   auto launchCommands = GetStrings(arguments, "launchCommands");
@@ -219,14 +220,14 @@ lldb::SBError RequestHandler::LaunchProcess(const 
llvm::json::Object &request) {
   return error;
 }
 
-void RequestHandler::PrintWelcomeMessage() {
+void RequestHandler::PrintWelcomeMessage() const {
 #ifdef LLDB_DAP_WELCOME_MESSAGE
   dap.SendOutput(OutputType::Console, LLDB_DAP_WELCOME_MESSAGE);
 #endif
 }
 
 bool RequestHandler::HasInstructionGranularity(
-    const llvm::json::Object &arguments) {
+    const llvm::json::Object &arguments) const {
   if (std::optional<llvm::StringRef> value = 
arguments.getString("granularity"))
     return value == "instruction";
   return false;
diff --git a/lldb/tools/lldb-dap/Handler/RequestHandler.h 
b/lldb/tools/lldb-dap/Handler/RequestHandler.h
index 93a2a08e8dd32..b44367518bcb9 100644
--- a/lldb/tools/lldb-dap/Handler/RequestHandler.h
+++ b/lldb/tools/lldb-dap/Handler/RequestHandler.h
@@ -28,7 +28,7 @@ class RequestHandler {
 
   virtual ~RequestHandler() = default;
 
-  virtual void operator()(const llvm::json::Object &request) = 0;
+  virtual void operator()(const llvm::json::Object &request) const = 0;
 
 protected:
   /// Helpers used by multiple request handlers.
@@ -37,20 +37,20 @@ class RequestHandler {
 
   /// Both attach and launch take a either a sourcePath or sourceMap
   /// argument (or neither), from which we need to set the target.source-map.
-  void SetSourceMapFromArguments(const llvm::json::Object &arguments);
+  void SetSourceMapFromArguments(const llvm::json::Object &arguments) const;
 
   /// Prints a welcome message on the editor if the preprocessor variable
   /// LLDB_DAP_WELCOME_MESSAGE is defined.
-  void PrintWelcomeMessage();
+  void PrintWelcomeMessage() const;
 
   // Takes a LaunchRequest object and launches the process, also handling
   // runInTerminal if applicable. It doesn't do any of the additional
   // initialization and bookkeeping stuff that is needed for `request_launch`.
   // This way we can reuse the process launching logic for RestartRequest too.
-  lldb::SBError LaunchProcess(const llvm::json::Object &request);
+  lldb::SBError LaunchProcess(const llvm::json::Object &request) const;
 
   // Check if the step-granularity is `instruction`.
-  bool HasInstructionGranularity(const llvm::json::Object &request);
+  bool HasInstructionGranularity(const llvm::json::Object &request) const;
 
   /// @}
 
@@ -61,140 +61,140 @@ class AttachRequestHandler : public RequestHandler {
 public:
   using RequestHandler::RequestHandler;
   static llvm::StringLiteral getCommand() { return "attach"; }
-  void operator()(const llvm::json::Object &request) override;
+  void operator()(const llvm::json::Object &request) const override;
 };
 
 class BreakpointLocationsRequestHandler : public RequestHandler {
 public:
   using RequestHandler::RequestHandler;
   static llvm::StringLiteral getCommand() { return "breakpointLocations"; }
-  void operator()(const llvm::json::Object &request) override;
+  void operator()(const llvm::json::Object &request) const override;
 };
 
 class CompletionsRequestHandler : public RequestHandler {
 public:
   using RequestHandler::RequestHandler;
   static llvm::StringLiteral getCommand() { return "completions"; }
-  void operator()(const llvm::json::Object &request) override;
+  void operator()(const llvm::json::Object &request) const override;
 };
 
 class ContinueRequestHandler : public RequestHandler {
 public:
   using RequestHandler::RequestHandler;
   static llvm::StringLiteral getCommand() { return "continue"; }
-  void operator()(const llvm::json::Object &request) override;
+  void operator()(const llvm::json::Object &request) const override;
 };
 
 class ConfigurationDoneRequestHandler : public RequestHandler {
 public:
   using RequestHandler::RequestHandler;
   static llvm::StringLiteral getCommand() { return "configurationDone"; }
-  void operator()(const llvm::json::Object &request) override;
+  void operator()(const llvm::json::Object &request) const override;
 };
 
 class DisconnectRequestHandler : public RequestHandler {
 public:
   using RequestHandler::RequestHandler;
   static llvm::StringLiteral getCommand() { return "disconnect"; }
-  void operator()(const llvm::json::Object &request) override;
+  void operator()(const llvm::json::Object &request) const override;
 };
 
 class EvaluateRequestHandler : public RequestHandler {
 public:
   using RequestHandler::RequestHandler;
   static llvm::StringLiteral getCommand() { return "evaluate"; }
-  void operator()(const llvm::json::Object &request) override;
+  void operator()(const llvm::json::Object &request) const override;
 };
 
 class ExceptionInfoRequestHandler : public RequestHandler {
 public:
   using RequestHandler::RequestHandler;
   static llvm::StringLiteral getCommand() { return "exceptionInfo"; }
-  void operator()(const llvm::json::Object &request) override;
+  void operator()(const llvm::json::Object &request) const override;
 };
 
 class InitializeRequestHandler : public RequestHandler {
 public:
   using RequestHandler::RequestHandler;
   static llvm::StringLiteral getCommand() { return "initialize"; }
-  void operator()(const llvm::json::Object &request) override;
+  void operator()(const llvm::json::Object &request) const override;
 };
 
 class LaunchRequestHandler : public RequestHandler {
 public:
   using RequestHandler::RequestHandler;
   static llvm::StringLiteral getCommand() { return "launch"; }
-  void operator()(const llvm::json::Object &request) override;
+  void operator()(const llvm::json::Object &request) const override;
 };
 
 class RestartRequestHandler : public RequestHandler {
 public:
   using RequestHandler::RequestHandler;
   static llvm::StringLiteral getCommand() { return "restart"; }
-  void operator()(const llvm::json::Object &request) override;
+  void operator()(const llvm::json::Object &request) const override;
 };
 
 class NextRequestHandler : public RequestHandler {
 public:
   using RequestHandler::RequestHandler;
   static llvm::StringLiteral getCommand() { return "next"; }
-  void operator()(const llvm::json::Object &request) override;
+  void operator()(const llvm::json::Object &request) const override;
 };
 
 class StepInRequestHandler : public RequestHandler {
 public:
   using RequestHandler::RequestHandler;
   static llvm::StringLiteral getCommand() { return "stepIn"; }
-  void operator()(const llvm::json::Object &request) override;
+  void operator()(const llvm::json::Object &request) const override;
 };
 
 class StepInTargetsRequestHandler : public RequestHandler {
 public:
   using RequestHandler::RequestHandler;
   static llvm::StringLiteral getCommand() { return "stepInTargets"; }
-  void operator()(const llvm::json::Object &request) override;
+  void operator()(const llvm::json::Object &request) const override;
 };
 
 class StepOutRequestHandler : public RequestHandler {
 public:
   using RequestHandler::RequestHandler;
   static llvm::StringLiteral getCommand() { return "stepOut"; }
-  void operator()(const llvm::json::Object &request) override;
+  void operator()(const llvm::json::Object &request) const override;
 };
 
 class SetBreakpointsRequestHandler : public RequestHandler {
 public:
   using RequestHandler::RequestHandler;
   static llvm::StringLiteral getCommand() { return "setBreakpoints"; }
-  void operator()(const llvm::json::Object &request) override;
+  void operator()(const llvm::json::Object &request) const override;
 };
 
 class SetExceptionBreakpointsRequestHandler : public RequestHandler {
 public:
   using RequestHandler::RequestHandler;
   static llvm::StringLiteral getCommand() { return "setExceptionBreakpoints"; }
-  void operator()(const llvm::json::Object &request) override;
+  void operator()(const llvm::json::Object &request) const override;
 };
 
 class SetFunctionBreakpointsRequestHandler : public RequestHandler {
 public:
   using RequestHandler::RequestHandler;
   static llvm::StringLiteral getCommand() { return "setFunctionBreakpoints"; }
-  void operator()(const llvm::json::Object &request) override;
+  void operator()(const llvm::json::Object &request) const override;
 };
 
 class DataBreakpointInfoRequestHandler : public RequestHandler {
 public:
   using RequestHandler::RequestHandler;
   static llvm::StringLiteral getCommand() { return "dataBreakpointInfo"; }
-  void operator()(const llvm::json::Object &request) override;
+  void operator()(const llvm::json::Object &request) const override;
 };
 
 class SetDataBreakpointsRequestHandler : public RequestHandler {
 public:
   using RequestHandler::RequestHandler;
   static llvm::StringLiteral getCommand() { return "setDataBreakpoints"; }
-  void operator()(const llvm::json::Object &request) override;
+  void operator()(const llvm::json::Object &request) const override;
 };
 
 class SetInstructionBreakpointsRequestHandler : public RequestHandler {
@@ -203,91 +203,91 @@ class SetInstructionBreakpointsRequestHandler : public 
RequestHandler {
   static llvm::StringLiteral getCommand() {
     return "setInstructionBreakpoints";
   }
-  void operator()(const llvm::json::Object &request) override;
+  void operator()(const llvm::json::Object &request) const override;
 };
 
 class CompileUnitsRequestHandler : public RequestHandler {
 public:
   using RequestHandler::RequestHandler;
   static llvm::StringLiteral getCommand() { return "compileUnits"; }
-  void operator()(const llvm::json::Object &request) override;
+  void operator()(const llvm::json::Object &request) const override;
 };
 
 class ModulesRequestHandler : public RequestHandler {
 public:
   using RequestHandler::RequestHandler;
   static llvm::StringLiteral getCommand() { return "modules"; }
-  void operator()(const llvm::json::Object &request) override;
+  void operator()(const llvm::json::Object &request) const override;
 };
 
 class PauseRequestHandler : public RequestHandler {
 public:
   using RequestHandler::RequestHandler;
   static llvm::StringLiteral getCommand() { return "pause"; }
-  void operator()(const llvm::json::Object &request) override;
+  void operator()(const llvm::json::Object &request) const override;
 };
 
 class ScopesRequestHandler : public RequestHandler {
 public:
   using RequestHandler::RequestHandler;
   static llvm::StringLiteral getCommand() { return "scopes"; }
-  void operator()(const llvm::json::Object &request) override;
+  void operator()(const llvm::json::Object &request) const override;
 };
 
 class SetVariableRequestHandler : public RequestHandler {
 public:
   using RequestHandler::RequestHandler;
   static llvm::StringLiteral getCommand() { return "setVariable"; }
-  void operator()(const llvm::json::Object &request) override;
+  void operator()(const llvm::json::Object &request) const override;
 };
 
 class SourceRequestHandler : public RequestHandler {
 public:
   using RequestHandler::RequestHandler;
   static llvm::StringLiteral getCommand() { return "source"; }
-  void operator()(const llvm::json::Object &request) override;
+  void operator()(const llvm::json::Object &request) const override;
 };
 
 class StackTraceRequestHandler : public RequestHandler {
 public:
   using RequestHandler::RequestHandler;
   static llvm::StringLiteral getCommand() { return "stackTrace"; }
-  void operator()(const llvm::json::Object &request) override;
+  void operator()(const llvm::json::Object &request) const override;
 };
 
 class ThreadsRequestHandler : public RequestHandler {
 public:
   using RequestHandler::RequestHandler;
   static llvm::StringLiteral getCommand() { return "threads"; }
-  void operator()(const llvm::json::Object &request) override;
+  void operator()(const llvm::json::Object &request) const override;
 };
 
 class VariablesRequestHandler : public RequestHandler {
 public:
   using RequestHandler::RequestHandler;
   static llvm::StringLiteral getCommand() { return "variables"; }
-  void operator()(const llvm::json::Object &request) override;
+  void operator()(const llvm::json::Object &request) const override;
 };
 
 class LocationsRequestHandler : public RequestHandler {
 public:
   using RequestHandler::RequestHandler;
   static llvm::StringLiteral getCommand() { return "locations"; }
-  void operator()(const llvm::json::Object &request) override;
+  void operator()(const llvm::json::Object &request) const override;
 };
 
 class DisassembleRequestHandler : public RequestHandler {
 public:
   using RequestHandler::RequestHandler;
   static llvm::StringLiteral getCommand() { return "disassemble"; }
-  void operator()(const llvm::json::Object &request) override;
+  void operator()(const llvm::json::Object &request) const override;
 };
 
 class ReadMemoryRequestHandler : public RequestHandler {
 public:
   using RequestHandler::RequestHandler;
   static llvm::StringLiteral getCommand() { return "readMemory"; }
-  void operator()(const llvm::json::Object &request) override;
+  void operator()(const llvm::json::Object &request) const override;
 };
 
 /// A request used in testing to get the details on all breakpoints that are
@@ -300,7 +300,7 @@ class TestGetTargetBreakpointsRequestHandler : public 
RequestHandler {
   static llvm::StringLiteral getCommand() {
     return "_testGetTargetBreakpoints";
   }
-  void operator()(const llvm::json::Object &request) override;
+  void operator()(const llvm::json::Object &request) const override;
 };
 
 } // namespace lldb_dap
diff --git a/lldb/tools/lldb-dap/Handler/RestartRequestHandler.cpp 
b/lldb/tools/lldb-dap/Handler/RestartRequestHandler.cpp
index ddb436c4e5ec6..c8f43b7a76e8b 100644
--- a/lldb/tools/lldb-dap/Handler/RestartRequestHandler.cpp
+++ b/lldb/tools/lldb-dap/Handler/RestartRequestHandler.cpp
@@ -56,7 +56,8 @@ namespace lldb_dap {
 //     acknowledgement, so no body field is required."
 //   }]
 // },
-void RestartRequestHandler::operator()(const llvm::json::Object &request) {
+void RestartRequestHandler::operator()(
+    const llvm::json::Object &request) const {
   llvm::json::Object response;
   FillResponse(request, response);
   if (!dap.last_launch_or_attach_request) {
diff --git a/lldb/tools/lldb-dap/Handler/ScopesRequestHandler.cpp 
b/lldb/tools/lldb-dap/Handler/ScopesRequestHandler.cpp
index d9a831436ec0e..7d1608f59f9a4 100644
--- a/lldb/tools/lldb-dap/Handler/ScopesRequestHandler.cpp
+++ b/lldb/tools/lldb-dap/Handler/ScopesRequestHandler.cpp
@@ -64,7 +64,7 @@ namespace lldb_dap {
 //     "required": [ "body" ]
 //   }]
 // }
-void ScopesRequestHandler::operator()(const llvm::json::Object &request) {
+void ScopesRequestHandler::operator()(const llvm::json::Object &request) const 
{
   llvm::json::Object response;
   FillResponse(request, response);
   llvm::json::Object body;
diff --git a/lldb/tools/lldb-dap/Handler/SetBreakpointsRequestHandler.cpp 
b/lldb/tools/lldb-dap/Handler/SetBreakpointsRequestHandler.cpp
index 6dbd24c130db6..413db38733ffa 100644
--- a/lldb/tools/lldb-dap/Handler/SetBreakpointsRequestHandler.cpp
+++ b/lldb/tools/lldb-dap/Handler/SetBreakpointsRequestHandler.cpp
@@ -124,7 +124,7 @@ namespace lldb_dap {
 //   "required": [ "line" ]
 // }
 void SetBreakpointsRequestHandler::operator()(
-    const llvm::json::Object &request) {
+    const llvm::json::Object &request) const {
   llvm::json::Object response;
   lldb::SBError error;
   FillResponse(request, response);
diff --git a/lldb/tools/lldb-dap/Handler/SetDataBreakpointsRequestHandler.cpp 
b/lldb/tools/lldb-dap/Handler/SetDataBreakpointsRequestHandler.cpp
index 9c2308f7a6bcd..87310131255e1 100644
--- a/lldb/tools/lldb-dap/Handler/SetDataBreakpointsRequestHandler.cpp
+++ b/lldb/tools/lldb-dap/Handler/SetDataBreakpointsRequestHandler.cpp
@@ -76,7 +76,7 @@ namespace lldb_dap {
 //   }]
 // }
 void SetDataBreakpointsRequestHandler::operator()(
-    const llvm::json::Object &request) {
+    const llvm::json::Object &request) const {
   llvm::json::Object response;
   lldb::SBError error;
   FillResponse(request, response);
diff --git 
a/lldb/tools/lldb-dap/Handler/SetExceptionBreakpointsRequestHandler.cpp 
b/lldb/tools/lldb-dap/Handler/SetExceptionBreakpointsRequestHandler.cpp
index d208525385094..8be5d870a070f 100644
--- a/lldb/tools/lldb-dap/Handler/SetExceptionBreakpointsRequestHandler.cpp
+++ b/lldb/tools/lldb-dap/Handler/SetExceptionBreakpointsRequestHandler.cpp
@@ -62,7 +62,7 @@ namespace lldb_dap {
 //   }]
 // }
 void SetExceptionBreakpointsRequestHandler::operator()(
-    const llvm::json::Object &request) {
+    const llvm::json::Object &request) const {
   llvm::json::Object response;
   lldb::SBError error;
   FillResponse(request, response);
diff --git 
a/lldb/tools/lldb-dap/Handler/SetFunctionBreakpointsRequestHandler.cpp 
b/lldb/tools/lldb-dap/Handler/SetFunctionBreakpointsRequestHandler.cpp
index e55cfaef8c897..945df68936bac 100644
--- a/lldb/tools/lldb-dap/Handler/SetFunctionBreakpointsRequestHandler.cpp
+++ b/lldb/tools/lldb-dap/Handler/SetFunctionBreakpointsRequestHandler.cpp
@@ -92,7 +92,7 @@ namespace lldb_dap {
 //   }]
 // }
 void SetFunctionBreakpointsRequestHandler::operator()(
-    const llvm::json::Object &request) {
+    const llvm::json::Object &request) const {
   llvm::json::Object response;
   lldb::SBError error;
   FillResponse(request, response);
diff --git 
a/lldb/tools/lldb-dap/Handler/SetInstructionBreakpointsRequestHandler.cpp 
b/lldb/tools/lldb-dap/Handler/SetInstructionBreakpointsRequestHandler.cpp
index 636d9b814ab76..ec9576d4ab415 100644
--- a/lldb/tools/lldb-dap/Handler/SetInstructionBreakpointsRequestHandler.cpp
+++ b/lldb/tools/lldb-dap/Handler/SetInstructionBreakpointsRequestHandler.cpp
@@ -201,7 +201,7 @@ namespace lldb_dap {
 //   "required": ["verified"]
 // },
 void SetInstructionBreakpointsRequestHandler::operator()(
-    const llvm::json::Object &request) {
+    const llvm::json::Object &request) const {
   llvm::json::Object response;
   llvm::json::Array response_breakpoints;
   llvm::json::Object body;
diff --git a/lldb/tools/lldb-dap/Handler/SetVariableRequestHandler.cpp 
b/lldb/tools/lldb-dap/Handler/SetVariableRequestHandler.cpp
index 93355f5f35a67..3a271bc1a1db5 100644
--- a/lldb/tools/lldb-dap/Handler/SetVariableRequestHandler.cpp
+++ b/lldb/tools/lldb-dap/Handler/SetVariableRequestHandler.cpp
@@ -106,7 +106,8 @@ namespace lldb_dap {
 //     "required": [ "body" ]
 //   }]
 // }
-void SetVariableRequestHandler::operator()(const llvm::json::Object &request) {
+void SetVariableRequestHandler::operator()(
+    const llvm::json::Object &request) const {
   llvm::json::Object response;
   FillResponse(request, response);
   llvm::json::Array variables;
diff --git a/lldb/tools/lldb-dap/Handler/SourceRequestHandler.cpp 
b/lldb/tools/lldb-dap/Handler/SourceRequestHandler.cpp
index 03561c9e64922..9844d8cd81eb6 100644
--- a/lldb/tools/lldb-dap/Handler/SourceRequestHandler.cpp
+++ b/lldb/tools/lldb-dap/Handler/SourceRequestHandler.cpp
@@ -71,7 +71,7 @@ namespace lldb_dap {
 //     "required": [ "body" ]
 //   }]
 // }
-void SourceRequestHandler::operator()(const llvm::json::Object &request) {
+void SourceRequestHandler::operator()(const llvm::json::Object &request) const 
{
   llvm::json::Object response;
   FillResponse(request, response);
   llvm::json::Object body{{"content", ""}};
diff --git a/lldb/tools/lldb-dap/Handler/StackTraceRequestHandler.cpp 
b/lldb/tools/lldb-dap/Handler/StackTraceRequestHandler.cpp
index c7c8bbf6902e9..e5ba939134d25 100644
--- a/lldb/tools/lldb-dap/Handler/StackTraceRequestHandler.cpp
+++ b/lldb/tools/lldb-dap/Handler/StackTraceRequestHandler.cpp
@@ -168,7 +168,8 @@ static bool FillStackFrames(DAP &dap, lldb::SBThread 
&thread,
 //     "required": [ "body" ]
 //   }]
 // }
-void StackTraceRequestHandler::operator()(const llvm::json::Object &request) {
+void StackTraceRequestHandler::operator()(
+    const llvm::json::Object &request) const {
   llvm::json::Object response;
   FillResponse(request, response);
   lldb::SBError error;
diff --git a/lldb/tools/lldb-dap/Handler/StepInRequestHandler.cpp 
b/lldb/tools/lldb-dap/Handler/StepInRequestHandler.cpp
index f435436734538..98fa74a3044d9 100644
--- a/lldb/tools/lldb-dap/Handler/StepInRequestHandler.cpp
+++ b/lldb/tools/lldb-dap/Handler/StepInRequestHandler.cpp
@@ -63,7 +63,7 @@ namespace lldb_dap {
 //     acknowledgement, so no body field is required."
 //   }]
 // }
-void StepInRequestHandler::operator()(const llvm::json::Object &request) {
+void StepInRequestHandler::operator()(const llvm::json::Object &request) const 
{
   llvm::json::Object response;
   FillResponse(request, response);
   const auto *arguments = request.getObject("arguments");
diff --git a/lldb/tools/lldb-dap/Handler/StepInTargetsRequestHandler.cpp 
b/lldb/tools/lldb-dap/Handler/StepInTargetsRequestHandler.cpp
index e771780711ae9..9b99791599f82 100644
--- a/lldb/tools/lldb-dap/Handler/StepInTargetsRequestHandler.cpp
+++ b/lldb/tools/lldb-dap/Handler/StepInTargetsRequestHandler.cpp
@@ -68,7 +68,7 @@ namespace lldb_dap {
 //   }]
 // }
 void StepInTargetsRequestHandler::operator()(
-    const llvm::json::Object &request) {
+    const llvm::json::Object &request) const {
   llvm::json::Object response;
   FillResponse(request, response);
   const auto *arguments = request.getObject("arguments");
diff --git a/lldb/tools/lldb-dap/Handler/StepOutRequestHandler.cpp 
b/lldb/tools/lldb-dap/Handler/StepOutRequestHandler.cpp
index d71547d579f1f..39d68d21a23d4 100644
--- a/lldb/tools/lldb-dap/Handler/StepOutRequestHandler.cpp
+++ b/lldb/tools/lldb-dap/Handler/StepOutRequestHandler.cpp
@@ -49,7 +49,8 @@ namespace lldb_dap {
 //     acknowledgement, so no body field is required."
 //   }]
 // }
-void StepOutRequestHandler::operator()(const llvm::json::Object &request) {
+void StepOutRequestHandler::operator()(
+    const llvm::json::Object &request) const {
   llvm::json::Object response;
   FillResponse(request, response);
   const auto *arguments = request.getObject("arguments");
diff --git 
a/lldb/tools/lldb-dap/Handler/TestGetTargetBreakpointsRequestHandler.cpp 
b/lldb/tools/lldb-dap/Handler/TestGetTargetBreakpointsRequestHandler.cpp
index ad012d75f9059..54c11cfa0b791 100644
--- a/lldb/tools/lldb-dap/Handler/TestGetTargetBreakpointsRequestHandler.cpp
+++ b/lldb/tools/lldb-dap/Handler/TestGetTargetBreakpointsRequestHandler.cpp
@@ -14,7 +14,7 @@
 namespace lldb_dap {
 
 void TestGetTargetBreakpointsRequestHandler::operator()(
-    const llvm::json::Object &request) {
+    const llvm::json::Object &request) const {
   llvm::json::Object response;
   FillResponse(request, response);
   llvm::json::Array response_breakpoints;
diff --git a/lldb/tools/lldb-dap/Handler/ThreadsRequestHandler.cpp 
b/lldb/tools/lldb-dap/Handler/ThreadsRequestHandler.cpp
index a70722b11fb29..2b857f7f6a02b 100644
--- a/lldb/tools/lldb-dap/Handler/ThreadsRequestHandler.cpp
+++ b/lldb/tools/lldb-dap/Handler/ThreadsRequestHandler.cpp
@@ -48,7 +48,8 @@ namespace lldb_dap {
 //     "required": [ "body" ]
 //   }]
 // }
-void ThreadsRequestHandler::operator()(const llvm::json::Object &request) {
+void ThreadsRequestHandler::operator()(
+    const llvm::json::Object &request) const {
   lldb::SBProcess process = dap.target.GetProcess();
   llvm::json::Object response;
   FillResponse(request, response);
diff --git a/lldb/tools/lldb-dap/Handler/VariablesRequestHandler.cpp 
b/lldb/tools/lldb-dap/Handler/VariablesRequestHandler.cpp
index 1591c016c1bce..3a62682566236 100644
--- a/lldb/tools/lldb-dap/Handler/VariablesRequestHandler.cpp
+++ b/lldb/tools/lldb-dap/Handler/VariablesRequestHandler.cpp
@@ -86,7 +86,8 @@ namespace lldb_dap {
 //     "required": [ "body" ]
 //   }]
 // }
-void VariablesRequestHandler::operator()(const llvm::json::Object &request) {
+void VariablesRequestHandler::operator()(
+    const llvm::json::Object &request) const {
   llvm::json::Object response;
   FillResponse(request, response);
   llvm::json::Array variables;

>From b3af21b0fa3f862258f2fc6953d48bccdf480377 Mon Sep 17 00:00:00 2001
From: Jonas Devlieghere <jo...@devlieghere.com>
Date: Mon, 24 Feb 2025 16:10:55 -0600
Subject: [PATCH 3/3] Fix formatting

---
 lldb/tools/lldb-dap/DAP.h | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/lldb/tools/lldb-dap/DAP.h b/lldb/tools/lldb-dap/DAP.h
index c3cc3c3184ffb..42dfc14ad65b2 100644
--- a/lldb/tools/lldb-dap/DAP.h
+++ b/lldb/tools/lldb-dap/DAP.h
@@ -336,8 +336,7 @@ struct DAP {
 
   /// Registers a request handler.
   template <typename Handler> void RegisterRequest() {
-    request_handlers[Handler::getCommand()] =
-        std::make_unique<Handler>(*this);
+    request_handlers[Handler::getCommand()] = std::make_unique<Handler>(*this);
   }
 
   /// Debuggee will continue from stopped state.

_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to