d0a7ef4459
The DAP APIs for breakpoints send the whole set of breakpoints for a given file at once. Previously, we would just delete all breakpoints and then re-add them all, however since we added support for resolving breakpoints, this can result in all breakpoints in a file flickering to unresolved then back to resolved (as well as generally being slower). This change splits the method that would replace all breakpoints into methods for add+remove, and then skips over any breakpoints (in setBreakpoints) that already match breakpoints we have. Fixes https://github.com/Dart-Code/Dart-Code/issues/4678 Change-Id: I489c6c295bac3ebd3a0851895a7a81e330d571e9 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/433700 Reviewed-by: Ben Konyi <bkonyi@google.com> Reviewed-by: Derek Xu <derekx@google.com> Commit-Queue: Derek Xu <derekx@google.com>