================
@@ -11,23 +11,28 @@
 #define LLDB_TOOLS_LLDB_DAP_INSTRUCTIONBREAKPOINT_H
 
 #include "Breakpoint.h"
+#include "DAPForward.h"
+
+#include "lldb/lldb-defines.h"
+#include "lldb/lldb-types.h"
+
+#include <cstdint>
 
 namespace lldb_dap {
 
 // Instruction Breakpoint
 struct InstructionBreakpoint : public Breakpoint {
 
   lldb::addr_t instructionAddressReference;
-  int32_t id;
   int32_t offset;
 
-  InstructionBreakpoint()
-      : Breakpoint(), instructionAddressReference(LLDB_INVALID_ADDRESS), id(0),
+  InstructionBreakpoint(DAP &d)
----------------
labath wrote:

Thanks :D

There's no llvm policy on that, but I'd recommend using `explicit` everywhere 
where the two objects aren't different representations of the same "value". 
There's a lot of room for interpretation there, but that's definitely not the 
case for these class.

Another way to look at it is: would you be surprised if you passed an object of 
one type (`DAP`, here) to a function taking the other type 
(`InstructionBreakpoint`) and the call ended up creating a temporary object of 
the other type?

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

Reply via email to