Comments
Patch
@@ -605,17 +605,30 @@
return self.add(transaction, markers)
@util.nogc
- def _load(self, markers):
+ def _addsuccessors(self, markers):
for mark in markers:
- self._all.append(mark)
- pre, sucs = mark[:2]
- self.successors.setdefault(pre, set()).add(mark)
- for suc in sucs:
+ self.successors.setdefault(mark[0], set()).add(mark)
+
+ @util.nogc
+ def _addprecursors(self, markers):
+ for mark in markers:
+ for suc in mark[1]:
self.precursors.setdefault(suc, set()).add(mark)
+
+ @util.nogc
+ def _addchildren(self, markers):
+ for mark in markers:
parents = mark[5]
if parents is not None:
for p in parents:
self.children.setdefault(p, set()).add(mark)
+
+ def _load(self, markers):
+ markers = list(markers) # to allow repeated iteration
+ self._all.extend(markers)
+ self._addsuccessors(markers)
+ self._addprecursors(markers)
+ self._addchildren(markers)
_checkinvalidmarkers(self)
def relevantmarkers(self, nodes):