.class public Lcom/badlogic/gdx/utils/Queue; .super Ljava/lang/Object; .source "Queue.java" # interfaces .implements Ljava/lang/Iterable; # annotations .annotation system Ldalvik/annotation/MemberClasses; value = { Lcom/badlogic/gdx/utils/Queue$QueueIterable;, Lcom/badlogic/gdx/utils/Queue$QueueIterator; } .end annotation .annotation system Ldalvik/annotation/Signature; value = { "", "Ljava/lang/Object;", "Ljava/lang/Iterable<", "TT;>;" } .end annotation # instance fields .field protected a:[Ljava/lang/Object; .annotation system Ldalvik/annotation/Signature; value = { "[TT;" } .end annotation .end field .field protected b:I .field protected c:I .field public d:I .field private e:Lcom/badlogic/gdx/utils/Queue$QueueIterable; # direct methods .method public constructor ()V .locals 1 const/16 v0, 0x10 .line 45 invoke-direct {p0, v0}, Lcom/badlogic/gdx/utils/Queue;->(I)V return-void .end method .method public constructor (I)V .locals 1 .line 49 invoke-direct {p0}, Ljava/lang/Object;->()V const/4 v0, 0x0 .line 32 iput v0, p0, Lcom/badlogic/gdx/utils/Queue;->b:I .line 36 iput v0, p0, Lcom/badlogic/gdx/utils/Queue;->c:I .line 39 iput v0, p0, Lcom/badlogic/gdx/utils/Queue;->d:I .line 51 new-array p1, p1, [Ljava/lang/Object; check-cast p1, [Ljava/lang/Object; iput-object p1, p0, Lcom/badlogic/gdx/utils/Queue;->a:[Ljava/lang/Object; return-void .end method # virtual methods .method protected a(I)V .locals 5 .line 111 iget-object v0, p0, Lcom/badlogic/gdx/utils/Queue;->a:[Ljava/lang/Object; .line 112 iget v1, p0, Lcom/badlogic/gdx/utils/Queue;->b:I .line 113 iget v2, p0, Lcom/badlogic/gdx/utils/Queue;->c:I .line 116 invoke-virtual {v0}, Ljava/lang/Object;->getClass()Ljava/lang/Class; move-result-object v3 invoke-virtual {v3}, Ljava/lang/Class;->getComponentType()Ljava/lang/Class; move-result-object v3 invoke-static {v3, p1}, Lcom/badlogic/gdx/utils/reflect/ArrayReflection;->a(Ljava/lang/Class;I)Ljava/lang/Object; move-result-object p1 check-cast p1, [Ljava/lang/Object; const/4 v3, 0x0 if-ge v1, v2, :cond_0 sub-int/2addr v2, v1 .line 119 invoke-static {v0, v1, p1, v3, v2}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V goto :goto_0 .line 120 :cond_0 iget v4, p0, Lcom/badlogic/gdx/utils/Queue;->d:I if-lez v4, :cond_1 .line 122 array-length v4, v0 sub-int/2addr v4, v1 .line 123 invoke-static {v0, v1, p1, v3, v4}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V .line 124 invoke-static {v0, v3, p1, v4, v2}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V .line 126 :cond_1 :goto_0 iput-object p1, p0, Lcom/badlogic/gdx/utils/Queue;->a:[Ljava/lang/Object; .line 127 iput v3, p0, Lcom/badlogic/gdx/utils/Queue;->b:I .line 128 iget p1, p0, Lcom/badlogic/gdx/utils/Queue;->d:I iput p1, p0, Lcom/badlogic/gdx/utils/Queue;->c:I return-void .end method .method public a(Ljava/lang/Object;)V .locals 3 .annotation system Ldalvik/annotation/Signature; value = { "(TT;)V" } .end annotation .line 64 iget-object v0, p0, Lcom/badlogic/gdx/utils/Queue;->a:[Ljava/lang/Object; .line 66 iget v1, p0, Lcom/badlogic/gdx/utils/Queue;->d:I array-length v2, v0 if-ne v1, v2, :cond_0 .line 67 array-length v0, v0 shl-int/lit8 v0, v0, 0x1 invoke-virtual {p0, v0}, Lcom/badlogic/gdx/utils/Queue;->a(I)V .line 68 iget-object v0, p0, Lcom/badlogic/gdx/utils/Queue;->a:[Ljava/lang/Object; .line 71 :cond_0 iget v1, p0, Lcom/badlogic/gdx/utils/Queue;->c:I add-int/lit8 v2, v1, 0x1 iput v2, p0, Lcom/badlogic/gdx/utils/Queue;->c:I aput-object p1, v0, v1 .line 72 iget p1, p0, Lcom/badlogic/gdx/utils/Queue;->c:I array-length v0, v0 if-ne p1, v0, :cond_1 const/4 p1, 0x0 .line 73 iput p1, p0, Lcom/badlogic/gdx/utils/Queue;->c:I .line 75 :cond_1 iget p1, p0, Lcom/badlogic/gdx/utils/Queue;->d:I add-int/lit8 p1, p1, 0x1 iput p1, p0, Lcom/badlogic/gdx/utils/Queue;->d:I return-void .end method .method public b(I)Ljava/lang/Object; .locals 6 .annotation system Ldalvik/annotation/Signature; value = { "(I)TT;" } .end annotation if-ltz p1, :cond_4 .line 220 iget v0, p0, Lcom/badlogic/gdx/utils/Queue;->d:I if-ge p1, v0, :cond_3 .line 222 iget-object v0, p0, Lcom/badlogic/gdx/utils/Queue;->a:[Ljava/lang/Object; .line 223 iget v1, p0, Lcom/badlogic/gdx/utils/Queue;->b:I iget v2, p0, Lcom/badlogic/gdx/utils/Queue;->c:I add-int/2addr p1, v1 const/4 v3, 0x0 if-ge v1, v2, :cond_0 .line 227 aget-object v1, v0, p1 add-int/lit8 v4, p1, 0x1 sub-int v5, v2, p1 .line 228 invoke-static {v0, v4, v0, p1, v5}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V .line 229 aput-object v3, v0, v2 .line 230 iget p1, p0, Lcom/badlogic/gdx/utils/Queue;->c:I add-int/lit8 p1, p1, -0x1 iput p1, p0, Lcom/badlogic/gdx/utils/Queue;->c:I goto :goto_0 .line 231 :cond_0 array-length v4, v0 if-lt p1, v4, :cond_1 .line 232 array-length v1, v0 sub-int/2addr p1, v1 .line 233 aget-object v1, v0, p1 add-int/lit8 v3, p1, 0x1 sub-int/2addr v2, p1 .line 234 invoke-static {v0, v3, v0, p1, v2}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V .line 235 iget p1, p0, Lcom/badlogic/gdx/utils/Queue;->c:I add-int/lit8 p1, p1, -0x1 iput p1, p0, Lcom/badlogic/gdx/utils/Queue;->c:I goto :goto_0 .line 237 :cond_1 aget-object v2, v0, p1 add-int/lit8 v4, v1, 0x1 sub-int/2addr p1, v1 .line 238 invoke-static {v0, v1, v0, v4, p1}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V .line 239 aput-object v3, v0, v1 .line 240 iget p1, p0, Lcom/badlogic/gdx/utils/Queue;->b:I add-int/lit8 p1, p1, 0x1 iput p1, p0, Lcom/badlogic/gdx/utils/Queue;->b:I .line 241 iget p1, p0, Lcom/badlogic/gdx/utils/Queue;->b:I array-length v0, v0 if-ne p1, v0, :cond_2 const/4 p1, 0x0 .line 242 iput p1, p0, Lcom/badlogic/gdx/utils/Queue;->b:I :cond_2 move-object v1, v2 .line 245 :goto_0 iget p1, p0, Lcom/badlogic/gdx/utils/Queue;->d:I add-int/lit8 p1, p1, -0x1 iput p1, p0, Lcom/badlogic/gdx/utils/Queue;->d:I return-object v1 .line 220 :cond_3 new-instance v0, Ljava/lang/IndexOutOfBoundsException; new-instance v1, Ljava/lang/StringBuilder; invoke-direct {v1}, Ljava/lang/StringBuilder;->()V const-string v2, "index can\'t be >= size: " invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; const-string p1, " >= " invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; iget p1, p0, Lcom/badlogic/gdx/utils/Queue;->d:I invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 invoke-direct {v0, p1}, Ljava/lang/IndexOutOfBoundsException;->(Ljava/lang/String;)V throw v0 .line 219 :cond_4 new-instance v0, Ljava/lang/IndexOutOfBoundsException; new-instance v1, Ljava/lang/StringBuilder; invoke-direct {v1}, Ljava/lang/StringBuilder;->()V const-string v2, "index can\'t be < 0: " invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 invoke-direct {v0, p1}, Ljava/lang/IndexOutOfBoundsException;->(Ljava/lang/String;)V throw v0 .end method .method public c(I)Ljava/lang/Object; .locals 3 .annotation system Ldalvik/annotation/Signature; value = { "(I)TT;" } .end annotation if-ltz p1, :cond_2 .line 284 iget v0, p0, Lcom/badlogic/gdx/utils/Queue;->d:I if-ge p1, v0, :cond_1 .line 285 iget-object v0, p0, Lcom/badlogic/gdx/utils/Queue;->a:[Ljava/lang/Object; .line 287 iget v1, p0, Lcom/badlogic/gdx/utils/Queue;->b:I add-int/2addr v1, p1 .line 288 array-length p1, v0 if-lt v1, p1, :cond_0 .line 289 array-length p1, v0 sub-int/2addr v1, p1 .line 291 :cond_0 aget-object p1, v0, v1 return-object p1 .line 284 :cond_1 new-instance v0, Ljava/lang/IndexOutOfBoundsException; new-instance v1, Ljava/lang/StringBuilder; invoke-direct {v1}, Ljava/lang/StringBuilder;->()V const-string v2, "index can\'t be >= size: " invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; const-string p1, " >= " invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; iget p1, p0, Lcom/badlogic/gdx/utils/Queue;->d:I invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 invoke-direct {v0, p1}, Ljava/lang/IndexOutOfBoundsException;->(Ljava/lang/String;)V throw v0 .line 283 :cond_2 new-instance v0, Ljava/lang/IndexOutOfBoundsException; new-instance v1, Ljava/lang/StringBuilder; invoke-direct {v1}, Ljava/lang/StringBuilder;->()V const-string v2, "index can\'t be < 0: " invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 invoke-direct {v0, p1}, Ljava/lang/IndexOutOfBoundsException;->(Ljava/lang/String;)V throw v0 .end method .method public equals(Ljava/lang/Object;)Z .locals 11 const/4 v0, 0x1 if-ne p0, p1, :cond_0 return v0 :cond_0 const/4 v1, 0x0 if-eqz p1, :cond_9 .line 368 instance-of v2, p1, Lcom/badlogic/gdx/utils/Queue; if-nez v2, :cond_1 goto :goto_2 .line 370 :cond_1 check-cast p1, Lcom/badlogic/gdx/utils/Queue; .line 371 iget v2, p0, Lcom/badlogic/gdx/utils/Queue;->d:I .line 373 iget v3, p1, Lcom/badlogic/gdx/utils/Queue;->d:I if-eq v3, v2, :cond_2 return v1 .line 375 :cond_2 iget-object v3, p0, Lcom/badlogic/gdx/utils/Queue;->a:[Ljava/lang/Object; .line 376 array-length v4, v3 .line 377 iget-object v5, p1, Lcom/badlogic/gdx/utils/Queue;->a:[Ljava/lang/Object; .line 378 array-length v6, v5 .line 380 iget v7, p0, Lcom/badlogic/gdx/utils/Queue;->b:I .line 381 iget p1, p1, Lcom/badlogic/gdx/utils/Queue;->b:I move v8, p1 const/4 p1, 0x0 :goto_0 if-ge p1, v2, :cond_8 .line 383 aget-object v9, v3, v7 .line 384 aget-object v10, v5, v8 if-nez v9, :cond_3 if-nez v10, :cond_4 goto :goto_1 .line 386 :cond_3 invoke-virtual {v9, v10}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z move-result v9 if-nez v9, :cond_5 :cond_4 return v1 :cond_5 :goto_1 add-int/lit8 v7, v7, 0x1 add-int/lit8 v8, v8, 0x1 if-ne v7, v4, :cond_6 const/4 v7, 0x0 :cond_6 if-ne v8, v6, :cond_7 const/4 v8, 0x0 :cond_7 add-int/lit8 p1, p1, 0x1 goto :goto_0 :cond_8 return v0 :cond_9 :goto_2 return v1 .end method .method public hashCode()I .locals 8 .line 347 iget v0, p0, Lcom/badlogic/gdx/utils/Queue;->d:I .line 348 iget-object v1, p0, Lcom/badlogic/gdx/utils/Queue;->a:[Ljava/lang/Object; .line 349 array-length v2, v1 .line 350 iget v3, p0, Lcom/badlogic/gdx/utils/Queue;->b:I add-int/lit8 v4, v0, 0x1 const/4 v5, 0x0 move v6, v4 move v4, v3 const/4 v3, 0x0 :goto_0 if-ge v3, v0, :cond_2 .line 354 aget-object v7, v1, v4 mul-int/lit8 v6, v6, 0x1f if-eqz v7, :cond_0 .line 357 invoke-virtual {v7}, Ljava/lang/Object;->hashCode()I move-result v7 add-int/2addr v6, v7 :cond_0 add-int/lit8 v4, v4, 0x1 if-ne v4, v2, :cond_1 const/4 v4, 0x0 :cond_1 add-int/lit8 v3, v3, 0x1 goto :goto_0 :cond_2 return v6 .end method .method public iterator()Ljava/util/Iterator; .locals 1 .annotation system Ldalvik/annotation/Signature; value = { "()", "Ljava/util/Iterator<", "TT;>;" } .end annotation .line 324 iget-object v0, p0, Lcom/badlogic/gdx/utils/Queue;->e:Lcom/badlogic/gdx/utils/Queue$QueueIterable; if-nez v0, :cond_0 new-instance v0, Lcom/badlogic/gdx/utils/Queue$QueueIterable; invoke-direct {v0, p0}, Lcom/badlogic/gdx/utils/Queue$QueueIterable;->(Lcom/badlogic/gdx/utils/Queue;)V iput-object v0, p0, Lcom/badlogic/gdx/utils/Queue;->e:Lcom/badlogic/gdx/utils/Queue$QueueIterable; .line 325 :cond_0 iget-object v0, p0, Lcom/badlogic/gdx/utils/Queue;->e:Lcom/badlogic/gdx/utils/Queue$QueueIterable; invoke-virtual {v0}, Lcom/badlogic/gdx/utils/Queue$QueueIterable;->iterator()Ljava/util/Iterator; move-result-object v0 return-object v0 .end method .method public toString()Ljava/lang/String; .locals 6 .line 329 iget v0, p0, Lcom/badlogic/gdx/utils/Queue;->d:I if-nez v0, :cond_0 const-string v0, "[]" return-object v0 .line 332 :cond_0 iget-object v0, p0, Lcom/badlogic/gdx/utils/Queue;->a:[Ljava/lang/Object; .line 333 iget v1, p0, Lcom/badlogic/gdx/utils/Queue;->b:I .line 334 iget v2, p0, Lcom/badlogic/gdx/utils/Queue;->c:I .line 336 new-instance v3, Lcom/badlogic/gdx/utils/StringBuilder; const/16 v4, 0x40 invoke-direct {v3, v4}, Lcom/badlogic/gdx/utils/StringBuilder;->(I)V const/16 v4, 0x5b .line 337 invoke-virtual {v3, v4}, Lcom/badlogic/gdx/utils/StringBuilder;->b(C)Lcom/badlogic/gdx/utils/StringBuilder; .line 338 aget-object v4, v0, v1 invoke-virtual {v3, v4}, Lcom/badlogic/gdx/utils/StringBuilder;->a(Ljava/lang/Object;)Lcom/badlogic/gdx/utils/StringBuilder; :goto_0 add-int/lit8 v1, v1, 0x1 .line 339 array-length v4, v0 rem-int/2addr v1, v4 if-eq v1, v2, :cond_1 const-string v4, ", " .line 340 invoke-virtual {v3, v4}, Lcom/badlogic/gdx/utils/StringBuilder;->b(Ljava/lang/String;)Lcom/badlogic/gdx/utils/StringBuilder; move-result-object v4 aget-object v5, v0, v1 invoke-virtual {v4, v5}, Lcom/badlogic/gdx/utils/StringBuilder;->a(Ljava/lang/Object;)Lcom/badlogic/gdx/utils/StringBuilder; goto :goto_0 :cond_1 const/16 v0, 0x5d .line 342 invoke-virtual {v3, v0}, Lcom/badlogic/gdx/utils/StringBuilder;->b(C)Lcom/badlogic/gdx/utils/StringBuilder; .line 343 invoke-virtual {v3}, Lcom/badlogic/gdx/utils/StringBuilder;->toString()Ljava/lang/String; move-result-object v0 return-object v0 .end method