Mercurial > public > mercurial-scm > hg
comparison mercurial/revset.py @ 20708:17c89e5a5627
revset: made addset a private class
This class is not supposed to be used outside revset.py since it only
wraps content that is used by baseset typed classes.
It only gets created by revset operations or private methods.
author | Lucas Moscovicz <lmoscovicz@fb.com> |
---|---|
date | Wed, 12 Mar 2014 17:20:26 -0700 |
parents | 1d5d6f622b94 |
children | 71df845d86cf |
comparison
equal
deleted
inserted
replaced
20707:1d5d6f622b94 | 20708:17c89e5a5627 |
---|---|
2234 | 2234 |
2235 def __sub__(self, x): | 2235 def __sub__(self, x): |
2236 return lazyset(self, lambda r: r not in x) | 2236 return lazyset(self, lambda r: r not in x) |
2237 | 2237 |
2238 def __add__(self, x): | 2238 def __add__(self, x): |
2239 return lazyset(addset(self, x)) | 2239 return lazyset(_addset(self, x)) |
2240 | 2240 |
2241 def __nonzero__(self): | 2241 def __nonzero__(self): |
2242 for r in self: | 2242 for r in self: |
2243 return True | 2243 return True |
2244 return False | 2244 return False |
2305 | 2305 |
2306 def reverse(self): | 2306 def reverse(self): |
2307 self._subset.reverse() | 2307 self._subset.reverse() |
2308 self._ascending = not self._ascending | 2308 self._ascending = not self._ascending |
2309 | 2309 |
2310 class addset(object): | 2310 class _addset(object): |
2311 """Wrapper structure for lazily adding two structures without losing much | 2311 """Represent the addition of two sets |
2312 | |
2313 Wrapper structure for lazily adding two structures without losing much | |
2312 performance on the __contains__ method | 2314 performance on the __contains__ method |
2315 | |
2316 This class does not duck-type baseset and it's only supposed to be used | |
2317 internally | |
2313 """ | 2318 """ |
2314 def __init__(self, revs1, revs2): | 2319 def __init__(self, revs1, revs2): |
2315 self._r1 = revs1 | 2320 self._r1 = revs1 |
2316 self._r2 = revs2 | 2321 self._r2 = revs2 |
2317 self._iter = None | 2322 self._iter = None |
2493 return orderedlazyset(self, lambda r: r not in x) | 2498 return orderedlazyset(self, lambda r: r not in x) |
2494 else: | 2499 else: |
2495 return orderedlazyset(self, lambda r: r not in x, ascending=False) | 2500 return orderedlazyset(self, lambda r: r not in x, ascending=False) |
2496 | 2501 |
2497 def __add__(self, x): | 2502 def __add__(self, x): |
2498 return lazyset(addset(self, x)) | 2503 return lazyset(_addset(self, x)) |
2499 | 2504 |
2500 def __len__(self): | 2505 def __len__(self): |
2501 if not self._hiddenrevs: | 2506 if not self._hiddenrevs: |
2502 return abs(self._end - self._start) | 2507 return abs(self._end - self._start) |
2503 else: | 2508 else: |