LinkedTreeMap$Node.smali
.class final Lcom/google/gson/internal/LinkedTreeMap$Node;
.super Ljava/lang/Object;
.source "LinkedTreeMap.java"
# interfaces
.implements Ljava/util/Map$Entry;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/gson/internal/LinkedTreeMap;
.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 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/LinkedTreeMap$Node;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/google/gson/internal/LinkedTreeMap$Node<",
"TK;TV;>;"
}
.end annotation
.end field
.field next:Lcom/google/gson/internal/LinkedTreeMap$Node;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/google/gson/internal/LinkedTreeMap$Node<",
"TK;TV;>;"
}
.end annotation
.end field
.field parent:Lcom/google/gson/internal/LinkedTreeMap$Node;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/google/gson/internal/LinkedTreeMap$Node<",
"TK;TV;>;"
}
.end annotation
.end field
.field prev:Lcom/google/gson/internal/LinkedTreeMap$Node;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/google/gson/internal/LinkedTreeMap$Node<",
"TK;TV;>;"
}
.end annotation
.end field
.field right:Lcom/google/gson/internal/LinkedTreeMap$Node;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/google/gson/internal/LinkedTreeMap$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 constructor <init>()V
.registers 2
.line 450
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
const/4 v0, 0x0
.line 451
iput-object v0, p0, Lcom/google/gson/internal/LinkedTreeMap$Node;->key:Ljava/lang/Object;
.line 452
iput-object p0, p0, Lcom/google/gson/internal/LinkedTreeMap$Node;->prev:Lcom/google/gson/internal/LinkedTreeMap$Node;
iput-object p0, p0, Lcom/google/gson/internal/LinkedTreeMap$Node;->next:Lcom/google/gson/internal/LinkedTreeMap$Node;
return-void
.end method
.method constructor <init>(Lcom/google/gson/internal/LinkedTreeMap$Node;Ljava/lang/Object;Lcom/google/gson/internal/LinkedTreeMap$Node;Lcom/google/gson/internal/LinkedTreeMap$Node;)V
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/gson/internal/LinkedTreeMap$Node<",
"TK;TV;>;TK;",
"Lcom/google/gson/internal/LinkedTreeMap$Node<",
"TK;TV;>;",
"Lcom/google/gson/internal/LinkedTreeMap$Node<",
"TK;TV;>;)V"
}
.end annotation
.line 456
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 457
iput-object p1, p0, Lcom/google/gson/internal/LinkedTreeMap$Node;->parent:Lcom/google/gson/internal/LinkedTreeMap$Node;
.line 458
iput-object p2, p0, Lcom/google/gson/internal/LinkedTreeMap$Node;->key:Ljava/lang/Object;
const/4 p1, 0x1
.line 459
iput p1, p0, Lcom/google/gson/internal/LinkedTreeMap$Node;->height:I
.line 460
iput-object p3, p0, Lcom/google/gson/internal/LinkedTreeMap$Node;->next:Lcom/google/gson/internal/LinkedTreeMap$Node;
.line 461
iput-object p4, p0, Lcom/google/gson/internal/LinkedTreeMap$Node;->prev:Lcom/google/gson/internal/LinkedTreeMap$Node;
.line 462
iput-object p0, p4, Lcom/google/gson/internal/LinkedTreeMap$Node;->next:Lcom/google/gson/internal/LinkedTreeMap$Node;
.line 463
iput-object p0, p3, Lcom/google/gson/internal/LinkedTreeMap$Node;->prev:Lcom/google/gson/internal/LinkedTreeMap$Node;
return-void
.end method
# virtual methods
.method public equals(Ljava/lang/Object;)Z
.registers 5
.line 482
instance-of v0, p1, Ljava/util/Map$Entry;
const/4 v1, 0x0
if-eqz v0, :cond_2e
.line 483
check-cast p1, Ljava/util/Map$Entry;
.line 484
iget-object v0, p0, Lcom/google/gson/internal/LinkedTreeMap$Node;->key:Ljava/lang/Object;
if-nez v0, :cond_12
invoke-interface {p1}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;
move-result-object v0
if-nez v0, :cond_2e
goto :goto_1c
:cond_12
invoke-interface {p1}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;
move-result-object v2
invoke-virtual {v0, v2}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_2e
:goto_1c
iget-object v0, p0, Lcom/google/gson/internal/LinkedTreeMap$Node;->value:Ljava/lang/Object;
invoke-interface {p1}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
move-result-object p1
if-nez v0, :cond_27
if-nez p1, :cond_2e
goto :goto_2d
:cond_27
invoke-virtual {v0, p1}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_2e
:goto_2d
const/4 v1, 0x1
:cond_2e
return v1
.end method
.method public first()Lcom/google/gson/internal/LinkedTreeMap$Node;
.registers 4
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Lcom/google/gson/internal/LinkedTreeMap$Node<",
"TK;TV;>;"
}
.end annotation
.line 504
iget-object v0, p0, Lcom/google/gson/internal/LinkedTreeMap$Node;->left:Lcom/google/gson/internal/LinkedTreeMap$Node;
move-object v1, p0
:goto_3
if-eqz v0, :cond_b
.line 507
iget-object v1, v0, Lcom/google/gson/internal/LinkedTreeMap$Node;->left:Lcom/google/gson/internal/LinkedTreeMap$Node;
move-object v2, v1
move-object v1, v0
move-object v0, v2
goto :goto_3
:cond_b
return-object v1
.end method
.method public getKey()Ljava/lang/Object;
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"()TK;"
}
.end annotation
.line 467
iget-object v0, p0, Lcom/google/gson/internal/LinkedTreeMap$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 471
iget-object v0, p0, Lcom/google/gson/internal/LinkedTreeMap$Node;->value:Ljava/lang/Object;
return-object v0
.end method
.method public hashCode()I
.registers 4
.line 491
iget-object v0, p0, Lcom/google/gson/internal/LinkedTreeMap$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
:goto_b
iget-object v2, p0, Lcom/google/gson/internal/LinkedTreeMap$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
return v0
.end method
.method public last()Lcom/google/gson/internal/LinkedTreeMap$Node;
.registers 4
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Lcom/google/gson/internal/LinkedTreeMap$Node<",
"TK;TV;>;"
}
.end annotation
.line 517
iget-object v0, p0, Lcom/google/gson/internal/LinkedTreeMap$Node;->right:Lcom/google/gson/internal/LinkedTreeMap$Node;
move-object v1, p0
:goto_3
if-eqz v0, :cond_b
.line 520
iget-object v1, v0, Lcom/google/gson/internal/LinkedTreeMap$Node;->right:Lcom/google/gson/internal/LinkedTreeMap$Node;
move-object v2, v1
move-object v1, v0
move-object v0, v2
goto :goto_3
:cond_b
return-object v1
.end method
.method public setValue(Ljava/lang/Object;)Ljava/lang/Object;
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(TV;)TV;"
}
.end annotation
.line 475
iget-object v0, p0, Lcom/google/gson/internal/LinkedTreeMap$Node;->value:Ljava/lang/Object;
.line 476
iput-object p1, p0, Lcom/google/gson/internal/LinkedTreeMap$Node;->value:Ljava/lang/Object;
return-object v0
.end method
.method public toString()Ljava/lang/String;
.registers 3
.line 496
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
iget-object v1, p0, Lcom/google/gson/internal/LinkedTreeMap$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/LinkedTreeMap$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