comparison mercurial/revset.py @ 20552:0e99a66eb7bc

revset: added __nonzero__ method to lazyset Now it doesn't have to go through all the set and can return lazily as soon as it finds one element.
author Lucas Moscovicz <lmoscovicz@fb.com>
date Thu, 20 Feb 2014 10:15:38 -0800
parents fa16c710a3d8
children 98024950ade0
comparison
equal deleted inserted replaced
20551:efae655fd363 20552:0e99a66eb7bc
2153 2153
2154 def __add__(self, x): 2154 def __add__(self, x):
2155 l = baseset([r for r in self]) 2155 l = baseset([r for r in self])
2156 return l + baseset(x) 2156 return l + baseset(x)
2157 2157
2158 def __nonzero__(self):
2159 for r in self:
2160 return True
2161 return False
2162
2158 def __len__(self): 2163 def __len__(self):
2159 # Basic implementation to be changed in future patches. 2164 # Basic implementation to be changed in future patches.
2160 l = baseset([r for r in self]) 2165 l = baseset([r for r in self])
2161 return len(l) 2166 return len(l)
2162 2167