def merge_all_preds(self, preds):
"""
Attempt to merge predicate paths for a given leaf identity
"""
merged = []
while preds:
pred1 = preds.pop()
found_merge = False
for pred2 in copy(preds):
try:
pred3 = self.merge_preds(pred1, pred2)
logging.log(DEBUG, 'merged to {}'.format(pred3))
if pred3 == pred1 or pred3 == pred2:
logging.log(DEBUG, 'no new merge...')
continue
preds += [pred3]
found_merge = True
except ValueError:
pass
if not found_merge:
merged += [pred1]
return merged
评论列表
文章目录