This changes DAP to ignore the case where a pretty-printer returns a
negative number from the num_children method. It didn't seem worth
writing a test case for this.
Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=33594
Reviewed-By: Ciaran Woodward <ciaranwoodward@xmos.com>
import gdb.printing
from .server import client_bool_capability
-from .startup import DAPException, in_gdb_thread
+from .startup import DAPException, in_gdb_thread, log
# A list of all the variable references created during this pause.
all_variables = []
num_children = self._printer.num_children()
if num_children is None:
num_children = len(self.cache_children())
+ elif num_children < 0:
+ # It doesn't make sense to have a negative number of
+ # children.
+ log("pretty printer returned negative children")
+ num_children = 0
self.count = num_children
return self.count