.class public final Lkotlin/collections/builders/ListBuilder$Itr; .super Ljava/lang/Object; .source "SourceFile" # interfaces .implements Ljava/util/ListIterator; .implements Lkotlin/jvm/internal/markers/KMutableListIterator; # annotations .annotation system Ldalvik/annotation/EnclosingClass; value = Lkotlin/collections/builders/ListBuilder; .end annotation .annotation system Ldalvik/annotation/InnerClass; accessFlags = 0x19 name = "Itr" .end annotation # instance fields .field public expectedModCount:I .field public index:I .field public lastIndex:I .field public final list:Lkotlin/collections/builders/ListBuilder; # direct methods .method public constructor (Lkotlin/collections/builders/ListBuilder;I)V .locals 1 const-string v0, "list" invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V .line 329 invoke-direct {p0}, Ljava/lang/Object;->()V iput-object p1, p0, Lkotlin/collections/builders/ListBuilder$Itr;->list:Lkotlin/collections/builders/ListBuilder; iput p2, p0, Lkotlin/collections/builders/ListBuilder$Itr;->index:I const/4 p2, -0x1 iput p2, p0, Lkotlin/collections/builders/ListBuilder$Itr;->lastIndex:I .line 333 invoke-static {p1}, Lkotlin/collections/builders/ListBuilder;->access$getModCount$p$s-2084097795(Lkotlin/collections/builders/ListBuilder;)I move-result p1 iput p1, p0, Lkotlin/collections/builders/ListBuilder$Itr;->expectedModCount:I return-void .end method .method private final checkForComodification()V .locals 2 iget-object v0, p0, Lkotlin/collections/builders/ListBuilder$Itr;->list:Lkotlin/collections/builders/ListBuilder; .line 379 invoke-static {v0}, Lkotlin/collections/builders/ListBuilder;->access$getModCount$p$s-2084097795(Lkotlin/collections/builders/ListBuilder;)I move-result v0 iget v1, p0, Lkotlin/collections/builders/ListBuilder$Itr;->expectedModCount:I if-ne v0, v1, :cond_0 return-void .line 380 :cond_0 new-instance v0, Ljava/util/ConcurrentModificationException; invoke-direct {v0}, Ljava/util/ConcurrentModificationException;->()V throw v0 .end method # virtual methods .method public add(Ljava/lang/Object;)V .locals 3 .line 363 invoke-direct {p0}, Lkotlin/collections/builders/ListBuilder$Itr;->checkForComodification()V iget-object v0, p0, Lkotlin/collections/builders/ListBuilder$Itr;->list:Lkotlin/collections/builders/ListBuilder; iget v1, p0, Lkotlin/collections/builders/ListBuilder$Itr;->index:I add-int/lit8 v2, v1, 0x1 iput v2, p0, Lkotlin/collections/builders/ListBuilder$Itr;->index:I .line 364 invoke-virtual {v0, v1, p1}, Lkotlin/collections/builders/ListBuilder;->add(ILjava/lang/Object;)V const/4 p1, -0x1 iput p1, p0, Lkotlin/collections/builders/ListBuilder$Itr;->lastIndex:I iget-object p1, p0, Lkotlin/collections/builders/ListBuilder$Itr;->list:Lkotlin/collections/builders/ListBuilder; .line 366 invoke-static {p1}, Lkotlin/collections/builders/ListBuilder;->access$getModCount$p$s-2084097795(Lkotlin/collections/builders/ListBuilder;)I move-result p1 iput p1, p0, Lkotlin/collections/builders/ListBuilder$Itr;->expectedModCount:I return-void .end method .method public hasNext()Z .locals 2 iget v0, p0, Lkotlin/collections/builders/ListBuilder$Itr;->index:I iget-object v1, p0, Lkotlin/collections/builders/ListBuilder$Itr;->list:Lkotlin/collections/builders/ListBuilder; .line 337 invoke-static {v1}, Lkotlin/collections/builders/ListBuilder;->access$getLength$p(Lkotlin/collections/builders/ListBuilder;)I move-result v1 if-ge v0, v1, :cond_0 const/4 v0, 0x1 goto :goto_0 :cond_0 const/4 v0, 0x0 :goto_0 return v0 .end method .method public hasPrevious()Z .locals 1 iget v0, p0, Lkotlin/collections/builders/ListBuilder$Itr;->index:I if-lez v0, :cond_0 const/4 v0, 0x1 goto :goto_0 :cond_0 const/4 v0, 0x0 :goto_0 return v0 .end method .method public next()Ljava/lang/Object; .locals 3 .line 350 invoke-direct {p0}, Lkotlin/collections/builders/ListBuilder$Itr;->checkForComodification()V iget v0, p0, Lkotlin/collections/builders/ListBuilder$Itr;->index:I iget-object v1, p0, Lkotlin/collections/builders/ListBuilder$Itr;->list:Lkotlin/collections/builders/ListBuilder; .line 351 invoke-static {v1}, Lkotlin/collections/builders/ListBuilder;->access$getLength$p(Lkotlin/collections/builders/ListBuilder;)I move-result v1 if-ge v0, v1, :cond_0 iget v0, p0, Lkotlin/collections/builders/ListBuilder$Itr;->index:I add-int/lit8 v1, v0, 0x1 iput v1, p0, Lkotlin/collections/builders/ListBuilder$Itr;->index:I iput v0, p0, Lkotlin/collections/builders/ListBuilder$Itr;->lastIndex:I iget-object v0, p0, Lkotlin/collections/builders/ListBuilder$Itr;->list:Lkotlin/collections/builders/ListBuilder; .line 353 invoke-static {v0}, Lkotlin/collections/builders/ListBuilder;->access$getArray$p(Lkotlin/collections/builders/ListBuilder;)[Ljava/lang/Object; move-result-object v0 iget-object v1, p0, Lkotlin/collections/builders/ListBuilder$Itr;->list:Lkotlin/collections/builders/ListBuilder; invoke-static {v1}, Lkotlin/collections/builders/ListBuilder;->access$getOffset$p(Lkotlin/collections/builders/ListBuilder;)I move-result v1 iget v2, p0, Lkotlin/collections/builders/ListBuilder$Itr;->lastIndex:I add-int/2addr v1, v2 aget-object v0, v0, v1 return-object v0 .line 351 :cond_0 new-instance v0, Ljava/util/NoSuchElementException; invoke-direct {v0}, Ljava/util/NoSuchElementException;->()V throw v0 .end method .method public nextIndex()I .locals 1 iget v0, p0, Lkotlin/collections/builders/ListBuilder$Itr;->index:I return v0 .end method .method public previous()Ljava/lang/Object; .locals 3 .line 343 invoke-direct {p0}, Lkotlin/collections/builders/ListBuilder$Itr;->checkForComodification()V iget v0, p0, Lkotlin/collections/builders/ListBuilder$Itr;->index:I if-lez v0, :cond_0 add-int/lit8 v0, v0, -0x1 iput v0, p0, Lkotlin/collections/builders/ListBuilder$Itr;->index:I iput v0, p0, Lkotlin/collections/builders/ListBuilder$Itr;->lastIndex:I iget-object v0, p0, Lkotlin/collections/builders/ListBuilder$Itr;->list:Lkotlin/collections/builders/ListBuilder; .line 346 invoke-static {v0}, Lkotlin/collections/builders/ListBuilder;->access$getArray$p(Lkotlin/collections/builders/ListBuilder;)[Ljava/lang/Object; move-result-object v0 iget-object v1, p0, Lkotlin/collections/builders/ListBuilder$Itr;->list:Lkotlin/collections/builders/ListBuilder; invoke-static {v1}, Lkotlin/collections/builders/ListBuilder;->access$getOffset$p(Lkotlin/collections/builders/ListBuilder;)I move-result v1 iget v2, p0, Lkotlin/collections/builders/ListBuilder$Itr;->lastIndex:I add-int/2addr v1, v2 aget-object v0, v0, v1 return-object v0 .line 344 :cond_0 new-instance v0, Ljava/util/NoSuchElementException; invoke-direct {v0}, Ljava/util/NoSuchElementException;->()V throw v0 .end method .method public previousIndex()I .locals 1 iget v0, p0, Lkotlin/collections/builders/ListBuilder$Itr;->index:I add-int/lit8 v0, v0, -0x1 return v0 .end method .method public remove()V .locals 3 .line 370 invoke-direct {p0}, Lkotlin/collections/builders/ListBuilder$Itr;->checkForComodification()V iget v0, p0, Lkotlin/collections/builders/ListBuilder$Itr;->lastIndex:I const/4 v1, -0x1 if-eq v0, v1, :cond_0 iget-object v2, p0, Lkotlin/collections/builders/ListBuilder$Itr;->list:Lkotlin/collections/builders/ListBuilder; .line 372 invoke-virtual {v2, v0}, Lkotlin/collections/AbstractMutableList;->remove(I)Ljava/lang/Object; iget v0, p0, Lkotlin/collections/builders/ListBuilder$Itr;->lastIndex:I iput v0, p0, Lkotlin/collections/builders/ListBuilder$Itr;->index:I iput v1, p0, Lkotlin/collections/builders/ListBuilder$Itr;->lastIndex:I iget-object v0, p0, Lkotlin/collections/builders/ListBuilder$Itr;->list:Lkotlin/collections/builders/ListBuilder; .line 375 invoke-static {v0}, Lkotlin/collections/builders/ListBuilder;->access$getModCount$p$s-2084097795(Lkotlin/collections/builders/ListBuilder;)I move-result v0 iput v0, p0, Lkotlin/collections/builders/ListBuilder$Itr;->expectedModCount:I return-void .line 371 :cond_0 new-instance v0, Ljava/lang/IllegalStateException; const-string v1, "Call next() or previous() before removing element from the iterator." invoke-virtual {v1}, Ljava/lang/Object;->toString()Ljava/lang/String; move-result-object v1 invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V throw v0 .end method .method public set(Ljava/lang/Object;)V .locals 2 .line 357 invoke-direct {p0}, Lkotlin/collections/builders/ListBuilder$Itr;->checkForComodification()V iget v0, p0, Lkotlin/collections/builders/ListBuilder$Itr;->lastIndex:I const/4 v1, -0x1 if-eq v0, v1, :cond_0 iget-object v1, p0, Lkotlin/collections/builders/ListBuilder$Itr;->list:Lkotlin/collections/builders/ListBuilder; .line 359 invoke-virtual {v1, v0, p1}, Lkotlin/collections/builders/ListBuilder;->set(ILjava/lang/Object;)Ljava/lang/Object; return-void .line 358 :cond_0 new-instance p1, Ljava/lang/IllegalStateException; const-string v0, "Call next() or previous() before replacing element from the iterator." invoke-virtual {v0}, Ljava/lang/Object;->toString()Ljava/lang/String; move-result-object v0 invoke-direct {p1, v0}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V throw p1 .end method