LinkedHashTreeMap$Node.smali
.class final Lcom/google/gson/internal/LinkedHashTreeMap$Node;
.super Ljava/lang/Object;
.source "LinkedHashTreeMap.java"
# interfaces
.implements Ljava/util/Map$Entry;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/gson/internal/LinkedHashTreeMap;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x18
name = "Node"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<K:",
"Ljava/lang/Object;",
"V:",
"Ljava/lang/Object;",
">",
"Ljava/lang/Object;",
"Ljava/util/Map$Entry<",
"TK;TV;>;"
}
.end annotation
# instance fields
.field final hash:I
.field height:I
.field final key:Ljava/lang/Object;
.annotation system Ldalvik/annotation/Signature;
value = {
"TK;"
}
.end annotation
.end field
.field left:Lcom/google/gson/internal/LinkedHashTreeMap$Node;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/google/gson/internal/LinkedHashTreeMap$Node<",
"TK;TV;>;"
}
.end annotation
.end field
.field next:Lcom/google/gson/internal/LinkedHashTreeMap$Node;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/google/gson/internal/LinkedHashTreeMap$Node<",
"TK;TV;>;"
}
.end annotation
.end field
.field parent:Lcom/google/gson/internal/LinkedHashTreeMap$Node;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/google/gson/internal/LinkedHashTreeMap$Node<",
"TK;TV;>;"
}
.end annotation
.end field
.field prev:Lcom/google/gson/internal/LinkedHashTreeMap$Node;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/google/gson/internal/LinkedHashTreeMap$Node<",
"TK;TV;>;"
}
.end annotation
.end field
.field right:Lcom/google/gson/internal/LinkedHashTreeMap$Node;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/google/gson/internal/LinkedHashTreeMap$Node<",
"TK;TV;>;"
}
.end annotation
.end field
.field value:Ljava/lang/Object;
.annotation system Ldalvik/annotation/Signature;
value = {
"TV;"
}
.end annotation
.end field
# direct methods
.method static constructor <clinit>()V
.registers 1
return-void
.end method
.method constructor <init>()V
.registers 2
.line 479
.local p0, "this":Lcom/google/gson/internal/LinkedHashTreeMap$Node;, "Lcom/google/gson/internal/LinkedHashTreeMap$Node<TK;TV;>;"
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 480
const/4 v0, 0x0
iput-object v0, p0, Lcom/google/gson/internal/LinkedHashTreeMap$Node;->key:Ljava/lang/Object;
.line 481
const/4 v0, -0x1
iput v0, p0, Lcom/google/gson/internal/LinkedHashTreeMap$Node;->hash:I
.line 482
iput-object p0, p0, Lcom/google/gson/internal/LinkedHashTreeMap$Node;->prev:Lcom/google/gson/internal/LinkedHashTreeMap$Node;
iput-object p0, p0, Lcom/google/gson/internal/LinkedHashTreeMap$Node;->next:Lcom/google/gson/internal/LinkedHashTreeMap$Node;
.line 483
return-void
.end method
.method constructor <init>(Lcom/google/gson/internal/LinkedHashTreeMap$Node;Ljava/lang/Object;ILcom/google/gson/internal/LinkedHashTreeMap$Node;Lcom/google/gson/internal/LinkedHashTreeMap$Node;)V
.registers 7
.param p3, "hash" # I
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/gson/internal/LinkedHashTreeMap$Node<",
"TK;TV;>;TK;I",
"Lcom/google/gson/internal/LinkedHashTreeMap$Node<",
"TK;TV;>;",
"Lcom/google/gson/internal/LinkedHashTreeMap$Node<",
"TK;TV;>;)V"
}
.end annotation
.line 486
.local p0, "this":Lcom/google/gson/internal/LinkedHashTreeMap$Node;, "Lcom/google/gson/internal/LinkedHashTreeMap$Node<TK;TV;>;"
.local p1, "parent":Lcom/google/gson/internal/LinkedHashTreeMap$Node;, "Lcom/google/gson/internal/LinkedHashTreeMap$Node<TK;TV;>;"
.local p2, "key":Ljava/lang/Object;, "TK;"
.local p4, "next":Lcom/google/gson/internal/LinkedHashTreeMap$Node;, "Lcom/google/gson/internal/LinkedHashTreeMap$Node<TK;TV;>;"
.local p5, "prev":Lcom/google/gson/internal/LinkedHashTreeMap$Node;, "Lcom/google/gson/internal/LinkedHashTreeMap$Node<TK;TV;>;"
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 487
iput-object p1, p0, Lcom/google/gson/internal/LinkedHashTreeMap$Node;->parent:Lcom/google/gson/internal/LinkedHashTreeMap$Node;
.line 488
iput-object p2, p0, Lcom/google/gson/internal/LinkedHashTreeMap$Node;->key:Ljava/lang/Object;
.line 489
iput p3, p0, Lcom/google/gson/internal/LinkedHashTreeMap$Node;->hash:I
.line 490
const/4 v0, 0x1
iput v0, p0, Lcom/google/gson/internal/LinkedHashTreeMap$Node;->height:I
.line 491
iput-object p4, p0, Lcom/google/gson/internal/LinkedHashTreeMap$Node;->next:Lcom/google/gson/internal/LinkedHashTreeMap$Node;
.line 492
iput-object p5, p0, Lcom/google/gson/internal/LinkedHashTreeMap$Node;->prev:Lcom/google/gson/internal/LinkedHashTreeMap$Node;
.line 493
iput-object p0, p5, Lcom/google/gson/internal/LinkedHashTreeMap$Node;->next:Lcom/google/gson/internal/LinkedHashTreeMap$Node;
.line 494
iput-object p0, p4, Lcom/google/gson/internal/LinkedHashTreeMap$Node;->prev:Lcom/google/gson/internal/LinkedHashTreeMap$Node;
.line 495
return-void
.end method
# virtual methods
.method public equals(Ljava/lang/Object;)Z
.registers 6
.param p1, "o" # Ljava/lang/Object;
.line 513
.local p0, "this":Lcom/google/gson/internal/LinkedHashTreeMap$Node;, "Lcom/google/gson/internal/LinkedHashTreeMap$Node<TK;TV;>;"
instance-of v0, p1, Ljava/util/Map$Entry;
const/4 v1, 0x0
if-eqz v0, :cond_36
.line 514
move-object v0, p1
check-cast v0, Ljava/util/Map$Entry;
.line 515
.local v0, "other":Ljava/util/Map$Entry;
iget-object v2, p0, Lcom/google/gson/internal/LinkedHashTreeMap$Node;->key:Ljava/lang/Object;
if-nez v2, :cond_13
invoke-interface {v0}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;
move-result-object v2
if-nez v2, :cond_34
goto :goto_1d
:cond_13
invoke-interface {v0}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_34
:goto_1d
iget-object v2, p0, Lcom/google/gson/internal/LinkedHashTreeMap$Node;->value:Ljava/lang/Object;
if-nez v2, :cond_28
.line 516
invoke-interface {v0}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
move-result-object v2
if-nez v2, :cond_34
goto :goto_32
:cond_28
invoke-interface {v0}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_34
:goto_32
const/4 v1, 0x1
goto :goto_35
:cond_34
nop
.line 515
:goto_35
return v1
.line 518
.end local v0 # "other":Ljava/util/Map$Entry;
:cond_36
return v1
.end method
.method public first()Lcom/google/gson/internal/LinkedHashTreeMap$Node;
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Lcom/google/gson/internal/LinkedHashTreeMap$Node<",
"TK;TV;>;"
}
.end annotation
.line 534
.local p0, "this":Lcom/google/gson/internal/LinkedHashTreeMap$Node;, "Lcom/google/gson/internal/LinkedHashTreeMap$Node<TK;TV;>;"
move-object v0, p0
.line 535
.local v0, "node":Lcom/google/gson/internal/LinkedHashTreeMap$Node;, "Lcom/google/gson/internal/LinkedHashTreeMap$Node<TK;TV;>;"
iget-object v1, v0, Lcom/google/gson/internal/LinkedHashTreeMap$Node;->left:Lcom/google/gson/internal/LinkedHashTreeMap$Node;
.line 536
.local v1, "child":Lcom/google/gson/internal/LinkedHashTreeMap$Node;, "Lcom/google/gson/internal/LinkedHashTreeMap$Node<TK;TV;>;"
:goto_3
if-eqz v1, :cond_9
.line 537
move-object v0, v1
.line 538
iget-object v1, v0, Lcom/google/gson/internal/LinkedHashTreeMap$Node;->left:Lcom/google/gson/internal/LinkedHashTreeMap$Node;
goto :goto_3
.line 540
:cond_9
return-object v0
.end method
.method public getKey()Ljava/lang/Object;
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"()TK;"
}
.end annotation
.line 498
.local p0, "this":Lcom/google/gson/internal/LinkedHashTreeMap$Node;, "Lcom/google/gson/internal/LinkedHashTreeMap$Node<TK;TV;>;"
iget-object v0, p0, Lcom/google/gson/internal/LinkedHashTreeMap$Node;->key:Ljava/lang/Object;
return-object v0
.end method
.method public getValue()Ljava/lang/Object;
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"()TV;"
}
.end annotation
.line 502
.local p0, "this":Lcom/google/gson/internal/LinkedHashTreeMap$Node;, "Lcom/google/gson/internal/LinkedHashTreeMap$Node<TK;TV;>;"
iget-object v0, p0, Lcom/google/gson/internal/LinkedHashTreeMap$Node;->value:Ljava/lang/Object;
return-object v0
.end method
.method public hashCode()I
.registers 4
.line 522
.local p0, "this":Lcom/google/gson/internal/LinkedHashTreeMap$Node;, "Lcom/google/gson/internal/LinkedHashTreeMap$Node<TK;TV;>;"
iget-object v0, p0, Lcom/google/gson/internal/LinkedHashTreeMap$Node;->key:Ljava/lang/Object;
const/4 v1, 0x0
if-nez v0, :cond_7
const/4 v0, 0x0
goto :goto_b
:cond_7
invoke-virtual {v0}, Ljava/lang/Object;->hashCode()I
move-result v0
.line 523
:goto_b
iget-object v2, p0, Lcom/google/gson/internal/LinkedHashTreeMap$Node;->value:Ljava/lang/Object;
if-nez v2, :cond_10
goto :goto_14
:cond_10
invoke-virtual {v2}, Ljava/lang/Object;->hashCode()I
move-result v1
:goto_14
xor-int/2addr v0, v1
.line 522
return v0
.end method
.method public last()Lcom/google/gson/internal/LinkedHashTreeMap$Node;
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Lcom/google/gson/internal/LinkedHashTreeMap$Node<",
"TK;TV;>;"
}
.end annotation
.line 547
.local p0, "this":Lcom/google/gson/internal/LinkedHashTreeMap$Node;, "Lcom/google/gson/internal/LinkedHashTreeMap$Node<TK;TV;>;"
move-object v0, p0
.line 548
.local v0, "node":Lcom/google/gson/internal/LinkedHashTreeMap$Node;, "Lcom/google/gson/internal/LinkedHashTreeMap$Node<TK;TV;>;"
iget-object v1, v0, Lcom/google/gson/internal/LinkedHashTreeMap$Node;->right:Lcom/google/gson/internal/LinkedHashTreeMap$Node;
.line 549
.local v1, "child":Lcom/google/gson/internal/LinkedHashTreeMap$Node;, "Lcom/google/gson/internal/LinkedHashTreeMap$Node<TK;TV;>;"
:goto_3
if-eqz v1, :cond_9
.line 550
move-object v0, v1
.line 551
iget-object v1, v0, Lcom/google/gson/internal/LinkedHashTreeMap$Node;->right:Lcom/google/gson/internal/LinkedHashTreeMap$Node;
goto :goto_3
.line 553
:cond_9
return-object v0
.end method
.method public setValue(Ljava/lang/Object;)Ljava/lang/Object;
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(TV;)TV;"
}
.end annotation
.line 506
.local p0, "this":Lcom/google/gson/internal/LinkedHashTreeMap$Node;, "Lcom/google/gson/internal/LinkedHashTreeMap$Node<TK;TV;>;"
.local p1, "value":Ljava/lang/Object;, "TV;"
iget-object v0, p0, Lcom/google/gson/internal/LinkedHashTreeMap$Node;->value:Ljava/lang/Object;
.line 507
.local v0, "oldValue":Ljava/lang/Object;, "TV;"
iput-object p1, p0, Lcom/google/gson/internal/LinkedHashTreeMap$Node;->value:Ljava/lang/Object;
.line 508
return-object v0
.end method
.method public toString()Ljava/lang/String;
.registers 3
.line 527
.local p0, "this":Lcom/google/gson/internal/LinkedHashTreeMap$Node;, "Lcom/google/gson/internal/LinkedHashTreeMap$Node<TK;TV;>;"
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
iget-object v1, p0, Lcom/google/gson/internal/LinkedHashTreeMap$Node;->key:Ljava/lang/Object;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v1, "="
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v1, p0, Lcom/google/gson/internal/LinkedHashTreeMap$Node;->value:Ljava/lang/Object;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method