royitaqi wrote:

Thank you, @JDevlieghere and @jimingham for the input.

IIUR, you are basically advocating for the following alternative approach (that 
was mentioned in the "Alternatives considered" section in the above):

> Instead of changing SetDestroyCallback(), a new method AddDestroyCallback() 
> can be added, which use the same std::vector<std::pair<>> implementation. 
> Together with ClearDestroyCallback() (see below), they will replace and 
> deprecate SetDestroyCallback(). Meanwhile, in order to be backward 
> compatible, SetDestroyCallback() need to be updated to clear the std::vector 
> and then add the new callback. Pros: The end state is semantically more 
> correct. Cons: More steps to take; potentially maintaining an "incorrect" 
> behavior (of "overwrite").

> A new method ClearDestroyCallback() can be added. Might be unnecessary at 
> this point, because workflows which need to set then clear callbacks may 
> exist but shouldn't be too common at least for now. Such method can be added 
> later when needed.


I agree that adding new methods have more clear naming and don't change the 
semantics of the eixsting method. I will update this PR (or, **should I create 
a new PR?** - Noob I am.)

https://github.com/llvm/llvm-project/pull/89868
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to