MCPcopy Index your code
hub / github.com/clojure/clojure / RSeq

Class RSeq

src/jvm/clojure/lang/APersistentVector.java:570–608  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

568 }
569
570public static class RSeq extends ASeq implements IndexedSeq, Counted{
571 final IPersistentVector v;
572 final int i;
573
574 public RSeq(IPersistentVector vector, int i){
575 this.v = vector;
576 this.i = i;
577 }
578
579 RSeq(IPersistentMap meta, IPersistentVector v, int i){
580 super(meta);
581 this.v = v;
582 this.i = i;
583 }
584
585 public Object first(){
586 return v.nth(i);
587 }
588
589 public ISeq next(){
590 if(i > 0)
591 return new APersistentVector.RSeq(v, i - 1);
592 return null;
593 }
594
595 public int index(){
596 return i;
597 }
598
599 public int count(){
600 return i + 1;
601 }
602
603 public APersistentVector.RSeq withMeta(IPersistentMap meta){
604 if(meta() == meta)
605 return this;
606 return new APersistentVector.RSeq(meta, v, i);
607 }
608}
609
610public static class SubVector extends APersistentVector implements IObj, IKVReduce{
611 public final IPersistentVector v;

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected