Mercurial > public > mercurial-scm > hg
comparison mercurial/revset.py @ 20721:d642f176df52
revset: changed _iterator() in addset to use the generated list when available
Now when all the elements have been generated, the iterator will just use the
generated list instead of going through all the elements again.
author | Lucas Moscovicz <lmoscovicz@fb.com> |
---|---|
date | Thu, 13 Mar 2014 14:51:04 -0700 |
parents | 5f8400efca0b |
children | 6894223ebc38 |
comparison
equal
deleted
inserted
replaced
20720:5f8400efca0b | 20721:d642f176df52 |
---|---|
2351 self._iter = _generatorset(gen()) | 2351 self._iter = _generatorset(gen()) |
2352 | 2352 |
2353 return self._iter | 2353 return self._iter |
2354 | 2354 |
2355 def __iter__(self): | 2355 def __iter__(self): |
2356 for r in self._iterator(): | 2356 if self._genlist: |
2357 yield r | 2357 return iter(self._genlist) |
2358 return iter(self._iterator()) | |
2358 | 2359 |
2359 def __contains__(self, x): | 2360 def __contains__(self, x): |
2360 return x in self._r1 or x in self._r2 | 2361 return x in self._r1 or x in self._r2 |
2361 | 2362 |
2362 def set(self): | 2363 def set(self): |