================
@@ -37,20 +37,26 @@ class Tool {
   std::string m_description;
 };
 
-class LLDBCommandTool : public mcp::Tool {
+class CommandTool : public mcp::Tool {
 public:
-  LLDBCommandTool(std::string name, std::string description,
-                  Debugger &debugger);
-  ~LLDBCommandTool() = default;
+  using mcp::Tool::Tool;
+  ~CommandTool() = default;
 
   virtual llvm::Expected<protocol::TextResult>
-  Call(const llvm::json::Value &args) override;
+  Call(const llvm::json::Value *args) override;
----------------
ashgti wrote:

Do you know why this changed from `const json::Value &` to `const json::Value 
*`? Is that to support no arguments as a `nullptr`? In lldb-dap, I use a 
`std::monostate` to mark empty arguments (see 
https://github.com/llvm/llvm-project/blob/029823a84de90e3245d20e238509e13704ea5123/lldb/tools/lldb-dap/Protocol/ProtocolBase.h#L157
 and 
https://github.com/llvm/llvm-project/blob/a76448c27de2fc110c0fe2dac9120d225aee6d39/lldb/tools/lldb-dap/Handler/RequestHandler.h#L114C1-L119C1).

I wonder if that would be helpful here, but no changes required, just trying to 
understand the change.

https://github.com/llvm/llvm-project/pull/145616
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to