今奥全景相机
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2224 lines
61 KiB

.class final Lcom/google/common/collect/TreeMultiset$AvlNode;
.super Lcom/google/common/collect/Multisets$AbstractEntry;
.source "TreeMultiset.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/collect/TreeMultiset;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1a
name = "AvlNode"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<E:",
"Ljava/lang/Object;",
">",
"Lcom/google/common/collect/Multisets$AbstractEntry",
"<TE;>;"
}
.end annotation
# instance fields
.field private distinctElements:I
.field private final elem:Ljava/lang/Object;
.annotation system Ldalvik/annotation/Signature;
value = {
"TE;"
}
.end annotation
.annotation runtime Ljavax/annotation/Nullable;
.end annotation
.end field
.field private elemCount:I
.field private height:I
.field private left:Lcom/google/common/collect/TreeMultiset$AvlNode;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/google/common/collect/TreeMultiset$AvlNode",
"<TE;>;"
}
.end annotation
.end field
.field private pred:Lcom/google/common/collect/TreeMultiset$AvlNode;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/google/common/collect/TreeMultiset$AvlNode",
"<TE;>;"
}
.end annotation
.end field
.field private right:Lcom/google/common/collect/TreeMultiset$AvlNode;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/google/common/collect/TreeMultiset$AvlNode",
"<TE;>;"
}
.end annotation
.end field
.field private succ:Lcom/google/common/collect/TreeMultiset$AvlNode;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/google/common/collect/TreeMultiset$AvlNode",
"<TE;>;"
}
.end annotation
.end field
.field private totalCount:J
# direct methods
.method constructor <init>(Ljava/lang/Object;I)V
.locals 5
.param p1 # Ljava/lang/Object;
.annotation runtime Ljavax/annotation/Nullable;
.end annotation
.end param
.annotation system Ldalvik/annotation/Signature;
value = {
"(TE;I)V"
}
.end annotation
.prologue
const/4 v4, 0x0
const/4 v1, 0x1
.line 533
invoke-direct {p0}, Lcom/google/common/collect/Multisets$AbstractEntry;-><init>()V
.line 534
if-lez p2, :cond_0
move v0, v1
:goto_0
invoke-static {v0}, Lcom/google/common/base/Preconditions;->checkArgument(Z)V
.line 535
iput-object p1, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->elem:Ljava/lang/Object;
.line 536
iput p2, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->elemCount:I
.line 537
int-to-long v2, p2
iput-wide v2, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->totalCount:J
.line 538
iput v1, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->distinctElements:I
.line 539
iput v1, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->height:I
.line 540
iput-object v4, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->left:Lcom/google/common/collect/TreeMultiset$AvlNode;
.line 541
iput-object v4, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->right:Lcom/google/common/collect/TreeMultiset$AvlNode;
.line 542
return-void
.line 534
:cond_0
const/4 v0, 0x0
goto :goto_0
.end method
.method static synthetic access$1000(Lcom/google/common/collect/TreeMultiset$AvlNode;Ljava/util/Comparator;Ljava/lang/Object;)Lcom/google/common/collect/TreeMultiset$AvlNode;
.locals 1
.prologue
.line 519
invoke-direct {p0, p1, p2}, Lcom/google/common/collect/TreeMultiset$AvlNode;->floor(Ljava/util/Comparator;Ljava/lang/Object;)Lcom/google/common/collect/TreeMultiset$AvlNode;
move-result-object v0
return-object v0
.end method
.method static synthetic access$1100(Lcom/google/common/collect/TreeMultiset$AvlNode;)Lcom/google/common/collect/TreeMultiset$AvlNode;
.locals 1
.prologue
.line 519
iget-object v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->pred:Lcom/google/common/collect/TreeMultiset$AvlNode;
return-object v0
.end method
.method static synthetic access$1102(Lcom/google/common/collect/TreeMultiset$AvlNode;Lcom/google/common/collect/TreeMultiset$AvlNode;)Lcom/google/common/collect/TreeMultiset$AvlNode;
.locals 0
.prologue
.line 519
iput-object p1, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->pred:Lcom/google/common/collect/TreeMultiset$AvlNode;
return-object p1
.end method
.method static synthetic access$200(Lcom/google/common/collect/TreeMultiset$AvlNode;)I
.locals 1
.prologue
.line 519
iget v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->elemCount:I
return v0
.end method
.method static synthetic access$300(Lcom/google/common/collect/TreeMultiset$AvlNode;)J
.locals 2
.prologue
.line 519
iget-wide v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->totalCount:J
return-wide v0
.end method
.method static synthetic access$400(Lcom/google/common/collect/TreeMultiset$AvlNode;)I
.locals 1
.prologue
.line 519
iget v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->distinctElements:I
return v0
.end method
.method static synthetic access$500(Lcom/google/common/collect/TreeMultiset$AvlNode;)Ljava/lang/Object;
.locals 1
.prologue
.line 519
iget-object v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->elem:Ljava/lang/Object;
return-object v0
.end method
.method static synthetic access$600(Lcom/google/common/collect/TreeMultiset$AvlNode;)Lcom/google/common/collect/TreeMultiset$AvlNode;
.locals 1
.prologue
.line 519
iget-object v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->left:Lcom/google/common/collect/TreeMultiset$AvlNode;
return-object v0
.end method
.method static synthetic access$700(Lcom/google/common/collect/TreeMultiset$AvlNode;)Lcom/google/common/collect/TreeMultiset$AvlNode;
.locals 1
.prologue
.line 519
iget-object v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->right:Lcom/google/common/collect/TreeMultiset$AvlNode;
return-object v0
.end method
.method static synthetic access$800(Lcom/google/common/collect/TreeMultiset$AvlNode;Ljava/util/Comparator;Ljava/lang/Object;)Lcom/google/common/collect/TreeMultiset$AvlNode;
.locals 1
.prologue
.line 519
invoke-direct {p0, p1, p2}, Lcom/google/common/collect/TreeMultiset$AvlNode;->ceiling(Ljava/util/Comparator;Ljava/lang/Object;)Lcom/google/common/collect/TreeMultiset$AvlNode;
move-result-object v0
return-object v0
.end method
.method static synthetic access$900(Lcom/google/common/collect/TreeMultiset$AvlNode;)Lcom/google/common/collect/TreeMultiset$AvlNode;
.locals 1
.prologue
.line 519
iget-object v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->succ:Lcom/google/common/collect/TreeMultiset$AvlNode;
return-object v0
.end method
.method static synthetic access$902(Lcom/google/common/collect/TreeMultiset$AvlNode;Lcom/google/common/collect/TreeMultiset$AvlNode;)Lcom/google/common/collect/TreeMultiset$AvlNode;
.locals 0
.prologue
.line 519
iput-object p1, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->succ:Lcom/google/common/collect/TreeMultiset$AvlNode;
return-object p1
.end method
.method private addLeftChild(Ljava/lang/Object;I)Lcom/google/common/collect/TreeMultiset$AvlNode;
.locals 4
.annotation system Ldalvik/annotation/Signature;
value = {
"(TE;I)",
"Lcom/google/common/collect/TreeMultiset$AvlNode",
"<TE;>;"
}
.end annotation
.prologue
.line 565
new-instance v0, Lcom/google/common/collect/TreeMultiset$AvlNode;
invoke-direct {v0, p1, p2}, Lcom/google/common/collect/TreeMultiset$AvlNode;-><init>(Ljava/lang/Object;I)V
iput-object v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->left:Lcom/google/common/collect/TreeMultiset$AvlNode;
.line 566
iget-object v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->pred:Lcom/google/common/collect/TreeMultiset$AvlNode;
iget-object v1, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->left:Lcom/google/common/collect/TreeMultiset$AvlNode;
invoke-static {v0, v1, p0}, Lcom/google/common/collect/TreeMultiset;->access$1700(Lcom/google/common/collect/TreeMultiset$AvlNode;Lcom/google/common/collect/TreeMultiset$AvlNode;Lcom/google/common/collect/TreeMultiset$AvlNode;)V
.line 567
const/4 v0, 0x2
iget v1, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->height:I
invoke-static {v0, v1}, Ljava/lang/Math;->max(II)I
move-result v0
iput v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->height:I
.line 568
iget v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->distinctElements:I
add-int/lit8 v0, v0, 0x1
iput v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->distinctElements:I
.line 569
iget-wide v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->totalCount:J
int-to-long v2, p2
add-long/2addr v0, v2
iput-wide v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->totalCount:J
.line 570
return-object p0
.end method
.method private addRightChild(Ljava/lang/Object;I)Lcom/google/common/collect/TreeMultiset$AvlNode;
.locals 4
.annotation system Ldalvik/annotation/Signature;
value = {
"(TE;I)",
"Lcom/google/common/collect/TreeMultiset$AvlNode",
"<TE;>;"
}
.end annotation
.prologue
.line 556
new-instance v0, Lcom/google/common/collect/TreeMultiset$AvlNode;
invoke-direct {v0, p1, p2}, Lcom/google/common/collect/TreeMultiset$AvlNode;-><init>(Ljava/lang/Object;I)V
iput-object v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->right:Lcom/google/common/collect/TreeMultiset$AvlNode;
.line 557
iget-object v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->right:Lcom/google/common/collect/TreeMultiset$AvlNode;
iget-object v1, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->succ:Lcom/google/common/collect/TreeMultiset$AvlNode;
invoke-static {p0, v0, v1}, Lcom/google/common/collect/TreeMultiset;->access$1700(Lcom/google/common/collect/TreeMultiset$AvlNode;Lcom/google/common/collect/TreeMultiset$AvlNode;Lcom/google/common/collect/TreeMultiset$AvlNode;)V
.line 558
const/4 v0, 0x2
iget v1, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->height:I
invoke-static {v0, v1}, Ljava/lang/Math;->max(II)I
move-result v0
iput v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->height:I
.line 559
iget v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->distinctElements:I
add-int/lit8 v0, v0, 0x1
iput v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->distinctElements:I
.line 560
iget-wide v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->totalCount:J
int-to-long v2, p2
add-long/2addr v0, v2
iput-wide v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->totalCount:J
.line 561
return-object p0
.end method
.method private balanceFactor()I
.locals 2
.prologue
.line 864
iget-object v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->left:Lcom/google/common/collect/TreeMultiset$AvlNode;
invoke-static {v0}, Lcom/google/common/collect/TreeMultiset$AvlNode;->height(Lcom/google/common/collect/TreeMultiset$AvlNode;)I
move-result v0
iget-object v1, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->right:Lcom/google/common/collect/TreeMultiset$AvlNode;
invoke-static {v1}, Lcom/google/common/collect/TreeMultiset$AvlNode;->height(Lcom/google/common/collect/TreeMultiset$AvlNode;)I
move-result v1
sub-int/2addr v0, v1
return v0
.end method
.method private ceiling(Ljava/util/Comparator;Ljava/lang/Object;)Lcom/google/common/collect/TreeMultiset$AvlNode;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/Comparator",
"<-TE;>;TE;)",
"Lcom/google/common/collect/TreeMultiset$AvlNode",
"<TE;>;"
}
.end annotation
.annotation runtime Ljavax/annotation/Nullable;
.end annotation
.prologue
.line 900
iget-object v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->elem:Ljava/lang/Object;
invoke-interface {p1, p2, v0}, Ljava/util/Comparator;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
move-result v0
.line 901
if-gez v0, :cond_2
.line 902
iget-object v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->left:Lcom/google/common/collect/TreeMultiset$AvlNode;
if-nez v0, :cond_1
.line 906
:cond_0
:goto_0
return-object p0
.line 902
:cond_1
iget-object v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->left:Lcom/google/common/collect/TreeMultiset$AvlNode;
invoke-direct {v0, p1, p2}, Lcom/google/common/collect/TreeMultiset$AvlNode;->ceiling(Ljava/util/Comparator;Ljava/lang/Object;)Lcom/google/common/collect/TreeMultiset$AvlNode;
move-result-object v0
invoke-static {v0, p0}, Lcom/google/common/base/Objects;->firstNonNull(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/google/common/collect/TreeMultiset$AvlNode;
move-object p0, v0
goto :goto_0
.line 903
:cond_2
if-eqz v0, :cond_0
.line 906
iget-object v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->right:Lcom/google/common/collect/TreeMultiset$AvlNode;
if-nez v0, :cond_3
const/4 v0, 0x0
:goto_1
move-object p0, v0
goto :goto_0
:cond_3
iget-object v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->right:Lcom/google/common/collect/TreeMultiset$AvlNode;
invoke-direct {v0, p1, p2}, Lcom/google/common/collect/TreeMultiset$AvlNode;->ceiling(Ljava/util/Comparator;Ljava/lang/Object;)Lcom/google/common/collect/TreeMultiset$AvlNode;
move-result-object v0
goto :goto_1
.end method
.method private deleteMe()Lcom/google/common/collect/TreeMultiset$AvlNode;
.locals 6
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Lcom/google/common/collect/TreeMultiset$AvlNode",
"<TE;>;"
}
.end annotation
.prologue
.line 781
iget v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->elemCount:I
.line 782
const/4 v1, 0x0
iput v1, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->elemCount:I
.line 783
iget-object v1, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->pred:Lcom/google/common/collect/TreeMultiset$AvlNode;
iget-object v2, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->succ:Lcom/google/common/collect/TreeMultiset$AvlNode;
invoke-static {v1, v2}, Lcom/google/common/collect/TreeMultiset;->access$1800(Lcom/google/common/collect/TreeMultiset$AvlNode;Lcom/google/common/collect/TreeMultiset$AvlNode;)V
.line 784
iget-object v1, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->left:Lcom/google/common/collect/TreeMultiset$AvlNode;
if-nez v1, :cond_0
.line 785
iget-object v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->right:Lcom/google/common/collect/TreeMultiset$AvlNode;
.line 802
:goto_0
return-object v0
.line 786
:cond_0
iget-object v1, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->right:Lcom/google/common/collect/TreeMultiset$AvlNode;
if-nez v1, :cond_1
.line 787
iget-object v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->left:Lcom/google/common/collect/TreeMultiset$AvlNode;
goto :goto_0
.line 788
:cond_1
iget-object v1, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->left:Lcom/google/common/collect/TreeMultiset$AvlNode;
iget v1, v1, Lcom/google/common/collect/TreeMultiset$AvlNode;->height:I
iget-object v2, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->right:Lcom/google/common/collect/TreeMultiset$AvlNode;
iget v2, v2, Lcom/google/common/collect/TreeMultiset$AvlNode;->height:I
if-lt v1, v2, :cond_2
.line 789
iget-object v1, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->pred:Lcom/google/common/collect/TreeMultiset$AvlNode;
.line 791
iget-object v2, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->left:Lcom/google/common/collect/TreeMultiset$AvlNode;
invoke-direct {v2, v1}, Lcom/google/common/collect/TreeMultiset$AvlNode;->removeMax(Lcom/google/common/collect/TreeMultiset$AvlNode;)Lcom/google/common/collect/TreeMultiset$AvlNode;
move-result-object v2
iput-object v2, v1, Lcom/google/common/collect/TreeMultiset$AvlNode;->left:Lcom/google/common/collect/TreeMultiset$AvlNode;
.line 792
iget-object v2, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->right:Lcom/google/common/collect/TreeMultiset$AvlNode;
iput-object v2, v1, Lcom/google/common/collect/TreeMultiset$AvlNode;->right:Lcom/google/common/collect/TreeMultiset$AvlNode;
.line 793
iget v2, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->distinctElements:I
add-int/lit8 v2, v2, -0x1
iput v2, v1, Lcom/google/common/collect/TreeMultiset$AvlNode;->distinctElements:I
.line 794
iget-wide v2, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->totalCount:J
int-to-long v4, v0
sub-long/2addr v2, v4
iput-wide v2, v1, Lcom/google/common/collect/TreeMultiset$AvlNode;->totalCount:J
.line 795
invoke-direct {v1}, Lcom/google/common/collect/TreeMultiset$AvlNode;->rebalance()Lcom/google/common/collect/TreeMultiset$AvlNode;
move-result-object v0
goto :goto_0
.line 797
:cond_2
iget-object v1, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->succ:Lcom/google/common/collect/TreeMultiset$AvlNode;
.line 798
iget-object v2, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->right:Lcom/google/common/collect/TreeMultiset$AvlNode;
invoke-direct {v2, v1}, Lcom/google/common/collect/TreeMultiset$AvlNode;->removeMin(Lcom/google/common/collect/TreeMultiset$AvlNode;)Lcom/google/common/collect/TreeMultiset$AvlNode;
move-result-object v2
iput-object v2, v1, Lcom/google/common/collect/TreeMultiset$AvlNode;->right:Lcom/google/common/collect/TreeMultiset$AvlNode;
.line 799
iget-object v2, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->left:Lcom/google/common/collect/TreeMultiset$AvlNode;
iput-object v2, v1, Lcom/google/common/collect/TreeMultiset$AvlNode;->left:Lcom/google/common/collect/TreeMultiset$AvlNode;
.line 800
iget v2, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->distinctElements:I
add-int/lit8 v2, v2, -0x1
iput v2, v1, Lcom/google/common/collect/TreeMultiset$AvlNode;->distinctElements:I
.line 801
iget-wide v2, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->totalCount:J
int-to-long v4, v0
sub-long/2addr v2, v4
iput-wide v2, v1, Lcom/google/common/collect/TreeMultiset$AvlNode;->totalCount:J
.line 802
invoke-direct {v1}, Lcom/google/common/collect/TreeMultiset$AvlNode;->rebalance()Lcom/google/common/collect/TreeMultiset$AvlNode;
move-result-object v0
goto :goto_0
.end method
.method private floor(Ljava/util/Comparator;Ljava/lang/Object;)Lcom/google/common/collect/TreeMultiset$AvlNode;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/Comparator",
"<-TE;>;TE;)",
"Lcom/google/common/collect/TreeMultiset$AvlNode",
"<TE;>;"
}
.end annotation
.annotation runtime Ljavax/annotation/Nullable;
.end annotation
.prologue
.line 911
iget-object v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->elem:Ljava/lang/Object;
invoke-interface {p1, p2, v0}, Ljava/util/Comparator;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
move-result v0
.line 912
if-lez v0, :cond_2
.line 913
iget-object v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->right:Lcom/google/common/collect/TreeMultiset$AvlNode;
if-nez v0, :cond_1
.line 917
:cond_0
:goto_0
return-object p0
.line 913
:cond_1
iget-object v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->right:Lcom/google/common/collect/TreeMultiset$AvlNode;
invoke-direct {v0, p1, p2}, Lcom/google/common/collect/TreeMultiset$AvlNode;->floor(Ljava/util/Comparator;Ljava/lang/Object;)Lcom/google/common/collect/TreeMultiset$AvlNode;
move-result-object v0
invoke-static {v0, p0}, Lcom/google/common/base/Objects;->firstNonNull(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/google/common/collect/TreeMultiset$AvlNode;
move-object p0, v0
goto :goto_0
.line 914
:cond_2
if-eqz v0, :cond_0
.line 917
iget-object v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->left:Lcom/google/common/collect/TreeMultiset$AvlNode;
if-nez v0, :cond_3
const/4 v0, 0x0
:goto_1
move-object p0, v0
goto :goto_0
:cond_3
iget-object v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->left:Lcom/google/common/collect/TreeMultiset$AvlNode;
invoke-direct {v0, p1, p2}, Lcom/google/common/collect/TreeMultiset$AvlNode;->floor(Ljava/util/Comparator;Ljava/lang/Object;)Lcom/google/common/collect/TreeMultiset$AvlNode;
move-result-object v0
goto :goto_1
.end method
.method private static height(Lcom/google/common/collect/TreeMultiset$AvlNode;)I
.locals 1
.param p0 # Lcom/google/common/collect/TreeMultiset$AvlNode;
.annotation runtime Ljavax/annotation/Nullable;
.end annotation
.end param
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/common/collect/TreeMultiset$AvlNode",
"<*>;)I"
}
.end annotation
.prologue
.line 896
if-nez p0, :cond_0
const/4 v0, 0x0
:goto_0
return v0
:cond_0
iget v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->height:I
goto :goto_0
.end method
.method private rebalance()Lcom/google/common/collect/TreeMultiset$AvlNode;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Lcom/google/common/collect/TreeMultiset$AvlNode",
"<TE;>;"
}
.end annotation
.prologue
.line 846
invoke-direct {p0}, Lcom/google/common/collect/TreeMultiset$AvlNode;->balanceFactor()I
move-result v0
sparse-switch v0, :sswitch_data_0
.line 858
invoke-direct {p0}, Lcom/google/common/collect/TreeMultiset$AvlNode;->recomputeHeight()V
.line 859
:goto_0
return-object p0
.line 848
:sswitch_0
iget-object v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->right:Lcom/google/common/collect/TreeMultiset$AvlNode;
invoke-direct {v0}, Lcom/google/common/collect/TreeMultiset$AvlNode;->balanceFactor()I
move-result v0
if-lez v0, :cond_0
.line 849
iget-object v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->right:Lcom/google/common/collect/TreeMultiset$AvlNode;
invoke-direct {v0}, Lcom/google/common/collect/TreeMultiset$AvlNode;->rotateRight()Lcom/google/common/collect/TreeMultiset$AvlNode;
move-result-object v0
iput-object v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->right:Lcom/google/common/collect/TreeMultiset$AvlNode;
.line 851
:cond_0
invoke-direct {p0}, Lcom/google/common/collect/TreeMultiset$AvlNode;->rotateLeft()Lcom/google/common/collect/TreeMultiset$AvlNode;
move-result-object p0
goto :goto_0
.line 853
:sswitch_1
iget-object v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->left:Lcom/google/common/collect/TreeMultiset$AvlNode;
invoke-direct {v0}, Lcom/google/common/collect/TreeMultiset$AvlNode;->balanceFactor()I
move-result v0
if-gez v0, :cond_1
.line 854
iget-object v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->left:Lcom/google/common/collect/TreeMultiset$AvlNode;
invoke-direct {v0}, Lcom/google/common/collect/TreeMultiset$AvlNode;->rotateLeft()Lcom/google/common/collect/TreeMultiset$AvlNode;
move-result-object v0
iput-object v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->left:Lcom/google/common/collect/TreeMultiset$AvlNode;
.line 856
:cond_1
invoke-direct {p0}, Lcom/google/common/collect/TreeMultiset$AvlNode;->rotateRight()Lcom/google/common/collect/TreeMultiset$AvlNode;
move-result-object p0
goto :goto_0
.line 846
nop
:sswitch_data_0
.sparse-switch
-0x2 -> :sswitch_0
0x2 -> :sswitch_1
.end sparse-switch
.end method
.method private recompute()V
.locals 0
.prologue
.line 841
invoke-direct {p0}, Lcom/google/common/collect/TreeMultiset$AvlNode;->recomputeMultiset()V
.line 842
invoke-direct {p0}, Lcom/google/common/collect/TreeMultiset$AvlNode;->recomputeHeight()V
.line 843
return-void
.end method
.method private recomputeHeight()V
.locals 2
.prologue
.line 837
iget-object v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->left:Lcom/google/common/collect/TreeMultiset$AvlNode;
invoke-static {v0}, Lcom/google/common/collect/TreeMultiset$AvlNode;->height(Lcom/google/common/collect/TreeMultiset$AvlNode;)I
move-result v0
iget-object v1, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->right:Lcom/google/common/collect/TreeMultiset$AvlNode;
invoke-static {v1}, Lcom/google/common/collect/TreeMultiset$AvlNode;->height(Lcom/google/common/collect/TreeMultiset$AvlNode;)I
move-result v1
invoke-static {v0, v1}, Ljava/lang/Math;->max(II)I
move-result v0
add-int/lit8 v0, v0, 0x1
iput v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->height:I
.line 838
return-void
.end method
.method private recomputeMultiset()V
.locals 4
.prologue
.line 831
iget-object v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->left:Lcom/google/common/collect/TreeMultiset$AvlNode;
invoke-static {v0}, Lcom/google/common/collect/TreeMultiset;->distinctElements(Lcom/google/common/collect/TreeMultiset$AvlNode;)I
move-result v0
add-int/lit8 v0, v0, 0x1
iget-object v1, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->right:Lcom/google/common/collect/TreeMultiset$AvlNode;
invoke-static {v1}, Lcom/google/common/collect/TreeMultiset;->distinctElements(Lcom/google/common/collect/TreeMultiset$AvlNode;)I
move-result v1
add-int/2addr v0, v1
iput v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->distinctElements:I
.line 833
iget v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->elemCount:I
int-to-long v0, v0
iget-object v2, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->left:Lcom/google/common/collect/TreeMultiset$AvlNode;
invoke-static {v2}, Lcom/google/common/collect/TreeMultiset$AvlNode;->totalCount(Lcom/google/common/collect/TreeMultiset$AvlNode;)J
move-result-wide v2
add-long/2addr v0, v2
iget-object v2, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->right:Lcom/google/common/collect/TreeMultiset$AvlNode;
invoke-static {v2}, Lcom/google/common/collect/TreeMultiset$AvlNode;->totalCount(Lcom/google/common/collect/TreeMultiset$AvlNode;)J
move-result-wide v2
add-long/2addr v0, v2
iput-wide v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->totalCount:J
.line 834
return-void
.end method
.method private removeMax(Lcom/google/common/collect/TreeMultiset$AvlNode;)Lcom/google/common/collect/TreeMultiset$AvlNode;
.locals 4
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/common/collect/TreeMultiset$AvlNode",
"<TE;>;)",
"Lcom/google/common/collect/TreeMultiset$AvlNode",
"<TE;>;"
}
.end annotation
.prologue
.line 820
iget-object v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->right:Lcom/google/common/collect/TreeMultiset$AvlNode;
if-nez v0, :cond_0
.line 821
iget-object v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->left:Lcom/google/common/collect/TreeMultiset$AvlNode;
.line 826
:goto_0
return-object v0
.line 823
:cond_0
iget-object v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->right:Lcom/google/common/collect/TreeMultiset$AvlNode;
invoke-direct {v0, p1}, Lcom/google/common/collect/TreeMultiset$AvlNode;->removeMax(Lcom/google/common/collect/TreeMultiset$AvlNode;)Lcom/google/common/collect/TreeMultiset$AvlNode;
move-result-object v0
iput-object v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->right:Lcom/google/common/collect/TreeMultiset$AvlNode;
.line 824
iget v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->distinctElements:I
add-int/lit8 v0, v0, -0x1
iput v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->distinctElements:I
.line 825
iget-wide v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->totalCount:J
iget v2, p1, Lcom/google/common/collect/TreeMultiset$AvlNode;->elemCount:I
int-to-long v2, v2
sub-long/2addr v0, v2
iput-wide v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->totalCount:J
.line 826
invoke-direct {p0}, Lcom/google/common/collect/TreeMultiset$AvlNode;->rebalance()Lcom/google/common/collect/TreeMultiset$AvlNode;
move-result-object v0
goto :goto_0
.end method
.method private removeMin(Lcom/google/common/collect/TreeMultiset$AvlNode;)Lcom/google/common/collect/TreeMultiset$AvlNode;
.locals 4
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/common/collect/TreeMultiset$AvlNode",
"<TE;>;)",
"Lcom/google/common/collect/TreeMultiset$AvlNode",
"<TE;>;"
}
.end annotation
.prologue
.line 808
iget-object v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->left:Lcom/google/common/collect/TreeMultiset$AvlNode;
if-nez v0, :cond_0
.line 809
iget-object v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->right:Lcom/google/common/collect/TreeMultiset$AvlNode;
.line 814
:goto_0
return-object v0
.line 811
:cond_0
iget-object v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->left:Lcom/google/common/collect/TreeMultiset$AvlNode;
invoke-direct {v0, p1}, Lcom/google/common/collect/TreeMultiset$AvlNode;->removeMin(Lcom/google/common/collect/TreeMultiset$AvlNode;)Lcom/google/common/collect/TreeMultiset$AvlNode;
move-result-object v0
iput-object v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->left:Lcom/google/common/collect/TreeMultiset$AvlNode;
.line 812
iget v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->distinctElements:I
add-int/lit8 v0, v0, -0x1
iput v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->distinctElements:I
.line 813
iget-wide v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->totalCount:J
iget v2, p1, Lcom/google/common/collect/TreeMultiset$AvlNode;->elemCount:I
int-to-long v2, v2
sub-long/2addr v0, v2
iput-wide v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->totalCount:J
.line 814
invoke-direct {p0}, Lcom/google/common/collect/TreeMultiset$AvlNode;->rebalance()Lcom/google/common/collect/TreeMultiset$AvlNode;
move-result-object v0
goto :goto_0
.end method
.method private rotateLeft()Lcom/google/common/collect/TreeMultiset$AvlNode;
.locals 4
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Lcom/google/common/collect/TreeMultiset$AvlNode",
"<TE;>;"
}
.end annotation
.prologue
.line 868
iget-object v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->right:Lcom/google/common/collect/TreeMultiset$AvlNode;
if-eqz v0, :cond_0
const/4 v0, 0x1
:goto_0
invoke-static {v0}, Lcom/google/common/base/Preconditions;->checkState(Z)V
.line 869
iget-object v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->right:Lcom/google/common/collect/TreeMultiset$AvlNode;
.line 870
iget-object v1, v0, Lcom/google/common/collect/TreeMultiset$AvlNode;->left:Lcom/google/common/collect/TreeMultiset$AvlNode;
iput-object v1, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->right:Lcom/google/common/collect/TreeMultiset$AvlNode;
.line 871
iput-object p0, v0, Lcom/google/common/collect/TreeMultiset$AvlNode;->left:Lcom/google/common/collect/TreeMultiset$AvlNode;
.line 872
iget-wide v2, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->totalCount:J
iput-wide v2, v0, Lcom/google/common/collect/TreeMultiset$AvlNode;->totalCount:J
.line 873
iget v1, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->distinctElements:I
iput v1, v0, Lcom/google/common/collect/TreeMultiset$AvlNode;->distinctElements:I
.line 874
invoke-direct {p0}, Lcom/google/common/collect/TreeMultiset$AvlNode;->recompute()V
.line 875
invoke-direct {v0}, Lcom/google/common/collect/TreeMultiset$AvlNode;->recomputeHeight()V
.line 876
return-object v0
.line 868
:cond_0
const/4 v0, 0x0
goto :goto_0
.end method
.method private rotateRight()Lcom/google/common/collect/TreeMultiset$AvlNode;
.locals 4
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Lcom/google/common/collect/TreeMultiset$AvlNode",
"<TE;>;"
}
.end annotation
.prologue
.line 880
iget-object v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->left:Lcom/google/common/collect/TreeMultiset$AvlNode;
if-eqz v0, :cond_0
const/4 v0, 0x1
:goto_0
invoke-static {v0}, Lcom/google/common/base/Preconditions;->checkState(Z)V
.line 881
iget-object v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->left:Lcom/google/common/collect/TreeMultiset$AvlNode;
.line 882
iget-object v1, v0, Lcom/google/common/collect/TreeMultiset$AvlNode;->right:Lcom/google/common/collect/TreeMultiset$AvlNode;
iput-object v1, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->left:Lcom/google/common/collect/TreeMultiset$AvlNode;
.line 883
iput-object p0, v0, Lcom/google/common/collect/TreeMultiset$AvlNode;->right:Lcom/google/common/collect/TreeMultiset$AvlNode;
.line 884
iget-wide v2, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->totalCount:J
iput-wide v2, v0, Lcom/google/common/collect/TreeMultiset$AvlNode;->totalCount:J
.line 885
iget v1, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->distinctElements:I
iput v1, v0, Lcom/google/common/collect/TreeMultiset$AvlNode;->distinctElements:I
.line 886
invoke-direct {p0}, Lcom/google/common/collect/TreeMultiset$AvlNode;->recompute()V
.line 887
invoke-direct {v0}, Lcom/google/common/collect/TreeMultiset$AvlNode;->recomputeHeight()V
.line 888
return-object v0
.line 880
:cond_0
const/4 v0, 0x0
goto :goto_0
.end method
.method private static totalCount(Lcom/google/common/collect/TreeMultiset$AvlNode;)J
.locals 2
.param p0 # Lcom/google/common/collect/TreeMultiset$AvlNode;
.annotation runtime Ljavax/annotation/Nullable;
.end annotation
.end param
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/common/collect/TreeMultiset$AvlNode",
"<*>;)J"
}
.end annotation
.prologue
.line 892
if-nez p0, :cond_0
const-wide/16 v0, 0x0
:goto_0
return-wide v0
:cond_0
iget-wide v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->totalCount:J
goto :goto_0
.end method
# virtual methods
.method add(Ljava/util/Comparator;Ljava/lang/Object;I[I)Lcom/google/common/collect/TreeMultiset$AvlNode;
.locals 6
.param p2 # Ljava/lang/Object;
.annotation runtime Ljavax/annotation/Nullable;
.end annotation
.end param
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/Comparator",
"<-TE;>;TE;I[I)",
"Lcom/google/common/collect/TreeMultiset$AvlNode",
"<TE;>;"
}
.end annotation
.prologue
const/4 v0, 0x0
.line 578
iget-object v1, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->elem:Ljava/lang/Object;
invoke-interface {p1, p2, v1}, Ljava/util/Comparator;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
move-result v1
.line 579
if-gez v1, :cond_3
.line 580
iget-object v1, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->left:Lcom/google/common/collect/TreeMultiset$AvlNode;
.line 581
if-nez v1, :cond_1
.line 582
aput v0, p4, v0
.line 583
invoke-direct {p0, p2, p3}, Lcom/google/common/collect/TreeMultiset$AvlNode;->addLeftChild(Ljava/lang/Object;I)Lcom/google/common/collect/TreeMultiset$AvlNode;
move-result-object p0
.line 615
:cond_0
:goto_0
return-object p0
.line 585
:cond_1
iget v2, v1, Lcom/google/common/collect/TreeMultiset$AvlNode;->height:I
.line 587
invoke-virtual {v1, p1, p2, p3, p4}, Lcom/google/common/collect/TreeMultiset$AvlNode;->add(Ljava/util/Comparator;Ljava/lang/Object;I[I)Lcom/google/common/collect/TreeMultiset$AvlNode;
move-result-object v1
iput-object v1, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->left:Lcom/google/common/collect/TreeMultiset$AvlNode;
.line 588
aget v0, p4, v0
if-nez v0, :cond_2
.line 589
iget v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->distinctElements:I
add-int/lit8 v0, v0, 0x1
iput v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->distinctElements:I
.line 591
:cond_2
iget-wide v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->totalCount:J
int-to-long v4, p3
add-long/2addr v0, v4
iput-wide v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->totalCount:J
.line 592
iget-object v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->left:Lcom/google/common/collect/TreeMultiset$AvlNode;
iget v0, v0, Lcom/google/common/collect/TreeMultiset$AvlNode;->height:I
if-eq v0, v2, :cond_0
invoke-direct {p0}, Lcom/google/common/collect/TreeMultiset$AvlNode;->rebalance()Lcom/google/common/collect/TreeMultiset$AvlNode;
move-result-object p0
goto :goto_0
.line 593
:cond_3
if-lez v1, :cond_6
.line 594
iget-object v1, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->right:Lcom/google/common/collect/TreeMultiset$AvlNode;
.line 595
if-nez v1, :cond_4
.line 596
aput v0, p4, v0
.line 597
invoke-direct {p0, p2, p3}, Lcom/google/common/collect/TreeMultiset$AvlNode;->addRightChild(Ljava/lang/Object;I)Lcom/google/common/collect/TreeMultiset$AvlNode;
move-result-object p0
goto :goto_0
.line 599
:cond_4
iget v2, v1, Lcom/google/common/collect/TreeMultiset$AvlNode;->height:I
.line 601
invoke-virtual {v1, p1, p2, p3, p4}, Lcom/google/common/collect/TreeMultiset$AvlNode;->add(Ljava/util/Comparator;Ljava/lang/Object;I[I)Lcom/google/common/collect/TreeMultiset$AvlNode;
move-result-object v1
iput-object v1, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->right:Lcom/google/common/collect/TreeMultiset$AvlNode;
.line 602
aget v0, p4, v0
if-nez v0, :cond_5
.line 603
iget v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->distinctElements:I
add-int/lit8 v0, v0, 0x1
iput v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->distinctElements:I
.line 605
:cond_5
iget-wide v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->totalCount:J
int-to-long v4, p3
add-long/2addr v0, v4
iput-wide v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->totalCount:J
.line 606
iget-object v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->right:Lcom/google/common/collect/TreeMultiset$AvlNode;
iget v0, v0, Lcom/google/common/collect/TreeMultiset$AvlNode;->height:I
if-eq v0, v2, :cond_0
invoke-direct {p0}, Lcom/google/common/collect/TreeMultiset$AvlNode;->rebalance()Lcom/google/common/collect/TreeMultiset$AvlNode;
move-result-object p0
goto :goto_0
.line 610
:cond_6
iget v1, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->elemCount:I
aput v1, p4, v0
.line 611
iget v1, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->elemCount:I
int-to-long v2, v1
int-to-long v4, p3
add-long/2addr v2, v4
.line 612
const-wide/32 v4, 0x7fffffff
cmp-long v1, v2, v4
if-gtz v1, :cond_7
const/4 v0, 0x1
:cond_7
invoke-static {v0}, Lcom/google/common/base/Preconditions;->checkArgument(Z)V
.line 613
iget v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->elemCount:I
add-int/2addr v0, p3
iput v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->elemCount:I
.line 614
iget-wide v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->totalCount:J
int-to-long v2, p3
add-long/2addr v0, v2
iput-wide v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->totalCount:J
goto :goto_0
.end method
.method public count(Ljava/util/Comparator;Ljava/lang/Object;)I
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/Comparator",
"<-TE;>;TE;)I"
}
.end annotation
.prologue
const/4 v0, 0x0
.line 545
iget-object v1, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->elem:Ljava/lang/Object;
invoke-interface {p1, p2, v1}, Ljava/util/Comparator;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
move-result v1
.line 546
if-gez v1, :cond_2
.line 547
iget-object v1, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->left:Lcom/google/common/collect/TreeMultiset$AvlNode;
if-nez v1, :cond_1
.line 551
:cond_0
:goto_0
return v0
.line 547
:cond_1
iget-object v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->left:Lcom/google/common/collect/TreeMultiset$AvlNode;
invoke-virtual {v0, p1, p2}, Lcom/google/common/collect/TreeMultiset$AvlNode;->count(Ljava/util/Comparator;Ljava/lang/Object;)I
move-result v0
goto :goto_0
.line 548
:cond_2
if-lez v1, :cond_3
.line 549
iget-object v1, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->right:Lcom/google/common/collect/TreeMultiset$AvlNode;
if-eqz v1, :cond_0
iget-object v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->right:Lcom/google/common/collect/TreeMultiset$AvlNode;
invoke-virtual {v0, p1, p2}, Lcom/google/common/collect/TreeMultiset$AvlNode;->count(Ljava/util/Comparator;Ljava/lang/Object;)I
move-result v0
goto :goto_0
.line 551
:cond_3
iget v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->elemCount:I
goto :goto_0
.end method
.method public getCount()I
.locals 1
.prologue
.line 928
iget v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->elemCount:I
return v0
.end method
.method public getElement()Ljava/lang/Object;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"()TE;"
}
.end annotation
.prologue
.line 923
iget-object v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->elem:Ljava/lang/Object;
return-object v0
.end method
.method remove(Ljava/util/Comparator;Ljava/lang/Object;I[I)Lcom/google/common/collect/TreeMultiset$AvlNode;
.locals 5
.param p2 # Ljava/lang/Object;
.annotation runtime Ljavax/annotation/Nullable;
.end annotation
.end param
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/Comparator",
"<-TE;>;TE;I[I)",
"Lcom/google/common/collect/TreeMultiset$AvlNode",
"<TE;>;"
}
.end annotation
.prologue
const/4 v4, 0x0
.line 619
iget-object v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->elem:Ljava/lang/Object;
invoke-interface {p1, p2, v0}, Ljava/util/Comparator;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
move-result v0
.line 620
if-gez v0, :cond_4
.line 621
iget-object v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->left:Lcom/google/common/collect/TreeMultiset$AvlNode;
.line 622
if-nez v0, :cond_1
.line 623
aput v4, p4, v4
.line 665
:cond_0
:goto_0
return-object p0
.line 627
:cond_1
invoke-virtual {v0, p1, p2, p3, p4}, Lcom/google/common/collect/TreeMultiset$AvlNode;->remove(Ljava/util/Comparator;Ljava/lang/Object;I[I)Lcom/google/common/collect/TreeMultiset$AvlNode;
move-result-object v0
iput-object v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->left:Lcom/google/common/collect/TreeMultiset$AvlNode;
.line 629
aget v0, p4, v4
if-lez v0, :cond_2
.line 630
aget v0, p4, v4
if-lt p3, v0, :cond_3
.line 631
iget v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->distinctElements:I
add-int/lit8 v0, v0, -0x1
iput v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->distinctElements:I
.line 632
iget-wide v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->totalCount:J
aget v2, p4, v4
int-to-long v2, v2
sub-long/2addr v0, v2
iput-wide v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->totalCount:J
.line 637
:cond_2
:goto_1
aget v0, p4, v4
if-eqz v0, :cond_0
invoke-direct {p0}, Lcom/google/common/collect/TreeMultiset$AvlNode;->rebalance()Lcom/google/common/collect/TreeMultiset$AvlNode;
move-result-object p0
goto :goto_0
.line 634
:cond_3
iget-wide v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->totalCount:J
int-to-long v2, p3
sub-long/2addr v0, v2
iput-wide v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->totalCount:J
goto :goto_1
.line 638
:cond_4
if-lez v0, :cond_8
.line 639
iget-object v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->right:Lcom/google/common/collect/TreeMultiset$AvlNode;
.line 640
if-nez v0, :cond_5
.line 641
aput v4, p4, v4
goto :goto_0
.line 645
:cond_5
invoke-virtual {v0, p1, p2, p3, p4}, Lcom/google/common/collect/TreeMultiset$AvlNode;->remove(Ljava/util/Comparator;Ljava/lang/Object;I[I)Lcom/google/common/collect/TreeMultiset$AvlNode;
move-result-object v0
iput-object v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->right:Lcom/google/common/collect/TreeMultiset$AvlNode;
.line 647
aget v0, p4, v4
if-lez v0, :cond_6
.line 648
aget v0, p4, v4
if-lt p3, v0, :cond_7
.line 649
iget v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->distinctElements:I
add-int/lit8 v0, v0, -0x1
iput v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->distinctElements:I
.line 650
iget-wide v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->totalCount:J
aget v2, p4, v4
int-to-long v2, v2
sub-long/2addr v0, v2
iput-wide v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->totalCount:J
.line 655
:cond_6
:goto_2
invoke-direct {p0}, Lcom/google/common/collect/TreeMultiset$AvlNode;->rebalance()Lcom/google/common/collect/TreeMultiset$AvlNode;
move-result-object p0
goto :goto_0
.line 652
:cond_7
iget-wide v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->totalCount:J
int-to-long v2, p3
sub-long/2addr v0, v2
iput-wide v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->totalCount:J
goto :goto_2
.line 659
:cond_8
iget v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->elemCount:I
aput v0, p4, v4
.line 660
iget v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->elemCount:I
if-lt p3, v0, :cond_9
.line 661
invoke-direct {p0}, Lcom/google/common/collect/TreeMultiset$AvlNode;->deleteMe()Lcom/google/common/collect/TreeMultiset$AvlNode;
move-result-object p0
goto :goto_0
.line 663
:cond_9
iget v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->elemCount:I
sub-int/2addr v0, p3
iput v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->elemCount:I
.line 664
iget-wide v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->totalCount:J
int-to-long v2, p3
sub-long/2addr v0, v2
iput-wide v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->totalCount:J
goto :goto_0
.end method
.method setCount(Ljava/util/Comparator;Ljava/lang/Object;II[I)Lcom/google/common/collect/TreeMultiset$AvlNode;
.locals 7
.param p2 # Ljava/lang/Object;
.annotation runtime Ljavax/annotation/Nullable;
.end annotation
.end param
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/Comparator",
"<-TE;>;TE;II[I)",
"Lcom/google/common/collect/TreeMultiset$AvlNode",
"<TE;>;"
}
.end annotation
.prologue
const/4 v6, 0x0
.line 723
iget-object v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->elem:Ljava/lang/Object;
invoke-interface {p1, p2, v0}, Ljava/util/Comparator;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
move-result v0
.line 724
if-gez v0, :cond_5
.line 725
iget-object v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->left:Lcom/google/common/collect/TreeMultiset$AvlNode;
.line 726
if-nez v0, :cond_1
.line 727
aput v6, p5, v6
.line 728
if-nez p3, :cond_0
if-lez p4, :cond_0
.line 729
invoke-direct {p0, p2, p4}, Lcom/google/common/collect/TreeMultiset$AvlNode;->addLeftChild(Ljava/lang/Object;I)Lcom/google/common/collect/TreeMultiset$AvlNode;
move-result-object p0
.line 777
:cond_0
:goto_0
return-object p0
:cond_1
move-object v1, p1
move-object v2, p2
move v3, p3
move v4, p4
move-object v5, p5
.line 734
invoke-virtual/range {v0 .. v5}, Lcom/google/common/collect/TreeMultiset$AvlNode;->setCount(Ljava/util/Comparator;Ljava/lang/Object;II[I)Lcom/google/common/collect/TreeMultiset$AvlNode;
move-result-object v0
iput-object v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->left:Lcom/google/common/collect/TreeMultiset$AvlNode;
.line 736
aget v0, p5, v6
if-ne v0, p3, :cond_3
.line 737
if-nez p4, :cond_4
aget v0, p5, v6
if-eqz v0, :cond_4
.line 738
iget v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->distinctElements:I
add-int/lit8 v0, v0, -0x1
iput v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->distinctElements:I
.line 742
:cond_2
:goto_1
iget-wide v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->totalCount:J
aget v2, p5, v6
sub-int v2, p4, v2
int-to-long v2, v2
add-long/2addr v0, v2
iput-wide v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->totalCount:J
.line 744
:cond_3
invoke-direct {p0}, Lcom/google/common/collect/TreeMultiset$AvlNode;->rebalance()Lcom/google/common/collect/TreeMultiset$AvlNode;
move-result-object p0
goto :goto_0
.line 739
:cond_4
if-lez p4, :cond_2
aget v0, p5, v6
if-nez v0, :cond_2
.line 740
iget v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->distinctElements:I
add-int/lit8 v0, v0, 0x1
iput v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->distinctElements:I
goto :goto_1
.line 745
:cond_5
if-lez v0, :cond_a
.line 746
iget-object v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->right:Lcom/google/common/collect/TreeMultiset$AvlNode;
.line 747
if-nez v0, :cond_6
.line 748
aput v6, p5, v6
.line 749
if-nez p3, :cond_0
if-lez p4, :cond_0
.line 750
invoke-direct {p0, p2, p4}, Lcom/google/common/collect/TreeMultiset$AvlNode;->addRightChild(Ljava/lang/Object;I)Lcom/google/common/collect/TreeMultiset$AvlNode;
move-result-object p0
goto :goto_0
:cond_6
move-object v1, p1
move-object v2, p2
move v3, p3
move v4, p4
move-object v5, p5
.line 755
invoke-virtual/range {v0 .. v5}, Lcom/google/common/collect/TreeMultiset$AvlNode;->setCount(Ljava/util/Comparator;Ljava/lang/Object;II[I)Lcom/google/common/collect/TreeMultiset$AvlNode;
move-result-object v0
iput-object v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->right:Lcom/google/common/collect/TreeMultiset$AvlNode;
.line 757
aget v0, p5, v6
if-ne v0, p3, :cond_8
.line 758
if-nez p4, :cond_9
aget v0, p5, v6
if-eqz v0, :cond_9
.line 759
iget v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->distinctElements:I
add-int/lit8 v0, v0, -0x1
iput v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->distinctElements:I
.line 763
:cond_7
:goto_2
iget-wide v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->totalCount:J
aget v2, p5, v6
sub-int v2, p4, v2
int-to-long v2, v2
add-long/2addr v0, v2
iput-wide v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->totalCount:J
.line 765
:cond_8
invoke-direct {p0}, Lcom/google/common/collect/TreeMultiset$AvlNode;->rebalance()Lcom/google/common/collect/TreeMultiset$AvlNode;
move-result-object p0
goto :goto_0
.line 760
:cond_9
if-lez p4, :cond_7
aget v0, p5, v6
if-nez v0, :cond_7
.line 761
iget v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->distinctElements:I
add-int/lit8 v0, v0, 0x1
iput v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->distinctElements:I
goto :goto_2
.line 769
:cond_a
iget v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->elemCount:I
aput v0, p5, v6
.line 770
iget v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->elemCount:I
if-ne p3, v0, :cond_0
.line 771
if-nez p4, :cond_b
.line 772
invoke-direct {p0}, Lcom/google/common/collect/TreeMultiset$AvlNode;->deleteMe()Lcom/google/common/collect/TreeMultiset$AvlNode;
move-result-object p0
goto/16 :goto_0
.line 774
:cond_b
iget-wide v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->totalCount:J
iget v2, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->elemCount:I
sub-int v2, p4, v2
int-to-long v2, v2
add-long/2addr v0, v2
iput-wide v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->totalCount:J
.line 775
iput p4, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->elemCount:I
goto/16 :goto_0
.end method
.method setCount(Ljava/util/Comparator;Ljava/lang/Object;I[I)Lcom/google/common/collect/TreeMultiset$AvlNode;
.locals 4
.param p2 # Ljava/lang/Object;
.annotation runtime Ljavax/annotation/Nullable;
.end annotation
.end param
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/Comparator",
"<-TE;>;TE;I[I)",
"Lcom/google/common/collect/TreeMultiset$AvlNode",
"<TE;>;"
}
.end annotation
.prologue
const/4 v2, 0x0
.line 670
iget-object v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->elem:Ljava/lang/Object;
invoke-interface {p1, p2, v0}, Ljava/util/Comparator;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
move-result v0
.line 671
if-gez v0, :cond_4
.line 672
iget-object v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->left:Lcom/google/common/collect/TreeMultiset$AvlNode;
.line 673
if-nez v0, :cond_1
.line 674
aput v2, p4, v2
.line 675
if-lez p3, :cond_0
invoke-direct {p0, p2, p3}, Lcom/google/common/collect/TreeMultiset$AvlNode;->addLeftChild(Ljava/lang/Object;I)Lcom/google/common/collect/TreeMultiset$AvlNode;
move-result-object p0
.line 714
:cond_0
:goto_0
return-object p0
.line 678
:cond_1
invoke-virtual {v0, p1, p2, p3, p4}, Lcom/google/common/collect/TreeMultiset$AvlNode;->setCount(Ljava/util/Comparator;Ljava/lang/Object;I[I)Lcom/google/common/collect/TreeMultiset$AvlNode;
move-result-object v0
iput-object v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->left:Lcom/google/common/collect/TreeMultiset$AvlNode;
.line 680
if-nez p3, :cond_3
aget v0, p4, v2
if-eqz v0, :cond_3
.line 681
iget v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->distinctElements:I
add-int/lit8 v0, v0, -0x1
iput v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->distinctElements:I
.line 686
:cond_2
:goto_1
iget-wide v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->totalCount:J
aget v2, p4, v2
sub-int v2, p3, v2
int-to-long v2, v2
add-long/2addr v0, v2
iput-wide v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->totalCount:J
.line 687
invoke-direct {p0}, Lcom/google/common/collect/TreeMultiset$AvlNode;->rebalance()Lcom/google/common/collect/TreeMultiset$AvlNode;
move-result-object p0
goto :goto_0
.line 682
:cond_3
if-lez p3, :cond_2
aget v0, p4, v2
if-nez v0, :cond_2
.line 683
iget v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->distinctElements:I
add-int/lit8 v0, v0, 0x1
iput v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->distinctElements:I
goto :goto_1
.line 688
:cond_4
if-lez v0, :cond_8
.line 689
iget-object v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->right:Lcom/google/common/collect/TreeMultiset$AvlNode;
.line 690
if-nez v0, :cond_5
.line 691
aput v2, p4, v2
.line 692
if-lez p3, :cond_0
invoke-direct {p0, p2, p3}, Lcom/google/common/collect/TreeMultiset$AvlNode;->addRightChild(Ljava/lang/Object;I)Lcom/google/common/collect/TreeMultiset$AvlNode;
move-result-object p0
goto :goto_0
.line 695
:cond_5
invoke-virtual {v0, p1, p2, p3, p4}, Lcom/google/common/collect/TreeMultiset$AvlNode;->setCount(Ljava/util/Comparator;Ljava/lang/Object;I[I)Lcom/google/common/collect/TreeMultiset$AvlNode;
move-result-object v0
iput-object v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->right:Lcom/google/common/collect/TreeMultiset$AvlNode;
.line 697
if-nez p3, :cond_7
aget v0, p4, v2
if-eqz v0, :cond_7
.line 698
iget v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->distinctElements:I
add-int/lit8 v0, v0, -0x1
iput v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->distinctElements:I
.line 703
:cond_6
:goto_2
iget-wide v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->totalCount:J
aget v2, p4, v2
sub-int v2, p3, v2
int-to-long v2, v2
add-long/2addr v0, v2
iput-wide v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->totalCount:J
.line 704
invoke-direct {p0}, Lcom/google/common/collect/TreeMultiset$AvlNode;->rebalance()Lcom/google/common/collect/TreeMultiset$AvlNode;
move-result-object p0
goto :goto_0
.line 699
:cond_7
if-lez p3, :cond_6
aget v0, p4, v2
if-nez v0, :cond_6
.line 700
iget v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->distinctElements:I
add-int/lit8 v0, v0, 0x1
iput v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->distinctElements:I
goto :goto_2
.line 708
:cond_8
iget v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->elemCount:I
aput v0, p4, v2
.line 709
if-nez p3, :cond_9
.line 710
invoke-direct {p0}, Lcom/google/common/collect/TreeMultiset$AvlNode;->deleteMe()Lcom/google/common/collect/TreeMultiset$AvlNode;
move-result-object p0
goto :goto_0
.line 712
:cond_9
iget-wide v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->totalCount:J
iget v2, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->elemCount:I
sub-int v2, p3, v2
int-to-long v2, v2
add-long/2addr v0, v2
iput-wide v0, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->totalCount:J
.line 713
iput p3, p0, Lcom/google/common/collect/TreeMultiset$AvlNode;->elemCount:I
goto/16 :goto_0
.end method
.method public toString()Ljava/lang/String;
.locals 2
.prologue
.line 933
invoke-virtual {p0}, Lcom/google/common/collect/TreeMultiset$AvlNode;->getElement()Ljava/lang/Object;
move-result-object v0
invoke-virtual {p0}, Lcom/google/common/collect/TreeMultiset$AvlNode;->getCount()I
move-result v1
invoke-static {v0, v1}, Lcom/google/common/collect/Multisets;->immutableEntry(Ljava/lang/Object;I)Lcom/google/common/collect/Multiset$Entry;
move-result-object v0
invoke-interface {v0}, Lcom/google/common/collect/Multiset$Entry;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method