jimingham wrote: I'm not sure I see the benefit of the SBWatchpointSpec including the way the watched region is specified. That's just moving the proliferation of API's from SBTarget::WatchpointCreate*() to the SBWatchpointSpec constructor. We'd have to have:
SBWatchpointSpec::SBWatchpointSpec(SBAddress addr, int flags); SBWatchpointSpec::SBWatchpointSpec(SBValue value, int flags); SBWatchpointSpec::SBWatchpointSpec(const char *expr, int flags); And then users would do: wp_spec = lldb.SBWatchpointSpec("foo + 5", lldb.eWatchpointTypeModify) wp = target.WatchpointCreate(wp_spec) So that's really one more API plus some boilerplate to construct the options. If an SBWatchpointSpec were the sort of thing you'd reuse, there might be some sense in making that a separate entity, but I don't see that for watchpoints. Otherwise, I don't think it adds much. Jim > On Sep 14, 2023, at 3:12 PM, Jason Molenda ***@***.***> wrote: > > > SBWatchpoint SBTarget::WatchpointCreateByAddress(addr_t address, size_t > size, uint32_t access_flags, SBError &error); > with eWatchpointAccess{Read,Write,Modify} flags defined. > > @bulbazord <https://github.com/bulbazord> what do you think about this > suggestion? Would you still prefer an Options class? > > If we are going to add an overload I would suggest keeping with just adding a > "bool modify" as it is more clear an usable. The options does seem like > overkill for just one bool I admit, it just depends on what kind of options > we might want to watchpoints in the future. If this is the last change to > watchpoints, then add a new API. If we think we will add more options at some > point (try to think if the new fancy watchpoints Jason is about to add > support for might need more options?) then do the Options class route. > > You and Alex both preferred adding an Options class to pass in to this (and > future WatchpointCreate API) so I'll write that up for my next revision of > this PR, I didn't see your earlier message talking about your preference for > that when I ping'ed Alex on their opinion. > > You were talking about how you think the proliferation of BreakpointCreate > API was not ideal. Do you think there should be a > SBTarget::WatchpointCreate(SBWatchpointSpec, SBError &error) and you would > specify (1) addr + size, (2) variable, (3) expression + size, as well as the > access flags, for the Watchpoint? I don't mind the separate SBTarget methods > approach for Breakpoints, it seems like six of one, half a dozen of the other > to me. > > It's probably best to just go with SBTarget::WatchpointCreateByAddress and > add a new SBWatchpointOptions with the access flags only. > > — > Reply to this email directly, view it on GitHub > <https://github.com/llvm/llvm-project/pull/66308#issuecomment-1720222526>, or > unsubscribe > <https://github.com/notifications/unsubscribe-auth/ADUPVW4XRSYKJBWO3X4RAY3X2N6NVANCNFSM6AAAAAA4XKAUOQ>. > You are receiving this because your review was requested. > https://github.com/llvm/llvm-project/pull/66308 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits