Many of the API's that returned BreakpointOptions always returned valid ones. However, internally the BreakpointLocations usually have null BreakpointOptions, since they use their owner's options until an option is set specifically on the location. So the original code used pointers & unique_ptr everywhere for consistency. But that made the code hard to reason about from the outside, since it wasn't clear when you did and didn't have to validate the pointers. This patch changes the code so that everywhere an API is guaranteed to return a non-null BreakpointOption, it returns it as a reference to make that clear. It also changes the Breakpoint to hold a BreakpointOption member where it previously had a UP. Since we were always filling the UP in the Breakpoint constructor, having the UP wasn't helping anything.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo