================
@@ -63,17 +63,26 @@ class BreakpointResolverScripted : public
BreakpointResolver {
lldb::BreakpointResolverSP
CopyForBreakpoint(lldb::BreakpointSP &breakpoint) override;
+ // OverridesResolver will get called before this resolver has been assigned a
+ // breakpoint. You should only need to see the resolver to know whether you
+ // want to override it, but you may need to check something about the target,
+ // which you would normally get to from the breakpoint, so we pass it in
here.
+ bool OverridesResolver(Target &target,
+ lldb::BreakpointResolverSP original_sp) override;
+
protected:
void NotifyBreakpointSet() override;
private:
void CreateImplementationIfNeeded(lldb::BreakpointSP bkpt);
+ void CreateImplementationIfNeeded(Target &target, lldb::BreakpointSP bkpt);
----------------
jimingham wrote:
BreakpointResolvers hold their breakpoint once they are assigned to one, but
not their targets.
But the way breakpoints and their resolvers work, the Resolvers get made first,
and then attached to their breakpoints. So when you are calling the overrides
resolver, the breakpoint hasn't decided which resolver it will use yet, and so
won't belong to a breakpoint.
I don't want to have to add and remove resolvers from breakpoints, so I'd
rather keep the "figure out which resolver we are going to use and then attach
it to a breakpoint" behavior. So for overrides_resolver we need to pass in the
target explicitly.
https://github.com/llvm/llvm-project/pull/195392
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits