This commit is contained in:
2022-06-10 21:38:30 +09:00
commit 27f5152838
51323 changed files with 12934539 additions and 0 deletions
@@ -0,0 +1,213 @@
.class public Lcom/google/firebase/database/snapshot/BooleanNode;
.super Lcom/google/firebase/database/snapshot/LeafNode;
.source "BooleanNode.java"
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/google/firebase/database/snapshot/LeafNode<",
"Lcom/google/firebase/database/snapshot/BooleanNode;",
">;"
}
.end annotation
# instance fields
.field private final value:Z
# direct methods
.method public constructor <init>(Ljava/lang/Boolean;Lcom/google/firebase/database/snapshot/Node;)V
.locals 0
.line 1
invoke-direct {p0, p2}, Lcom/google/firebase/database/snapshot/LeafNode;-><init>(Lcom/google/firebase/database/snapshot/Node;)V
.line 2
invoke-virtual {p1}, Ljava/lang/Boolean;->booleanValue()Z
move-result p1
iput-boolean p1, p0, Lcom/google/firebase/database/snapshot/BooleanNode;->value:Z
return-void
.end method
# virtual methods
.method public compareLeafValues(Lcom/google/firebase/database/snapshot/BooleanNode;)I
.locals 1
.line 2
iget-boolean v0, p0, Lcom/google/firebase/database/snapshot/BooleanNode;->value:Z
iget-boolean p1, p1, Lcom/google/firebase/database/snapshot/BooleanNode;->value:Z
if-ne v0, p1, :cond_0
const/4 p1, 0x0
goto :goto_0
:cond_0
if-eqz v0, :cond_1
const/4 p1, 0x1
goto :goto_0
:cond_1
const/4 p1, -0x1
:goto_0
return p1
.end method
.method public bridge synthetic compareLeafValues(Lcom/google/firebase/database/snapshot/LeafNode;)I
.locals 0
.line 1
check-cast p1, Lcom/google/firebase/database/snapshot/BooleanNode;
invoke-virtual {p0, p1}, Lcom/google/firebase/database/snapshot/BooleanNode;->compareLeafValues(Lcom/google/firebase/database/snapshot/BooleanNode;)I
move-result p1
return p1
.end method
.method public equals(Ljava/lang/Object;)Z
.locals 3
.line 1
instance-of v0, p1, Lcom/google/firebase/database/snapshot/BooleanNode;
const/4 v1, 0x0
if-nez v0, :cond_0
return v1
.line 2
:cond_0
check-cast p1, Lcom/google/firebase/database/snapshot/BooleanNode;
.line 3
iget-boolean v0, p0, Lcom/google/firebase/database/snapshot/BooleanNode;->value:Z
iget-boolean v2, p1, Lcom/google/firebase/database/snapshot/BooleanNode;->value:Z
if-ne v0, v2, :cond_1
iget-object v0, p0, Lcom/google/firebase/database/snapshot/LeafNode;->priority:Lcom/google/firebase/database/snapshot/Node;
iget-object p1, p1, Lcom/google/firebase/database/snapshot/LeafNode;->priority:Lcom/google/firebase/database/snapshot/Node;
invoke-virtual {v0, p1}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_1
const/4 v1, 0x1
:cond_1
return v1
.end method
.method public getHashRepresentation(Lcom/google/firebase/database/snapshot/Node$HashVersion;)Ljava/lang/String;
.locals 1
.line 1
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {p0, p1}, Lcom/google/firebase/database/snapshot/LeafNode;->getPriorityHash(Lcom/google/firebase/database/snapshot/Node$HashVersion;)Ljava/lang/String;
move-result-object p1
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p1, "boolean:"
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-boolean p1, p0, Lcom/google/firebase/database/snapshot/BooleanNode;->value:Z
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
return-object p1
.end method
.method public getLeafType()Lcom/google/firebase/database/snapshot/LeafNode$LeafType;
.locals 1
.line 1
sget-object v0, Lcom/google/firebase/database/snapshot/LeafNode$LeafType;->Boolean:Lcom/google/firebase/database/snapshot/LeafNode$LeafType;
return-object v0
.end method
.method public getValue()Ljava/lang/Object;
.locals 1
.line 1
iget-boolean v0, p0, Lcom/google/firebase/database/snapshot/BooleanNode;->value:Z
invoke-static {v0}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object v0
return-object v0
.end method
.method public hashCode()I
.locals 2
.line 1
iget-boolean v0, p0, Lcom/google/firebase/database/snapshot/BooleanNode;->value:Z
iget-object v1, p0, Lcom/google/firebase/database/snapshot/LeafNode;->priority:Lcom/google/firebase/database/snapshot/Node;
invoke-virtual {v1}, Ljava/lang/Object;->hashCode()I
move-result v1
add-int/2addr v1, v0
return v1
.end method
.method public updatePriority(Lcom/google/firebase/database/snapshot/Node;)Lcom/google/firebase/database/snapshot/BooleanNode;
.locals 2
.line 2
new-instance v0, Lcom/google/firebase/database/snapshot/BooleanNode;
iget-boolean v1, p0, Lcom/google/firebase/database/snapshot/BooleanNode;->value:Z
invoke-static {v1}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object v1
invoke-direct {v0, v1, p1}, Lcom/google/firebase/database/snapshot/BooleanNode;-><init>(Ljava/lang/Boolean;Lcom/google/firebase/database/snapshot/Node;)V
return-object v0
.end method
.method public bridge synthetic updatePriority(Lcom/google/firebase/database/snapshot/Node;)Lcom/google/firebase/database/snapshot/Node;
.locals 0
.line 1
invoke-virtual {p0, p1}, Lcom/google/firebase/database/snapshot/BooleanNode;->updatePriority(Lcom/google/firebase/database/snapshot/Node;)Lcom/google/firebase/database/snapshot/BooleanNode;
move-result-object p1
return-object p1
.end method
@@ -0,0 +1,14 @@
.class synthetic Lcom/google/firebase/database/snapshot/ChildKey$1;
.super Ljava/lang/Object;
.source "ChildKey.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/firebase/database/snapshot/ChildKey;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1009
name = null
.end annotation
@@ -0,0 +1,93 @@
.class Lcom/google/firebase/database/snapshot/ChildKey$IntegerChildKey;
.super Lcom/google/firebase/database/snapshot/ChildKey;
.source "ChildKey.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/firebase/database/snapshot/ChildKey;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "IntegerChildKey"
.end annotation
# instance fields
.field private final intValue:I
# direct methods
.method public constructor <init>(Ljava/lang/String;I)V
.locals 1
const/4 v0, 0x0
.line 1
invoke-direct {p0, p1, v0}, Lcom/google/firebase/database/snapshot/ChildKey;-><init>(Ljava/lang/String;Lcom/google/firebase/database/snapshot/ChildKey$1;)V
.line 2
iput p2, p0, Lcom/google/firebase/database/snapshot/ChildKey$IntegerChildKey;->intValue:I
return-void
.end method
# virtual methods
.method public bridge synthetic compareTo(Ljava/lang/Object;)I
.locals 0
.line 1
check-cast p1, Lcom/google/firebase/database/snapshot/ChildKey;
invoke-super {p0, p1}, Lcom/google/firebase/database/snapshot/ChildKey;->compareTo(Lcom/google/firebase/database/snapshot/ChildKey;)I
move-result p1
return p1
.end method
.method public intValue()I
.locals 1
.line 1
iget v0, p0, Lcom/google/firebase/database/snapshot/ChildKey$IntegerChildKey;->intValue:I
return v0
.end method
.method public isInt()Z
.locals 1
const/4 v0, 0x1
return v0
.end method
.method public toString()Ljava/lang/String;
.locals 2
const-string v0, "IntegerChildName(\""
.line 1
invoke-static {v0}, Landroid/support/v4/media/d;->a(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-static {p0}, Lcom/google/firebase/database/snapshot/ChildKey;->access$100(Lcom/google/firebase/database/snapshot/ChildKey;)Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v1, "\")"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
@@ -0,0 +1,470 @@
.class public Lcom/google/firebase/database/snapshot/ChildKey;
.super Ljava/lang/Object;
.source "ChildKey.java"
# interfaces
.implements Ljava/lang/Comparable;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/google/firebase/database/snapshot/ChildKey$IntegerChildKey;
}
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Object;",
"Ljava/lang/Comparable<",
"Lcom/google/firebase/database/snapshot/ChildKey;",
">;"
}
.end annotation
# static fields
.field private static final INFO_CHILD_KEY:Lcom/google/firebase/database/snapshot/ChildKey;
.field private static final MAX_KEY:Lcom/google/firebase/database/snapshot/ChildKey;
.field public static final MAX_KEY_NAME:Ljava/lang/String; = "[MAX_KEY]"
.field private static final MIN_KEY:Lcom/google/firebase/database/snapshot/ChildKey;
.field public static final MIN_KEY_NAME:Ljava/lang/String; = "[MIN_NAME]"
.field private static final PRIORITY_CHILD_KEY:Lcom/google/firebase/database/snapshot/ChildKey;
# instance fields
.field private final key:Ljava/lang/String;
# direct methods
.method public static constructor <clinit>()V
.locals 2
.line 1
new-instance v0, Lcom/google/firebase/database/snapshot/ChildKey;
const-string v1, "[MIN_NAME]"
invoke-direct {v0, v1}, Lcom/google/firebase/database/snapshot/ChildKey;-><init>(Ljava/lang/String;)V
sput-object v0, Lcom/google/firebase/database/snapshot/ChildKey;->MIN_KEY:Lcom/google/firebase/database/snapshot/ChildKey;
.line 2
new-instance v0, Lcom/google/firebase/database/snapshot/ChildKey;
const-string v1, "[MAX_KEY]"
invoke-direct {v0, v1}, Lcom/google/firebase/database/snapshot/ChildKey;-><init>(Ljava/lang/String;)V
sput-object v0, Lcom/google/firebase/database/snapshot/ChildKey;->MAX_KEY:Lcom/google/firebase/database/snapshot/ChildKey;
.line 3
new-instance v0, Lcom/google/firebase/database/snapshot/ChildKey;
const-string v1, ".priority"
invoke-direct {v0, v1}, Lcom/google/firebase/database/snapshot/ChildKey;-><init>(Ljava/lang/String;)V
sput-object v0, Lcom/google/firebase/database/snapshot/ChildKey;->PRIORITY_CHILD_KEY:Lcom/google/firebase/database/snapshot/ChildKey;
.line 4
new-instance v0, Lcom/google/firebase/database/snapshot/ChildKey;
const-string v1, ".info"
invoke-direct {v0, v1}, Lcom/google/firebase/database/snapshot/ChildKey;-><init>(Ljava/lang/String;)V
sput-object v0, Lcom/google/firebase/database/snapshot/ChildKey;->INFO_CHILD_KEY:Lcom/google/firebase/database/snapshot/ChildKey;
return-void
.end method
.method private constructor <init>(Ljava/lang/String;)V
.locals 0
.line 2
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 3
iput-object p1, p0, Lcom/google/firebase/database/snapshot/ChildKey;->key:Ljava/lang/String;
return-void
.end method
.method public synthetic constructor <init>(Ljava/lang/String;Lcom/google/firebase/database/snapshot/ChildKey$1;)V
.locals 0
.line 1
invoke-direct {p0, p1}, Lcom/google/firebase/database/snapshot/ChildKey;-><init>(Ljava/lang/String;)V
return-void
.end method
.method public static synthetic access$100(Lcom/google/firebase/database/snapshot/ChildKey;)Ljava/lang/String;
.locals 0
.line 1
iget-object p0, p0, Lcom/google/firebase/database/snapshot/ChildKey;->key:Ljava/lang/String;
return-object p0
.end method
.method public static fromString(Ljava/lang/String;)Lcom/google/firebase/database/snapshot/ChildKey;
.locals 2
.line 1
invoke-static {p0}, Lcom/google/firebase/database/core/utilities/Utilities;->tryParseInt(Ljava/lang/String;)Ljava/lang/Integer;
move-result-object v0
if-eqz v0, :cond_0
.line 2
new-instance v1, Lcom/google/firebase/database/snapshot/ChildKey$IntegerChildKey;
invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
move-result v0
invoke-direct {v1, p0, v0}, Lcom/google/firebase/database/snapshot/ChildKey$IntegerChildKey;-><init>(Ljava/lang/String;I)V
return-object v1
:cond_0
const-string v0, ".priority"
.line 3
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_1
.line 4
sget-object p0, Lcom/google/firebase/database/snapshot/ChildKey;->PRIORITY_CHILD_KEY:Lcom/google/firebase/database/snapshot/ChildKey;
return-object p0
:cond_1
const-string v0, "/"
.line 5
invoke-virtual {p0, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v0
xor-int/lit8 v0, v0, 0x1
invoke-static {v0}, Lcom/google/firebase/database/core/utilities/Utilities;->hardAssert(Z)V
.line 6
new-instance v0, Lcom/google/firebase/database/snapshot/ChildKey;
invoke-direct {v0, p0}, Lcom/google/firebase/database/snapshot/ChildKey;-><init>(Ljava/lang/String;)V
return-object v0
.end method
.method public static getInfoKey()Lcom/google/firebase/database/snapshot/ChildKey;
.locals 1
.line 1
sget-object v0, Lcom/google/firebase/database/snapshot/ChildKey;->INFO_CHILD_KEY:Lcom/google/firebase/database/snapshot/ChildKey;
return-object v0
.end method
.method public static getMaxName()Lcom/google/firebase/database/snapshot/ChildKey;
.locals 1
.line 1
sget-object v0, Lcom/google/firebase/database/snapshot/ChildKey;->MAX_KEY:Lcom/google/firebase/database/snapshot/ChildKey;
return-object v0
.end method
.method public static getMinName()Lcom/google/firebase/database/snapshot/ChildKey;
.locals 1
.line 1
sget-object v0, Lcom/google/firebase/database/snapshot/ChildKey;->MIN_KEY:Lcom/google/firebase/database/snapshot/ChildKey;
return-object v0
.end method
.method public static getPriorityKey()Lcom/google/firebase/database/snapshot/ChildKey;
.locals 1
.line 1
sget-object v0, Lcom/google/firebase/database/snapshot/ChildKey;->PRIORITY_CHILD_KEY:Lcom/google/firebase/database/snapshot/ChildKey;
return-object v0
.end method
# virtual methods
.method public asString()Ljava/lang/String;
.locals 1
.line 1
iget-object v0, p0, Lcom/google/firebase/database/snapshot/ChildKey;->key:Ljava/lang/String;
return-object v0
.end method
.method public compareTo(Lcom/google/firebase/database/snapshot/ChildKey;)I
.locals 4
if-ne p0, p1, :cond_0
const/4 p1, 0x0
return p1
.line 2
:cond_0
iget-object v0, p0, Lcom/google/firebase/database/snapshot/ChildKey;->key:Ljava/lang/String;
const-string v1, "[MIN_NAME]"
invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
const/4 v2, -0x1
if-nez v0, :cond_8
iget-object v0, p1, Lcom/google/firebase/database/snapshot/ChildKey;->key:Ljava/lang/String;
const-string v3, "[MAX_KEY]"
invoke-virtual {v0, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_1
goto :goto_1
.line 3
:cond_1
iget-object v0, p1, Lcom/google/firebase/database/snapshot/ChildKey;->key:Ljava/lang/String;
invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
const/4 v1, 0x1
if-nez v0, :cond_7
iget-object v0, p0, Lcom/google/firebase/database/snapshot/ChildKey;->key:Ljava/lang/String;
invoke-virtual {v0, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_2
goto :goto_0
.line 4
:cond_2
invoke-virtual {p0}, Lcom/google/firebase/database/snapshot/ChildKey;->isInt()Z
move-result v0
if-eqz v0, :cond_5
.line 5
invoke-virtual {p1}, Lcom/google/firebase/database/snapshot/ChildKey;->isInt()Z
move-result v0
if-eqz v0, :cond_4
.line 6
invoke-virtual {p0}, Lcom/google/firebase/database/snapshot/ChildKey;->intValue()I
move-result v0
invoke-virtual {p1}, Lcom/google/firebase/database/snapshot/ChildKey;->intValue()I
move-result v1
invoke-static {v0, v1}, Lcom/google/firebase/database/core/utilities/Utilities;->compareInts(II)I
move-result v0
if-nez v0, :cond_3
.line 7
iget-object v0, p0, Lcom/google/firebase/database/snapshot/ChildKey;->key:Ljava/lang/String;
invoke-virtual {v0}, Ljava/lang/String;->length()I
move-result v0
iget-object p1, p1, Lcom/google/firebase/database/snapshot/ChildKey;->key:Ljava/lang/String;
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result p1
invoke-static {v0, p1}, Lcom/google/firebase/database/core/utilities/Utilities;->compareInts(II)I
move-result v0
:cond_3
return v0
:cond_4
return v2
.line 8
:cond_5
invoke-virtual {p1}, Lcom/google/firebase/database/snapshot/ChildKey;->isInt()Z
move-result v0
if-eqz v0, :cond_6
return v1
.line 9
:cond_6
iget-object v0, p0, Lcom/google/firebase/database/snapshot/ChildKey;->key:Ljava/lang/String;
iget-object p1, p1, Lcom/google/firebase/database/snapshot/ChildKey;->key:Ljava/lang/String;
invoke-virtual {v0, p1}, Ljava/lang/String;->compareTo(Ljava/lang/String;)I
move-result p1
return p1
:cond_7
:goto_0
return v1
:cond_8
:goto_1
return v2
.end method
.method public bridge synthetic compareTo(Ljava/lang/Object;)I
.locals 0
.line 1
check-cast p1, Lcom/google/firebase/database/snapshot/ChildKey;
invoke-virtual {p0, p1}, Lcom/google/firebase/database/snapshot/ChildKey;->compareTo(Lcom/google/firebase/database/snapshot/ChildKey;)I
move-result p1
return p1
.end method
.method public equals(Ljava/lang/Object;)Z
.locals 1
.line 1
instance-of v0, p1, Lcom/google/firebase/database/snapshot/ChildKey;
if-nez v0, :cond_0
const/4 p1, 0x0
return p1
:cond_0
if-ne p0, p1, :cond_1
const/4 p1, 0x1
return p1
.line 2
:cond_1
check-cast p1, Lcom/google/firebase/database/snapshot/ChildKey;
.line 3
iget-object v0, p0, Lcom/google/firebase/database/snapshot/ChildKey;->key:Ljava/lang/String;
iget-object p1, p1, Lcom/google/firebase/database/snapshot/ChildKey;->key:Ljava/lang/String;
invoke-virtual {v0, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p1
return p1
.end method
.method public hashCode()I
.locals 1
.line 1
iget-object v0, p0, Lcom/google/firebase/database/snapshot/ChildKey;->key:Ljava/lang/String;
invoke-virtual {v0}, Ljava/lang/String;->hashCode()I
move-result v0
return v0
.end method
.method public intValue()I
.locals 1
const/4 v0, 0x0
return v0
.end method
.method public isInt()Z
.locals 1
const/4 v0, 0x0
return v0
.end method
.method public isPriorityChildName()Z
.locals 1
.line 1
sget-object v0, Lcom/google/firebase/database/snapshot/ChildKey;->PRIORITY_CHILD_KEY:Lcom/google/firebase/database/snapshot/ChildKey;
invoke-virtual {p0, v0}, Lcom/google/firebase/database/snapshot/ChildKey;->equals(Ljava/lang/Object;)Z
move-result v0
return v0
.end method
.method public toString()Ljava/lang/String;
.locals 3
const-string v0, "ChildKey(\""
.line 1
invoke-static {v0}, Landroid/support/v4/media/d;->a(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
iget-object v1, p0, Lcom/google/firebase/database/snapshot/ChildKey;->key:Ljava/lang/String;
const-string v2, "\")"
invoke-static {v0, v1, v2}, Landroidx/camera/camera2/internal/b;->a(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
return-object v0
.end method
@@ -0,0 +1,65 @@
.class Lcom/google/firebase/database/snapshot/ChildrenNode$1;
.super Ljava/lang/Object;
.source "ChildrenNode.java"
# interfaces
.implements Ljava/util/Comparator;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/firebase/database/snapshot/ChildrenNode;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Object;",
"Ljava/util/Comparator<",
"Lcom/google/firebase/database/snapshot/ChildKey;",
">;"
}
.end annotation
# direct methods
.method public constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public compare(Lcom/google/firebase/database/snapshot/ChildKey;Lcom/google/firebase/database/snapshot/ChildKey;)I
.locals 0
.line 2
invoke-virtual {p1, p2}, Lcom/google/firebase/database/snapshot/ChildKey;->compareTo(Lcom/google/firebase/database/snapshot/ChildKey;)I
move-result p1
return p1
.end method
.method public bridge synthetic compare(Ljava/lang/Object;Ljava/lang/Object;)I
.locals 0
.line 1
check-cast p1, Lcom/google/firebase/database/snapshot/ChildKey;
check-cast p2, Lcom/google/firebase/database/snapshot/ChildKey;
invoke-virtual {p0, p1, p2}, Lcom/google/firebase/database/snapshot/ChildrenNode$1;->compare(Lcom/google/firebase/database/snapshot/ChildKey;Lcom/google/firebase/database/snapshot/ChildKey;)I
move-result p1
return p1
.end method
@@ -0,0 +1,113 @@
.class Lcom/google/firebase/database/snapshot/ChildrenNode$2;
.super Lcom/google/firebase/database/collection/LLRBNode$NodeVisitor;
.source "ChildrenNode.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lcom/google/firebase/database/snapshot/ChildrenNode;->forEachChild(Lcom/google/firebase/database/snapshot/ChildrenNode$ChildVisitor;Z)V
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/google/firebase/database/collection/LLRBNode$NodeVisitor<",
"Lcom/google/firebase/database/snapshot/ChildKey;",
"Lcom/google/firebase/database/snapshot/Node;",
">;"
}
.end annotation
# instance fields
.field public passedPriorityKey:Z
.field public final synthetic this$0:Lcom/google/firebase/database/snapshot/ChildrenNode;
.field public final synthetic val$visitor:Lcom/google/firebase/database/snapshot/ChildrenNode$ChildVisitor;
# direct methods
.method public constructor <init>(Lcom/google/firebase/database/snapshot/ChildrenNode;Lcom/google/firebase/database/snapshot/ChildrenNode$ChildVisitor;)V
.locals 0
.line 1
iput-object p1, p0, Lcom/google/firebase/database/snapshot/ChildrenNode$2;->this$0:Lcom/google/firebase/database/snapshot/ChildrenNode;
iput-object p2, p0, Lcom/google/firebase/database/snapshot/ChildrenNode$2;->val$visitor:Lcom/google/firebase/database/snapshot/ChildrenNode$ChildVisitor;
invoke-direct {p0}, Lcom/google/firebase/database/collection/LLRBNode$NodeVisitor;-><init>()V
const/4 p1, 0x0
.line 2
iput-boolean p1, p0, Lcom/google/firebase/database/snapshot/ChildrenNode$2;->passedPriorityKey:Z
return-void
.end method
# virtual methods
.method public visitEntry(Lcom/google/firebase/database/snapshot/ChildKey;Lcom/google/firebase/database/snapshot/Node;)V
.locals 3
.line 2
iget-boolean v0, p0, Lcom/google/firebase/database/snapshot/ChildrenNode$2;->passedPriorityKey:Z
if-nez v0, :cond_0
invoke-static {}, Lcom/google/firebase/database/snapshot/ChildKey;->getPriorityKey()Lcom/google/firebase/database/snapshot/ChildKey;
move-result-object v0
invoke-virtual {p1, v0}, Lcom/google/firebase/database/snapshot/ChildKey;->compareTo(Lcom/google/firebase/database/snapshot/ChildKey;)I
move-result v0
if-lez v0, :cond_0
const/4 v0, 0x1
.line 3
iput-boolean v0, p0, Lcom/google/firebase/database/snapshot/ChildrenNode$2;->passedPriorityKey:Z
.line 4
iget-object v0, p0, Lcom/google/firebase/database/snapshot/ChildrenNode$2;->val$visitor:Lcom/google/firebase/database/snapshot/ChildrenNode$ChildVisitor;
invoke-static {}, Lcom/google/firebase/database/snapshot/ChildKey;->getPriorityKey()Lcom/google/firebase/database/snapshot/ChildKey;
move-result-object v1
iget-object v2, p0, Lcom/google/firebase/database/snapshot/ChildrenNode$2;->this$0:Lcom/google/firebase/database/snapshot/ChildrenNode;
invoke-virtual {v2}, Lcom/google/firebase/database/snapshot/ChildrenNode;->getPriority()Lcom/google/firebase/database/snapshot/Node;
move-result-object v2
invoke-virtual {v0, v1, v2}, Lcom/google/firebase/database/snapshot/ChildrenNode$ChildVisitor;->visitChild(Lcom/google/firebase/database/snapshot/ChildKey;Lcom/google/firebase/database/snapshot/Node;)V
.line 5
:cond_0
iget-object v0, p0, Lcom/google/firebase/database/snapshot/ChildrenNode$2;->val$visitor:Lcom/google/firebase/database/snapshot/ChildrenNode$ChildVisitor;
invoke-virtual {v0, p1, p2}, Lcom/google/firebase/database/snapshot/ChildrenNode$ChildVisitor;->visitChild(Lcom/google/firebase/database/snapshot/ChildKey;Lcom/google/firebase/database/snapshot/Node;)V
return-void
.end method
.method public bridge synthetic visitEntry(Ljava/lang/Object;Ljava/lang/Object;)V
.locals 0
.line 1
check-cast p1, Lcom/google/firebase/database/snapshot/ChildKey;
check-cast p2, Lcom/google/firebase/database/snapshot/Node;
invoke-virtual {p0, p1, p2}, Lcom/google/firebase/database/snapshot/ChildrenNode$2;->visitEntry(Lcom/google/firebase/database/snapshot/ChildKey;Lcom/google/firebase/database/snapshot/Node;)V
return-void
.end method
@@ -0,0 +1,61 @@
.class public abstract Lcom/google/firebase/database/snapshot/ChildrenNode$ChildVisitor;
.super Lcom/google/firebase/database/collection/LLRBNode$NodeVisitor;
.source "ChildrenNode.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/firebase/database/snapshot/ChildrenNode;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x409
name = "ChildVisitor"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/google/firebase/database/collection/LLRBNode$NodeVisitor<",
"Lcom/google/firebase/database/snapshot/ChildKey;",
"Lcom/google/firebase/database/snapshot/Node;",
">;"
}
.end annotation
# direct methods
.method public constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Lcom/google/firebase/database/collection/LLRBNode$NodeVisitor;-><init>()V
return-void
.end method
# virtual methods
.method public abstract visitChild(Lcom/google/firebase/database/snapshot/ChildKey;Lcom/google/firebase/database/snapshot/Node;)V
.end method
.method public visitEntry(Lcom/google/firebase/database/snapshot/ChildKey;Lcom/google/firebase/database/snapshot/Node;)V
.locals 0
.line 2
invoke-virtual {p0, p1, p2}, Lcom/google/firebase/database/snapshot/ChildrenNode$ChildVisitor;->visitChild(Lcom/google/firebase/database/snapshot/ChildKey;Lcom/google/firebase/database/snapshot/Node;)V
return-void
.end method
.method public bridge synthetic visitEntry(Ljava/lang/Object;Ljava/lang/Object;)V
.locals 0
.line 1
check-cast p1, Lcom/google/firebase/database/snapshot/ChildKey;
check-cast p2, Lcom/google/firebase/database/snapshot/Node;
invoke-virtual {p0, p1, p2}, Lcom/google/firebase/database/snapshot/ChildrenNode$ChildVisitor;->visitEntry(Lcom/google/firebase/database/snapshot/ChildKey;Lcom/google/firebase/database/snapshot/Node;)V
return-void
.end method
@@ -0,0 +1,133 @@
.class Lcom/google/firebase/database/snapshot/ChildrenNode$NamedNodeIterator;
.super Ljava/lang/Object;
.source "ChildrenNode.java"
# interfaces
.implements Ljava/util/Iterator;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/firebase/database/snapshot/ChildrenNode;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "NamedNodeIterator"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Object;",
"Ljava/util/Iterator<",
"Lcom/google/firebase/database/snapshot/NamedNode;",
">;"
}
.end annotation
# instance fields
.field private final iterator:Ljava/util/Iterator;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Iterator<",
"Ljava/util/Map$Entry<",
"Lcom/google/firebase/database/snapshot/ChildKey;",
"Lcom/google/firebase/database/snapshot/Node;",
">;>;"
}
.end annotation
.end field
# direct methods
.method public constructor <init>(Ljava/util/Iterator;)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/Iterator<",
"Ljava/util/Map$Entry<",
"Lcom/google/firebase/database/snapshot/ChildKey;",
"Lcom/google/firebase/database/snapshot/Node;",
">;>;)V"
}
.end annotation
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
iput-object p1, p0, Lcom/google/firebase/database/snapshot/ChildrenNode$NamedNodeIterator;->iterator:Ljava/util/Iterator;
return-void
.end method
# virtual methods
.method public hasNext()Z
.locals 1
.line 1
iget-object v0, p0, Lcom/google/firebase/database/snapshot/ChildrenNode$NamedNodeIterator;->iterator:Ljava/util/Iterator;
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v0
return v0
.end method
.method public next()Lcom/google/firebase/database/snapshot/NamedNode;
.locals 3
.line 2
iget-object v0, p0, Lcom/google/firebase/database/snapshot/ChildrenNode$NamedNodeIterator;->iterator:Ljava/util/Iterator;
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/util/Map$Entry;
.line 3
new-instance v1, Lcom/google/firebase/database/snapshot/NamedNode;
invoke-interface {v0}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/google/firebase/database/snapshot/ChildKey;
invoke-interface {v0}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/google/firebase/database/snapshot/Node;
invoke-direct {v1, v2, v0}, Lcom/google/firebase/database/snapshot/NamedNode;-><init>(Lcom/google/firebase/database/snapshot/ChildKey;Lcom/google/firebase/database/snapshot/Node;)V
return-object v1
.end method
.method public bridge synthetic next()Ljava/lang/Object;
.locals 1
.line 1
invoke-virtual {p0}, Lcom/google/firebase/database/snapshot/ChildrenNode$NamedNodeIterator;->next()Lcom/google/firebase/database/snapshot/NamedNode;
move-result-object v0
return-object v0
.end method
.method public remove()V
.locals 1
.line 1
iget-object v0, p0, Lcom/google/firebase/database/snapshot/ChildrenNode$NamedNodeIterator;->iterator:Ljava/util/Iterator;
invoke-interface {v0}, Ljava/util/Iterator;->remove()V
return-void
.end method
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,54 @@
.class Lcom/google/firebase/database/snapshot/CompoundHash$1;
.super Lcom/google/firebase/database/snapshot/ChildrenNode$ChildVisitor;
.source "CompoundHash.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lcom/google/firebase/database/snapshot/CompoundHash;->processNode(Lcom/google/firebase/database/snapshot/Node;Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;)V
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
# instance fields
.field public final synthetic val$state:Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;
# direct methods
.method public constructor <init>(Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;)V
.locals 0
.line 1
iput-object p1, p0, Lcom/google/firebase/database/snapshot/CompoundHash$1;->val$state:Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;
invoke-direct {p0}, Lcom/google/firebase/database/snapshot/ChildrenNode$ChildVisitor;-><init>()V
return-void
.end method
# virtual methods
.method public visitChild(Lcom/google/firebase/database/snapshot/ChildKey;Lcom/google/firebase/database/snapshot/Node;)V
.locals 1
.line 1
iget-object v0, p0, Lcom/google/firebase/database/snapshot/CompoundHash$1;->val$state:Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;
invoke-static {v0, p1}, Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;->access$400(Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;Lcom/google/firebase/database/snapshot/ChildKey;)V
.line 2
iget-object p1, p0, Lcom/google/firebase/database/snapshot/CompoundHash$1;->val$state:Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;
invoke-static {p2, p1}, Lcom/google/firebase/database/snapshot/CompoundHash;->access$500(Lcom/google/firebase/database/snapshot/Node;Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;)V
.line 3
iget-object p1, p0, Lcom/google/firebase/database/snapshot/CompoundHash$1;->val$state:Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;
invoke-static {p1}, Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;->access$600(Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;)V
return-void
.end method
@@ -0,0 +1,599 @@
.class Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;
.super Ljava/lang/Object;
.source "CompoundHash.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/firebase/database/snapshot/CompoundHash;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "CompoundHashBuilder"
.end annotation
# instance fields
.field private final currentHashes:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Ljava/lang/String;",
">;"
}
.end annotation
.end field
.field private currentPath:Ljava/util/Stack;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Stack<",
"Lcom/google/firebase/database/snapshot/ChildKey;",
">;"
}
.end annotation
.end field
.field private currentPathDepth:I
.field private final currentPaths:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Lcom/google/firebase/database/core/Path;",
">;"
}
.end annotation
.end field
.field private lastLeafDepth:I
.field private needsComma:Z
.field private optHashValueBuilder:Ljava/lang/StringBuilder;
.field private final splitStrategy:Lcom/google/firebase/database/snapshot/CompoundHash$SplitStrategy;
# direct methods
.method public constructor <init>(Lcom/google/firebase/database/snapshot/CompoundHash$SplitStrategy;)V
.locals 1
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
const/4 v0, 0x0
.line 2
iput-object v0, p0, Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;->optHashValueBuilder:Ljava/lang/StringBuilder;
.line 3
new-instance v0, Ljava/util/Stack;
invoke-direct {v0}, Ljava/util/Stack;-><init>()V
iput-object v0, p0, Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;->currentPath:Ljava/util/Stack;
const/4 v0, -0x1
.line 4
iput v0, p0, Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;->lastLeafDepth:I
const/4 v0, 0x1
.line 5
iput-boolean v0, p0, Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;->needsComma:Z
.line 6
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
iput-object v0, p0, Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;->currentPaths:Ljava/util/List;
.line 7
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
iput-object v0, p0, Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;->currentHashes:Ljava/util/List;
.line 8
iput-object p1, p0, Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;->splitStrategy:Lcom/google/firebase/database/snapshot/CompoundHash$SplitStrategy;
return-void
.end method
.method public static synthetic access$000(Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;)V
.locals 0
.line 1
invoke-direct {p0}, Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;->finishHashing()V
return-void
.end method
.method public static synthetic access$100(Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;)Ljava/util/List;
.locals 0
.line 1
iget-object p0, p0, Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;->currentPaths:Ljava/util/List;
return-object p0
.end method
.method public static synthetic access$200(Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;)Ljava/util/List;
.locals 0
.line 1
iget-object p0, p0, Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;->currentHashes:Ljava/util/List;
return-object p0
.end method
.method public static synthetic access$300(Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;Lcom/google/firebase/database/snapshot/LeafNode;)V
.locals 0
.line 1
invoke-direct {p0, p1}, Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;->processLeaf(Lcom/google/firebase/database/snapshot/LeafNode;)V
return-void
.end method
.method public static synthetic access$400(Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;Lcom/google/firebase/database/snapshot/ChildKey;)V
.locals 0
.line 1
invoke-direct {p0, p1}, Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;->startChild(Lcom/google/firebase/database/snapshot/ChildKey;)V
return-void
.end method
.method public static synthetic access$600(Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;)V
.locals 0
.line 1
invoke-direct {p0}, Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;->endChild()V
return-void
.end method
.method private appendKey(Ljava/lang/StringBuilder;Lcom/google/firebase/database/snapshot/ChildKey;)V
.locals 0
.line 1
invoke-virtual {p2}, Lcom/google/firebase/database/snapshot/ChildKey;->asString()Ljava/lang/String;
move-result-object p2
invoke-static {p2}, Lcom/google/firebase/database/core/utilities/Utilities;->stringHashV2Representation(Ljava/lang/String;)Ljava/lang/String;
move-result-object p2
invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
return-void
.end method
.method private currentPath(I)Lcom/google/firebase/database/core/Path;
.locals 3
.line 2
new-array v0, p1, [Lcom/google/firebase/database/snapshot/ChildKey;
const/4 v1, 0x0
:goto_0
if-ge v1, p1, :cond_0
.line 3
iget-object v2, p0, Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;->currentPath:Ljava/util/Stack;
invoke-virtual {v2, v1}, Ljava/util/Stack;->get(I)Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/google/firebase/database/snapshot/ChildKey;
aput-object v2, v0, v1
add-int/lit8 v1, v1, 0x1
goto :goto_0
.line 4
:cond_0
new-instance p1, Lcom/google/firebase/database/core/Path;
invoke-direct {p1, v0}, Lcom/google/firebase/database/core/Path;-><init>([Lcom/google/firebase/database/snapshot/ChildKey;)V
return-object p1
.end method
.method private endChild()V
.locals 3
.line 1
iget v0, p0, Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;->currentPathDepth:I
const/4 v1, 0x1
sub-int/2addr v0, v1
iput v0, p0, Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;->currentPathDepth:I
.line 2
invoke-virtual {p0}, Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;->buildingRange()Z
move-result v0
if-eqz v0, :cond_0
.line 3
iget-object v0, p0, Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;->optHashValueBuilder:Ljava/lang/StringBuilder;
const-string v2, ")"
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 4
:cond_0
iput-boolean v1, p0, Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;->needsComma:Z
return-void
.end method
.method private endRange()V
.locals 3
.line 1
invoke-virtual {p0}, Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;->buildingRange()Z
move-result v0
const-string v1, "Can\'t end range without starting a range!"
invoke-static {v0, v1}, Lcom/google/firebase/database/core/utilities/Utilities;->hardAssert(ZLjava/lang/String;)V
const/4 v0, 0x0
.line 2
:goto_0
iget v1, p0, Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;->currentPathDepth:I
const-string v2, ")"
if-ge v0, v1, :cond_0
.line 3
iget-object v1, p0, Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;->optHashValueBuilder:Ljava/lang/StringBuilder;
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
add-int/lit8 v0, v0, 0x1
goto :goto_0
.line 4
:cond_0
iget-object v0, p0, Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;->optHashValueBuilder:Ljava/lang/StringBuilder;
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 5
iget v0, p0, Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;->lastLeafDepth:I
invoke-direct {p0, v0}, Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;->currentPath(I)Lcom/google/firebase/database/core/Path;
move-result-object v0
.line 6
iget-object v1, p0, Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;->optHashValueBuilder:Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-static {v1}, Lcom/google/firebase/database/core/utilities/Utilities;->sha1HexDigest(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
.line 7
iget-object v2, p0, Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;->currentHashes:Ljava/util/List;
invoke-interface {v2, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 8
iget-object v1, p0, Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;->currentPaths:Ljava/util/List;
invoke-interface {v1, v0}, Ljava/util/List;->add(Ljava/lang/Object;)Z
const/4 v0, 0x0
.line 9
iput-object v0, p0, Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;->optHashValueBuilder:Ljava/lang/StringBuilder;
return-void
.end method
.method private ensureRange()V
.locals 3
.line 1
invoke-virtual {p0}, Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;->buildingRange()Z
move-result v0
if-nez v0, :cond_1
.line 2
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
iput-object v0, p0, Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;->optHashValueBuilder:Ljava/lang/StringBuilder;
const-string v1, "("
.line 3
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 4
iget v0, p0, Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;->currentPathDepth:I
invoke-direct {p0, v0}, Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;->currentPath(I)Lcom/google/firebase/database/core/Path;
move-result-object v0
invoke-virtual {v0}, Lcom/google/firebase/database/core/Path;->iterator()Ljava/util/Iterator;
move-result-object v0
:goto_0
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_0
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcom/google/firebase/database/snapshot/ChildKey;
.line 5
iget-object v2, p0, Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;->optHashValueBuilder:Ljava/lang/StringBuilder;
invoke-direct {p0, v2, v1}, Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;->appendKey(Ljava/lang/StringBuilder;Lcom/google/firebase/database/snapshot/ChildKey;)V
.line 6
iget-object v1, p0, Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;->optHashValueBuilder:Ljava/lang/StringBuilder;
const-string v2, ":("
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
goto :goto_0
:cond_0
const/4 v0, 0x0
.line 7
iput-boolean v0, p0, Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;->needsComma:Z
:cond_1
return-void
.end method
.method private finishHashing()V
.locals 2
.line 1
iget v0, p0, Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;->currentPathDepth:I
if-nez v0, :cond_0
const/4 v0, 0x1
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
const-string v1, "Can\'t finish hashing in the middle processing a child"
invoke-static {v0, v1}, Lcom/google/firebase/database/core/utilities/Utilities;->hardAssert(ZLjava/lang/String;)V
.line 2
invoke-virtual {p0}, Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;->buildingRange()Z
move-result v0
if-eqz v0, :cond_1
.line 3
invoke-direct {p0}, Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;->endRange()V
.line 4
:cond_1
iget-object v0, p0, Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;->currentHashes:Ljava/util/List;
const-string v1, ""
invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
return-void
.end method
.method private processLeaf(Lcom/google/firebase/database/snapshot/LeafNode;)V
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/firebase/database/snapshot/LeafNode<",
"*>;)V"
}
.end annotation
.line 1
invoke-direct {p0}, Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;->ensureRange()V
.line 2
iget v0, p0, Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;->currentPathDepth:I
iput v0, p0, Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;->lastLeafDepth:I
.line 3
iget-object v0, p0, Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;->optHashValueBuilder:Ljava/lang/StringBuilder;
sget-object v1, Lcom/google/firebase/database/snapshot/Node$HashVersion;->V2:Lcom/google/firebase/database/snapshot/Node$HashVersion;
invoke-interface {p1, v1}, Lcom/google/firebase/database/snapshot/Node;->getHashRepresentation(Lcom/google/firebase/database/snapshot/Node$HashVersion;)Ljava/lang/String;
move-result-object p1
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const/4 p1, 0x1
.line 4
iput-boolean p1, p0, Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;->needsComma:Z
.line 5
iget-object p1, p0, Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;->splitStrategy:Lcom/google/firebase/database/snapshot/CompoundHash$SplitStrategy;
invoke-interface {p1, p0}, Lcom/google/firebase/database/snapshot/CompoundHash$SplitStrategy;->shouldSplit(Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;)Z
move-result p1
if-eqz p1, :cond_0
.line 6
invoke-direct {p0}, Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;->endRange()V
:cond_0
return-void
.end method
.method private startChild(Lcom/google/firebase/database/snapshot/ChildKey;)V
.locals 2
.line 1
invoke-direct {p0}, Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;->ensureRange()V
.line 2
iget-boolean v0, p0, Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;->needsComma:Z
if-eqz v0, :cond_0
.line 3
iget-object v0, p0, Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;->optHashValueBuilder:Ljava/lang/StringBuilder;
const-string v1, ","
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 4
:cond_0
iget-object v0, p0, Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;->optHashValueBuilder:Ljava/lang/StringBuilder;
invoke-direct {p0, v0, p1}, Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;->appendKey(Ljava/lang/StringBuilder;Lcom/google/firebase/database/snapshot/ChildKey;)V
.line 5
iget-object v0, p0, Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;->optHashValueBuilder:Ljava/lang/StringBuilder;
const-string v1, ":("
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 6
iget v0, p0, Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;->currentPathDepth:I
iget-object v1, p0, Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;->currentPath:Ljava/util/Stack;
invoke-virtual {v1}, Ljava/util/Stack;->size()I
move-result v1
if-ne v0, v1, :cond_1
.line 7
iget-object v0, p0, Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;->currentPath:Ljava/util/Stack;
invoke-virtual {v0, p1}, Ljava/util/Stack;->add(Ljava/lang/Object;)Z
goto :goto_0
.line 8
:cond_1
iget-object v0, p0, Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;->currentPath:Ljava/util/Stack;
iget v1, p0, Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;->currentPathDepth:I
invoke-virtual {v0, v1, p1}, Ljava/util/Stack;->set(ILjava/lang/Object;)Ljava/lang/Object;
.line 9
:goto_0
iget p1, p0, Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;->currentPathDepth:I
add-int/lit8 p1, p1, 0x1
iput p1, p0, Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;->currentPathDepth:I
const/4 p1, 0x0
.line 10
iput-boolean p1, p0, Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;->needsComma:Z
return-void
.end method
# virtual methods
.method public buildingRange()Z
.locals 1
.line 1
iget-object v0, p0, Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;->optHashValueBuilder:Ljava/lang/StringBuilder;
if-eqz v0, :cond_0
const/4 v0, 0x1
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
return v0
.end method
.method public currentHashLength()I
.locals 1
.line 1
iget-object v0, p0, Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;->optHashValueBuilder:Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->length()I
move-result v0
return v0
.end method
.method public currentPath()Lcom/google/firebase/database/core/Path;
.locals 1
.line 1
iget v0, p0, Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;->currentPathDepth:I
invoke-direct {p0, v0}, Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;->currentPath(I)Lcom/google/firebase/database/core/Path;
move-result-object v0
return-object v0
.end method
@@ -0,0 +1,118 @@
.class Lcom/google/firebase/database/snapshot/CompoundHash$SimpleSizeSplitStrategy;
.super Ljava/lang/Object;
.source "CompoundHash.java"
# interfaces
.implements Lcom/google/firebase/database/snapshot/CompoundHash$SplitStrategy;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/firebase/database/snapshot/CompoundHash;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "SimpleSizeSplitStrategy"
.end annotation
# instance fields
.field private final splitThreshold:J
# direct methods
.method public constructor <init>(Lcom/google/firebase/database/snapshot/Node;)V
.locals 4
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
invoke-static {p1}, Lcom/google/firebase/database/core/utilities/NodeSizeEstimator;->estimateSerializedNodeSize(Lcom/google/firebase/database/snapshot/Node;)J
move-result-wide v0
const-wide/16 v2, 0x64
mul-long/2addr v0, v2
long-to-double v0, v0
.line 3
invoke-static {v0, v1}, Ljava/lang/Math;->sqrt(D)D
move-result-wide v0
double-to-long v0, v0
const-wide/16 v2, 0x200
invoke-static {v2, v3, v0, v1}, Ljava/lang/Math;->max(JJ)J
move-result-wide v0
iput-wide v0, p0, Lcom/google/firebase/database/snapshot/CompoundHash$SimpleSizeSplitStrategy;->splitThreshold:J
return-void
.end method
# virtual methods
.method public shouldSplit(Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;)Z
.locals 4
.line 1
invoke-virtual {p1}, Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;->currentHashLength()I
move-result v0
int-to-long v0, v0
iget-wide v2, p0, Lcom/google/firebase/database/snapshot/CompoundHash$SimpleSizeSplitStrategy;->splitThreshold:J
cmp-long v0, v0, v2
if-lez v0, :cond_1
.line 2
invoke-virtual {p1}, Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;->currentPath()Lcom/google/firebase/database/core/Path;
move-result-object v0
invoke-virtual {v0}, Lcom/google/firebase/database/core/Path;->isEmpty()Z
move-result v0
if-nez v0, :cond_0
.line 3
invoke-virtual {p1}, Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;->currentPath()Lcom/google/firebase/database/core/Path;
move-result-object p1
invoke-virtual {p1}, Lcom/google/firebase/database/core/Path;->getBack()Lcom/google/firebase/database/snapshot/ChildKey;
move-result-object p1
invoke-static {}, Lcom/google/firebase/database/snapshot/ChildKey;->getPriorityKey()Lcom/google/firebase/database/snapshot/ChildKey;
move-result-object v0
invoke-virtual {p1, v0}, Lcom/google/firebase/database/snapshot/ChildKey;->equals(Ljava/lang/Object;)Z
move-result p1
if-nez p1, :cond_1
:cond_0
const/4 p1, 0x1
goto :goto_0
:cond_1
const/4 p1, 0x0
:goto_0
return p1
.end method
@@ -0,0 +1,19 @@
.class public interface abstract Lcom/google/firebase/database/snapshot/CompoundHash$SplitStrategy;
.super Ljava/lang/Object;
.source "CompoundHash.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/firebase/database/snapshot/CompoundHash;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x609
name = "SplitStrategy"
.end annotation
# virtual methods
.method public abstract shouldSplit(Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;)Z
.end method
@@ -0,0 +1,288 @@
.class public Lcom/google/firebase/database/snapshot/CompoundHash;
.super Ljava/lang/Object;
.source "CompoundHash.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;,
Lcom/google/firebase/database/snapshot/CompoundHash$SimpleSizeSplitStrategy;,
Lcom/google/firebase/database/snapshot/CompoundHash$SplitStrategy;
}
.end annotation
# instance fields
.field private final hashes:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Ljava/lang/String;",
">;"
}
.end annotation
.end field
.field private final posts:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Lcom/google/firebase/database/core/Path;",
">;"
}
.end annotation
.end field
# direct methods
.method private constructor <init>(Ljava/util/List;Ljava/util/List;)V
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"Lcom/google/firebase/database/core/Path;",
">;",
"Ljava/util/List<",
"Ljava/lang/String;",
">;)V"
}
.end annotation
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
invoke-interface {p1}, Ljava/util/List;->size()I
move-result v0
invoke-interface {p2}, Ljava/util/List;->size()I
move-result v1
add-int/lit8 v1, v1, -0x1
if-ne v0, v1, :cond_0
.line 3
iput-object p1, p0, Lcom/google/firebase/database/snapshot/CompoundHash;->posts:Ljava/util/List;
.line 4
iput-object p2, p0, Lcom/google/firebase/database/snapshot/CompoundHash;->hashes:Ljava/util/List;
return-void
.line 5
:cond_0
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string p2, "Number of posts need to be n-1 for n hashes in CompoundHash"
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public static synthetic access$500(Lcom/google/firebase/database/snapshot/Node;Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;)V
.locals 0
.line 1
invoke-static {p0, p1}, Lcom/google/firebase/database/snapshot/CompoundHash;->processNode(Lcom/google/firebase/database/snapshot/Node;Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;)V
return-void
.end method
.method public static fromNode(Lcom/google/firebase/database/snapshot/Node;)Lcom/google/firebase/database/snapshot/CompoundHash;
.locals 1
.line 1
new-instance v0, Lcom/google/firebase/database/snapshot/CompoundHash$SimpleSizeSplitStrategy;
invoke-direct {v0, p0}, Lcom/google/firebase/database/snapshot/CompoundHash$SimpleSizeSplitStrategy;-><init>(Lcom/google/firebase/database/snapshot/Node;)V
invoke-static {p0, v0}, Lcom/google/firebase/database/snapshot/CompoundHash;->fromNode(Lcom/google/firebase/database/snapshot/Node;Lcom/google/firebase/database/snapshot/CompoundHash$SplitStrategy;)Lcom/google/firebase/database/snapshot/CompoundHash;
move-result-object p0
return-object p0
.end method
.method public static fromNode(Lcom/google/firebase/database/snapshot/Node;Lcom/google/firebase/database/snapshot/CompoundHash$SplitStrategy;)Lcom/google/firebase/database/snapshot/CompoundHash;
.locals 1
.line 2
invoke-interface {p0}, Lcom/google/firebase/database/snapshot/Node;->isEmpty()Z
move-result v0
if-eqz v0, :cond_0
.line 3
new-instance p0, Lcom/google/firebase/database/snapshot/CompoundHash;
invoke-static {}, Ljava/util/Collections;->emptyList()Ljava/util/List;
move-result-object p1
const-string v0, ""
invoke-static {v0}, Ljava/util/Collections;->singletonList(Ljava/lang/Object;)Ljava/util/List;
move-result-object v0
invoke-direct {p0, p1, v0}, Lcom/google/firebase/database/snapshot/CompoundHash;-><init>(Ljava/util/List;Ljava/util/List;)V
return-object p0
.line 4
:cond_0
new-instance v0, Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;
invoke-direct {v0, p1}, Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;-><init>(Lcom/google/firebase/database/snapshot/CompoundHash$SplitStrategy;)V
.line 5
invoke-static {p0, v0}, Lcom/google/firebase/database/snapshot/CompoundHash;->processNode(Lcom/google/firebase/database/snapshot/Node;Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;)V
.line 6
invoke-static {v0}, Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;->access$000(Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;)V
.line 7
new-instance p0, Lcom/google/firebase/database/snapshot/CompoundHash;
invoke-static {v0}, Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;->access$100(Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;)Ljava/util/List;
move-result-object p1
invoke-static {v0}, Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;->access$200(Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;)Ljava/util/List;
move-result-object v0
invoke-direct {p0, p1, v0}, Lcom/google/firebase/database/snapshot/CompoundHash;-><init>(Ljava/util/List;Ljava/util/List;)V
return-object p0
.end method
.method private static processNode(Lcom/google/firebase/database/snapshot/Node;Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;)V
.locals 2
.line 1
invoke-interface {p0}, Lcom/google/firebase/database/snapshot/Node;->isLeafNode()Z
move-result v0
if-eqz v0, :cond_0
.line 2
check-cast p0, Lcom/google/firebase/database/snapshot/LeafNode;
invoke-static {p1, p0}, Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;->access$300(Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;Lcom/google/firebase/database/snapshot/LeafNode;)V
goto :goto_0
.line 3
:cond_0
invoke-interface {p0}, Lcom/google/firebase/database/snapshot/Node;->isEmpty()Z
move-result v0
if-nez v0, :cond_2
.line 4
instance-of v0, p0, Lcom/google/firebase/database/snapshot/ChildrenNode;
if-eqz v0, :cond_1
.line 5
check-cast p0, Lcom/google/firebase/database/snapshot/ChildrenNode;
.line 6
new-instance v0, Lcom/google/firebase/database/snapshot/CompoundHash$1;
invoke-direct {v0, p1}, Lcom/google/firebase/database/snapshot/CompoundHash$1;-><init>(Lcom/google/firebase/database/snapshot/CompoundHash$CompoundHashBuilder;)V
const/4 p1, 0x1
.line 7
invoke-virtual {p0, v0, p1}, Lcom/google/firebase/database/snapshot/ChildrenNode;->forEachChild(Lcom/google/firebase/database/snapshot/ChildrenNode$ChildVisitor;Z)V
:goto_0
return-void
.line 8
:cond_1
new-instance p1, Ljava/lang/IllegalStateException;
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "Expected children node, but got: "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
invoke-direct {p1, p0}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw p1
.line 9
:cond_2
new-instance p0, Ljava/lang/IllegalArgumentException;
const-string p1, "Can\'t calculate hash on empty node!"
invoke-direct {p0, p1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p0
.end method
# virtual methods
.method public getHashes()Ljava/util/List;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/List<",
"Ljava/lang/String;",
">;"
}
.end annotation
.line 1
iget-object v0, p0, Lcom/google/firebase/database/snapshot/CompoundHash;->hashes:Ljava/util/List;
invoke-static {v0}, Ljava/util/Collections;->unmodifiableList(Ljava/util/List;)Ljava/util/List;
move-result-object v0
return-object v0
.end method
.method public getPosts()Ljava/util/List;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/List<",
"Lcom/google/firebase/database/core/Path;",
">;"
}
.end annotation
.line 1
iget-object v0, p0, Lcom/google/firebase/database/snapshot/CompoundHash;->posts:Ljava/util/List;
invoke-static {v0}, Ljava/util/Collections;->unmodifiableList(Ljava/util/List;)Ljava/util/List;
move-result-object v0
return-object v0
.end method
@@ -0,0 +1,217 @@
.class public Lcom/google/firebase/database/snapshot/DeferredValueNode;
.super Lcom/google/firebase/database/snapshot/LeafNode;
.source "DeferredValueNode.java"
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/google/firebase/database/snapshot/LeafNode<",
"Lcom/google/firebase/database/snapshot/DeferredValueNode;",
">;"
}
.end annotation
# instance fields
.field private value:Ljava/util/Map;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Map<",
"Ljava/lang/Object;",
"Ljava/lang/Object;",
">;"
}
.end annotation
.end field
# direct methods
.method public constructor <init>(Ljava/util/Map;Lcom/google/firebase/database/snapshot/Node;)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/Map<",
"Ljava/lang/Object;",
"Ljava/lang/Object;",
">;",
"Lcom/google/firebase/database/snapshot/Node;",
")V"
}
.end annotation
.line 1
invoke-direct {p0, p2}, Lcom/google/firebase/database/snapshot/LeafNode;-><init>(Lcom/google/firebase/database/snapshot/Node;)V
.line 2
iput-object p1, p0, Lcom/google/firebase/database/snapshot/DeferredValueNode;->value:Ljava/util/Map;
return-void
.end method
# virtual methods
.method public compareLeafValues(Lcom/google/firebase/database/snapshot/DeferredValueNode;)I
.locals 0
const/4 p1, 0x0
return p1
.end method
.method public bridge synthetic compareLeafValues(Lcom/google/firebase/database/snapshot/LeafNode;)I
.locals 0
.line 1
check-cast p1, Lcom/google/firebase/database/snapshot/DeferredValueNode;
invoke-virtual {p0, p1}, Lcom/google/firebase/database/snapshot/DeferredValueNode;->compareLeafValues(Lcom/google/firebase/database/snapshot/DeferredValueNode;)I
move-result p1
return p1
.end method
.method public equals(Ljava/lang/Object;)Z
.locals 3
.line 1
instance-of v0, p1, Lcom/google/firebase/database/snapshot/DeferredValueNode;
const/4 v1, 0x0
if-nez v0, :cond_0
return v1
.line 2
:cond_0
check-cast p1, Lcom/google/firebase/database/snapshot/DeferredValueNode;
.line 3
iget-object v0, p0, Lcom/google/firebase/database/snapshot/DeferredValueNode;->value:Ljava/util/Map;
iget-object v2, p1, Lcom/google/firebase/database/snapshot/DeferredValueNode;->value:Ljava/util/Map;
invoke-interface {v0, v2}, Ljava/util/Map;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_1
iget-object v0, p0, Lcom/google/firebase/database/snapshot/LeafNode;->priority:Lcom/google/firebase/database/snapshot/Node;
iget-object p1, p1, Lcom/google/firebase/database/snapshot/LeafNode;->priority:Lcom/google/firebase/database/snapshot/Node;
.line 4
invoke-virtual {v0, p1}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_1
const/4 v1, 0x1
:cond_1
return v1
.end method
.method public getHashRepresentation(Lcom/google/firebase/database/snapshot/Node$HashVersion;)Ljava/lang/String;
.locals 1
.line 1
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {p0, p1}, Lcom/google/firebase/database/snapshot/LeafNode;->getPriorityHash(Lcom/google/firebase/database/snapshot/Node$HashVersion;)Ljava/lang/String;
move-result-object p1
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p1, "deferredValue:"
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object p1, p0, Lcom/google/firebase/database/snapshot/DeferredValueNode;->value:Ljava/util/Map;
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
return-object p1
.end method
.method public getLeafType()Lcom/google/firebase/database/snapshot/LeafNode$LeafType;
.locals 1
.line 1
sget-object v0, Lcom/google/firebase/database/snapshot/LeafNode$LeafType;->DeferredValue:Lcom/google/firebase/database/snapshot/LeafNode$LeafType;
return-object v0
.end method
.method public getValue()Ljava/lang/Object;
.locals 1
.line 1
iget-object v0, p0, Lcom/google/firebase/database/snapshot/DeferredValueNode;->value:Ljava/util/Map;
return-object v0
.end method
.method public hashCode()I
.locals 2
.line 1
iget-object v0, p0, Lcom/google/firebase/database/snapshot/DeferredValueNode;->value:Ljava/util/Map;
invoke-interface {v0}, Ljava/util/Map;->hashCode()I
move-result v0
iget-object v1, p0, Lcom/google/firebase/database/snapshot/LeafNode;->priority:Lcom/google/firebase/database/snapshot/Node;
invoke-virtual {v1}, Ljava/lang/Object;->hashCode()I
move-result v1
add-int/2addr v1, v0
return v1
.end method
.method public updatePriority(Lcom/google/firebase/database/snapshot/Node;)Lcom/google/firebase/database/snapshot/DeferredValueNode;
.locals 2
.line 2
invoke-static {p1}, Lcom/google/firebase/database/snapshot/PriorityUtilities;->isValidPriority(Lcom/google/firebase/database/snapshot/Node;)Z
move-result v0
invoke-static {v0}, Lcom/google/firebase/database/core/utilities/Utilities;->hardAssert(Z)V
.line 3
new-instance v0, Lcom/google/firebase/database/snapshot/DeferredValueNode;
iget-object v1, p0, Lcom/google/firebase/database/snapshot/DeferredValueNode;->value:Ljava/util/Map;
invoke-direct {v0, v1, p1}, Lcom/google/firebase/database/snapshot/DeferredValueNode;-><init>(Ljava/util/Map;Lcom/google/firebase/database/snapshot/Node;)V
return-object v0
.end method
.method public bridge synthetic updatePriority(Lcom/google/firebase/database/snapshot/Node;)Lcom/google/firebase/database/snapshot/Node;
.locals 0
.line 1
invoke-virtual {p0, p1}, Lcom/google/firebase/database/snapshot/DeferredValueNode;->updatePriority(Lcom/google/firebase/database/snapshot/Node;)Lcom/google/firebase/database/snapshot/DeferredValueNode;
move-result-object p1
return-object p1
.end method
@@ -0,0 +1,213 @@
.class public Lcom/google/firebase/database/snapshot/DoubleNode;
.super Lcom/google/firebase/database/snapshot/LeafNode;
.source "DoubleNode.java"
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/google/firebase/database/snapshot/LeafNode<",
"Lcom/google/firebase/database/snapshot/DoubleNode;",
">;"
}
.end annotation
# instance fields
.field private final value:Ljava/lang/Double;
# direct methods
.method public constructor <init>(Ljava/lang/Double;Lcom/google/firebase/database/snapshot/Node;)V
.locals 0
.line 1
invoke-direct {p0, p2}, Lcom/google/firebase/database/snapshot/LeafNode;-><init>(Lcom/google/firebase/database/snapshot/Node;)V
.line 2
iput-object p1, p0, Lcom/google/firebase/database/snapshot/DoubleNode;->value:Ljava/lang/Double;
return-void
.end method
# virtual methods
.method public compareLeafValues(Lcom/google/firebase/database/snapshot/DoubleNode;)I
.locals 1
.line 2
iget-object v0, p0, Lcom/google/firebase/database/snapshot/DoubleNode;->value:Ljava/lang/Double;
iget-object p1, p1, Lcom/google/firebase/database/snapshot/DoubleNode;->value:Ljava/lang/Double;
invoke-virtual {v0, p1}, Ljava/lang/Double;->compareTo(Ljava/lang/Double;)I
move-result p1
return p1
.end method
.method public bridge synthetic compareLeafValues(Lcom/google/firebase/database/snapshot/LeafNode;)I
.locals 0
.line 1
check-cast p1, Lcom/google/firebase/database/snapshot/DoubleNode;
invoke-virtual {p0, p1}, Lcom/google/firebase/database/snapshot/DoubleNode;->compareLeafValues(Lcom/google/firebase/database/snapshot/DoubleNode;)I
move-result p1
return p1
.end method
.method public equals(Ljava/lang/Object;)Z
.locals 3
.line 1
instance-of v0, p1, Lcom/google/firebase/database/snapshot/DoubleNode;
const/4 v1, 0x0
if-nez v0, :cond_0
return v1
.line 2
:cond_0
check-cast p1, Lcom/google/firebase/database/snapshot/DoubleNode;
.line 3
iget-object v0, p0, Lcom/google/firebase/database/snapshot/DoubleNode;->value:Ljava/lang/Double;
iget-object v2, p1, Lcom/google/firebase/database/snapshot/DoubleNode;->value:Ljava/lang/Double;
invoke-virtual {v0, v2}, Ljava/lang/Double;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_1
iget-object v0, p0, Lcom/google/firebase/database/snapshot/LeafNode;->priority:Lcom/google/firebase/database/snapshot/Node;
iget-object p1, p1, Lcom/google/firebase/database/snapshot/LeafNode;->priority:Lcom/google/firebase/database/snapshot/Node;
invoke-virtual {v0, p1}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_1
const/4 v1, 0x1
:cond_1
return v1
.end method
.method public getHashRepresentation(Lcom/google/firebase/database/snapshot/Node$HashVersion;)Ljava/lang/String;
.locals 2
.line 1
invoke-virtual {p0, p1}, Lcom/google/firebase/database/snapshot/LeafNode;->getPriorityHash(Lcom/google/firebase/database/snapshot/Node$HashVersion;)Ljava/lang/String;
move-result-object p1
const-string v0, "number:"
.line 2
invoke-static {p1, v0}, Lc/g;->a(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
.line 3
invoke-static {p1}, Landroid/support/v4/media/d;->a(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p1
iget-object v0, p0, Lcom/google/firebase/database/snapshot/DoubleNode;->value:Ljava/lang/Double;
invoke-virtual {v0}, Ljava/lang/Double;->doubleValue()D
move-result-wide v0
invoke-static {v0, v1}, Lcom/google/firebase/database/core/utilities/Utilities;->doubleToHashString(D)Ljava/lang/String;
move-result-object v0
invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
return-object p1
.end method
.method public getLeafType()Lcom/google/firebase/database/snapshot/LeafNode$LeafType;
.locals 1
.line 1
sget-object v0, Lcom/google/firebase/database/snapshot/LeafNode$LeafType;->Number:Lcom/google/firebase/database/snapshot/LeafNode$LeafType;
return-object v0
.end method
.method public getValue()Ljava/lang/Object;
.locals 1
.line 1
iget-object v0, p0, Lcom/google/firebase/database/snapshot/DoubleNode;->value:Ljava/lang/Double;
return-object v0
.end method
.method public hashCode()I
.locals 2
.line 1
iget-object v0, p0, Lcom/google/firebase/database/snapshot/DoubleNode;->value:Ljava/lang/Double;
invoke-virtual {v0}, Ljava/lang/Double;->hashCode()I
move-result v0
iget-object v1, p0, Lcom/google/firebase/database/snapshot/LeafNode;->priority:Lcom/google/firebase/database/snapshot/Node;
invoke-virtual {v1}, Ljava/lang/Object;->hashCode()I
move-result v1
add-int/2addr v1, v0
return v1
.end method
.method public updatePriority(Lcom/google/firebase/database/snapshot/Node;)Lcom/google/firebase/database/snapshot/DoubleNode;
.locals 2
.line 2
invoke-static {p1}, Lcom/google/firebase/database/snapshot/PriorityUtilities;->isValidPriority(Lcom/google/firebase/database/snapshot/Node;)Z
move-result v0
invoke-static {v0}, Lcom/google/firebase/database/core/utilities/Utilities;->hardAssert(Z)V
.line 3
new-instance v0, Lcom/google/firebase/database/snapshot/DoubleNode;
iget-object v1, p0, Lcom/google/firebase/database/snapshot/DoubleNode;->value:Ljava/lang/Double;
invoke-direct {v0, v1, p1}, Lcom/google/firebase/database/snapshot/DoubleNode;-><init>(Ljava/lang/Double;Lcom/google/firebase/database/snapshot/Node;)V
return-object v0
.end method
.method public bridge synthetic updatePriority(Lcom/google/firebase/database/snapshot/Node;)Lcom/google/firebase/database/snapshot/Node;
.locals 0
.line 1
invoke-virtual {p0, p1}, Lcom/google/firebase/database/snapshot/DoubleNode;->updatePriority(Lcom/google/firebase/database/snapshot/Node;)Lcom/google/firebase/database/snapshot/DoubleNode;
move-result-object p1
return-object p1
.end method
@@ -0,0 +1,381 @@
.class public Lcom/google/firebase/database/snapshot/EmptyNode;
.super Lcom/google/firebase/database/snapshot/ChildrenNode;
.source "EmptyNode.java"
# interfaces
.implements Lcom/google/firebase/database/snapshot/Node;
# static fields
.field private static final empty:Lcom/google/firebase/database/snapshot/EmptyNode;
# direct methods
.method public static constructor <clinit>()V
.locals 1
.line 1
new-instance v0, Lcom/google/firebase/database/snapshot/EmptyNode;
invoke-direct {v0}, Lcom/google/firebase/database/snapshot/EmptyNode;-><init>()V
sput-object v0, Lcom/google/firebase/database/snapshot/EmptyNode;->empty:Lcom/google/firebase/database/snapshot/EmptyNode;
return-void
.end method
.method private constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Lcom/google/firebase/database/snapshot/ChildrenNode;-><init>()V
return-void
.end method
.method public static Empty()Lcom/google/firebase/database/snapshot/EmptyNode;
.locals 1
.line 1
sget-object v0, Lcom/google/firebase/database/snapshot/EmptyNode;->empty:Lcom/google/firebase/database/snapshot/EmptyNode;
return-object v0
.end method
# virtual methods
.method public compareTo(Lcom/google/firebase/database/snapshot/Node;)I
.locals 0
.line 2
invoke-interface {p1}, Lcom/google/firebase/database/snapshot/Node;->isEmpty()Z
move-result p1
if-eqz p1, :cond_0
const/4 p1, 0x0
goto :goto_0
:cond_0
const/4 p1, -0x1
:goto_0
return p1
.end method
.method public bridge synthetic compareTo(Ljava/lang/Object;)I
.locals 0
.line 1
check-cast p1, Lcom/google/firebase/database/snapshot/Node;
invoke-virtual {p0, p1}, Lcom/google/firebase/database/snapshot/EmptyNode;->compareTo(Lcom/google/firebase/database/snapshot/Node;)I
move-result p1
return p1
.end method
.method public equals(Ljava/lang/Object;)Z
.locals 2
.line 1
instance-of v0, p1, Lcom/google/firebase/database/snapshot/EmptyNode;
const/4 v1, 0x1
if-eqz v0, :cond_0
return v1
.line 2
:cond_0
instance-of v0, p1, Lcom/google/firebase/database/snapshot/Node;
if-eqz v0, :cond_1
check-cast p1, Lcom/google/firebase/database/snapshot/Node;
.line 3
invoke-interface {p1}, Lcom/google/firebase/database/snapshot/Node;->isEmpty()Z
move-result v0
if-eqz v0, :cond_1
.line 4
invoke-virtual {p0}, Lcom/google/firebase/database/snapshot/EmptyNode;->getPriority()Lcom/google/firebase/database/snapshot/Node;
move-result-object v0
invoke-interface {p1}, Lcom/google/firebase/database/snapshot/Node;->getPriority()Lcom/google/firebase/database/snapshot/Node;
move-result-object p1
invoke-virtual {v0, p1}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_1
goto :goto_0
:cond_1
const/4 v1, 0x0
:goto_0
return v1
.end method
.method public getChild(Lcom/google/firebase/database/core/Path;)Lcom/google/firebase/database/snapshot/Node;
.locals 0
return-object p0
.end method
.method public getChildCount()I
.locals 1
const/4 v0, 0x0
return v0
.end method
.method public getHash()Ljava/lang/String;
.locals 1
const-string v0, ""
return-object v0
.end method
.method public getHashRepresentation(Lcom/google/firebase/database/snapshot/Node$HashVersion;)Ljava/lang/String;
.locals 0
const-string p1, ""
return-object p1
.end method
.method public getImmediateChild(Lcom/google/firebase/database/snapshot/ChildKey;)Lcom/google/firebase/database/snapshot/Node;
.locals 0
return-object p0
.end method
.method public getPredecessorChildKey(Lcom/google/firebase/database/snapshot/ChildKey;)Lcom/google/firebase/database/snapshot/ChildKey;
.locals 0
const/4 p1, 0x0
return-object p1
.end method
.method public getPriority()Lcom/google/firebase/database/snapshot/Node;
.locals 0
return-object p0
.end method
.method public getSuccessorChildKey(Lcom/google/firebase/database/snapshot/ChildKey;)Lcom/google/firebase/database/snapshot/ChildKey;
.locals 0
const/4 p1, 0x0
return-object p1
.end method
.method public getValue()Ljava/lang/Object;
.locals 1
const/4 v0, 0x0
return-object v0
.end method
.method public getValue(Z)Ljava/lang/Object;
.locals 0
const/4 p1, 0x0
return-object p1
.end method
.method public hasChild(Lcom/google/firebase/database/snapshot/ChildKey;)Z
.locals 0
const/4 p1, 0x0
return p1
.end method
.method public hashCode()I
.locals 1
const/4 v0, 0x0
return v0
.end method
.method public isEmpty()Z
.locals 1
const/4 v0, 0x1
return v0
.end method
.method public isLeafNode()Z
.locals 1
const/4 v0, 0x0
return v0
.end method
.method public iterator()Ljava/util/Iterator;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/Iterator<",
"Lcom/google/firebase/database/snapshot/NamedNode;",
">;"
}
.end annotation
.line 1
invoke-static {}, Ljava/util/Collections;->emptyList()Ljava/util/List;
move-result-object v0
invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v0
return-object v0
.end method
.method public reverseIterator()Ljava/util/Iterator;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/Iterator<",
"Lcom/google/firebase/database/snapshot/NamedNode;",
">;"
}
.end annotation
.line 1
invoke-static {}, Ljava/util/Collections;->emptyList()Ljava/util/List;
move-result-object v0
invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v0
return-object v0
.end method
.method public toString()Ljava/lang/String;
.locals 1
const-string v0, "<Empty Node>"
return-object v0
.end method
.method public updateChild(Lcom/google/firebase/database/core/Path;Lcom/google/firebase/database/snapshot/Node;)Lcom/google/firebase/database/snapshot/Node;
.locals 2
.line 1
invoke-virtual {p1}, Lcom/google/firebase/database/core/Path;->isEmpty()Z
move-result v0
if-eqz v0, :cond_0
return-object p2
.line 2
:cond_0
invoke-virtual {p1}, Lcom/google/firebase/database/core/Path;->getFront()Lcom/google/firebase/database/snapshot/ChildKey;
move-result-object v0
.line 3
invoke-virtual {p0, v0}, Lcom/google/firebase/database/snapshot/EmptyNode;->getImmediateChild(Lcom/google/firebase/database/snapshot/ChildKey;)Lcom/google/firebase/database/snapshot/Node;
move-result-object v1
invoke-virtual {p1}, Lcom/google/firebase/database/core/Path;->popFront()Lcom/google/firebase/database/core/Path;
move-result-object p1
invoke-interface {v1, p1, p2}, Lcom/google/firebase/database/snapshot/Node;->updateChild(Lcom/google/firebase/database/core/Path;Lcom/google/firebase/database/snapshot/Node;)Lcom/google/firebase/database/snapshot/Node;
move-result-object p1
.line 4
invoke-virtual {p0, v0, p1}, Lcom/google/firebase/database/snapshot/EmptyNode;->updateImmediateChild(Lcom/google/firebase/database/snapshot/ChildKey;Lcom/google/firebase/database/snapshot/Node;)Lcom/google/firebase/database/snapshot/Node;
move-result-object p1
return-object p1
.end method
.method public updateImmediateChild(Lcom/google/firebase/database/snapshot/ChildKey;Lcom/google/firebase/database/snapshot/Node;)Lcom/google/firebase/database/snapshot/Node;
.locals 1
.line 1
invoke-interface {p2}, Lcom/google/firebase/database/snapshot/Node;->isEmpty()Z
move-result v0
if-eqz v0, :cond_0
return-object p0
.line 2
:cond_0
invoke-virtual {p1}, Lcom/google/firebase/database/snapshot/ChildKey;->isPriorityChildName()Z
move-result v0
if-eqz v0, :cond_1
return-object p0
.line 3
:cond_1
new-instance v0, Lcom/google/firebase/database/snapshot/ChildrenNode;
invoke-direct {v0}, Lcom/google/firebase/database/snapshot/ChildrenNode;-><init>()V
invoke-virtual {v0, p1, p2}, Lcom/google/firebase/database/snapshot/ChildrenNode;->updateImmediateChild(Lcom/google/firebase/database/snapshot/ChildKey;Lcom/google/firebase/database/snapshot/Node;)Lcom/google/firebase/database/snapshot/Node;
move-result-object p1
return-object p1
.end method
.method public updatePriority(Lcom/google/firebase/database/snapshot/Node;)Lcom/google/firebase/database/snapshot/EmptyNode;
.locals 0
return-object p0
.end method
.method public bridge synthetic updatePriority(Lcom/google/firebase/database/snapshot/Node;)Lcom/google/firebase/database/snapshot/Node;
.locals 0
.line 1
invoke-virtual {p0, p1}, Lcom/google/firebase/database/snapshot/EmptyNode;->updatePriority(Lcom/google/firebase/database/snapshot/Node;)Lcom/google/firebase/database/snapshot/EmptyNode;
move-result-object p1
return-object p1
.end method
@@ -0,0 +1,181 @@
.class public abstract Lcom/google/firebase/database/snapshot/Index;
.super Ljava/lang/Object;
.source "Index.java"
# interfaces
.implements Ljava/util/Comparator;
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Object;",
"Ljava/util/Comparator<",
"Lcom/google/firebase/database/snapshot/NamedNode;",
">;"
}
.end annotation
# direct methods
.method public constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static fromQueryDefinition(Ljava/lang/String;)Lcom/google/firebase/database/snapshot/Index;
.locals 2
const-string v0, ".value"
.line 1
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_0
.line 2
invoke-static {}, Lcom/google/firebase/database/snapshot/ValueIndex;->getInstance()Lcom/google/firebase/database/snapshot/ValueIndex;
move-result-object p0
return-object p0
:cond_0
const-string v0, ".key"
.line 3
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_1
.line 4
invoke-static {}, Lcom/google/firebase/database/snapshot/KeyIndex;->getInstance()Lcom/google/firebase/database/snapshot/KeyIndex;
move-result-object p0
return-object p0
:cond_1
const-string v0, ".priority"
.line 5
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_2
.line 6
new-instance v0, Lcom/google/firebase/database/snapshot/PathIndex;
new-instance v1, Lcom/google/firebase/database/core/Path;
invoke-direct {v1, p0}, Lcom/google/firebase/database/core/Path;-><init>(Ljava/lang/String;)V
invoke-direct {v0, v1}, Lcom/google/firebase/database/snapshot/PathIndex;-><init>(Lcom/google/firebase/database/core/Path;)V
return-object v0
.line 7
:cond_2
new-instance p0, Ljava/lang/IllegalStateException;
const-string v0, "queryDefinition shouldn\'t ever be .priority since it\'s the default"
invoke-direct {p0, v0}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw p0
.end method
# virtual methods
.method public compare(Lcom/google/firebase/database/snapshot/NamedNode;Lcom/google/firebase/database/snapshot/NamedNode;Z)I
.locals 0
if-eqz p3, :cond_0
.line 1
invoke-interface {p0, p2, p1}, Ljava/util/Comparator;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
move-result p1
return p1
.line 2
:cond_0
invoke-interface {p0, p1, p2}, Ljava/util/Comparator;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
move-result p1
return p1
.end method
.method public abstract getQueryDefinition()Ljava/lang/String;
.end method
.method public indexedValueChanged(Lcom/google/firebase/database/snapshot/Node;Lcom/google/firebase/database/snapshot/Node;)Z
.locals 2
.line 1
new-instance v0, Lcom/google/firebase/database/snapshot/NamedNode;
invoke-static {}, Lcom/google/firebase/database/snapshot/ChildKey;->getMinName()Lcom/google/firebase/database/snapshot/ChildKey;
move-result-object v1
invoke-direct {v0, v1, p1}, Lcom/google/firebase/database/snapshot/NamedNode;-><init>(Lcom/google/firebase/database/snapshot/ChildKey;Lcom/google/firebase/database/snapshot/Node;)V
.line 2
new-instance p1, Lcom/google/firebase/database/snapshot/NamedNode;
invoke-static {}, Lcom/google/firebase/database/snapshot/ChildKey;->getMinName()Lcom/google/firebase/database/snapshot/ChildKey;
move-result-object v1
invoke-direct {p1, v1, p2}, Lcom/google/firebase/database/snapshot/NamedNode;-><init>(Lcom/google/firebase/database/snapshot/ChildKey;Lcom/google/firebase/database/snapshot/Node;)V
.line 3
invoke-interface {p0, v0, p1}, Ljava/util/Comparator;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
move-result p1
if-eqz p1, :cond_0
const/4 p1, 0x1
goto :goto_0
:cond_0
const/4 p1, 0x0
:goto_0
return p1
.end method
.method public abstract isDefinedOn(Lcom/google/firebase/database/snapshot/Node;)Z
.end method
.method public abstract makePost(Lcom/google/firebase/database/snapshot/ChildKey;Lcom/google/firebase/database/snapshot/Node;)Lcom/google/firebase/database/snapshot/NamedNode;
.end method
.method public abstract maxPost()Lcom/google/firebase/database/snapshot/NamedNode;
.end method
.method public minPost()Lcom/google/firebase/database/snapshot/NamedNode;
.locals 1
.line 1
invoke-static {}, Lcom/google/firebase/database/snapshot/NamedNode;->getMinNode()Lcom/google/firebase/database/snapshot/NamedNode;
move-result-object v0
return-object v0
.end method
@@ -0,0 +1,740 @@
.class public Lcom/google/firebase/database/snapshot/IndexedNode;
.super Ljava/lang/Object;
.source "IndexedNode.java"
# interfaces
.implements Ljava/lang/Iterable;
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Object;",
"Ljava/lang/Iterable<",
"Lcom/google/firebase/database/snapshot/NamedNode;",
">;"
}
.end annotation
# static fields
.field private static final FALLBACK_INDEX:Lcom/google/firebase/database/collection/ImmutableSortedSet;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/google/firebase/database/collection/ImmutableSortedSet<",
"Lcom/google/firebase/database/snapshot/NamedNode;",
">;"
}
.end annotation
.end field
# instance fields
.field private final index:Lcom/google/firebase/database/snapshot/Index;
.field private indexed:Lcom/google/firebase/database/collection/ImmutableSortedSet;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/google/firebase/database/collection/ImmutableSortedSet<",
"Lcom/google/firebase/database/snapshot/NamedNode;",
">;"
}
.end annotation
.end field
.field private final node:Lcom/google/firebase/database/snapshot/Node;
# direct methods
.method public static constructor <clinit>()V
.locals 3
.line 1
new-instance v0, Lcom/google/firebase/database/collection/ImmutableSortedSet;
.line 2
invoke-static {}, Ljava/util/Collections;->emptyList()Ljava/util/List;
move-result-object v1
const/4 v2, 0x0
invoke-direct {v0, v1, v2}, Lcom/google/firebase/database/collection/ImmutableSortedSet;-><init>(Ljava/util/List;Ljava/util/Comparator;)V
sput-object v0, Lcom/google/firebase/database/snapshot/IndexedNode;->FALLBACK_INDEX:Lcom/google/firebase/database/collection/ImmutableSortedSet;
return-void
.end method
.method private constructor <init>(Lcom/google/firebase/database/snapshot/Node;Lcom/google/firebase/database/snapshot/Index;)V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
iput-object p2, p0, Lcom/google/firebase/database/snapshot/IndexedNode;->index:Lcom/google/firebase/database/snapshot/Index;
.line 3
iput-object p1, p0, Lcom/google/firebase/database/snapshot/IndexedNode;->node:Lcom/google/firebase/database/snapshot/Node;
const/4 p1, 0x0
.line 4
iput-object p1, p0, Lcom/google/firebase/database/snapshot/IndexedNode;->indexed:Lcom/google/firebase/database/collection/ImmutableSortedSet;
return-void
.end method
.method private constructor <init>(Lcom/google/firebase/database/snapshot/Node;Lcom/google/firebase/database/snapshot/Index;Lcom/google/firebase/database/collection/ImmutableSortedSet;)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/firebase/database/snapshot/Node;",
"Lcom/google/firebase/database/snapshot/Index;",
"Lcom/google/firebase/database/collection/ImmutableSortedSet<",
"Lcom/google/firebase/database/snapshot/NamedNode;",
">;)V"
}
.end annotation
.line 5
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 6
iput-object p2, p0, Lcom/google/firebase/database/snapshot/IndexedNode;->index:Lcom/google/firebase/database/snapshot/Index;
.line 7
iput-object p1, p0, Lcom/google/firebase/database/snapshot/IndexedNode;->node:Lcom/google/firebase/database/snapshot/Node;
.line 8
iput-object p3, p0, Lcom/google/firebase/database/snapshot/IndexedNode;->indexed:Lcom/google/firebase/database/collection/ImmutableSortedSet;
return-void
.end method
.method private ensureIndexed()V
.locals 7
.line 1
iget-object v0, p0, Lcom/google/firebase/database/snapshot/IndexedNode;->indexed:Lcom/google/firebase/database/collection/ImmutableSortedSet;
if-nez v0, :cond_5
.line 2
iget-object v0, p0, Lcom/google/firebase/database/snapshot/IndexedNode;->index:Lcom/google/firebase/database/snapshot/Index;
invoke-static {}, Lcom/google/firebase/database/snapshot/KeyIndex;->getInstance()Lcom/google/firebase/database/snapshot/KeyIndex;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_0
.line 3
sget-object v0, Lcom/google/firebase/database/snapshot/IndexedNode;->FALLBACK_INDEX:Lcom/google/firebase/database/collection/ImmutableSortedSet;
iput-object v0, p0, Lcom/google/firebase/database/snapshot/IndexedNode;->indexed:Lcom/google/firebase/database/collection/ImmutableSortedSet;
goto :goto_3
.line 4
:cond_0
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
.line 5
iget-object v1, p0, Lcom/google/firebase/database/snapshot/IndexedNode;->node:Lcom/google/firebase/database/snapshot/Node;
invoke-interface {v1}, Ljava/lang/Iterable;->iterator()Ljava/util/Iterator;
move-result-object v1
const/4 v2, 0x0
move v3, v2
:goto_0
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v4
if-eqz v4, :cond_3
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v4
check-cast v4, Lcom/google/firebase/database/snapshot/NamedNode;
if-nez v3, :cond_2
.line 6
iget-object v3, p0, Lcom/google/firebase/database/snapshot/IndexedNode;->index:Lcom/google/firebase/database/snapshot/Index;
invoke-virtual {v4}, Lcom/google/firebase/database/snapshot/NamedNode;->getNode()Lcom/google/firebase/database/snapshot/Node;
move-result-object v5
invoke-virtual {v3, v5}, Lcom/google/firebase/database/snapshot/Index;->isDefinedOn(Lcom/google/firebase/database/snapshot/Node;)Z
move-result v3
if-eqz v3, :cond_1
goto :goto_1
:cond_1
move v3, v2
goto :goto_2
:cond_2
:goto_1
const/4 v3, 0x1
.line 7
:goto_2
new-instance v5, Lcom/google/firebase/database/snapshot/NamedNode;
invoke-virtual {v4}, Lcom/google/firebase/database/snapshot/NamedNode;->getName()Lcom/google/firebase/database/snapshot/ChildKey;
move-result-object v6
invoke-virtual {v4}, Lcom/google/firebase/database/snapshot/NamedNode;->getNode()Lcom/google/firebase/database/snapshot/Node;
move-result-object v4
invoke-direct {v5, v6, v4}, Lcom/google/firebase/database/snapshot/NamedNode;-><init>(Lcom/google/firebase/database/snapshot/ChildKey;Lcom/google/firebase/database/snapshot/Node;)V
.line 8
invoke-virtual {v0, v5}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
goto :goto_0
:cond_3
if-eqz v3, :cond_4
.line 9
new-instance v1, Lcom/google/firebase/database/collection/ImmutableSortedSet;
iget-object v2, p0, Lcom/google/firebase/database/snapshot/IndexedNode;->index:Lcom/google/firebase/database/snapshot/Index;
invoke-direct {v1, v0, v2}, Lcom/google/firebase/database/collection/ImmutableSortedSet;-><init>(Ljava/util/List;Ljava/util/Comparator;)V
iput-object v1, p0, Lcom/google/firebase/database/snapshot/IndexedNode;->indexed:Lcom/google/firebase/database/collection/ImmutableSortedSet;
goto :goto_3
.line 10
:cond_4
sget-object v0, Lcom/google/firebase/database/snapshot/IndexedNode;->FALLBACK_INDEX:Lcom/google/firebase/database/collection/ImmutableSortedSet;
iput-object v0, p0, Lcom/google/firebase/database/snapshot/IndexedNode;->indexed:Lcom/google/firebase/database/collection/ImmutableSortedSet;
:cond_5
:goto_3
return-void
.end method
.method public static from(Lcom/google/firebase/database/snapshot/Node;)Lcom/google/firebase/database/snapshot/IndexedNode;
.locals 2
.line 1
new-instance v0, Lcom/google/firebase/database/snapshot/IndexedNode;
invoke-static {}, Lcom/google/firebase/database/snapshot/PriorityIndex;->getInstance()Lcom/google/firebase/database/snapshot/PriorityIndex;
move-result-object v1
invoke-direct {v0, p0, v1}, Lcom/google/firebase/database/snapshot/IndexedNode;-><init>(Lcom/google/firebase/database/snapshot/Node;Lcom/google/firebase/database/snapshot/Index;)V
return-object v0
.end method
.method public static from(Lcom/google/firebase/database/snapshot/Node;Lcom/google/firebase/database/snapshot/Index;)Lcom/google/firebase/database/snapshot/IndexedNode;
.locals 1
.line 2
new-instance v0, Lcom/google/firebase/database/snapshot/IndexedNode;
invoke-direct {v0, p0, p1}, Lcom/google/firebase/database/snapshot/IndexedNode;-><init>(Lcom/google/firebase/database/snapshot/Node;Lcom/google/firebase/database/snapshot/Index;)V
return-object v0
.end method
# virtual methods
.method public getFirstChild()Lcom/google/firebase/database/snapshot/NamedNode;
.locals 3
.line 1
iget-object v0, p0, Lcom/google/firebase/database/snapshot/IndexedNode;->node:Lcom/google/firebase/database/snapshot/Node;
instance-of v0, v0, Lcom/google/firebase/database/snapshot/ChildrenNode;
if-nez v0, :cond_0
const/4 v0, 0x0
return-object v0
.line 2
:cond_0
invoke-direct {p0}, Lcom/google/firebase/database/snapshot/IndexedNode;->ensureIndexed()V
.line 3
iget-object v0, p0, Lcom/google/firebase/database/snapshot/IndexedNode;->indexed:Lcom/google/firebase/database/collection/ImmutableSortedSet;
sget-object v1, Lcom/google/firebase/database/snapshot/IndexedNode;->FALLBACK_INDEX:Lcom/google/firebase/database/collection/ImmutableSortedSet;
invoke-static {v0, v1}, Lcom/google/android/gms/common/internal/Objects;->equal(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_1
.line 4
iget-object v0, p0, Lcom/google/firebase/database/snapshot/IndexedNode;->node:Lcom/google/firebase/database/snapshot/Node;
check-cast v0, Lcom/google/firebase/database/snapshot/ChildrenNode;
invoke-virtual {v0}, Lcom/google/firebase/database/snapshot/ChildrenNode;->getFirstChildKey()Lcom/google/firebase/database/snapshot/ChildKey;
move-result-object v0
.line 5
new-instance v1, Lcom/google/firebase/database/snapshot/NamedNode;
iget-object v2, p0, Lcom/google/firebase/database/snapshot/IndexedNode;->node:Lcom/google/firebase/database/snapshot/Node;
invoke-interface {v2, v0}, Lcom/google/firebase/database/snapshot/Node;->getImmediateChild(Lcom/google/firebase/database/snapshot/ChildKey;)Lcom/google/firebase/database/snapshot/Node;
move-result-object v2
invoke-direct {v1, v0, v2}, Lcom/google/firebase/database/snapshot/NamedNode;-><init>(Lcom/google/firebase/database/snapshot/ChildKey;Lcom/google/firebase/database/snapshot/Node;)V
return-object v1
.line 6
:cond_1
iget-object v0, p0, Lcom/google/firebase/database/snapshot/IndexedNode;->indexed:Lcom/google/firebase/database/collection/ImmutableSortedSet;
invoke-virtual {v0}, Lcom/google/firebase/database/collection/ImmutableSortedSet;->getMinEntry()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/google/firebase/database/snapshot/NamedNode;
return-object v0
.end method
.method public getLastChild()Lcom/google/firebase/database/snapshot/NamedNode;
.locals 3
.line 1
iget-object v0, p0, Lcom/google/firebase/database/snapshot/IndexedNode;->node:Lcom/google/firebase/database/snapshot/Node;
instance-of v0, v0, Lcom/google/firebase/database/snapshot/ChildrenNode;
if-nez v0, :cond_0
const/4 v0, 0x0
return-object v0
.line 2
:cond_0
invoke-direct {p0}, Lcom/google/firebase/database/snapshot/IndexedNode;->ensureIndexed()V
.line 3
iget-object v0, p0, Lcom/google/firebase/database/snapshot/IndexedNode;->indexed:Lcom/google/firebase/database/collection/ImmutableSortedSet;
sget-object v1, Lcom/google/firebase/database/snapshot/IndexedNode;->FALLBACK_INDEX:Lcom/google/firebase/database/collection/ImmutableSortedSet;
invoke-static {v0, v1}, Lcom/google/android/gms/common/internal/Objects;->equal(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_1
.line 4
iget-object v0, p0, Lcom/google/firebase/database/snapshot/IndexedNode;->node:Lcom/google/firebase/database/snapshot/Node;
check-cast v0, Lcom/google/firebase/database/snapshot/ChildrenNode;
invoke-virtual {v0}, Lcom/google/firebase/database/snapshot/ChildrenNode;->getLastChildKey()Lcom/google/firebase/database/snapshot/ChildKey;
move-result-object v0
.line 5
new-instance v1, Lcom/google/firebase/database/snapshot/NamedNode;
iget-object v2, p0, Lcom/google/firebase/database/snapshot/IndexedNode;->node:Lcom/google/firebase/database/snapshot/Node;
invoke-interface {v2, v0}, Lcom/google/firebase/database/snapshot/Node;->getImmediateChild(Lcom/google/firebase/database/snapshot/ChildKey;)Lcom/google/firebase/database/snapshot/Node;
move-result-object v2
invoke-direct {v1, v0, v2}, Lcom/google/firebase/database/snapshot/NamedNode;-><init>(Lcom/google/firebase/database/snapshot/ChildKey;Lcom/google/firebase/database/snapshot/Node;)V
return-object v1
.line 6
:cond_1
iget-object v0, p0, Lcom/google/firebase/database/snapshot/IndexedNode;->indexed:Lcom/google/firebase/database/collection/ImmutableSortedSet;
invoke-virtual {v0}, Lcom/google/firebase/database/collection/ImmutableSortedSet;->getMaxEntry()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/google/firebase/database/snapshot/NamedNode;
return-object v0
.end method
.method public getNode()Lcom/google/firebase/database/snapshot/Node;
.locals 1
.line 1
iget-object v0, p0, Lcom/google/firebase/database/snapshot/IndexedNode;->node:Lcom/google/firebase/database/snapshot/Node;
return-object v0
.end method
.method public getPredecessorChildName(Lcom/google/firebase/database/snapshot/ChildKey;Lcom/google/firebase/database/snapshot/Node;Lcom/google/firebase/database/snapshot/Index;)Lcom/google/firebase/database/snapshot/ChildKey;
.locals 2
.line 1
iget-object v0, p0, Lcom/google/firebase/database/snapshot/IndexedNode;->index:Lcom/google/firebase/database/snapshot/Index;
invoke-static {}, Lcom/google/firebase/database/snapshot/KeyIndex;->getInstance()Lcom/google/firebase/database/snapshot/KeyIndex;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_1
iget-object v0, p0, Lcom/google/firebase/database/snapshot/IndexedNode;->index:Lcom/google/firebase/database/snapshot/Index;
invoke-virtual {v0, p3}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result p3
if-eqz p3, :cond_0
goto :goto_0
.line 2
:cond_0
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string p2, "Index not available in IndexedNode!"
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.line 3
:cond_1
:goto_0
invoke-direct {p0}, Lcom/google/firebase/database/snapshot/IndexedNode;->ensureIndexed()V
.line 4
iget-object p3, p0, Lcom/google/firebase/database/snapshot/IndexedNode;->indexed:Lcom/google/firebase/database/collection/ImmutableSortedSet;
sget-object v0, Lcom/google/firebase/database/snapshot/IndexedNode;->FALLBACK_INDEX:Lcom/google/firebase/database/collection/ImmutableSortedSet;
invoke-static {p3, v0}, Lcom/google/android/gms/common/internal/Objects;->equal(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result p3
if-eqz p3, :cond_2
.line 5
iget-object p2, p0, Lcom/google/firebase/database/snapshot/IndexedNode;->node:Lcom/google/firebase/database/snapshot/Node;
invoke-interface {p2, p1}, Lcom/google/firebase/database/snapshot/Node;->getPredecessorChildKey(Lcom/google/firebase/database/snapshot/ChildKey;)Lcom/google/firebase/database/snapshot/ChildKey;
move-result-object p1
return-object p1
.line 6
:cond_2
iget-object p3, p0, Lcom/google/firebase/database/snapshot/IndexedNode;->indexed:Lcom/google/firebase/database/collection/ImmutableSortedSet;
new-instance v0, Lcom/google/firebase/database/snapshot/NamedNode;
invoke-direct {v0, p1, p2}, Lcom/google/firebase/database/snapshot/NamedNode;-><init>(Lcom/google/firebase/database/snapshot/ChildKey;Lcom/google/firebase/database/snapshot/Node;)V
invoke-virtual {p3, v0}, Lcom/google/firebase/database/collection/ImmutableSortedSet;->getPredecessorEntry(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Lcom/google/firebase/database/snapshot/NamedNode;
if-eqz p1, :cond_3
.line 7
invoke-virtual {p1}, Lcom/google/firebase/database/snapshot/NamedNode;->getName()Lcom/google/firebase/database/snapshot/ChildKey;
move-result-object p1
goto :goto_1
:cond_3
const/4 p1, 0x0
:goto_1
return-object p1
.end method
.method public hasIndex(Lcom/google/firebase/database/snapshot/Index;)Z
.locals 1
.line 1
iget-object v0, p0, Lcom/google/firebase/database/snapshot/IndexedNode;->index:Lcom/google/firebase/database/snapshot/Index;
if-ne v0, p1, :cond_0
const/4 p1, 0x1
goto :goto_0
:cond_0
const/4 p1, 0x0
:goto_0
return p1
.end method
.method public iterator()Ljava/util/Iterator;
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/Iterator<",
"Lcom/google/firebase/database/snapshot/NamedNode;",
">;"
}
.end annotation
.line 1
invoke-direct {p0}, Lcom/google/firebase/database/snapshot/IndexedNode;->ensureIndexed()V
.line 2
iget-object v0, p0, Lcom/google/firebase/database/snapshot/IndexedNode;->indexed:Lcom/google/firebase/database/collection/ImmutableSortedSet;
sget-object v1, Lcom/google/firebase/database/snapshot/IndexedNode;->FALLBACK_INDEX:Lcom/google/firebase/database/collection/ImmutableSortedSet;
invoke-static {v0, v1}, Lcom/google/android/gms/common/internal/Objects;->equal(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_0
.line 3
iget-object v0, p0, Lcom/google/firebase/database/snapshot/IndexedNode;->node:Lcom/google/firebase/database/snapshot/Node;
invoke-interface {v0}, Ljava/lang/Iterable;->iterator()Ljava/util/Iterator;
move-result-object v0
return-object v0
.line 4
:cond_0
iget-object v0, p0, Lcom/google/firebase/database/snapshot/IndexedNode;->indexed:Lcom/google/firebase/database/collection/ImmutableSortedSet;
invoke-virtual {v0}, Lcom/google/firebase/database/collection/ImmutableSortedSet;->iterator()Ljava/util/Iterator;
move-result-object v0
return-object v0
.end method
.method public reverseIterator()Ljava/util/Iterator;
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/Iterator<",
"Lcom/google/firebase/database/snapshot/NamedNode;",
">;"
}
.end annotation
.line 1
invoke-direct {p0}, Lcom/google/firebase/database/snapshot/IndexedNode;->ensureIndexed()V
.line 2
iget-object v0, p0, Lcom/google/firebase/database/snapshot/IndexedNode;->indexed:Lcom/google/firebase/database/collection/ImmutableSortedSet;
sget-object v1, Lcom/google/firebase/database/snapshot/IndexedNode;->FALLBACK_INDEX:Lcom/google/firebase/database/collection/ImmutableSortedSet;
invoke-static {v0, v1}, Lcom/google/android/gms/common/internal/Objects;->equal(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_0
.line 3
iget-object v0, p0, Lcom/google/firebase/database/snapshot/IndexedNode;->node:Lcom/google/firebase/database/snapshot/Node;
invoke-interface {v0}, Lcom/google/firebase/database/snapshot/Node;->reverseIterator()Ljava/util/Iterator;
move-result-object v0
return-object v0
.line 4
:cond_0
iget-object v0, p0, Lcom/google/firebase/database/snapshot/IndexedNode;->indexed:Lcom/google/firebase/database/collection/ImmutableSortedSet;
invoke-virtual {v0}, Lcom/google/firebase/database/collection/ImmutableSortedSet;->reverseIterator()Ljava/util/Iterator;
move-result-object v0
return-object v0
.end method
.method public updateChild(Lcom/google/firebase/database/snapshot/ChildKey;Lcom/google/firebase/database/snapshot/Node;)Lcom/google/firebase/database/snapshot/IndexedNode;
.locals 4
.line 1
iget-object v0, p0, Lcom/google/firebase/database/snapshot/IndexedNode;->node:Lcom/google/firebase/database/snapshot/Node;
invoke-interface {v0, p1, p2}, Lcom/google/firebase/database/snapshot/Node;->updateImmediateChild(Lcom/google/firebase/database/snapshot/ChildKey;Lcom/google/firebase/database/snapshot/Node;)Lcom/google/firebase/database/snapshot/Node;
move-result-object v0
.line 2
iget-object v1, p0, Lcom/google/firebase/database/snapshot/IndexedNode;->indexed:Lcom/google/firebase/database/collection/ImmutableSortedSet;
sget-object v2, Lcom/google/firebase/database/snapshot/IndexedNode;->FALLBACK_INDEX:Lcom/google/firebase/database/collection/ImmutableSortedSet;
invoke-static {v1, v2}, Lcom/google/android/gms/common/internal/Objects;->equal(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_0
iget-object v1, p0, Lcom/google/firebase/database/snapshot/IndexedNode;->index:Lcom/google/firebase/database/snapshot/Index;
invoke-virtual {v1, p2}, Lcom/google/firebase/database/snapshot/Index;->isDefinedOn(Lcom/google/firebase/database/snapshot/Node;)Z
move-result v1
if-nez v1, :cond_0
.line 3
new-instance p1, Lcom/google/firebase/database/snapshot/IndexedNode;
iget-object p2, p0, Lcom/google/firebase/database/snapshot/IndexedNode;->index:Lcom/google/firebase/database/snapshot/Index;
invoke-direct {p1, v0, p2, v2}, Lcom/google/firebase/database/snapshot/IndexedNode;-><init>(Lcom/google/firebase/database/snapshot/Node;Lcom/google/firebase/database/snapshot/Index;Lcom/google/firebase/database/collection/ImmutableSortedSet;)V
return-object p1
.line 4
:cond_0
iget-object v1, p0, Lcom/google/firebase/database/snapshot/IndexedNode;->indexed:Lcom/google/firebase/database/collection/ImmutableSortedSet;
if-eqz v1, :cond_3
invoke-static {v1, v2}, Lcom/google/android/gms/common/internal/Objects;->equal(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_1
goto :goto_0
.line 5
:cond_1
iget-object v1, p0, Lcom/google/firebase/database/snapshot/IndexedNode;->node:Lcom/google/firebase/database/snapshot/Node;
invoke-interface {v1, p1}, Lcom/google/firebase/database/snapshot/Node;->getImmediateChild(Lcom/google/firebase/database/snapshot/ChildKey;)Lcom/google/firebase/database/snapshot/Node;
move-result-object v1
.line 6
iget-object v2, p0, Lcom/google/firebase/database/snapshot/IndexedNode;->indexed:Lcom/google/firebase/database/collection/ImmutableSortedSet;
new-instance v3, Lcom/google/firebase/database/snapshot/NamedNode;
invoke-direct {v3, p1, v1}, Lcom/google/firebase/database/snapshot/NamedNode;-><init>(Lcom/google/firebase/database/snapshot/ChildKey;Lcom/google/firebase/database/snapshot/Node;)V
invoke-virtual {v2, v3}, Lcom/google/firebase/database/collection/ImmutableSortedSet;->remove(Ljava/lang/Object;)Lcom/google/firebase/database/collection/ImmutableSortedSet;
move-result-object v1
.line 7
invoke-interface {p2}, Lcom/google/firebase/database/snapshot/Node;->isEmpty()Z
move-result v2
if-nez v2, :cond_2
.line 8
new-instance v2, Lcom/google/firebase/database/snapshot/NamedNode;
invoke-direct {v2, p1, p2}, Lcom/google/firebase/database/snapshot/NamedNode;-><init>(Lcom/google/firebase/database/snapshot/ChildKey;Lcom/google/firebase/database/snapshot/Node;)V
invoke-virtual {v1, v2}, Lcom/google/firebase/database/collection/ImmutableSortedSet;->insert(Ljava/lang/Object;)Lcom/google/firebase/database/collection/ImmutableSortedSet;
move-result-object v1
.line 9
:cond_2
new-instance p1, Lcom/google/firebase/database/snapshot/IndexedNode;
iget-object p2, p0, Lcom/google/firebase/database/snapshot/IndexedNode;->index:Lcom/google/firebase/database/snapshot/Index;
invoke-direct {p1, v0, p2, v1}, Lcom/google/firebase/database/snapshot/IndexedNode;-><init>(Lcom/google/firebase/database/snapshot/Node;Lcom/google/firebase/database/snapshot/Index;Lcom/google/firebase/database/collection/ImmutableSortedSet;)V
return-object p1
.line 10
:cond_3
:goto_0
new-instance p1, Lcom/google/firebase/database/snapshot/IndexedNode;
iget-object p2, p0, Lcom/google/firebase/database/snapshot/IndexedNode;->index:Lcom/google/firebase/database/snapshot/Index;
const/4 v1, 0x0
invoke-direct {p1, v0, p2, v1}, Lcom/google/firebase/database/snapshot/IndexedNode;-><init>(Lcom/google/firebase/database/snapshot/Node;Lcom/google/firebase/database/snapshot/Index;Lcom/google/firebase/database/collection/ImmutableSortedSet;)V
return-object p1
.end method
.method public updatePriority(Lcom/google/firebase/database/snapshot/Node;)Lcom/google/firebase/database/snapshot/IndexedNode;
.locals 3
.line 1
new-instance v0, Lcom/google/firebase/database/snapshot/IndexedNode;
iget-object v1, p0, Lcom/google/firebase/database/snapshot/IndexedNode;->node:Lcom/google/firebase/database/snapshot/Node;
invoke-interface {v1, p1}, Lcom/google/firebase/database/snapshot/Node;->updatePriority(Lcom/google/firebase/database/snapshot/Node;)Lcom/google/firebase/database/snapshot/Node;
move-result-object p1
iget-object v1, p0, Lcom/google/firebase/database/snapshot/IndexedNode;->index:Lcom/google/firebase/database/snapshot/Index;
iget-object v2, p0, Lcom/google/firebase/database/snapshot/IndexedNode;->indexed:Lcom/google/firebase/database/collection/ImmutableSortedSet;
invoke-direct {v0, p1, v1, v2}, Lcom/google/firebase/database/snapshot/IndexedNode;-><init>(Lcom/google/firebase/database/snapshot/Node;Lcom/google/firebase/database/snapshot/Index;Lcom/google/firebase/database/collection/ImmutableSortedSet;)V
return-object v0
.end method
@@ -0,0 +1,158 @@
.class public Lcom/google/firebase/database/snapshot/KeyIndex;
.super Lcom/google/firebase/database/snapshot/Index;
.source "KeyIndex.java"
# static fields
.field private static final INSTANCE:Lcom/google/firebase/database/snapshot/KeyIndex;
# direct methods
.method public static constructor <clinit>()V
.locals 1
.line 1
new-instance v0, Lcom/google/firebase/database/snapshot/KeyIndex;
invoke-direct {v0}, Lcom/google/firebase/database/snapshot/KeyIndex;-><init>()V
sput-object v0, Lcom/google/firebase/database/snapshot/KeyIndex;->INSTANCE:Lcom/google/firebase/database/snapshot/KeyIndex;
return-void
.end method
.method private constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Lcom/google/firebase/database/snapshot/Index;-><init>()V
return-void
.end method
.method public static getInstance()Lcom/google/firebase/database/snapshot/KeyIndex;
.locals 1
.line 1
sget-object v0, Lcom/google/firebase/database/snapshot/KeyIndex;->INSTANCE:Lcom/google/firebase/database/snapshot/KeyIndex;
return-object v0
.end method
# virtual methods
.method public compare(Lcom/google/firebase/database/snapshot/NamedNode;Lcom/google/firebase/database/snapshot/NamedNode;)I
.locals 0
.line 2
invoke-virtual {p1}, Lcom/google/firebase/database/snapshot/NamedNode;->getName()Lcom/google/firebase/database/snapshot/ChildKey;
move-result-object p1
invoke-virtual {p2}, Lcom/google/firebase/database/snapshot/NamedNode;->getName()Lcom/google/firebase/database/snapshot/ChildKey;
move-result-object p2
invoke-virtual {p1, p2}, Lcom/google/firebase/database/snapshot/ChildKey;->compareTo(Lcom/google/firebase/database/snapshot/ChildKey;)I
move-result p1
return p1
.end method
.method public bridge synthetic compare(Ljava/lang/Object;Ljava/lang/Object;)I
.locals 0
.line 1
check-cast p1, Lcom/google/firebase/database/snapshot/NamedNode;
check-cast p2, Lcom/google/firebase/database/snapshot/NamedNode;
invoke-virtual {p0, p1, p2}, Lcom/google/firebase/database/snapshot/KeyIndex;->compare(Lcom/google/firebase/database/snapshot/NamedNode;Lcom/google/firebase/database/snapshot/NamedNode;)I
move-result p1
return p1
.end method
.method public equals(Ljava/lang/Object;)Z
.locals 0
.line 1
instance-of p1, p1, Lcom/google/firebase/database/snapshot/KeyIndex;
return p1
.end method
.method public getQueryDefinition()Ljava/lang/String;
.locals 1
const-string v0, ".key"
return-object v0
.end method
.method public hashCode()I
.locals 1
const/16 v0, 0x25
return v0
.end method
.method public isDefinedOn(Lcom/google/firebase/database/snapshot/Node;)Z
.locals 0
const/4 p1, 0x1
return p1
.end method
.method public makePost(Lcom/google/firebase/database/snapshot/ChildKey;Lcom/google/firebase/database/snapshot/Node;)Lcom/google/firebase/database/snapshot/NamedNode;
.locals 1
.line 1
instance-of p1, p2, Lcom/google/firebase/database/snapshot/StringNode;
invoke-static {p1}, Lcom/google/firebase/database/core/utilities/Utilities;->hardAssert(Z)V
.line 2
new-instance p1, Lcom/google/firebase/database/snapshot/NamedNode;
invoke-interface {p2}, Lcom/google/firebase/database/snapshot/Node;->getValue()Ljava/lang/Object;
move-result-object p2
check-cast p2, Ljava/lang/String;
invoke-static {p2}, Lcom/google/firebase/database/snapshot/ChildKey;->fromString(Ljava/lang/String;)Lcom/google/firebase/database/snapshot/ChildKey;
move-result-object p2
invoke-static {}, Lcom/google/firebase/database/snapshot/EmptyNode;->Empty()Lcom/google/firebase/database/snapshot/EmptyNode;
move-result-object v0
invoke-direct {p1, p2, v0}, Lcom/google/firebase/database/snapshot/NamedNode;-><init>(Lcom/google/firebase/database/snapshot/ChildKey;Lcom/google/firebase/database/snapshot/Node;)V
return-object p1
.end method
.method public maxPost()Lcom/google/firebase/database/snapshot/NamedNode;
.locals 1
.line 1
invoke-static {}, Lcom/google/firebase/database/snapshot/NamedNode;->getMaxNode()Lcom/google/firebase/database/snapshot/NamedNode;
move-result-object v0
return-object v0
.end method
.method public toString()Ljava/lang/String;
.locals 1
const-string v0, "KeyIndex"
return-object v0
.end method
@@ -0,0 +1,67 @@
.class synthetic Lcom/google/firebase/database/snapshot/LeafNode$1;
.super Ljava/lang/Object;
.source "LeafNode.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/firebase/database/snapshot/LeafNode;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1009
name = null
.end annotation
# static fields
.field public static final synthetic $SwitchMap$com$google$firebase$database$snapshot$Node$HashVersion:[I
# direct methods
.method public static constructor <clinit>()V
.locals 3
.line 1
invoke-static {}, Lcom/google/firebase/database/snapshot/Node$HashVersion;->values()[Lcom/google/firebase/database/snapshot/Node$HashVersion;
move-result-object v0
array-length v0, v0
new-array v0, v0, [I
sput-object v0, Lcom/google/firebase/database/snapshot/LeafNode$1;->$SwitchMap$com$google$firebase$database$snapshot$Node$HashVersion:[I
:try_start_0
sget-object v1, Lcom/google/firebase/database/snapshot/Node$HashVersion;->V1:Lcom/google/firebase/database/snapshot/Node$HashVersion;
invoke-virtual {v1}, Ljava/lang/Enum;->ordinal()I
move-result v1
const/4 v2, 0x1
aput v2, v0, v1
:try_end_0
.catch Ljava/lang/NoSuchFieldError; {:try_start_0 .. :try_end_0} :catch_0
:catch_0
:try_start_1
sget-object v0, Lcom/google/firebase/database/snapshot/LeafNode$1;->$SwitchMap$com$google$firebase$database$snapshot$Node$HashVersion:[I
sget-object v1, Lcom/google/firebase/database/snapshot/Node$HashVersion;->V2:Lcom/google/firebase/database/snapshot/Node$HashVersion;
invoke-virtual {v1}, Ljava/lang/Enum;->ordinal()I
move-result v1
const/4 v2, 0x2
aput v2, v0, v1
:try_end_1
.catch Ljava/lang/NoSuchFieldError; {:try_start_1 .. :try_end_1} :catch_1
:catch_1
return-void
.end method
@@ -0,0 +1,145 @@
.class public final enum Lcom/google/firebase/database/snapshot/LeafNode$LeafType;
.super Ljava/lang/Enum;
.source "LeafNode.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/firebase/database/snapshot/LeafNode;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x4019
name = "LeafType"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Enum<",
"Lcom/google/firebase/database/snapshot/LeafNode$LeafType;",
">;"
}
.end annotation
# static fields
.field private static final synthetic $VALUES:[Lcom/google/firebase/database/snapshot/LeafNode$LeafType;
.field public static final enum Boolean:Lcom/google/firebase/database/snapshot/LeafNode$LeafType;
.field public static final enum DeferredValue:Lcom/google/firebase/database/snapshot/LeafNode$LeafType;
.field public static final enum Number:Lcom/google/firebase/database/snapshot/LeafNode$LeafType;
.field public static final enum String:Lcom/google/firebase/database/snapshot/LeafNode$LeafType;
# direct methods
.method public static constructor <clinit>()V
.locals 9
.line 1
new-instance v0, Lcom/google/firebase/database/snapshot/LeafNode$LeafType;
const-string v1, "DeferredValue"
const/4 v2, 0x0
invoke-direct {v0, v1, v2}, Lcom/google/firebase/database/snapshot/LeafNode$LeafType;-><init>(Ljava/lang/String;I)V
sput-object v0, Lcom/google/firebase/database/snapshot/LeafNode$LeafType;->DeferredValue:Lcom/google/firebase/database/snapshot/LeafNode$LeafType;
.line 2
new-instance v1, Lcom/google/firebase/database/snapshot/LeafNode$LeafType;
const-string v3, "Boolean"
const/4 v4, 0x1
invoke-direct {v1, v3, v4}, Lcom/google/firebase/database/snapshot/LeafNode$LeafType;-><init>(Ljava/lang/String;I)V
sput-object v1, Lcom/google/firebase/database/snapshot/LeafNode$LeafType;->Boolean:Lcom/google/firebase/database/snapshot/LeafNode$LeafType;
.line 3
new-instance v3, Lcom/google/firebase/database/snapshot/LeafNode$LeafType;
const-string v5, "Number"
const/4 v6, 0x2
invoke-direct {v3, v5, v6}, Lcom/google/firebase/database/snapshot/LeafNode$LeafType;-><init>(Ljava/lang/String;I)V
sput-object v3, Lcom/google/firebase/database/snapshot/LeafNode$LeafType;->Number:Lcom/google/firebase/database/snapshot/LeafNode$LeafType;
.line 4
new-instance v5, Lcom/google/firebase/database/snapshot/LeafNode$LeafType;
const-string v7, "String"
const/4 v8, 0x3
invoke-direct {v5, v7, v8}, Lcom/google/firebase/database/snapshot/LeafNode$LeafType;-><init>(Ljava/lang/String;I)V
sput-object v5, Lcom/google/firebase/database/snapshot/LeafNode$LeafType;->String:Lcom/google/firebase/database/snapshot/LeafNode$LeafType;
const/4 v7, 0x4
new-array v7, v7, [Lcom/google/firebase/database/snapshot/LeafNode$LeafType;
aput-object v0, v7, v2
aput-object v1, v7, v4
aput-object v3, v7, v6
aput-object v5, v7, v8
.line 5
sput-object v7, Lcom/google/firebase/database/snapshot/LeafNode$LeafType;->$VALUES:[Lcom/google/firebase/database/snapshot/LeafNode$LeafType;
return-void
.end method
.method private constructor <init>(Ljava/lang/String;I)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"()V"
}
.end annotation
.line 1
invoke-direct {p0, p1, p2}, Ljava/lang/Enum;-><init>(Ljava/lang/String;I)V
return-void
.end method
.method public static valueOf(Ljava/lang/String;)Lcom/google/firebase/database/snapshot/LeafNode$LeafType;
.locals 1
.line 1
const-class v0, Lcom/google/firebase/database/snapshot/LeafNode$LeafType;
invoke-static {v0, p0}, Ljava/lang/Enum;->valueOf(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;
move-result-object p0
check-cast p0, Lcom/google/firebase/database/snapshot/LeafNode$LeafType;
return-object p0
.end method
.method public static values()[Lcom/google/firebase/database/snapshot/LeafNode$LeafType;
.locals 1
.line 1
sget-object v0, Lcom/google/firebase/database/snapshot/LeafNode$LeafType;->$VALUES:[Lcom/google/firebase/database/snapshot/LeafNode$LeafType;
invoke-virtual {v0}, [Lcom/google/firebase/database/snapshot/LeafNode$LeafType;->clone()Ljava/lang/Object;
move-result-object v0
check-cast v0, [Lcom/google/firebase/database/snapshot/LeafNode$LeafType;
return-object v0
.end method
@@ -0,0 +1,751 @@
.class public abstract Lcom/google/firebase/database/snapshot/LeafNode;
.super Ljava/lang/Object;
.source "LeafNode.java"
# interfaces
.implements Lcom/google/firebase/database/snapshot/Node;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/google/firebase/database/snapshot/LeafNode$LeafType;
}
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Lcom/google/firebase/database/snapshot/LeafNode;",
">",
"Ljava/lang/Object;",
"Lcom/google/firebase/database/snapshot/Node;"
}
.end annotation
# instance fields
.field private lazyHash:Ljava/lang/String;
.field public final priority:Lcom/google/firebase/database/snapshot/Node;
# direct methods
.method public constructor <init>(Lcom/google/firebase/database/snapshot/Node;)V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
iput-object p1, p0, Lcom/google/firebase/database/snapshot/LeafNode;->priority:Lcom/google/firebase/database/snapshot/Node;
return-void
.end method
.method private static compareLongDoubleNodes(Lcom/google/firebase/database/snapshot/LongNode;Lcom/google/firebase/database/snapshot/DoubleNode;)I
.locals 2
.line 1
invoke-virtual {p0}, Lcom/google/firebase/database/snapshot/LongNode;->getValue()Ljava/lang/Object;
move-result-object p0
check-cast p0, Ljava/lang/Long;
invoke-virtual {p0}, Ljava/lang/Long;->longValue()J
move-result-wide v0
long-to-double v0, v0
invoke-static {v0, v1}, Ljava/lang/Double;->valueOf(D)Ljava/lang/Double;
move-result-object p0
.line 2
invoke-virtual {p1}, Lcom/google/firebase/database/snapshot/DoubleNode;->getValue()Ljava/lang/Object;
move-result-object p1
check-cast p1, Ljava/lang/Double;
invoke-virtual {p0, p1}, Ljava/lang/Double;->compareTo(Ljava/lang/Double;)I
move-result p0
return p0
.end method
# virtual methods
.method public abstract compareLeafValues(Lcom/google/firebase/database/snapshot/LeafNode;)I
.annotation system Ldalvik/annotation/Signature;
value = {
"(TT;)I"
}
.end annotation
.end method
.method public compareTo(Lcom/google/firebase/database/snapshot/Node;)I
.locals 3
.line 2
invoke-interface {p1}, Lcom/google/firebase/database/snapshot/Node;->isEmpty()Z
move-result v0
if-eqz v0, :cond_0
const/4 p1, 0x1
return p1
.line 3
:cond_0
instance-of v0, p1, Lcom/google/firebase/database/snapshot/ChildrenNode;
const/4 v1, -0x1
if-eqz v0, :cond_1
return v1
.line 4
:cond_1
invoke-interface {p1}, Lcom/google/firebase/database/snapshot/Node;->isLeafNode()Z
move-result v0
const-string v2, "Node is not leaf node!"
invoke-static {v0, v2}, Lcom/google/firebase/database/core/utilities/Utilities;->hardAssert(ZLjava/lang/String;)V
.line 5
instance-of v0, p0, Lcom/google/firebase/database/snapshot/LongNode;
if-eqz v0, :cond_2
instance-of v0, p1, Lcom/google/firebase/database/snapshot/DoubleNode;
if-eqz v0, :cond_2
.line 6
move-object v0, p0
check-cast v0, Lcom/google/firebase/database/snapshot/LongNode;
check-cast p1, Lcom/google/firebase/database/snapshot/DoubleNode;
invoke-static {v0, p1}, Lcom/google/firebase/database/snapshot/LeafNode;->compareLongDoubleNodes(Lcom/google/firebase/database/snapshot/LongNode;Lcom/google/firebase/database/snapshot/DoubleNode;)I
move-result p1
return p1
.line 7
:cond_2
instance-of v0, p0, Lcom/google/firebase/database/snapshot/DoubleNode;
if-eqz v0, :cond_3
instance-of v0, p1, Lcom/google/firebase/database/snapshot/LongNode;
if-eqz v0, :cond_3
.line 8
check-cast p1, Lcom/google/firebase/database/snapshot/LongNode;
move-object v0, p0
check-cast v0, Lcom/google/firebase/database/snapshot/DoubleNode;
invoke-static {p1, v0}, Lcom/google/firebase/database/snapshot/LeafNode;->compareLongDoubleNodes(Lcom/google/firebase/database/snapshot/LongNode;Lcom/google/firebase/database/snapshot/DoubleNode;)I
move-result p1
mul-int/2addr p1, v1
return p1
.line 9
:cond_3
check-cast p1, Lcom/google/firebase/database/snapshot/LeafNode;
invoke-virtual {p0, p1}, Lcom/google/firebase/database/snapshot/LeafNode;->leafCompare(Lcom/google/firebase/database/snapshot/LeafNode;)I
move-result p1
return p1
.end method
.method public bridge synthetic compareTo(Ljava/lang/Object;)I
.locals 0
.line 1
check-cast p1, Lcom/google/firebase/database/snapshot/Node;
invoke-virtual {p0, p1}, Lcom/google/firebase/database/snapshot/LeafNode;->compareTo(Lcom/google/firebase/database/snapshot/Node;)I
move-result p1
return p1
.end method
.method public abstract equals(Ljava/lang/Object;)Z
.end method
.method public getChild(Lcom/google/firebase/database/core/Path;)Lcom/google/firebase/database/snapshot/Node;
.locals 1
.line 1
invoke-virtual {p1}, Lcom/google/firebase/database/core/Path;->isEmpty()Z
move-result v0
if-eqz v0, :cond_0
return-object p0
.line 2
:cond_0
invoke-virtual {p1}, Lcom/google/firebase/database/core/Path;->getFront()Lcom/google/firebase/database/snapshot/ChildKey;
move-result-object p1
invoke-virtual {p1}, Lcom/google/firebase/database/snapshot/ChildKey;->isPriorityChildName()Z
move-result p1
if-eqz p1, :cond_1
.line 3
iget-object p1, p0, Lcom/google/firebase/database/snapshot/LeafNode;->priority:Lcom/google/firebase/database/snapshot/Node;
return-object p1
.line 4
:cond_1
invoke-static {}, Lcom/google/firebase/database/snapshot/EmptyNode;->Empty()Lcom/google/firebase/database/snapshot/EmptyNode;
move-result-object p1
return-object p1
.end method
.method public getChildCount()I
.locals 1
const/4 v0, 0x0
return v0
.end method
.method public getHash()Ljava/lang/String;
.locals 1
.line 1
iget-object v0, p0, Lcom/google/firebase/database/snapshot/LeafNode;->lazyHash:Ljava/lang/String;
if-nez v0, :cond_0
.line 2
sget-object v0, Lcom/google/firebase/database/snapshot/Node$HashVersion;->V1:Lcom/google/firebase/database/snapshot/Node$HashVersion;
invoke-interface {p0, v0}, Lcom/google/firebase/database/snapshot/Node;->getHashRepresentation(Lcom/google/firebase/database/snapshot/Node$HashVersion;)Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lcom/google/firebase/database/core/utilities/Utilities;->sha1HexDigest(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
iput-object v0, p0, Lcom/google/firebase/database/snapshot/LeafNode;->lazyHash:Ljava/lang/String;
.line 3
:cond_0
iget-object v0, p0, Lcom/google/firebase/database/snapshot/LeafNode;->lazyHash:Ljava/lang/String;
return-object v0
.end method
.method public getImmediateChild(Lcom/google/firebase/database/snapshot/ChildKey;)Lcom/google/firebase/database/snapshot/Node;
.locals 0
.line 1
invoke-virtual {p1}, Lcom/google/firebase/database/snapshot/ChildKey;->isPriorityChildName()Z
move-result p1
if-eqz p1, :cond_0
.line 2
iget-object p1, p0, Lcom/google/firebase/database/snapshot/LeafNode;->priority:Lcom/google/firebase/database/snapshot/Node;
return-object p1
.line 3
:cond_0
invoke-static {}, Lcom/google/firebase/database/snapshot/EmptyNode;->Empty()Lcom/google/firebase/database/snapshot/EmptyNode;
move-result-object p1
return-object p1
.end method
.method public abstract getLeafType()Lcom/google/firebase/database/snapshot/LeafNode$LeafType;
.end method
.method public getPredecessorChildKey(Lcom/google/firebase/database/snapshot/ChildKey;)Lcom/google/firebase/database/snapshot/ChildKey;
.locals 0
const/4 p1, 0x0
return-object p1
.end method
.method public getPriority()Lcom/google/firebase/database/snapshot/Node;
.locals 1
.line 1
iget-object v0, p0, Lcom/google/firebase/database/snapshot/LeafNode;->priority:Lcom/google/firebase/database/snapshot/Node;
return-object v0
.end method
.method public getPriorityHash(Lcom/google/firebase/database/snapshot/Node$HashVersion;)Ljava/lang/String;
.locals 3
.line 1
sget-object v0, Lcom/google/firebase/database/snapshot/LeafNode$1;->$SwitchMap$com$google$firebase$database$snapshot$Node$HashVersion:[I
invoke-virtual {p1}, Ljava/lang/Enum;->ordinal()I
move-result v1
aget v0, v0, v1
const/4 v1, 0x1
if-eq v0, v1, :cond_1
const/4 v1, 0x2
if-ne v0, v1, :cond_0
goto :goto_0
.line 2
:cond_0
new-instance v0, Ljava/lang/IllegalArgumentException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "Unknown hash version: "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-direct {v0, p1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
.line 3
:cond_1
:goto_0
iget-object v0, p0, Lcom/google/firebase/database/snapshot/LeafNode;->priority:Lcom/google/firebase/database/snapshot/Node;
invoke-interface {v0}, Lcom/google/firebase/database/snapshot/Node;->isEmpty()Z
move-result v0
if-eqz v0, :cond_2
const-string p1, ""
return-object p1
:cond_2
const-string v0, "priority:"
.line 4
invoke-static {v0}, Landroid/support/v4/media/d;->a(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
iget-object v1, p0, Lcom/google/firebase/database/snapshot/LeafNode;->priority:Lcom/google/firebase/database/snapshot/Node;
invoke-interface {v1, p1}, Lcom/google/firebase/database/snapshot/Node;->getHashRepresentation(Lcom/google/firebase/database/snapshot/Node$HashVersion;)Ljava/lang/String;
move-result-object p1
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p1, ":"
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
return-object p1
.end method
.method public getSuccessorChildKey(Lcom/google/firebase/database/snapshot/ChildKey;)Lcom/google/firebase/database/snapshot/ChildKey;
.locals 0
const/4 p1, 0x0
return-object p1
.end method
.method public getValue(Z)Ljava/lang/Object;
.locals 2
if-eqz p1, :cond_1
.line 1
iget-object p1, p0, Lcom/google/firebase/database/snapshot/LeafNode;->priority:Lcom/google/firebase/database/snapshot/Node;
invoke-interface {p1}, Lcom/google/firebase/database/snapshot/Node;->isEmpty()Z
move-result p1
if-eqz p1, :cond_0
goto :goto_0
.line 2
:cond_0
new-instance p1, Ljava/util/HashMap;
invoke-direct {p1}, Ljava/util/HashMap;-><init>()V
.line 3
invoke-interface {p0}, Lcom/google/firebase/database/snapshot/Node;->getValue()Ljava/lang/Object;
move-result-object v0
const-string v1, ".value"
invoke-virtual {p1, v1, v0}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 4
iget-object v0, p0, Lcom/google/firebase/database/snapshot/LeafNode;->priority:Lcom/google/firebase/database/snapshot/Node;
invoke-interface {v0}, Lcom/google/firebase/database/snapshot/Node;->getValue()Ljava/lang/Object;
move-result-object v0
const-string v1, ".priority"
invoke-virtual {p1, v1, v0}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
return-object p1
.line 5
:cond_1
:goto_0
invoke-interface {p0}, Lcom/google/firebase/database/snapshot/Node;->getValue()Ljava/lang/Object;
move-result-object p1
return-object p1
.end method
.method public hasChild(Lcom/google/firebase/database/snapshot/ChildKey;)Z
.locals 0
const/4 p1, 0x0
return p1
.end method
.method public abstract hashCode()I
.end method
.method public isEmpty()Z
.locals 1
const/4 v0, 0x0
return v0
.end method
.method public isLeafNode()Z
.locals 1
const/4 v0, 0x1
return v0
.end method
.method public iterator()Ljava/util/Iterator;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/Iterator<",
"Lcom/google/firebase/database/snapshot/NamedNode;",
">;"
}
.end annotation
.line 1
invoke-static {}, Ljava/util/Collections;->emptyList()Ljava/util/List;
move-result-object v0
invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v0
return-object v0
.end method
.method public leafCompare(Lcom/google/firebase/database/snapshot/LeafNode;)I
.locals 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/firebase/database/snapshot/LeafNode<",
"*>;)I"
}
.end annotation
.line 1
invoke-virtual {p0}, Lcom/google/firebase/database/snapshot/LeafNode;->getLeafType()Lcom/google/firebase/database/snapshot/LeafNode$LeafType;
move-result-object v0
.line 2
invoke-virtual {p1}, Lcom/google/firebase/database/snapshot/LeafNode;->getLeafType()Lcom/google/firebase/database/snapshot/LeafNode$LeafType;
move-result-object v1
.line 3
invoke-virtual {v0, v1}, Ljava/lang/Enum;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_0
.line 4
invoke-virtual {p0, p1}, Lcom/google/firebase/database/snapshot/LeafNode;->compareLeafValues(Lcom/google/firebase/database/snapshot/LeafNode;)I
move-result p1
return p1
.line 5
:cond_0
invoke-virtual {v0, v1}, Ljava/lang/Enum;->compareTo(Ljava/lang/Enum;)I
move-result p1
return p1
.end method
.method public reverseIterator()Ljava/util/Iterator;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/Iterator<",
"Lcom/google/firebase/database/snapshot/NamedNode;",
">;"
}
.end annotation
.line 1
invoke-static {}, Ljava/util/Collections;->emptyList()Ljava/util/List;
move-result-object v0
invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v0
return-object v0
.end method
.method public toString()Ljava/lang/String;
.locals 4
const/4 v0, 0x1
.line 1
invoke-virtual {p0, v0}, Lcom/google/firebase/database/snapshot/LeafNode;->getValue(Z)Ljava/lang/Object;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object v0
.line 2
invoke-virtual {v0}, Ljava/lang/String;->length()I
move-result v1
const/16 v2, 0x64
if-gt v1, v2, :cond_0
goto :goto_0
:cond_0
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const/4 v3, 0x0
invoke-virtual {v0, v3, v2}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object v0
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v0, "..."
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
:goto_0
return-object v0
.end method
.method public updateChild(Lcom/google/firebase/database/core/Path;Lcom/google/firebase/database/snapshot/Node;)Lcom/google/firebase/database/snapshot/Node;
.locals 3
.line 1
invoke-virtual {p1}, Lcom/google/firebase/database/core/Path;->getFront()Lcom/google/firebase/database/snapshot/ChildKey;
move-result-object v0
if-nez v0, :cond_0
return-object p2
.line 2
:cond_0
invoke-interface {p2}, Lcom/google/firebase/database/snapshot/Node;->isEmpty()Z
move-result v1
if-eqz v1, :cond_1
invoke-virtual {v0}, Lcom/google/firebase/database/snapshot/ChildKey;->isPriorityChildName()Z
move-result v1
if-nez v1, :cond_1
return-object p0
.line 3
:cond_1
invoke-virtual {p1}, Lcom/google/firebase/database/core/Path;->getFront()Lcom/google/firebase/database/snapshot/ChildKey;
move-result-object v1
invoke-virtual {v1}, Lcom/google/firebase/database/snapshot/ChildKey;->isPriorityChildName()Z
move-result v1
const/4 v2, 0x1
if-eqz v1, :cond_3
invoke-virtual {p1}, Lcom/google/firebase/database/core/Path;->size()I
move-result v1
if-ne v1, v2, :cond_2
goto :goto_0
:cond_2
const/4 v2, 0x0
:cond_3
:goto_0
invoke-static {v2}, Lcom/google/firebase/database/core/utilities/Utilities;->hardAssert(Z)V
.line 4
invoke-static {}, Lcom/google/firebase/database/snapshot/EmptyNode;->Empty()Lcom/google/firebase/database/snapshot/EmptyNode;
move-result-object v1
invoke-virtual {p1}, Lcom/google/firebase/database/core/Path;->popFront()Lcom/google/firebase/database/core/Path;
move-result-object p1
invoke-virtual {v1, p1, p2}, Lcom/google/firebase/database/snapshot/EmptyNode;->updateChild(Lcom/google/firebase/database/core/Path;Lcom/google/firebase/database/snapshot/Node;)Lcom/google/firebase/database/snapshot/Node;
move-result-object p1
invoke-virtual {p0, v0, p1}, Lcom/google/firebase/database/snapshot/LeafNode;->updateImmediateChild(Lcom/google/firebase/database/snapshot/ChildKey;Lcom/google/firebase/database/snapshot/Node;)Lcom/google/firebase/database/snapshot/Node;
move-result-object p1
return-object p1
.end method
.method public updateImmediateChild(Lcom/google/firebase/database/snapshot/ChildKey;Lcom/google/firebase/database/snapshot/Node;)Lcom/google/firebase/database/snapshot/Node;
.locals 1
.line 1
invoke-virtual {p1}, Lcom/google/firebase/database/snapshot/ChildKey;->isPriorityChildName()Z
move-result v0
if-eqz v0, :cond_0
.line 2
invoke-interface {p0, p2}, Lcom/google/firebase/database/snapshot/Node;->updatePriority(Lcom/google/firebase/database/snapshot/Node;)Lcom/google/firebase/database/snapshot/Node;
move-result-object p1
return-object p1
.line 3
:cond_0
invoke-interface {p2}, Lcom/google/firebase/database/snapshot/Node;->isEmpty()Z
move-result v0
if-eqz v0, :cond_1
return-object p0
.line 4
:cond_1
invoke-static {}, Lcom/google/firebase/database/snapshot/EmptyNode;->Empty()Lcom/google/firebase/database/snapshot/EmptyNode;
move-result-object v0
invoke-virtual {v0, p1, p2}, Lcom/google/firebase/database/snapshot/EmptyNode;->updateImmediateChild(Lcom/google/firebase/database/snapshot/ChildKey;Lcom/google/firebase/database/snapshot/Node;)Lcom/google/firebase/database/snapshot/Node;
move-result-object p1
iget-object p2, p0, Lcom/google/firebase/database/snapshot/LeafNode;->priority:Lcom/google/firebase/database/snapshot/Node;
invoke-interface {p1, p2}, Lcom/google/firebase/database/snapshot/Node;->updatePriority(Lcom/google/firebase/database/snapshot/Node;)Lcom/google/firebase/database/snapshot/Node;
move-result-object p1
return-object p1
.end method
@@ -0,0 +1,218 @@
.class public Lcom/google/firebase/database/snapshot/LongNode;
.super Lcom/google/firebase/database/snapshot/LeafNode;
.source "LongNode.java"
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/google/firebase/database/snapshot/LeafNode<",
"Lcom/google/firebase/database/snapshot/LongNode;",
">;"
}
.end annotation
# instance fields
.field private final value:J
# direct methods
.method public constructor <init>(Ljava/lang/Long;Lcom/google/firebase/database/snapshot/Node;)V
.locals 0
.line 1
invoke-direct {p0, p2}, Lcom/google/firebase/database/snapshot/LeafNode;-><init>(Lcom/google/firebase/database/snapshot/Node;)V
.line 2
invoke-virtual {p1}, Ljava/lang/Long;->longValue()J
move-result-wide p1
iput-wide p1, p0, Lcom/google/firebase/database/snapshot/LongNode;->value:J
return-void
.end method
# virtual methods
.method public bridge synthetic compareLeafValues(Lcom/google/firebase/database/snapshot/LeafNode;)I
.locals 0
.line 1
check-cast p1, Lcom/google/firebase/database/snapshot/LongNode;
invoke-virtual {p0, p1}, Lcom/google/firebase/database/snapshot/LongNode;->compareLeafValues(Lcom/google/firebase/database/snapshot/LongNode;)I
move-result p1
return p1
.end method
.method public compareLeafValues(Lcom/google/firebase/database/snapshot/LongNode;)I
.locals 4
.line 2
iget-wide v0, p0, Lcom/google/firebase/database/snapshot/LongNode;->value:J
iget-wide v2, p1, Lcom/google/firebase/database/snapshot/LongNode;->value:J
invoke-static {v0, v1, v2, v3}, Lcom/google/firebase/database/core/utilities/Utilities;->compareLongs(JJ)I
move-result p1
return p1
.end method
.method public equals(Ljava/lang/Object;)Z
.locals 6
.line 1
instance-of v0, p1, Lcom/google/firebase/database/snapshot/LongNode;
const/4 v1, 0x0
if-nez v0, :cond_0
return v1
.line 2
:cond_0
check-cast p1, Lcom/google/firebase/database/snapshot/LongNode;
.line 3
iget-wide v2, p0, Lcom/google/firebase/database/snapshot/LongNode;->value:J
iget-wide v4, p1, Lcom/google/firebase/database/snapshot/LongNode;->value:J
cmp-long v0, v2, v4
if-nez v0, :cond_1
iget-object v0, p0, Lcom/google/firebase/database/snapshot/LeafNode;->priority:Lcom/google/firebase/database/snapshot/Node;
iget-object p1, p1, Lcom/google/firebase/database/snapshot/LeafNode;->priority:Lcom/google/firebase/database/snapshot/Node;
invoke-virtual {v0, p1}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_1
const/4 v1, 0x1
:cond_1
return v1
.end method
.method public getHashRepresentation(Lcom/google/firebase/database/snapshot/Node$HashVersion;)Ljava/lang/String;
.locals 2
.line 1
invoke-virtual {p0, p1}, Lcom/google/firebase/database/snapshot/LeafNode;->getPriorityHash(Lcom/google/firebase/database/snapshot/Node$HashVersion;)Ljava/lang/String;
move-result-object p1
const-string v0, "number:"
.line 2
invoke-static {p1, v0}, Lc/g;->a(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
.line 3
invoke-static {p1}, Landroid/support/v4/media/d;->a(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p1
iget-wide v0, p0, Lcom/google/firebase/database/snapshot/LongNode;->value:J
long-to-double v0, v0
invoke-static {v0, v1}, Lcom/google/firebase/database/core/utilities/Utilities;->doubleToHashString(D)Ljava/lang/String;
move-result-object v0
invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
return-object p1
.end method
.method public getLeafType()Lcom/google/firebase/database/snapshot/LeafNode$LeafType;
.locals 1
.line 1
sget-object v0, Lcom/google/firebase/database/snapshot/LeafNode$LeafType;->Number:Lcom/google/firebase/database/snapshot/LeafNode$LeafType;
return-object v0
.end method
.method public getValue()Ljava/lang/Object;
.locals 2
.line 1
iget-wide v0, p0, Lcom/google/firebase/database/snapshot/LongNode;->value:J
invoke-static {v0, v1}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v0
return-object v0
.end method
.method public hashCode()I
.locals 4
.line 1
iget-wide v0, p0, Lcom/google/firebase/database/snapshot/LongNode;->value:J
const/16 v2, 0x20
ushr-long v2, v0, v2
xor-long/2addr v0, v2
long-to-int v0, v0
iget-object v1, p0, Lcom/google/firebase/database/snapshot/LeafNode;->priority:Lcom/google/firebase/database/snapshot/Node;
invoke-virtual {v1}, Ljava/lang/Object;->hashCode()I
move-result v1
add-int/2addr v1, v0
return v1
.end method
.method public updatePriority(Lcom/google/firebase/database/snapshot/Node;)Lcom/google/firebase/database/snapshot/LongNode;
.locals 3
.line 2
new-instance v0, Lcom/google/firebase/database/snapshot/LongNode;
iget-wide v1, p0, Lcom/google/firebase/database/snapshot/LongNode;->value:J
invoke-static {v1, v2}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v1
invoke-direct {v0, v1, p1}, Lcom/google/firebase/database/snapshot/LongNode;-><init>(Ljava/lang/Long;Lcom/google/firebase/database/snapshot/Node;)V
return-object v0
.end method
.method public bridge synthetic updatePriority(Lcom/google/firebase/database/snapshot/Node;)Lcom/google/firebase/database/snapshot/Node;
.locals 0
.line 1
invoke-virtual {p0, p1}, Lcom/google/firebase/database/snapshot/LongNode;->updatePriority(Lcom/google/firebase/database/snapshot/Node;)Lcom/google/firebase/database/snapshot/LongNode;
move-result-object p1
return-object p1
.end method
@@ -0,0 +1,225 @@
.class public final Lcom/google/firebase/database/snapshot/NamedNode;
.super Ljava/lang/Object;
.source "NamedNode.java"
# static fields
.field private static final MAX_NODE:Lcom/google/firebase/database/snapshot/NamedNode;
.field private static final MIN_NODE:Lcom/google/firebase/database/snapshot/NamedNode;
# instance fields
.field private final name:Lcom/google/firebase/database/snapshot/ChildKey;
.field private final node:Lcom/google/firebase/database/snapshot/Node;
# direct methods
.method public static constructor <clinit>()V
.locals 3
.line 1
new-instance v0, Lcom/google/firebase/database/snapshot/NamedNode;
invoke-static {}, Lcom/google/firebase/database/snapshot/ChildKey;->getMinName()Lcom/google/firebase/database/snapshot/ChildKey;
move-result-object v1
invoke-static {}, Lcom/google/firebase/database/snapshot/EmptyNode;->Empty()Lcom/google/firebase/database/snapshot/EmptyNode;
move-result-object v2
invoke-direct {v0, v1, v2}, Lcom/google/firebase/database/snapshot/NamedNode;-><init>(Lcom/google/firebase/database/snapshot/ChildKey;Lcom/google/firebase/database/snapshot/Node;)V
sput-object v0, Lcom/google/firebase/database/snapshot/NamedNode;->MIN_NODE:Lcom/google/firebase/database/snapshot/NamedNode;
.line 2
new-instance v0, Lcom/google/firebase/database/snapshot/NamedNode;
invoke-static {}, Lcom/google/firebase/database/snapshot/ChildKey;->getMaxName()Lcom/google/firebase/database/snapshot/ChildKey;
move-result-object v1
sget-object v2, Lcom/google/firebase/database/snapshot/Node;->MAX_NODE:Lcom/google/firebase/database/snapshot/ChildrenNode;
invoke-direct {v0, v1, v2}, Lcom/google/firebase/database/snapshot/NamedNode;-><init>(Lcom/google/firebase/database/snapshot/ChildKey;Lcom/google/firebase/database/snapshot/Node;)V
sput-object v0, Lcom/google/firebase/database/snapshot/NamedNode;->MAX_NODE:Lcom/google/firebase/database/snapshot/NamedNode;
return-void
.end method
.method public constructor <init>(Lcom/google/firebase/database/snapshot/ChildKey;Lcom/google/firebase/database/snapshot/Node;)V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
iput-object p1, p0, Lcom/google/firebase/database/snapshot/NamedNode;->name:Lcom/google/firebase/database/snapshot/ChildKey;
.line 3
iput-object p2, p0, Lcom/google/firebase/database/snapshot/NamedNode;->node:Lcom/google/firebase/database/snapshot/Node;
return-void
.end method
.method public static getMaxNode()Lcom/google/firebase/database/snapshot/NamedNode;
.locals 1
.line 1
sget-object v0, Lcom/google/firebase/database/snapshot/NamedNode;->MAX_NODE:Lcom/google/firebase/database/snapshot/NamedNode;
return-object v0
.end method
.method public static getMinNode()Lcom/google/firebase/database/snapshot/NamedNode;
.locals 1
.line 1
sget-object v0, Lcom/google/firebase/database/snapshot/NamedNode;->MIN_NODE:Lcom/google/firebase/database/snapshot/NamedNode;
return-object v0
.end method
# virtual methods
.method public equals(Ljava/lang/Object;)Z
.locals 4
const/4 v0, 0x1
if-ne p0, p1, :cond_0
return v0
:cond_0
const/4 v1, 0x0
if-eqz p1, :cond_4
.line 1
const-class v2, Lcom/google/firebase/database/snapshot/NamedNode;
invoke-virtual {p1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v3
if-eq v2, v3, :cond_1
goto :goto_0
.line 2
:cond_1
check-cast p1, Lcom/google/firebase/database/snapshot/NamedNode;
.line 3
iget-object v2, p0, Lcom/google/firebase/database/snapshot/NamedNode;->name:Lcom/google/firebase/database/snapshot/ChildKey;
iget-object v3, p1, Lcom/google/firebase/database/snapshot/NamedNode;->name:Lcom/google/firebase/database/snapshot/ChildKey;
invoke-virtual {v2, v3}, Lcom/google/firebase/database/snapshot/ChildKey;->equals(Ljava/lang/Object;)Z
move-result v2
if-nez v2, :cond_2
return v1
.line 4
:cond_2
iget-object v2, p0, Lcom/google/firebase/database/snapshot/NamedNode;->node:Lcom/google/firebase/database/snapshot/Node;
iget-object p1, p1, Lcom/google/firebase/database/snapshot/NamedNode;->node:Lcom/google/firebase/database/snapshot/Node;
invoke-virtual {v2, p1}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result p1
if-nez p1, :cond_3
return v1
:cond_3
return v0
:cond_4
:goto_0
return v1
.end method
.method public getName()Lcom/google/firebase/database/snapshot/ChildKey;
.locals 1
.line 1
iget-object v0, p0, Lcom/google/firebase/database/snapshot/NamedNode;->name:Lcom/google/firebase/database/snapshot/ChildKey;
return-object v0
.end method
.method public getNode()Lcom/google/firebase/database/snapshot/Node;
.locals 1
.line 1
iget-object v0, p0, Lcom/google/firebase/database/snapshot/NamedNode;->node:Lcom/google/firebase/database/snapshot/Node;
return-object v0
.end method
.method public hashCode()I
.locals 2
.line 1
iget-object v0, p0, Lcom/google/firebase/database/snapshot/NamedNode;->name:Lcom/google/firebase/database/snapshot/ChildKey;
invoke-virtual {v0}, Lcom/google/firebase/database/snapshot/ChildKey;->hashCode()I
move-result v0
mul-int/lit8 v0, v0, 0x1f
.line 2
iget-object v1, p0, Lcom/google/firebase/database/snapshot/NamedNode;->node:Lcom/google/firebase/database/snapshot/Node;
invoke-virtual {v1}, Ljava/lang/Object;->hashCode()I
move-result v1
add-int/2addr v1, v0
return v1
.end method
.method public toString()Ljava/lang/String;
.locals 2
const-string v0, "NamedNode{name="
.line 1
invoke-static {v0}, Landroid/support/v4/media/d;->a(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
iget-object v1, p0, Lcom/google/firebase/database/snapshot/NamedNode;->name:Lcom/google/firebase/database/snapshot/ChildKey;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v1, ", node="
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v1, p0, Lcom/google/firebase/database/snapshot/NamedNode;->node:Lcom/google/firebase/database/snapshot/Node;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const/16 v1, 0x7d
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
@@ -0,0 +1,128 @@
.class Lcom/google/firebase/database/snapshot/Node$1;
.super Lcom/google/firebase/database/snapshot/ChildrenNode;
.source "Node.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/firebase/database/snapshot/Node;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
# direct methods
.method public constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Lcom/google/firebase/database/snapshot/ChildrenNode;-><init>()V
return-void
.end method
# virtual methods
.method public compareTo(Lcom/google/firebase/database/snapshot/Node;)I
.locals 0
if-ne p1, p0, :cond_0
const/4 p1, 0x0
goto :goto_0
:cond_0
const/4 p1, 0x1
:goto_0
return p1
.end method
.method public bridge synthetic compareTo(Ljava/lang/Object;)I
.locals 0
.line 1
check-cast p1, Lcom/google/firebase/database/snapshot/Node;
invoke-virtual {p0, p1}, Lcom/google/firebase/database/snapshot/Node$1;->compareTo(Lcom/google/firebase/database/snapshot/Node;)I
move-result p1
return p1
.end method
.method public equals(Ljava/lang/Object;)Z
.locals 0
if-ne p1, p0, :cond_0
const/4 p1, 0x1
goto :goto_0
:cond_0
const/4 p1, 0x0
:goto_0
return p1
.end method
.method public getImmediateChild(Lcom/google/firebase/database/snapshot/ChildKey;)Lcom/google/firebase/database/snapshot/Node;
.locals 0
.line 1
invoke-virtual {p1}, Lcom/google/firebase/database/snapshot/ChildKey;->isPriorityChildName()Z
move-result p1
if-eqz p1, :cond_0
.line 2
invoke-virtual {p0}, Lcom/google/firebase/database/snapshot/Node$1;->getPriority()Lcom/google/firebase/database/snapshot/Node;
move-result-object p1
return-object p1
.line 3
:cond_0
invoke-static {}, Lcom/google/firebase/database/snapshot/EmptyNode;->Empty()Lcom/google/firebase/database/snapshot/EmptyNode;
move-result-object p1
return-object p1
.end method
.method public getPriority()Lcom/google/firebase/database/snapshot/Node;
.locals 0
return-object p0
.end method
.method public hasChild(Lcom/google/firebase/database/snapshot/ChildKey;)Z
.locals 0
const/4 p1, 0x0
return p1
.end method
.method public isEmpty()Z
.locals 1
const/4 v0, 0x0
return v0
.end method
.method public toString()Ljava/lang/String;
.locals 1
const-string v0, "<Max Node>"
return-object v0
.end method
@@ -0,0 +1,115 @@
.class public final enum Lcom/google/firebase/database/snapshot/Node$HashVersion;
.super Ljava/lang/Enum;
.source "Node.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/firebase/database/snapshot/Node;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x4019
name = "HashVersion"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Enum<",
"Lcom/google/firebase/database/snapshot/Node$HashVersion;",
">;"
}
.end annotation
# static fields
.field private static final synthetic $VALUES:[Lcom/google/firebase/database/snapshot/Node$HashVersion;
.field public static final enum V1:Lcom/google/firebase/database/snapshot/Node$HashVersion;
.field public static final enum V2:Lcom/google/firebase/database/snapshot/Node$HashVersion;
# direct methods
.method public static constructor <clinit>()V
.locals 5
.line 1
new-instance v0, Lcom/google/firebase/database/snapshot/Node$HashVersion;
const-string v1, "V1"
const/4 v2, 0x0
invoke-direct {v0, v1, v2}, Lcom/google/firebase/database/snapshot/Node$HashVersion;-><init>(Ljava/lang/String;I)V
sput-object v0, Lcom/google/firebase/database/snapshot/Node$HashVersion;->V1:Lcom/google/firebase/database/snapshot/Node$HashVersion;
.line 2
new-instance v1, Lcom/google/firebase/database/snapshot/Node$HashVersion;
const-string v3, "V2"
const/4 v4, 0x1
invoke-direct {v1, v3, v4}, Lcom/google/firebase/database/snapshot/Node$HashVersion;-><init>(Ljava/lang/String;I)V
sput-object v1, Lcom/google/firebase/database/snapshot/Node$HashVersion;->V2:Lcom/google/firebase/database/snapshot/Node$HashVersion;
const/4 v3, 0x2
new-array v3, v3, [Lcom/google/firebase/database/snapshot/Node$HashVersion;
aput-object v0, v3, v2
aput-object v1, v3, v4
.line 3
sput-object v3, Lcom/google/firebase/database/snapshot/Node$HashVersion;->$VALUES:[Lcom/google/firebase/database/snapshot/Node$HashVersion;
return-void
.end method
.method private constructor <init>(Ljava/lang/String;I)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"()V"
}
.end annotation
.line 1
invoke-direct {p0, p1, p2}, Ljava/lang/Enum;-><init>(Ljava/lang/String;I)V
return-void
.end method
.method public static valueOf(Ljava/lang/String;)Lcom/google/firebase/database/snapshot/Node$HashVersion;
.locals 1
.line 1
const-class v0, Lcom/google/firebase/database/snapshot/Node$HashVersion;
invoke-static {v0, p0}, Ljava/lang/Enum;->valueOf(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;
move-result-object p0
check-cast p0, Lcom/google/firebase/database/snapshot/Node$HashVersion;
return-object p0
.end method
.method public static values()[Lcom/google/firebase/database/snapshot/Node$HashVersion;
.locals 1
.line 1
sget-object v0, Lcom/google/firebase/database/snapshot/Node$HashVersion;->$VALUES:[Lcom/google/firebase/database/snapshot/Node$HashVersion;
invoke-virtual {v0}, [Lcom/google/firebase/database/snapshot/Node$HashVersion;->clone()Ljava/lang/Object;
move-result-object v0
check-cast v0, [Lcom/google/firebase/database/snapshot/Node$HashVersion;
return-object v0
.end method
@@ -0,0 +1,107 @@
.class public interface abstract Lcom/google/firebase/database/snapshot/Node;
.super Ljava/lang/Object;
.source "Node.java"
# interfaces
.implements Ljava/lang/Comparable;
.implements Ljava/lang/Iterable;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/google/firebase/database/snapshot/Node$HashVersion;
}
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Object;",
"Ljava/lang/Comparable<",
"Lcom/google/firebase/database/snapshot/Node;",
">;",
"Ljava/lang/Iterable<",
"Lcom/google/firebase/database/snapshot/NamedNode;",
">;"
}
.end annotation
# static fields
.field public static final MAX_NODE:Lcom/google/firebase/database/snapshot/ChildrenNode;
# direct methods
.method static constructor <clinit>()V
.locals 1
.line 1
new-instance v0, Lcom/google/firebase/database/snapshot/Node$1;
invoke-direct {v0}, Lcom/google/firebase/database/snapshot/Node$1;-><init>()V
sput-object v0, Lcom/google/firebase/database/snapshot/Node;->MAX_NODE:Lcom/google/firebase/database/snapshot/ChildrenNode;
return-void
.end method
# virtual methods
.method public abstract getChild(Lcom/google/firebase/database/core/Path;)Lcom/google/firebase/database/snapshot/Node;
.end method
.method public abstract getChildCount()I
.end method
.method public abstract getHash()Ljava/lang/String;
.end method
.method public abstract getHashRepresentation(Lcom/google/firebase/database/snapshot/Node$HashVersion;)Ljava/lang/String;
.end method
.method public abstract getImmediateChild(Lcom/google/firebase/database/snapshot/ChildKey;)Lcom/google/firebase/database/snapshot/Node;
.end method
.method public abstract getPredecessorChildKey(Lcom/google/firebase/database/snapshot/ChildKey;)Lcom/google/firebase/database/snapshot/ChildKey;
.end method
.method public abstract getPriority()Lcom/google/firebase/database/snapshot/Node;
.end method
.method public abstract getSuccessorChildKey(Lcom/google/firebase/database/snapshot/ChildKey;)Lcom/google/firebase/database/snapshot/ChildKey;
.end method
.method public abstract getValue()Ljava/lang/Object;
.end method
.method public abstract getValue(Z)Ljava/lang/Object;
.end method
.method public abstract hasChild(Lcom/google/firebase/database/snapshot/ChildKey;)Z
.end method
.method public abstract isEmpty()Z
.end method
.method public abstract isLeafNode()Z
.end method
.method public abstract reverseIterator()Ljava/util/Iterator;
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/Iterator<",
"Lcom/google/firebase/database/snapshot/NamedNode;",
">;"
}
.end annotation
.end method
.method public abstract updateChild(Lcom/google/firebase/database/core/Path;Lcom/google/firebase/database/snapshot/Node;)Lcom/google/firebase/database/snapshot/Node;
.end method
.method public abstract updateImmediateChild(Lcom/google/firebase/database/snapshot/ChildKey;Lcom/google/firebase/database/snapshot/Node;)Lcom/google/firebase/database/snapshot/Node;
.end method
.method public abstract updatePriority(Lcom/google/firebase/database/snapshot/Node;)Lcom/google/firebase/database/snapshot/Node;
.end method
@@ -0,0 +1,454 @@
.class public Lcom/google/firebase/database/snapshot/NodeUtilities;
.super Ljava/lang/Object;
.source "NodeUtilities.java"
# direct methods
.method public constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static NodeFromJSON(Ljava/lang/Object;)Lcom/google/firebase/database/snapshot/Node;
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/firebase/database/DatabaseException;
}
.end annotation
.line 1
invoke-static {}, Lcom/google/firebase/database/snapshot/PriorityUtilities;->NullPriority()Lcom/google/firebase/database/snapshot/Node;
move-result-object v0
invoke-static {p0, v0}, Lcom/google/firebase/database/snapshot/NodeUtilities;->NodeFromJSON(Ljava/lang/Object;Lcom/google/firebase/database/snapshot/Node;)Lcom/google/firebase/database/snapshot/Node;
move-result-object p0
return-object p0
.end method
.method public static NodeFromJSON(Ljava/lang/Object;Lcom/google/firebase/database/snapshot/Node;)Lcom/google/firebase/database/snapshot/Node;
.locals 5
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/firebase/database/DatabaseException;
}
.end annotation
const-string v0, ".value"
const-string v1, ".priority"
.line 2
:try_start_0
instance-of v2, p0, Ljava/util/Map;
if-eqz v2, :cond_1
.line 3
move-object v2, p0
check-cast v2, Ljava/util/Map;
.line 4
invoke-interface {v2, v1}, Ljava/util/Map;->containsKey(Ljava/lang/Object;)Z
move-result v3
if-eqz v3, :cond_0
.line 5
invoke-interface {v2, v1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
invoke-static {p1}, Lcom/google/firebase/database/snapshot/PriorityUtilities;->parsePriority(Ljava/lang/Object;)Lcom/google/firebase/database/snapshot/Node;
move-result-object p1
.line 6
:cond_0
invoke-interface {v2, v0}, Ljava/util/Map;->containsKey(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_1
.line 7
invoke-interface {v2, v0}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p0
:cond_1
if-nez p0, :cond_2
.line 8
invoke-static {}, Lcom/google/firebase/database/snapshot/EmptyNode;->Empty()Lcom/google/firebase/database/snapshot/EmptyNode;
move-result-object p0
return-object p0
.line 9
:cond_2
instance-of v0, p0, Ljava/lang/String;
if-eqz v0, :cond_3
.line 10
new-instance v0, Lcom/google/firebase/database/snapshot/StringNode;
check-cast p0, Ljava/lang/String;
invoke-direct {v0, p0, p1}, Lcom/google/firebase/database/snapshot/StringNode;-><init>(Ljava/lang/String;Lcom/google/firebase/database/snapshot/Node;)V
return-object v0
.line 11
:cond_3
instance-of v0, p0, Ljava/lang/Long;
if-eqz v0, :cond_4
.line 12
new-instance v0, Lcom/google/firebase/database/snapshot/LongNode;
check-cast p0, Ljava/lang/Long;
invoke-direct {v0, p0, p1}, Lcom/google/firebase/database/snapshot/LongNode;-><init>(Ljava/lang/Long;Lcom/google/firebase/database/snapshot/Node;)V
return-object v0
.line 13
:cond_4
instance-of v0, p0, Ljava/lang/Integer;
if-eqz v0, :cond_5
.line 14
new-instance v0, Lcom/google/firebase/database/snapshot/LongNode;
check-cast p0, Ljava/lang/Integer;
invoke-virtual {p0}, Ljava/lang/Integer;->intValue()I
move-result p0
int-to-long v1, p0
invoke-static {v1, v2}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object p0
invoke-direct {v0, p0, p1}, Lcom/google/firebase/database/snapshot/LongNode;-><init>(Ljava/lang/Long;Lcom/google/firebase/database/snapshot/Node;)V
return-object v0
.line 15
:cond_5
instance-of v0, p0, Ljava/lang/Double;
if-eqz v0, :cond_6
.line 16
new-instance v0, Lcom/google/firebase/database/snapshot/DoubleNode;
check-cast p0, Ljava/lang/Double;
invoke-direct {v0, p0, p1}, Lcom/google/firebase/database/snapshot/DoubleNode;-><init>(Ljava/lang/Double;Lcom/google/firebase/database/snapshot/Node;)V
return-object v0
.line 17
:cond_6
instance-of v0, p0, Ljava/lang/Boolean;
if-eqz v0, :cond_7
.line 18
new-instance v0, Lcom/google/firebase/database/snapshot/BooleanNode;
check-cast p0, Ljava/lang/Boolean;
invoke-direct {v0, p0, p1}, Lcom/google/firebase/database/snapshot/BooleanNode;-><init>(Ljava/lang/Boolean;Lcom/google/firebase/database/snapshot/Node;)V
return-object v0
.line 19
:cond_7
instance-of v0, p0, Ljava/util/Map;
if-nez v0, :cond_9
instance-of v0, p0, Ljava/util/List;
if-eqz v0, :cond_8
goto :goto_0
.line 20
:cond_8
new-instance p1, Lcom/google/firebase/database/DatabaseException;
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "Failed to parse node with class "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 21
invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object p0
invoke-virtual {p0}, Ljava/lang/Class;->toString()Ljava/lang/String;
move-result-object p0
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
invoke-direct {p1, p0}, Lcom/google/firebase/database/DatabaseException;-><init>(Ljava/lang/String;)V
throw p1
.line 22
:cond_9
:goto_0
instance-of v0, p0, Ljava/util/Map;
if-eqz v0, :cond_c
.line 23
check-cast p0, Ljava/util/Map;
const-string v0, ".sv"
.line 24
invoke-interface {p0, v0}, Ljava/util/Map;->containsKey(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_a
.line 25
new-instance v0, Lcom/google/firebase/database/snapshot/DeferredValueNode;
invoke-direct {v0, p0, p1}, Lcom/google/firebase/database/snapshot/DeferredValueNode;-><init>(Ljava/util/Map;Lcom/google/firebase/database/snapshot/Node;)V
return-object v0
.line 26
:cond_a
new-instance v0, Ljava/util/HashMap;
invoke-interface {p0}, Ljava/util/Map;->size()I
move-result v1
invoke-direct {v0, v1}, Ljava/util/HashMap;-><init>(I)V
.line 27
invoke-interface {p0}, Ljava/util/Map;->keySet()Ljava/util/Set;
move-result-object v1
invoke-interface {v1}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object v1
.line 28
:cond_b
:goto_1
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_e
.line 29
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/lang/String;
const-string v3, "."
.line 30
invoke-virtual {v2, v3}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v3
if-nez v3, :cond_b
.line 31
invoke-interface {p0, v2}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v3
invoke-static {v3}, Lcom/google/firebase/database/snapshot/NodeUtilities;->NodeFromJSON(Ljava/lang/Object;)Lcom/google/firebase/database/snapshot/Node;
move-result-object v3
.line 32
invoke-interface {v3}, Lcom/google/firebase/database/snapshot/Node;->isEmpty()Z
move-result v4
if-nez v4, :cond_b
.line 33
invoke-static {v2}, Lcom/google/firebase/database/snapshot/ChildKey;->fromString(Ljava/lang/String;)Lcom/google/firebase/database/snapshot/ChildKey;
move-result-object v2
.line 34
invoke-virtual {v0, v2, v3}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
goto :goto_1
.line 35
:cond_c
check-cast p0, Ljava/util/List;
.line 36
new-instance v0, Ljava/util/HashMap;
invoke-interface {p0}, Ljava/util/List;->size()I
move-result v1
invoke-direct {v0, v1}, Ljava/util/HashMap;-><init>(I)V
const/4 v1, 0x0
.line 37
:goto_2
invoke-interface {p0}, Ljava/util/List;->size()I
move-result v2
if-ge v1, v2, :cond_e
.line 38
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, ""
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
.line 39
invoke-interface {p0, v1}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v3
invoke-static {v3}, Lcom/google/firebase/database/snapshot/NodeUtilities;->NodeFromJSON(Ljava/lang/Object;)Lcom/google/firebase/database/snapshot/Node;
move-result-object v3
.line 40
invoke-interface {v3}, Lcom/google/firebase/database/snapshot/Node;->isEmpty()Z
move-result v4
if-nez v4, :cond_d
.line 41
invoke-static {v2}, Lcom/google/firebase/database/snapshot/ChildKey;->fromString(Ljava/lang/String;)Lcom/google/firebase/database/snapshot/ChildKey;
move-result-object v2
.line 42
invoke-virtual {v0, v2, v3}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
:cond_d
add-int/lit8 v1, v1, 0x1
goto :goto_2
.line 43
:cond_e
invoke-interface {v0}, Ljava/util/Map;->isEmpty()Z
move-result p0
if-eqz p0, :cond_f
.line 44
invoke-static {}, Lcom/google/firebase/database/snapshot/EmptyNode;->Empty()Lcom/google/firebase/database/snapshot/EmptyNode;
move-result-object p0
return-object p0
.line 45
:cond_f
sget-object p0, Lcom/google/firebase/database/snapshot/ChildrenNode;->NAME_ONLY_COMPARATOR:Ljava/util/Comparator;
.line 46
invoke-static {v0, p0}, Lcom/google/firebase/database/collection/ImmutableSortedMap$Builder;->fromMap(Ljava/util/Map;Ljava/util/Comparator;)Lcom/google/firebase/database/collection/ImmutableSortedMap;
move-result-object p0
.line 47
new-instance v0, Lcom/google/firebase/database/snapshot/ChildrenNode;
invoke-direct {v0, p0, p1}, Lcom/google/firebase/database/snapshot/ChildrenNode;-><init>(Lcom/google/firebase/database/collection/ImmutableSortedMap;Lcom/google/firebase/database/snapshot/Node;)V
:try_end_0
.catch Ljava/lang/ClassCastException; {:try_start_0 .. :try_end_0} :catch_0
return-object v0
:catch_0
move-exception p0
.line 48
new-instance p1, Lcom/google/firebase/database/DatabaseException;
const-string v0, "Failed to parse node"
invoke-direct {p1, v0, p0}, Lcom/google/firebase/database/DatabaseException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw p1
.end method
.method public static nameAndPriorityCompare(Lcom/google/firebase/database/snapshot/ChildKey;Lcom/google/firebase/database/snapshot/Node;Lcom/google/firebase/database/snapshot/ChildKey;Lcom/google/firebase/database/snapshot/Node;)I
.locals 0
.line 1
invoke-interface {p1, p3}, Ljava/lang/Comparable;->compareTo(Ljava/lang/Object;)I
move-result p1
if-eqz p1, :cond_0
return p1
.line 2
:cond_0
invoke-virtual {p0, p2}, Lcom/google/firebase/database/snapshot/ChildKey;->compareTo(Lcom/google/firebase/database/snapshot/ChildKey;)I
move-result p0
return p0
.end method
@@ -0,0 +1,267 @@
.class public final Lcom/google/firebase/database/snapshot/PathIndex;
.super Lcom/google/firebase/database/snapshot/Index;
.source "PathIndex.java"
# instance fields
.field private final indexPath:Lcom/google/firebase/database/core/Path;
# direct methods
.method public constructor <init>(Lcom/google/firebase/database/core/Path;)V
.locals 2
.line 1
invoke-direct {p0}, Lcom/google/firebase/database/snapshot/Index;-><init>()V
.line 2
invoke-virtual {p1}, Lcom/google/firebase/database/core/Path;->size()I
move-result v0
const/4 v1, 0x1
if-ne v0, v1, :cond_1
invoke-virtual {p1}, Lcom/google/firebase/database/core/Path;->getFront()Lcom/google/firebase/database/snapshot/ChildKey;
move-result-object v0
invoke-virtual {v0}, Lcom/google/firebase/database/snapshot/ChildKey;->isPriorityChildName()Z
move-result v0
if-nez v0, :cond_0
goto :goto_0
.line 3
:cond_0
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string v0, "Can\'t create PathIndex with \'.priority\' as key. Please use PriorityIndex instead!"
invoke-direct {p1, v0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.line 4
:cond_1
:goto_0
iput-object p1, p0, Lcom/google/firebase/database/snapshot/PathIndex;->indexPath:Lcom/google/firebase/database/core/Path;
return-void
.end method
# virtual methods
.method public compare(Lcom/google/firebase/database/snapshot/NamedNode;Lcom/google/firebase/database/snapshot/NamedNode;)I
.locals 3
.line 2
invoke-virtual {p1}, Lcom/google/firebase/database/snapshot/NamedNode;->getNode()Lcom/google/firebase/database/snapshot/Node;
move-result-object v0
iget-object v1, p0, Lcom/google/firebase/database/snapshot/PathIndex;->indexPath:Lcom/google/firebase/database/core/Path;
invoke-interface {v0, v1}, Lcom/google/firebase/database/snapshot/Node;->getChild(Lcom/google/firebase/database/core/Path;)Lcom/google/firebase/database/snapshot/Node;
move-result-object v0
.line 3
invoke-virtual {p2}, Lcom/google/firebase/database/snapshot/NamedNode;->getNode()Lcom/google/firebase/database/snapshot/Node;
move-result-object v1
iget-object v2, p0, Lcom/google/firebase/database/snapshot/PathIndex;->indexPath:Lcom/google/firebase/database/core/Path;
invoke-interface {v1, v2}, Lcom/google/firebase/database/snapshot/Node;->getChild(Lcom/google/firebase/database/core/Path;)Lcom/google/firebase/database/snapshot/Node;
move-result-object v1
.line 4
invoke-interface {v0, v1}, Ljava/lang/Comparable;->compareTo(Ljava/lang/Object;)I
move-result v0
if-nez v0, :cond_0
.line 5
invoke-virtual {p1}, Lcom/google/firebase/database/snapshot/NamedNode;->getName()Lcom/google/firebase/database/snapshot/ChildKey;
move-result-object p1
invoke-virtual {p2}, Lcom/google/firebase/database/snapshot/NamedNode;->getName()Lcom/google/firebase/database/snapshot/ChildKey;
move-result-object p2
invoke-virtual {p1, p2}, Lcom/google/firebase/database/snapshot/ChildKey;->compareTo(Lcom/google/firebase/database/snapshot/ChildKey;)I
move-result p1
return p1
:cond_0
return v0
.end method
.method public bridge synthetic compare(Ljava/lang/Object;Ljava/lang/Object;)I
.locals 0
.line 1
check-cast p1, Lcom/google/firebase/database/snapshot/NamedNode;
check-cast p2, Lcom/google/firebase/database/snapshot/NamedNode;
invoke-virtual {p0, p1, p2}, Lcom/google/firebase/database/snapshot/PathIndex;->compare(Lcom/google/firebase/database/snapshot/NamedNode;Lcom/google/firebase/database/snapshot/NamedNode;)I
move-result p1
return p1
.end method
.method public equals(Ljava/lang/Object;)Z
.locals 4
const/4 v0, 0x1
if-ne p0, p1, :cond_0
return v0
:cond_0
const/4 v1, 0x0
if-eqz p1, :cond_3
.line 1
const-class v2, Lcom/google/firebase/database/snapshot/PathIndex;
invoke-virtual {p1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v3
if-eq v2, v3, :cond_1
goto :goto_0
.line 2
:cond_1
check-cast p1, Lcom/google/firebase/database/snapshot/PathIndex;
.line 3
iget-object v2, p0, Lcom/google/firebase/database/snapshot/PathIndex;->indexPath:Lcom/google/firebase/database/core/Path;
iget-object p1, p1, Lcom/google/firebase/database/snapshot/PathIndex;->indexPath:Lcom/google/firebase/database/core/Path;
invoke-virtual {v2, p1}, Lcom/google/firebase/database/core/Path;->equals(Ljava/lang/Object;)Z
move-result p1
if-nez p1, :cond_2
return v1
:cond_2
return v0
:cond_3
:goto_0
return v1
.end method
.method public getQueryDefinition()Ljava/lang/String;
.locals 1
.line 1
iget-object v0, p0, Lcom/google/firebase/database/snapshot/PathIndex;->indexPath:Lcom/google/firebase/database/core/Path;
invoke-virtual {v0}, Lcom/google/firebase/database/core/Path;->wireFormat()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public hashCode()I
.locals 1
.line 1
iget-object v0, p0, Lcom/google/firebase/database/snapshot/PathIndex;->indexPath:Lcom/google/firebase/database/core/Path;
invoke-virtual {v0}, Lcom/google/firebase/database/core/Path;->hashCode()I
move-result v0
return v0
.end method
.method public isDefinedOn(Lcom/google/firebase/database/snapshot/Node;)Z
.locals 1
.line 1
iget-object v0, p0, Lcom/google/firebase/database/snapshot/PathIndex;->indexPath:Lcom/google/firebase/database/core/Path;
invoke-interface {p1, v0}, Lcom/google/firebase/database/snapshot/Node;->getChild(Lcom/google/firebase/database/core/Path;)Lcom/google/firebase/database/snapshot/Node;
move-result-object p1
invoke-interface {p1}, Lcom/google/firebase/database/snapshot/Node;->isEmpty()Z
move-result p1
xor-int/lit8 p1, p1, 0x1
return p1
.end method
.method public makePost(Lcom/google/firebase/database/snapshot/ChildKey;Lcom/google/firebase/database/snapshot/Node;)Lcom/google/firebase/database/snapshot/NamedNode;
.locals 2
.line 1
invoke-static {}, Lcom/google/firebase/database/snapshot/EmptyNode;->Empty()Lcom/google/firebase/database/snapshot/EmptyNode;
move-result-object v0
iget-object v1, p0, Lcom/google/firebase/database/snapshot/PathIndex;->indexPath:Lcom/google/firebase/database/core/Path;
invoke-virtual {v0, v1, p2}, Lcom/google/firebase/database/snapshot/EmptyNode;->updateChild(Lcom/google/firebase/database/core/Path;Lcom/google/firebase/database/snapshot/Node;)Lcom/google/firebase/database/snapshot/Node;
move-result-object p2
.line 2
new-instance v0, Lcom/google/firebase/database/snapshot/NamedNode;
invoke-direct {v0, p1, p2}, Lcom/google/firebase/database/snapshot/NamedNode;-><init>(Lcom/google/firebase/database/snapshot/ChildKey;Lcom/google/firebase/database/snapshot/Node;)V
return-object v0
.end method
.method public maxPost()Lcom/google/firebase/database/snapshot/NamedNode;
.locals 3
.line 1
invoke-static {}, Lcom/google/firebase/database/snapshot/EmptyNode;->Empty()Lcom/google/firebase/database/snapshot/EmptyNode;
move-result-object v0
iget-object v1, p0, Lcom/google/firebase/database/snapshot/PathIndex;->indexPath:Lcom/google/firebase/database/core/Path;
sget-object v2, Lcom/google/firebase/database/snapshot/Node;->MAX_NODE:Lcom/google/firebase/database/snapshot/ChildrenNode;
invoke-virtual {v0, v1, v2}, Lcom/google/firebase/database/snapshot/EmptyNode;->updateChild(Lcom/google/firebase/database/core/Path;Lcom/google/firebase/database/snapshot/Node;)Lcom/google/firebase/database/snapshot/Node;
move-result-object v0
.line 2
new-instance v1, Lcom/google/firebase/database/snapshot/NamedNode;
invoke-static {}, Lcom/google/firebase/database/snapshot/ChildKey;->getMaxName()Lcom/google/firebase/database/snapshot/ChildKey;
move-result-object v2
invoke-direct {v1, v2, v0}, Lcom/google/firebase/database/snapshot/NamedNode;-><init>(Lcom/google/firebase/database/snapshot/ChildKey;Lcom/google/firebase/database/snapshot/Node;)V
return-object v1
.end method
@@ -0,0 +1,183 @@
.class public Lcom/google/firebase/database/snapshot/PriorityIndex;
.super Lcom/google/firebase/database/snapshot/Index;
.source "PriorityIndex.java"
# static fields
.field private static final INSTANCE:Lcom/google/firebase/database/snapshot/PriorityIndex;
# direct methods
.method public static constructor <clinit>()V
.locals 1
.line 1
new-instance v0, Lcom/google/firebase/database/snapshot/PriorityIndex;
invoke-direct {v0}, Lcom/google/firebase/database/snapshot/PriorityIndex;-><init>()V
sput-object v0, Lcom/google/firebase/database/snapshot/PriorityIndex;->INSTANCE:Lcom/google/firebase/database/snapshot/PriorityIndex;
return-void
.end method
.method private constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Lcom/google/firebase/database/snapshot/Index;-><init>()V
return-void
.end method
.method public static getInstance()Lcom/google/firebase/database/snapshot/PriorityIndex;
.locals 1
.line 1
sget-object v0, Lcom/google/firebase/database/snapshot/PriorityIndex;->INSTANCE:Lcom/google/firebase/database/snapshot/PriorityIndex;
return-object v0
.end method
# virtual methods
.method public compare(Lcom/google/firebase/database/snapshot/NamedNode;Lcom/google/firebase/database/snapshot/NamedNode;)I
.locals 2
.line 2
invoke-virtual {p1}, Lcom/google/firebase/database/snapshot/NamedNode;->getNode()Lcom/google/firebase/database/snapshot/Node;
move-result-object v0
invoke-interface {v0}, Lcom/google/firebase/database/snapshot/Node;->getPriority()Lcom/google/firebase/database/snapshot/Node;
move-result-object v0
.line 3
invoke-virtual {p2}, Lcom/google/firebase/database/snapshot/NamedNode;->getNode()Lcom/google/firebase/database/snapshot/Node;
move-result-object v1
invoke-interface {v1}, Lcom/google/firebase/database/snapshot/Node;->getPriority()Lcom/google/firebase/database/snapshot/Node;
move-result-object v1
.line 4
invoke-virtual {p1}, Lcom/google/firebase/database/snapshot/NamedNode;->getName()Lcom/google/firebase/database/snapshot/ChildKey;
move-result-object p1
invoke-virtual {p2}, Lcom/google/firebase/database/snapshot/NamedNode;->getName()Lcom/google/firebase/database/snapshot/ChildKey;
move-result-object p2
invoke-static {p1, v0, p2, v1}, Lcom/google/firebase/database/snapshot/NodeUtilities;->nameAndPriorityCompare(Lcom/google/firebase/database/snapshot/ChildKey;Lcom/google/firebase/database/snapshot/Node;Lcom/google/firebase/database/snapshot/ChildKey;Lcom/google/firebase/database/snapshot/Node;)I
move-result p1
return p1
.end method
.method public bridge synthetic compare(Ljava/lang/Object;Ljava/lang/Object;)I
.locals 0
.line 1
check-cast p1, Lcom/google/firebase/database/snapshot/NamedNode;
check-cast p2, Lcom/google/firebase/database/snapshot/NamedNode;
invoke-virtual {p0, p1, p2}, Lcom/google/firebase/database/snapshot/PriorityIndex;->compare(Lcom/google/firebase/database/snapshot/NamedNode;Lcom/google/firebase/database/snapshot/NamedNode;)I
move-result p1
return p1
.end method
.method public equals(Ljava/lang/Object;)Z
.locals 0
.line 1
instance-of p1, p1, Lcom/google/firebase/database/snapshot/PriorityIndex;
return p1
.end method
.method public getQueryDefinition()Ljava/lang/String;
.locals 2
.line 1
new-instance v0, Ljava/lang/IllegalArgumentException;
const-string v1, "Can\'t get query definition on priority index!"
invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public hashCode()I
.locals 1
const v0, 0x302679
return v0
.end method
.method public isDefinedOn(Lcom/google/firebase/database/snapshot/Node;)Z
.locals 0
.line 1
invoke-interface {p1}, Lcom/google/firebase/database/snapshot/Node;->getPriority()Lcom/google/firebase/database/snapshot/Node;
move-result-object p1
invoke-interface {p1}, Lcom/google/firebase/database/snapshot/Node;->isEmpty()Z
move-result p1
xor-int/lit8 p1, p1, 0x1
return p1
.end method
.method public makePost(Lcom/google/firebase/database/snapshot/ChildKey;Lcom/google/firebase/database/snapshot/Node;)Lcom/google/firebase/database/snapshot/NamedNode;
.locals 3
.line 1
new-instance v0, Lcom/google/firebase/database/snapshot/NamedNode;
new-instance v1, Lcom/google/firebase/database/snapshot/StringNode;
const-string v2, "[PRIORITY-POST]"
invoke-direct {v1, v2, p2}, Lcom/google/firebase/database/snapshot/StringNode;-><init>(Ljava/lang/String;Lcom/google/firebase/database/snapshot/Node;)V
invoke-direct {v0, p1, v1}, Lcom/google/firebase/database/snapshot/NamedNode;-><init>(Lcom/google/firebase/database/snapshot/ChildKey;Lcom/google/firebase/database/snapshot/Node;)V
return-object v0
.end method
.method public maxPost()Lcom/google/firebase/database/snapshot/NamedNode;
.locals 2
.line 1
invoke-static {}, Lcom/google/firebase/database/snapshot/ChildKey;->getMaxName()Lcom/google/firebase/database/snapshot/ChildKey;
move-result-object v0
sget-object v1, Lcom/google/firebase/database/snapshot/Node;->MAX_NODE:Lcom/google/firebase/database/snapshot/ChildrenNode;
invoke-virtual {p0, v0, v1}, Lcom/google/firebase/database/snapshot/PriorityIndex;->makePost(Lcom/google/firebase/database/snapshot/ChildKey;Lcom/google/firebase/database/snapshot/Node;)Lcom/google/firebase/database/snapshot/NamedNode;
move-result-object v0
return-object v0
.end method
.method public toString()Ljava/lang/String;
.locals 1
const-string v0, "PriorityIndex"
return-object v0
.end method
@@ -0,0 +1,180 @@
.class public Lcom/google/firebase/database/snapshot/PriorityUtilities;
.super Ljava/lang/Object;
.source "PriorityUtilities.java"
# direct methods
.method public constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static NullPriority()Lcom/google/firebase/database/snapshot/Node;
.locals 1
.line 1
invoke-static {}, Lcom/google/firebase/database/snapshot/EmptyNode;->Empty()Lcom/google/firebase/database/snapshot/EmptyNode;
move-result-object v0
return-object v0
.end method
.method public static isValidPriority(Lcom/google/firebase/database/snapshot/Node;)Z
.locals 1
.line 1
invoke-interface {p0}, Lcom/google/firebase/database/snapshot/Node;->getPriority()Lcom/google/firebase/database/snapshot/Node;
move-result-object v0
invoke-interface {v0}, Lcom/google/firebase/database/snapshot/Node;->isEmpty()Z
move-result v0
if-eqz v0, :cond_1
.line 2
invoke-interface {p0}, Lcom/google/firebase/database/snapshot/Node;->isEmpty()Z
move-result v0
if-nez v0, :cond_0
instance-of v0, p0, Lcom/google/firebase/database/snapshot/DoubleNode;
if-nez v0, :cond_0
instance-of v0, p0, Lcom/google/firebase/database/snapshot/StringNode;
if-nez v0, :cond_0
instance-of p0, p0, Lcom/google/firebase/database/snapshot/DeferredValueNode;
if-eqz p0, :cond_1
:cond_0
const/4 p0, 0x1
goto :goto_0
:cond_1
const/4 p0, 0x0
:goto_0
return p0
.end method
.method public static parsePriority(Lcom/google/firebase/database/core/Path;Ljava/lang/Object;)Lcom/google/firebase/database/snapshot/Node;
.locals 3
.line 2
invoke-static {p1}, Lcom/google/firebase/database/snapshot/NodeUtilities;->NodeFromJSON(Ljava/lang/Object;)Lcom/google/firebase/database/snapshot/Node;
move-result-object p1
.line 3
instance-of v0, p1, Lcom/google/firebase/database/snapshot/LongNode;
if-eqz v0, :cond_0
.line 4
new-instance v0, Lcom/google/firebase/database/snapshot/DoubleNode;
.line 5
invoke-interface {p1}, Lcom/google/firebase/database/snapshot/Node;->getValue()Ljava/lang/Object;
move-result-object p1
check-cast p1, Ljava/lang/Long;
invoke-virtual {p1}, Ljava/lang/Long;->longValue()J
move-result-wide v1
long-to-double v1, v1
invoke-static {v1, v2}, Ljava/lang/Double;->valueOf(D)Ljava/lang/Double;
move-result-object p1
invoke-static {}, Lcom/google/firebase/database/snapshot/PriorityUtilities;->NullPriority()Lcom/google/firebase/database/snapshot/Node;
move-result-object v1
invoke-direct {v0, p1, v1}, Lcom/google/firebase/database/snapshot/DoubleNode;-><init>(Ljava/lang/Double;Lcom/google/firebase/database/snapshot/Node;)V
move-object p1, v0
.line 6
:cond_0
invoke-static {p1}, Lcom/google/firebase/database/snapshot/PriorityUtilities;->isValidPriority(Lcom/google/firebase/database/snapshot/Node;)Z
move-result v0
if-nez v0, :cond_2
.line 7
new-instance p1, Lcom/google/firebase/database/DatabaseException;
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
if-eqz p0, :cond_1
.line 8
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "Path \'"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string p0, "\'"
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
goto :goto_0
:cond_1
const-string p0, "Node"
:goto_0
const-string v1, " contains invalid priority: Must be a string, double, ServerValue, or null"
invoke-static {v0, p0, v1}, Landroidx/camera/camera2/internal/b;->a(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object p0
invoke-direct {p1, p0}, Lcom/google/firebase/database/DatabaseException;-><init>(Ljava/lang/String;)V
throw p1
:cond_2
return-object p1
.end method
.method public static parsePriority(Ljava/lang/Object;)Lcom/google/firebase/database/snapshot/Node;
.locals 1
const/4 v0, 0x0
.line 1
invoke-static {v0, p0}, Lcom/google/firebase/database/snapshot/PriorityUtilities;->parsePriority(Lcom/google/firebase/database/core/Path;Ljava/lang/Object;)Lcom/google/firebase/database/snapshot/Node;
move-result-object p0
return-object p0
.end method
@@ -0,0 +1,487 @@
.class public Lcom/google/firebase/database/snapshot/RangeMerge;
.super Ljava/lang/Object;
.source "RangeMerge.java"
# instance fields
.field private final optExclusiveStart:Lcom/google/firebase/database/core/Path;
.field private final optInclusiveEnd:Lcom/google/firebase/database/core/Path;
.field private final snap:Lcom/google/firebase/database/snapshot/Node;
# direct methods
.method public constructor <init>(Lcom/google/firebase/database/connection/RangeMerge;)V
.locals 3
.line 5
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 6
invoke-virtual {p1}, Lcom/google/firebase/database/connection/RangeMerge;->getOptExclusiveStart()Ljava/util/List;
move-result-object v0
const/4 v1, 0x0
if-eqz v0, :cond_0
.line 7
new-instance v2, Lcom/google/firebase/database/core/Path;
invoke-direct {v2, v0}, Lcom/google/firebase/database/core/Path;-><init>(Ljava/util/List;)V
goto :goto_0
:cond_0
move-object v2, v1
:goto_0
iput-object v2, p0, Lcom/google/firebase/database/snapshot/RangeMerge;->optExclusiveStart:Lcom/google/firebase/database/core/Path;
.line 8
invoke-virtual {p1}, Lcom/google/firebase/database/connection/RangeMerge;->getOptInclusiveEnd()Ljava/util/List;
move-result-object v0
if-eqz v0, :cond_1
.line 9
new-instance v1, Lcom/google/firebase/database/core/Path;
invoke-direct {v1, v0}, Lcom/google/firebase/database/core/Path;-><init>(Ljava/util/List;)V
:cond_1
iput-object v1, p0, Lcom/google/firebase/database/snapshot/RangeMerge;->optInclusiveEnd:Lcom/google/firebase/database/core/Path;
.line 10
invoke-virtual {p1}, Lcom/google/firebase/database/connection/RangeMerge;->getSnap()Ljava/lang/Object;
move-result-object p1
invoke-static {p1}, Lcom/google/firebase/database/snapshot/NodeUtilities;->NodeFromJSON(Ljava/lang/Object;)Lcom/google/firebase/database/snapshot/Node;
move-result-object p1
iput-object p1, p0, Lcom/google/firebase/database/snapshot/RangeMerge;->snap:Lcom/google/firebase/database/snapshot/Node;
return-void
.end method
.method public constructor <init>(Lcom/google/firebase/database/core/Path;Lcom/google/firebase/database/core/Path;Lcom/google/firebase/database/snapshot/Node;)V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
iput-object p1, p0, Lcom/google/firebase/database/snapshot/RangeMerge;->optExclusiveStart:Lcom/google/firebase/database/core/Path;
.line 3
iput-object p2, p0, Lcom/google/firebase/database/snapshot/RangeMerge;->optInclusiveEnd:Lcom/google/firebase/database/core/Path;
.line 4
iput-object p3, p0, Lcom/google/firebase/database/snapshot/RangeMerge;->snap:Lcom/google/firebase/database/snapshot/Node;
return-void
.end method
.method private updateRangeInNode(Lcom/google/firebase/database/core/Path;Lcom/google/firebase/database/snapshot/Node;Lcom/google/firebase/database/snapshot/Node;)Lcom/google/firebase/database/snapshot/Node;
.locals 7
.line 1
iget-object v0, p0, Lcom/google/firebase/database/snapshot/RangeMerge;->optExclusiveStart:Lcom/google/firebase/database/core/Path;
const/4 v1, 0x1
if-nez v0, :cond_0
move v0, v1
goto :goto_0
:cond_0
invoke-virtual {p1, v0}, Lcom/google/firebase/database/core/Path;->compareTo(Lcom/google/firebase/database/core/Path;)I
move-result v0
.line 2
:goto_0
iget-object v2, p0, Lcom/google/firebase/database/snapshot/RangeMerge;->optInclusiveEnd:Lcom/google/firebase/database/core/Path;
if-nez v2, :cond_1
const/4 v2, -0x1
goto :goto_1
:cond_1
invoke-virtual {p1, v2}, Lcom/google/firebase/database/core/Path;->compareTo(Lcom/google/firebase/database/core/Path;)I
move-result v2
.line 3
:goto_1
iget-object v3, p0, Lcom/google/firebase/database/snapshot/RangeMerge;->optExclusiveStart:Lcom/google/firebase/database/core/Path;
const/4 v4, 0x0
if-eqz v3, :cond_2
invoke-virtual {p1, v3}, Lcom/google/firebase/database/core/Path;->contains(Lcom/google/firebase/database/core/Path;)Z
move-result v3
if-eqz v3, :cond_2
move v3, v1
goto :goto_2
:cond_2
move v3, v4
.line 4
:goto_2
iget-object v5, p0, Lcom/google/firebase/database/snapshot/RangeMerge;->optInclusiveEnd:Lcom/google/firebase/database/core/Path;
if-eqz v5, :cond_3
invoke-virtual {p1, v5}, Lcom/google/firebase/database/core/Path;->contains(Lcom/google/firebase/database/core/Path;)Z
move-result v5
if-eqz v5, :cond_3
move v5, v1
goto :goto_3
:cond_3
move v5, v4
:goto_3
if-lez v0, :cond_4
if-gez v2, :cond_4
if-nez v5, :cond_4
return-object p3
:cond_4
if-lez v0, :cond_5
if-eqz v5, :cond_5
.line 5
invoke-interface {p3}, Lcom/google/firebase/database/snapshot/Node;->isLeafNode()Z
move-result v6
if-eqz v6, :cond_5
return-object p3
:cond_5
if-lez v0, :cond_7
if-nez v2, :cond_7
.line 6
invoke-static {v5}, Lcom/google/firebase/database/core/utilities/Utilities;->hardAssert(Z)V
.line 7
invoke-interface {p3}, Lcom/google/firebase/database/snapshot/Node;->isLeafNode()Z
move-result p1
xor-int/2addr p1, v1
invoke-static {p1}, Lcom/google/firebase/database/core/utilities/Utilities;->hardAssert(Z)V
.line 8
invoke-interface {p2}, Lcom/google/firebase/database/snapshot/Node;->isLeafNode()Z
move-result p1
if-eqz p1, :cond_6
.line 9
invoke-static {}, Lcom/google/firebase/database/snapshot/EmptyNode;->Empty()Lcom/google/firebase/database/snapshot/EmptyNode;
move-result-object p1
return-object p1
:cond_6
return-object p2
:cond_7
if-nez v3, :cond_b
if-eqz v5, :cond_8
goto :goto_5
:cond_8
if-gtz v2, :cond_a
if-gtz v0, :cond_9
goto :goto_4
:cond_9
move v1, v4
.line 10
:cond_a
:goto_4
invoke-static {v1}, Lcom/google/firebase/database/core/utilities/Utilities;->hardAssert(Z)V
return-object p2
.line 11
:cond_b
:goto_5
new-instance v0, Ljava/util/HashSet;
invoke-direct {v0}, Ljava/util/HashSet;-><init>()V
.line 12
invoke-interface {p2}, Ljava/lang/Iterable;->iterator()Ljava/util/Iterator;
move-result-object v2
:goto_6
invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
move-result v3
if-eqz v3, :cond_c
invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v3
check-cast v3, Lcom/google/firebase/database/snapshot/NamedNode;
.line 13
invoke-virtual {v3}, Lcom/google/firebase/database/snapshot/NamedNode;->getName()Lcom/google/firebase/database/snapshot/ChildKey;
move-result-object v3
invoke-virtual {v0, v3}, Ljava/util/HashSet;->add(Ljava/lang/Object;)Z
goto :goto_6
.line 14
:cond_c
invoke-interface {p3}, Ljava/lang/Iterable;->iterator()Ljava/util/Iterator;
move-result-object v2
:goto_7
invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
move-result v3
if-eqz v3, :cond_d
invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v3
check-cast v3, Lcom/google/firebase/database/snapshot/NamedNode;
.line 15
invoke-virtual {v3}, Lcom/google/firebase/database/snapshot/NamedNode;->getName()Lcom/google/firebase/database/snapshot/ChildKey;
move-result-object v3
invoke-virtual {v0, v3}, Ljava/util/HashSet;->add(Ljava/lang/Object;)Z
goto :goto_7
.line 16
:cond_d
new-instance v2, Ljava/util/ArrayList;
invoke-virtual {v0}, Ljava/util/HashSet;->size()I
move-result v3
add-int/2addr v3, v1
invoke-direct {v2, v3}, Ljava/util/ArrayList;-><init>(I)V
.line 17
invoke-virtual {v2, v0}, Ljava/util/ArrayList;->addAll(Ljava/util/Collection;)Z
.line 18
invoke-interface {p3}, Lcom/google/firebase/database/snapshot/Node;->getPriority()Lcom/google/firebase/database/snapshot/Node;
move-result-object v0
invoke-interface {v0}, Lcom/google/firebase/database/snapshot/Node;->isEmpty()Z
move-result v0
if-eqz v0, :cond_e
invoke-interface {p2}, Lcom/google/firebase/database/snapshot/Node;->getPriority()Lcom/google/firebase/database/snapshot/Node;
move-result-object v0
invoke-interface {v0}, Lcom/google/firebase/database/snapshot/Node;->isEmpty()Z
move-result v0
if-nez v0, :cond_f
.line 19
:cond_e
invoke-static {}, Lcom/google/firebase/database/snapshot/ChildKey;->getPriorityKey()Lcom/google/firebase/database/snapshot/ChildKey;
move-result-object v0
invoke-virtual {v2, v0}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
.line 20
:cond_f
invoke-virtual {v2}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;
move-result-object v0
move-object v1, p2
:cond_10
:goto_8
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_11
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/google/firebase/database/snapshot/ChildKey;
.line 21
invoke-interface {p2, v2}, Lcom/google/firebase/database/snapshot/Node;->getImmediateChild(Lcom/google/firebase/database/snapshot/ChildKey;)Lcom/google/firebase/database/snapshot/Node;
move-result-object v3
.line 22
invoke-virtual {p1, v2}, Lcom/google/firebase/database/core/Path;->child(Lcom/google/firebase/database/snapshot/ChildKey;)Lcom/google/firebase/database/core/Path;
move-result-object v4
.line 23
invoke-interface {p2, v2}, Lcom/google/firebase/database/snapshot/Node;->getImmediateChild(Lcom/google/firebase/database/snapshot/ChildKey;)Lcom/google/firebase/database/snapshot/Node;
move-result-object v5
.line 24
invoke-interface {p3, v2}, Lcom/google/firebase/database/snapshot/Node;->getImmediateChild(Lcom/google/firebase/database/snapshot/ChildKey;)Lcom/google/firebase/database/snapshot/Node;
move-result-object v6
.line 25
invoke-direct {p0, v4, v5, v6}, Lcom/google/firebase/database/snapshot/RangeMerge;->updateRangeInNode(Lcom/google/firebase/database/core/Path;Lcom/google/firebase/database/snapshot/Node;Lcom/google/firebase/database/snapshot/Node;)Lcom/google/firebase/database/snapshot/Node;
move-result-object v4
if-eq v4, v3, :cond_10
.line 26
invoke-interface {v1, v2, v4}, Lcom/google/firebase/database/snapshot/Node;->updateImmediateChild(Lcom/google/firebase/database/snapshot/ChildKey;Lcom/google/firebase/database/snapshot/Node;)Lcom/google/firebase/database/snapshot/Node;
move-result-object v1
goto :goto_8
:cond_11
return-object v1
.end method
# virtual methods
.method public applyTo(Lcom/google/firebase/database/snapshot/Node;)Lcom/google/firebase/database/snapshot/Node;
.locals 2
.line 1
invoke-static {}, Lcom/google/firebase/database/core/Path;->getEmptyPath()Lcom/google/firebase/database/core/Path;
move-result-object v0
iget-object v1, p0, Lcom/google/firebase/database/snapshot/RangeMerge;->snap:Lcom/google/firebase/database/snapshot/Node;
invoke-direct {p0, v0, p1, v1}, Lcom/google/firebase/database/snapshot/RangeMerge;->updateRangeInNode(Lcom/google/firebase/database/core/Path;Lcom/google/firebase/database/snapshot/Node;Lcom/google/firebase/database/snapshot/Node;)Lcom/google/firebase/database/snapshot/Node;
move-result-object p1
return-object p1
.end method
.method public getEnd()Lcom/google/firebase/database/core/Path;
.locals 1
.line 1
iget-object v0, p0, Lcom/google/firebase/database/snapshot/RangeMerge;->optInclusiveEnd:Lcom/google/firebase/database/core/Path;
return-object v0
.end method
.method public getStart()Lcom/google/firebase/database/core/Path;
.locals 1
.line 1
iget-object v0, p0, Lcom/google/firebase/database/snapshot/RangeMerge;->optExclusiveStart:Lcom/google/firebase/database/core/Path;
return-object v0
.end method
.method public toString()Ljava/lang/String;
.locals 2
const-string v0, "RangeMerge{optExclusiveStart="
.line 1
invoke-static {v0}, Landroid/support/v4/media/d;->a(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
iget-object v1, p0, Lcom/google/firebase/database/snapshot/RangeMerge;->optExclusiveStart:Lcom/google/firebase/database/core/Path;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v1, ", optInclusiveEnd="
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v1, p0, Lcom/google/firebase/database/snapshot/RangeMerge;->optInclusiveEnd:Lcom/google/firebase/database/core/Path;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v1, ", snap="
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v1, p0, Lcom/google/firebase/database/snapshot/RangeMerge;->snap:Lcom/google/firebase/database/snapshot/Node;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const/16 v1, 0x7d
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
@@ -0,0 +1,67 @@
.class synthetic Lcom/google/firebase/database/snapshot/StringNode$1;
.super Ljava/lang/Object;
.source "StringNode.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/firebase/database/snapshot/StringNode;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1009
name = null
.end annotation
# static fields
.field public static final synthetic $SwitchMap$com$google$firebase$database$snapshot$Node$HashVersion:[I
# direct methods
.method public static constructor <clinit>()V
.locals 3
.line 1
invoke-static {}, Lcom/google/firebase/database/snapshot/Node$HashVersion;->values()[Lcom/google/firebase/database/snapshot/Node$HashVersion;
move-result-object v0
array-length v0, v0
new-array v0, v0, [I
sput-object v0, Lcom/google/firebase/database/snapshot/StringNode$1;->$SwitchMap$com$google$firebase$database$snapshot$Node$HashVersion:[I
:try_start_0
sget-object v1, Lcom/google/firebase/database/snapshot/Node$HashVersion;->V1:Lcom/google/firebase/database/snapshot/Node$HashVersion;
invoke-virtual {v1}, Ljava/lang/Enum;->ordinal()I
move-result v1
const/4 v2, 0x1
aput v2, v0, v1
:try_end_0
.catch Ljava/lang/NoSuchFieldError; {:try_start_0 .. :try_end_0} :catch_0
:catch_0
:try_start_1
sget-object v0, Lcom/google/firebase/database/snapshot/StringNode$1;->$SwitchMap$com$google$firebase$database$snapshot$Node$HashVersion:[I
sget-object v1, Lcom/google/firebase/database/snapshot/Node$HashVersion;->V2:Lcom/google/firebase/database/snapshot/Node$HashVersion;
invoke-virtual {v1}, Ljava/lang/Enum;->ordinal()I
move-result v1
const/4 v2, 0x2
aput v2, v0, v1
:try_end_1
.catch Ljava/lang/NoSuchFieldError; {:try_start_1 .. :try_end_1} :catch_1
:catch_1
return-void
.end method
@@ -0,0 +1,263 @@
.class public Lcom/google/firebase/database/snapshot/StringNode;
.super Lcom/google/firebase/database/snapshot/LeafNode;
.source "StringNode.java"
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/google/firebase/database/snapshot/LeafNode<",
"Lcom/google/firebase/database/snapshot/StringNode;",
">;"
}
.end annotation
# instance fields
.field private final value:Ljava/lang/String;
# direct methods
.method public constructor <init>(Ljava/lang/String;Lcom/google/firebase/database/snapshot/Node;)V
.locals 0
.line 1
invoke-direct {p0, p2}, Lcom/google/firebase/database/snapshot/LeafNode;-><init>(Lcom/google/firebase/database/snapshot/Node;)V
.line 2
iput-object p1, p0, Lcom/google/firebase/database/snapshot/StringNode;->value:Ljava/lang/String;
return-void
.end method
# virtual methods
.method public bridge synthetic compareLeafValues(Lcom/google/firebase/database/snapshot/LeafNode;)I
.locals 0
.line 1
check-cast p1, Lcom/google/firebase/database/snapshot/StringNode;
invoke-virtual {p0, p1}, Lcom/google/firebase/database/snapshot/StringNode;->compareLeafValues(Lcom/google/firebase/database/snapshot/StringNode;)I
move-result p1
return p1
.end method
.method public compareLeafValues(Lcom/google/firebase/database/snapshot/StringNode;)I
.locals 1
.line 2
iget-object v0, p0, Lcom/google/firebase/database/snapshot/StringNode;->value:Ljava/lang/String;
iget-object p1, p1, Lcom/google/firebase/database/snapshot/StringNode;->value:Ljava/lang/String;
invoke-virtual {v0, p1}, Ljava/lang/String;->compareTo(Ljava/lang/String;)I
move-result p1
return p1
.end method
.method public equals(Ljava/lang/Object;)Z
.locals 3
.line 1
instance-of v0, p1, Lcom/google/firebase/database/snapshot/StringNode;
const/4 v1, 0x0
if-nez v0, :cond_0
return v1
.line 2
:cond_0
check-cast p1, Lcom/google/firebase/database/snapshot/StringNode;
.line 3
iget-object v0, p0, Lcom/google/firebase/database/snapshot/StringNode;->value:Ljava/lang/String;
iget-object v2, p1, Lcom/google/firebase/database/snapshot/StringNode;->value:Ljava/lang/String;
invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_1
iget-object v0, p0, Lcom/google/firebase/database/snapshot/LeafNode;->priority:Lcom/google/firebase/database/snapshot/Node;
iget-object p1, p1, Lcom/google/firebase/database/snapshot/LeafNode;->priority:Lcom/google/firebase/database/snapshot/Node;
invoke-virtual {v0, p1}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_1
const/4 v1, 0x1
:cond_1
return v1
.end method
.method public getHashRepresentation(Lcom/google/firebase/database/snapshot/Node$HashVersion;)Ljava/lang/String;
.locals 3
.line 1
sget-object v0, Lcom/google/firebase/database/snapshot/StringNode$1;->$SwitchMap$com$google$firebase$database$snapshot$Node$HashVersion:[I
invoke-virtual {p1}, Ljava/lang/Enum;->ordinal()I
move-result v1
aget v0, v0, v1
const/4 v1, 0x1
const-string v2, "string:"
if-eq v0, v1, :cond_1
const/4 v1, 0x2
if-ne v0, v1, :cond_0
.line 2
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {p0, p1}, Lcom/google/firebase/database/snapshot/LeafNode;->getPriorityHash(Lcom/google/firebase/database/snapshot/Node$HashVersion;)Ljava/lang/String;
move-result-object p1
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object p1, p0, Lcom/google/firebase/database/snapshot/StringNode;->value:Ljava/lang/String;
invoke-static {p1}, Lcom/google/firebase/database/core/utilities/Utilities;->stringHashV2Representation(Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
return-object p1
.line 3
:cond_0
new-instance v0, Ljava/lang/IllegalArgumentException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "Invalid hash version for string node: "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-direct {v0, p1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
.line 4
:cond_1
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {p0, p1}, Lcom/google/firebase/database/snapshot/LeafNode;->getPriorityHash(Lcom/google/firebase/database/snapshot/Node$HashVersion;)Ljava/lang/String;
move-result-object p1
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object p1, p0, Lcom/google/firebase/database/snapshot/StringNode;->value:Ljava/lang/String;
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
return-object p1
.end method
.method public getLeafType()Lcom/google/firebase/database/snapshot/LeafNode$LeafType;
.locals 1
.line 1
sget-object v0, Lcom/google/firebase/database/snapshot/LeafNode$LeafType;->String:Lcom/google/firebase/database/snapshot/LeafNode$LeafType;
return-object v0
.end method
.method public getValue()Ljava/lang/Object;
.locals 1
.line 1
iget-object v0, p0, Lcom/google/firebase/database/snapshot/StringNode;->value:Ljava/lang/String;
return-object v0
.end method
.method public hashCode()I
.locals 2
.line 1
iget-object v0, p0, Lcom/google/firebase/database/snapshot/StringNode;->value:Ljava/lang/String;
invoke-virtual {v0}, Ljava/lang/String;->hashCode()I
move-result v0
iget-object v1, p0, Lcom/google/firebase/database/snapshot/LeafNode;->priority:Lcom/google/firebase/database/snapshot/Node;
invoke-virtual {v1}, Ljava/lang/Object;->hashCode()I
move-result v1
add-int/2addr v1, v0
return v1
.end method
.method public bridge synthetic updatePriority(Lcom/google/firebase/database/snapshot/Node;)Lcom/google/firebase/database/snapshot/Node;
.locals 0
.line 1
invoke-virtual {p0, p1}, Lcom/google/firebase/database/snapshot/StringNode;->updatePriority(Lcom/google/firebase/database/snapshot/Node;)Lcom/google/firebase/database/snapshot/StringNode;
move-result-object p1
return-object p1
.end method
.method public updatePriority(Lcom/google/firebase/database/snapshot/Node;)Lcom/google/firebase/database/snapshot/StringNode;
.locals 2
.line 2
new-instance v0, Lcom/google/firebase/database/snapshot/StringNode;
iget-object v1, p0, Lcom/google/firebase/database/snapshot/StringNode;->value:Ljava/lang/String;
invoke-direct {v0, v1, p1}, Lcom/google/firebase/database/snapshot/StringNode;-><init>(Ljava/lang/String;Lcom/google/firebase/database/snapshot/Node;)V
return-object v0
.end method
@@ -0,0 +1,163 @@
.class public Lcom/google/firebase/database/snapshot/ValueIndex;
.super Lcom/google/firebase/database/snapshot/Index;
.source "ValueIndex.java"
# static fields
.field private static final INSTANCE:Lcom/google/firebase/database/snapshot/ValueIndex;
# direct methods
.method public static constructor <clinit>()V
.locals 1
.line 1
new-instance v0, Lcom/google/firebase/database/snapshot/ValueIndex;
invoke-direct {v0}, Lcom/google/firebase/database/snapshot/ValueIndex;-><init>()V
sput-object v0, Lcom/google/firebase/database/snapshot/ValueIndex;->INSTANCE:Lcom/google/firebase/database/snapshot/ValueIndex;
return-void
.end method
.method private constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Lcom/google/firebase/database/snapshot/Index;-><init>()V
return-void
.end method
.method public static getInstance()Lcom/google/firebase/database/snapshot/ValueIndex;
.locals 1
.line 1
sget-object v0, Lcom/google/firebase/database/snapshot/ValueIndex;->INSTANCE:Lcom/google/firebase/database/snapshot/ValueIndex;
return-object v0
.end method
# virtual methods
.method public compare(Lcom/google/firebase/database/snapshot/NamedNode;Lcom/google/firebase/database/snapshot/NamedNode;)I
.locals 2
.line 2
invoke-virtual {p1}, Lcom/google/firebase/database/snapshot/NamedNode;->getNode()Lcom/google/firebase/database/snapshot/Node;
move-result-object v0
invoke-virtual {p2}, Lcom/google/firebase/database/snapshot/NamedNode;->getNode()Lcom/google/firebase/database/snapshot/Node;
move-result-object v1
invoke-interface {v0, v1}, Ljava/lang/Comparable;->compareTo(Ljava/lang/Object;)I
move-result v0
if-nez v0, :cond_0
.line 3
invoke-virtual {p1}, Lcom/google/firebase/database/snapshot/NamedNode;->getName()Lcom/google/firebase/database/snapshot/ChildKey;
move-result-object p1
invoke-virtual {p2}, Lcom/google/firebase/database/snapshot/NamedNode;->getName()Lcom/google/firebase/database/snapshot/ChildKey;
move-result-object p2
invoke-virtual {p1, p2}, Lcom/google/firebase/database/snapshot/ChildKey;->compareTo(Lcom/google/firebase/database/snapshot/ChildKey;)I
move-result p1
return p1
:cond_0
return v0
.end method
.method public bridge synthetic compare(Ljava/lang/Object;Ljava/lang/Object;)I
.locals 0
.line 1
check-cast p1, Lcom/google/firebase/database/snapshot/NamedNode;
check-cast p2, Lcom/google/firebase/database/snapshot/NamedNode;
invoke-virtual {p0, p1, p2}, Lcom/google/firebase/database/snapshot/ValueIndex;->compare(Lcom/google/firebase/database/snapshot/NamedNode;Lcom/google/firebase/database/snapshot/NamedNode;)I
move-result p1
return p1
.end method
.method public equals(Ljava/lang/Object;)Z
.locals 0
.line 1
instance-of p1, p1, Lcom/google/firebase/database/snapshot/ValueIndex;
return p1
.end method
.method public getQueryDefinition()Ljava/lang/String;
.locals 1
const-string v0, ".value"
return-object v0
.end method
.method public hashCode()I
.locals 1
const/4 v0, 0x4
return v0
.end method
.method public isDefinedOn(Lcom/google/firebase/database/snapshot/Node;)Z
.locals 0
const/4 p1, 0x1
return p1
.end method
.method public makePost(Lcom/google/firebase/database/snapshot/ChildKey;Lcom/google/firebase/database/snapshot/Node;)Lcom/google/firebase/database/snapshot/NamedNode;
.locals 1
.line 1
new-instance v0, Lcom/google/firebase/database/snapshot/NamedNode;
invoke-direct {v0, p1, p2}, Lcom/google/firebase/database/snapshot/NamedNode;-><init>(Lcom/google/firebase/database/snapshot/ChildKey;Lcom/google/firebase/database/snapshot/Node;)V
return-object v0
.end method
.method public maxPost()Lcom/google/firebase/database/snapshot/NamedNode;
.locals 3
.line 1
new-instance v0, Lcom/google/firebase/database/snapshot/NamedNode;
invoke-static {}, Lcom/google/firebase/database/snapshot/ChildKey;->getMaxName()Lcom/google/firebase/database/snapshot/ChildKey;
move-result-object v1
sget-object v2, Lcom/google/firebase/database/snapshot/Node;->MAX_NODE:Lcom/google/firebase/database/snapshot/ChildrenNode;
invoke-direct {v0, v1, v2}, Lcom/google/firebase/database/snapshot/NamedNode;-><init>(Lcom/google/firebase/database/snapshot/ChildKey;Lcom/google/firebase/database/snapshot/Node;)V
return-object v0
.end method
.method public toString()Ljava/lang/String;
.locals 1
const-string v0, "ValueIndex"
return-object v0
.end method
@@ -0,0 +1,11 @@
.class interface abstract synthetic Lcom/google/firebase/database/snapshot/package-info;
.super Ljava/lang/Object;
.source "package-info.java"
# annotations
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY_GROUP:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation