<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Sep 27, 2016, at 2:55 PM, Daniel Austin Noland <<a href="mailto:daniel.noland@gmail.com" class="">daniel.noland@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class=""><blockquote type="cite" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;" class=""><blockquote type="cite" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;" class="">The main problem here is that Watchpoints & Breakpoints should share the Options class, and most of the StopInfo DoOnRemoval.  I don’t think you’ll need to write a lot of new code to do this, it’s mostly ripping out the WatchpointOptions, using BreakpointOptions instead adapting as necessary.  Ditto for the StopInfo{Watchpoint,Breakpoint}.<br class=""></blockquote><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">So you would avoid inheritance and just make Watchpoint and Breakpoint take the same StoppointOptions class?</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><blockquote type="cite" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;" class=""><br class=""></blockquote></blockquote></div><br class="Apple-interchange-newline"></div></blockquote></div><br class=""><div class="">That is the way I would approach it.  The other half of this is StopInfoBreakpoint vrs. StopInfoWatchpoint classes.  These aren’t going to be exactly equivalent so you will probably have to find some way express what needs to be different, but those differences should be pretty small.  The Breakpoint side of this works pretty well, so I’d start from there.</div><div class=""><br class=""></div><div class="">Jim</div><div class=""><br class=""></div></body></html>