You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
302 lines
8.2 KiB
302 lines
8.2 KiB
.class abstract Lcom/google/common/collect/HashBiMap$Itr; |
|
.super Ljava/lang/Object; |
|
.source "HashBiMap.java" |
|
|
|
# interfaces |
|
.implements Ljava/util/Iterator; |
|
|
|
|
|
# annotations |
|
.annotation system Ldalvik/annotation/EnclosingClass; |
|
value = Lcom/google/common/collect/HashBiMap; |
|
.end annotation |
|
|
|
.annotation system Ldalvik/annotation/InnerClass; |
|
accessFlags = 0x400 |
|
name = "Itr" |
|
.end annotation |
|
|
|
.annotation system Ldalvik/annotation/Signature; |
|
value = { |
|
"<T:", |
|
"Ljava/lang/Object;", |
|
">", |
|
"Ljava/lang/Object;", |
|
"Ljava/util/Iterator", |
|
"<TT;>;" |
|
} |
|
.end annotation |
|
|
|
|
|
# instance fields |
|
.field expectedModCount:I |
|
|
|
.field next:Lcom/google/common/collect/HashBiMap$BiEntry; |
|
.annotation system Ldalvik/annotation/Signature; |
|
value = { |
|
"Lcom/google/common/collect/HashBiMap$BiEntry", |
|
"<TK;TV;>;" |
|
} |
|
.end annotation |
|
.end field |
|
|
|
.field nextBucket:I |
|
|
|
.field final synthetic this$0:Lcom/google/common/collect/HashBiMap; |
|
|
|
.field toRemove:Lcom/google/common/collect/HashBiMap$BiEntry; |
|
.annotation system Ldalvik/annotation/Signature; |
|
value = { |
|
"Lcom/google/common/collect/HashBiMap$BiEntry", |
|
"<TK;TV;>;" |
|
} |
|
.end annotation |
|
.end field |
|
|
|
|
|
# direct methods |
|
.method constructor <init>(Lcom/google/common/collect/HashBiMap;)V |
|
.locals 2 |
|
|
|
.prologue |
|
const/4 v1, 0x0 |
|
|
|
.line 331 |
|
iput-object p1, p0, Lcom/google/common/collect/HashBiMap$Itr;->this$0:Lcom/google/common/collect/HashBiMap; |
|
|
|
invoke-direct {p0}, Ljava/lang/Object;-><init>()V |
|
|
|
.line 332 |
|
const/4 v0, 0x0 |
|
|
|
iput v0, p0, Lcom/google/common/collect/HashBiMap$Itr;->nextBucket:I |
|
|
|
.line 333 |
|
iput-object v1, p0, Lcom/google/common/collect/HashBiMap$Itr;->next:Lcom/google/common/collect/HashBiMap$BiEntry; |
|
|
|
.line 334 |
|
iput-object v1, p0, Lcom/google/common/collect/HashBiMap$Itr;->toRemove:Lcom/google/common/collect/HashBiMap$BiEntry; |
|
|
|
.line 335 |
|
iget-object v0, p0, Lcom/google/common/collect/HashBiMap$Itr;->this$0:Lcom/google/common/collect/HashBiMap; |
|
|
|
invoke-static {v0}, Lcom/google/common/collect/HashBiMap;->access$000(Lcom/google/common/collect/HashBiMap;)I |
|
|
|
move-result v0 |
|
|
|
iput v0, p0, Lcom/google/common/collect/HashBiMap$Itr;->expectedModCount:I |
|
|
|
return-void |
|
.end method |
|
|
|
.method private checkForConcurrentModification()V |
|
.locals 2 |
|
|
|
.prologue |
|
.line 338 |
|
iget-object v0, p0, Lcom/google/common/collect/HashBiMap$Itr;->this$0:Lcom/google/common/collect/HashBiMap; |
|
|
|
invoke-static {v0}, Lcom/google/common/collect/HashBiMap;->access$000(Lcom/google/common/collect/HashBiMap;)I |
|
|
|
move-result v0 |
|
|
|
iget v1, p0, Lcom/google/common/collect/HashBiMap$Itr;->expectedModCount:I |
|
|
|
if-eq v0, v1, :cond_0 |
|
|
|
.line 339 |
|
new-instance v0, Ljava/util/ConcurrentModificationException; |
|
|
|
invoke-direct {v0}, Ljava/util/ConcurrentModificationException;-><init>()V |
|
|
|
throw v0 |
|
|
|
.line 341 |
|
:cond_0 |
|
return-void |
|
.end method |
|
|
|
|
|
# virtual methods |
|
.method public hasNext()Z |
|
.locals 4 |
|
|
|
.prologue |
|
const/4 v0, 0x1 |
|
|
|
.line 345 |
|
invoke-direct {p0}, Lcom/google/common/collect/HashBiMap$Itr;->checkForConcurrentModification()V |
|
|
|
.line 346 |
|
iget-object v1, p0, Lcom/google/common/collect/HashBiMap$Itr;->next:Lcom/google/common/collect/HashBiMap$BiEntry; |
|
|
|
if-eqz v1, :cond_1 |
|
|
|
.line 356 |
|
:goto_0 |
|
return v0 |
|
|
|
.line 354 |
|
:cond_0 |
|
iget v1, p0, Lcom/google/common/collect/HashBiMap$Itr;->nextBucket:I |
|
|
|
add-int/lit8 v1, v1, 0x1 |
|
|
|
iput v1, p0, Lcom/google/common/collect/HashBiMap$Itr;->nextBucket:I |
|
|
|
.line 349 |
|
:cond_1 |
|
iget v1, p0, Lcom/google/common/collect/HashBiMap$Itr;->nextBucket:I |
|
|
|
iget-object v2, p0, Lcom/google/common/collect/HashBiMap$Itr;->this$0:Lcom/google/common/collect/HashBiMap; |
|
|
|
invoke-static {v2}, Lcom/google/common/collect/HashBiMap;->access$100(Lcom/google/common/collect/HashBiMap;)[Lcom/google/common/collect/HashBiMap$BiEntry; |
|
|
|
move-result-object v2 |
|
|
|
array-length v2, v2 |
|
|
|
if-ge v1, v2, :cond_2 |
|
|
|
.line 350 |
|
iget-object v1, p0, Lcom/google/common/collect/HashBiMap$Itr;->this$0:Lcom/google/common/collect/HashBiMap; |
|
|
|
invoke-static {v1}, Lcom/google/common/collect/HashBiMap;->access$100(Lcom/google/common/collect/HashBiMap;)[Lcom/google/common/collect/HashBiMap$BiEntry; |
|
|
|
move-result-object v1 |
|
|
|
iget v2, p0, Lcom/google/common/collect/HashBiMap$Itr;->nextBucket:I |
|
|
|
aget-object v1, v1, v2 |
|
|
|
if-eqz v1, :cond_0 |
|
|
|
.line 351 |
|
iget-object v1, p0, Lcom/google/common/collect/HashBiMap$Itr;->this$0:Lcom/google/common/collect/HashBiMap; |
|
|
|
invoke-static {v1}, Lcom/google/common/collect/HashBiMap;->access$100(Lcom/google/common/collect/HashBiMap;)[Lcom/google/common/collect/HashBiMap$BiEntry; |
|
|
|
move-result-object v1 |
|
|
|
iget v2, p0, Lcom/google/common/collect/HashBiMap$Itr;->nextBucket:I |
|
|
|
add-int/lit8 v3, v2, 0x1 |
|
|
|
iput v3, p0, Lcom/google/common/collect/HashBiMap$Itr;->nextBucket:I |
|
|
|
aget-object v1, v1, v2 |
|
|
|
iput-object v1, p0, Lcom/google/common/collect/HashBiMap$Itr;->next:Lcom/google/common/collect/HashBiMap$BiEntry; |
|
|
|
goto :goto_0 |
|
|
|
.line 356 |
|
:cond_2 |
|
const/4 v0, 0x0 |
|
|
|
goto :goto_0 |
|
.end method |
|
|
|
.method public next()Ljava/lang/Object; |
|
.locals 2 |
|
.annotation system Ldalvik/annotation/Signature; |
|
value = { |
|
"()TT;" |
|
} |
|
.end annotation |
|
|
|
.prologue |
|
.line 361 |
|
invoke-direct {p0}, Lcom/google/common/collect/HashBiMap$Itr;->checkForConcurrentModification()V |
|
|
|
.line 362 |
|
invoke-virtual {p0}, Lcom/google/common/collect/HashBiMap$Itr;->hasNext()Z |
|
|
|
move-result v0 |
|
|
|
if-nez v0, :cond_0 |
|
|
|
.line 363 |
|
new-instance v0, Ljava/util/NoSuchElementException; |
|
|
|
invoke-direct {v0}, Ljava/util/NoSuchElementException;-><init>()V |
|
|
|
throw v0 |
|
|
|
.line 366 |
|
:cond_0 |
|
iget-object v0, p0, Lcom/google/common/collect/HashBiMap$Itr;->next:Lcom/google/common/collect/HashBiMap$BiEntry; |
|
|
|
.line 367 |
|
iget-object v1, v0, Lcom/google/common/collect/HashBiMap$BiEntry;->nextInKToVBucket:Lcom/google/common/collect/HashBiMap$BiEntry; |
|
|
|
iput-object v1, p0, Lcom/google/common/collect/HashBiMap$Itr;->next:Lcom/google/common/collect/HashBiMap$BiEntry; |
|
|
|
.line 368 |
|
iput-object v0, p0, Lcom/google/common/collect/HashBiMap$Itr;->toRemove:Lcom/google/common/collect/HashBiMap$BiEntry; |
|
|
|
.line 369 |
|
invoke-virtual {p0, v0}, Lcom/google/common/collect/HashBiMap$Itr;->output(Lcom/google/common/collect/HashBiMap$BiEntry;)Ljava/lang/Object; |
|
|
|
move-result-object v0 |
|
|
|
return-object v0 |
|
.end method |
|
|
|
.method abstract output(Lcom/google/common/collect/HashBiMap$BiEntry;)Ljava/lang/Object; |
|
.annotation system Ldalvik/annotation/Signature; |
|
value = { |
|
"(", |
|
"Lcom/google/common/collect/HashBiMap$BiEntry", |
|
"<TK;TV;>;)TT;" |
|
} |
|
.end annotation |
|
.end method |
|
|
|
.method public remove()V |
|
.locals 2 |
|
|
|
.prologue |
|
.line 374 |
|
invoke-direct {p0}, Lcom/google/common/collect/HashBiMap$Itr;->checkForConcurrentModification()V |
|
|
|
.line 375 |
|
iget-object v0, p0, Lcom/google/common/collect/HashBiMap$Itr;->toRemove:Lcom/google/common/collect/HashBiMap$BiEntry; |
|
|
|
if-eqz v0, :cond_0 |
|
|
|
const/4 v0, 0x1 |
|
|
|
:goto_0 |
|
invoke-static {v0}, Lcom/google/common/collect/CollectPreconditions;->checkRemove(Z)V |
|
|
|
.line 376 |
|
iget-object v0, p0, Lcom/google/common/collect/HashBiMap$Itr;->this$0:Lcom/google/common/collect/HashBiMap; |
|
|
|
iget-object v1, p0, Lcom/google/common/collect/HashBiMap$Itr;->toRemove:Lcom/google/common/collect/HashBiMap$BiEntry; |
|
|
|
invoke-static {v0, v1}, Lcom/google/common/collect/HashBiMap;->access$200(Lcom/google/common/collect/HashBiMap;Lcom/google/common/collect/HashBiMap$BiEntry;)V |
|
|
|
.line 377 |
|
iget-object v0, p0, Lcom/google/common/collect/HashBiMap$Itr;->this$0:Lcom/google/common/collect/HashBiMap; |
|
|
|
invoke-static {v0}, Lcom/google/common/collect/HashBiMap;->access$000(Lcom/google/common/collect/HashBiMap;)I |
|
|
|
move-result v0 |
|
|
|
iput v0, p0, Lcom/google/common/collect/HashBiMap$Itr;->expectedModCount:I |
|
|
|
.line 378 |
|
const/4 v0, 0x0 |
|
|
|
iput-object v0, p0, Lcom/google/common/collect/HashBiMap$Itr;->toRemove:Lcom/google/common/collect/HashBiMap$BiEntry; |
|
|
|
.line 379 |
|
return-void |
|
|
|
.line 375 |
|
:cond_0 |
|
const/4 v0, 0x0 |
|
|
|
goto :goto_0 |
|
.end method
|
|
|