.class final Lkotlin/ranges/ULongProgressionIterator; .super Lkotlin/collections/ULongIterator; .source "ULongRange.kt" # annotations .annotation runtime Lkotlin/Metadata; d1 = { "\u0000\"\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\u0008\u0002\n\u0002\u0010\t\n\u0002\u0008\u0004\n\u0002\u0010\u000b\n\u0002\u0008\u0005\u0008\u0003\u0018\u00002\u00020\u0001B \u0012\u0006\u0010\u0002\u001a\u00020\u0003\u0012\u0006\u0010\u0004\u001a\u00020\u0003\u0012\u0006\u0010\u0005\u001a\u00020\u0006\u00f8\u0001\u0000\u00a2\u0006\u0002\u0010\u0007J\t\u0010\n\u001a\u00020\u000bH\u0096\u0002J\u0015\u0010\r\u001a\u00020\u0003H\u0016\u00f8\u0001\u0000\u00f8\u0001\u0001\u00a2\u0006\u0004\u0008\u000e\u0010\u000fR\u0016\u0010\u0008\u001a\u00020\u0003X\u0082\u0004\u00f8\u0001\u0000\u00f8\u0001\u0001\u00a2\u0006\u0004\n\u0002\u0010\tR\u000e\u0010\n\u001a\u00020\u000bX\u0082\u000e\u00a2\u0006\u0002\n\u0000R\u0016\u0010\u000c\u001a\u00020\u0003X\u0082\u000e\u00f8\u0001\u0000\u00f8\u0001\u0001\u00a2\u0006\u0004\n\u0002\u0010\tR\u0016\u0010\u0005\u001a\u00020\u0003X\u0082\u0004\u00f8\u0001\u0000\u00f8\u0001\u0001\u00a2\u0006\u0004\n\u0002\u0010\t\u0082\u0002\u0008\n\u0002\u0008\u0019\n\u0002\u0008!\u00a8\u0006\u0010" } d2 = { "Lkotlin/ranges/ULongProgressionIterator;", "Lkotlin/collections/ULongIterator;", "first", "Lkotlin/ULong;", "last", "step", "", "(JJJLkotlin/jvm/internal/DefaultConstructorMarker;)V", "finalElement", "J", "hasNext", "", "next", "nextULong", "nextULong-s-VKNKU", "()J", "kotlin-stdlib" } k = 0x1 mv = { 0x1, 0x5, 0x1 } .end annotation # instance fields .field private final finalElement:J .field private hasNext:Z .field private next:J .field private final step:J # direct methods .method private constructor (JJJ)V .registers 10 .line 117 invoke-direct {p0}, Lkotlin/collections/ULongIterator;->()V .line 118 iput-wide p3, p0, Lkotlin/ranges/ULongProgressionIterator;->finalElement:J const-wide/16 v0, 0x0 cmp-long v0, p5, v0 const/4 v1, 0x1 const/4 v2, 0x0 if-lez v0, :cond_14 .line 119 invoke-static {p1, p2, p3, p4}, Lkotlin/UnsignedKt;->ulongCompare(JJ)I move-result v0 if-gtz v0, :cond_1b goto :goto_1c :cond_14 invoke-static {p1, p2, p3, p4}, Lkotlin/UnsignedKt;->ulongCompare(JJ)I move-result v0 if-ltz v0, :cond_1b goto :goto_1c :cond_1b move v1, v2 :goto_1c iput-boolean v1, p0, Lkotlin/ranges/ULongProgressionIterator;->hasNext:Z .line 120 invoke-static {p5, p6}, Lkotlin/ULong;->constructor-impl(J)J move-result-wide p5 iput-wide p5, p0, Lkotlin/ranges/ULongProgressionIterator;->step:J .line 121 iget-boolean p5, p0, Lkotlin/ranges/ULongProgressionIterator;->hasNext:Z if-eqz p5, :cond_29 goto :goto_2a :cond_29 move-wide p1, p3 :goto_2a iput-wide p1, p0, Lkotlin/ranges/ULongProgressionIterator;->next:J return-void .end method .method public synthetic constructor (JJJLkotlin/jvm/internal/DefaultConstructorMarker;)V .registers 8 .line 117 invoke-direct/range {p0 .. p6}, Lkotlin/ranges/ULongProgressionIterator;->(JJJ)V return-void .end method # virtual methods .method public hasNext()Z .registers 2 .line 123 iget-boolean v0, p0, Lkotlin/ranges/ULongProgressionIterator;->hasNext:Z return v0 .end method .method public nextULong-s-VKNKU()J .registers 5 .line 126 iget-wide v0, p0, Lkotlin/ranges/ULongProgressionIterator;->next:J .line 127 iget-wide v2, p0, Lkotlin/ranges/ULongProgressionIterator;->finalElement:J cmp-long v2, v0, v2 if-nez v2, :cond_18 .line 128 iget-boolean v2, p0, Lkotlin/ranges/ULongProgressionIterator;->hasNext:Z if-eqz v2, :cond_10 const/4 v2, 0x0 .line 129 iput-boolean v2, p0, Lkotlin/ranges/ULongProgressionIterator;->hasNext:Z goto :goto_21 .line 128 :cond_10 new-instance v0, Ljava/util/NoSuchElementException; invoke-direct {v0}, Ljava/util/NoSuchElementException;->()V check-cast v0, Ljava/lang/Throwable; throw v0 .line 131 :cond_18 iget-wide v2, p0, Lkotlin/ranges/ULongProgressionIterator;->step:J add-long/2addr v2, v0 invoke-static {v2, v3}, Lkotlin/ULong;->constructor-impl(J)J move-result-wide v2 iput-wide v2, p0, Lkotlin/ranges/ULongProgressionIterator;->next:J :goto_21 return-wide v0 .end method