JDevlieghere accepted this revision as: JDevlieghere. JDevlieghere added a comment. This revision is now accepted and ready to land.
A few small nits, but otherwise this LGTM. ================ Comment at: lldb/include/lldb/Breakpoint/BreakpointOptions.h:120 + /// BreakpointOptions(const char *condition, bool enabled = true, int32_t ignore = 0, bool one_shot = false, ---------------- shafik wrote: > mib wrote: > > shafik wrote: > > > You have a lot of `bool` parameters, these are hard to distinguish when > > > calling the function and easy to get mixed up during refactors and > > > subsequent merge conflicts. It would probably be better to combine these > > > `bool` options into a `struct` and then each option has an explicit name > > > that that will be assigned to which makes it explicit which options are > > > being chosen at the call site. > > I only added the `bool inject_condition` parameter to the > > `BreakpointOptions` constructor. I also added documentation that was > > missing for the other parameters. I don't think having a struct for those > > options is a necessary since that's what the `BreakpointOptions` class is > > for. > Sadly we won't have designated initializers until C++20 [see > godbolt](https://godbolt.org/z/2xlti5) but instead of `bool` we can use enums > and that would clarify the code at the calling site. As discussed this can be > done as a patch after landing this change, I agree with Shafik, but on the other hand that's the way the API is today. I don't really like the idea of a struct, because that just hides the booleans. Maybe we can use the OptionKind enum directly? Regardless, as you said, that's definitely outside the scope of this patch. ================ Comment at: lldb/include/lldb/Breakpoint/BreakpointOptions.h:364 + void SetInjectCondition(bool inject_condition) { + m_inject_condition = inject_condition; + m_set_flags.Set(eInjectCondition); ---------------- Any reason this should be in the header? ================ Comment at: lldb/source/Breakpoint/BreakpointOptions.cpp:113 + "ConditionText", "IgnoreCount", "EnabledState", + "OneShotState", "AutoContinue", "JITCondition"}; ---------------- Inject(ed)Condition? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D66248/new/ https://reviews.llvm.org/D66248 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits