MCPcopy Index your code
hub / github.com/apache/groovy / step

Method step

src/main/java/groovy/lang/IntRange.java:520–551  ·  view source on GitHub ↗

{@inheritDoc}

(int step, Closure closure)

Source from the content-addressed store, hash-verified

518 * {@inheritDoc}
519 */
520 @Override
521 public void step(int step, Closure closure) {
522 if (step == 0) {
523 if (!getFrom().equals(getTo())) {
524 throw new GroovyRuntimeException("Infinite loop detected due to step size of 0");
525 }
526 return; // from == to and step == 0, nothing to do, so return
527 }
528
529 if (isReverse()) {
530 step = -step;
531 }
532 if (step > 0) {
533 int value = getFrom();
534 while (value <= getTo()) {
535 closure.call(value);
536 if (((long) value + step) >= Integer.MAX_VALUE) {
537 break;
538 }
539 value = value + step;
540 }
541 } else {
542 int value = getTo();
543 while (value >= getFrom()) {
544 closure.call(value);
545 if (((long) value + step) <= Integer.MIN_VALUE) {
546 break;
547 }
548 value = value + step;
549 }
550 }
551 }
552
553 /**
554 * {@inheritDoc}

Callers

nothing calls this directly

Calls 6

getFromMethod · 0.95
getToMethod · 0.95
isReverseMethod · 0.95
asListMethod · 0.95
equalsMethod · 0.65
callMethod · 0.65

Tested by

no test coverage detected