Show More
@@ -380,6 +380,10 b' def rangeset(repo, subset, x, y, order):' | |||
|
380 | 380 | return baseset() |
|
381 | 381 | return _makerangeset(repo, subset, m.first(), n.last(), order) |
|
382 | 382 | |
|
383 | def rangeall(repo, subset, x, order): | |
|
384 | assert x is None | |
|
385 | return _makerangeset(repo, subset, 0, len(repo) - 1, order) | |
|
386 | ||
|
383 | 387 | def rangepre(repo, subset, y, order): |
|
384 | 388 | # ':y' can't be rewritten to '0:y' since '0' may be hidden |
|
385 | 389 | n = getset(repo, fullreposet(repo), y) |
@@ -387,6 +391,12 b' def rangepre(repo, subset, y, order):' | |||
|
387 | 391 | return baseset() |
|
388 | 392 | return _makerangeset(repo, subset, 0, n.last(), order) |
|
389 | 393 | |
|
394 | def rangepost(repo, subset, x, order): | |
|
395 | m = getset(repo, fullreposet(repo), x) | |
|
396 | if not m: | |
|
397 | return baseset() | |
|
398 | return _makerangeset(repo, subset, m.first(), len(repo) - 1, order) | |
|
399 | ||
|
390 | 400 | def _makerangeset(repo, subset, m, n, order): |
|
391 | 401 | if m == n: |
|
392 | 402 | r = baseset([m]) |
@@ -2385,7 +2395,9 b' def _hexlist(repo, subset, x, order):' | |||
|
2385 | 2395 | |
|
2386 | 2396 | methods = { |
|
2387 | 2397 | "range": rangeset, |
|
2398 | "rangeall": rangeall, | |
|
2388 | 2399 | "rangepre": rangepre, |
|
2400 | "rangepost": rangepost, | |
|
2389 | 2401 | "dagrange": dagrange, |
|
2390 | 2402 | "string": stringset, |
|
2391 | 2403 | "symbol": stringset, |
@@ -2500,10 +2512,6 b' def _analyze(x, order):' | |||
|
2500 | 2512 | return _analyze(('func', ('symbol', 'ancestors'), x[1]), order) |
|
2501 | 2513 | elif op == 'dagrangepost': |
|
2502 | 2514 | return _analyze(('func', ('symbol', 'descendants'), x[1]), order) |
|
2503 | elif op == 'rangeall': | |
|
2504 | return _analyze(('rangepre', ('string', 'tip')), order) | |
|
2505 | elif op == 'rangepost': | |
|
2506 | return _analyze(('range', x[1], ('string', 'tip')), order) | |
|
2507 | 2515 | elif op == 'negate': |
|
2508 | 2516 | s = getstring(x[1], _("can't negate that")) |
|
2509 | 2517 | return _analyze(('string', '-' + s), order) |
@@ -2517,7 +2525,9 b' def _analyze(x, order):' | |||
|
2517 | 2525 | return (op, _analyze(x[1], order), order) |
|
2518 | 2526 | elif op == 'not': |
|
2519 | 2527 | return (op, _analyze(x[1], anyorder), order) |
|
2520 |
elif op |
|
|
2528 | elif op == 'rangeall': | |
|
2529 | return (op, None, order) | |
|
2530 | elif op in ('rangepre', 'rangepost', 'parentpost'): | |
|
2521 | 2531 | return (op, _analyze(x[1], defineorder), order) |
|
2522 | 2532 | elif op == 'group': |
|
2523 | 2533 | return _analyze(x[1], order) |
@@ -2622,7 +2632,9 b' def _optimize(x, small):' | |||
|
2622 | 2632 | o = _optimize(x[1], not small) |
|
2623 | 2633 | order = x[2] |
|
2624 | 2634 | return o[0], (op, o[1], order) |
|
2625 |
elif op |
|
|
2635 | elif op == 'rangeall': | |
|
2636 | return smallbonus, x | |
|
2637 | elif op in ('rangepre', 'rangepost', 'parentpost'): | |
|
2626 | 2638 | o = _optimize(x[1], small) |
|
2627 | 2639 | order = x[2] |
|
2628 | 2640 | return o[0], (op, o[1], order) |
@@ -161,8 +161,8 b' trivial' | |||
|
161 | 161 | (rangeall |
|
162 | 162 | None) |
|
163 | 163 | * optimized: |
|
164 |
(range |
|
|
165 | ('string', 'tip') | |
|
164 | (rangeall | |
|
165 | None | |
|
166 | 166 | define) |
|
167 | 167 | * set: |
|
168 | 168 | <spanset+ 0:9> |
@@ -619,8 +619,8 b' may be hidden (issue5385)' | |||
|
619 | 619 | (rangeall |
|
620 | 620 | None) |
|
621 | 621 | * analyzed: |
|
622 |
(range |
|
|
623 | ('string', 'tip') | |
|
622 | (rangeall | |
|
623 | None | |
|
624 | 624 | define) |
|
625 | 625 | * set: |
|
626 | 626 | <spanset+ 0:9> |
General Comments 0
You need to be logged in to leave comments.
Login now