.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 = { "", "Lcom/google/common/collect/Multisets$AbstractEntry", ";" } .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", ";" } .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", ";" } .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", ";" } .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", ";" } .end annotation .end field .field private totalCount:J # direct methods .method constructor (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;->()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", ";" } .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;->(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", ";" } .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;->(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", ";" } .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", ";" } .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", ";" } .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", ";" } .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", ";)", "Lcom/google/common/collect/TreeMultiset$AvlNode", ";" } .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", ";)", "Lcom/google/common/collect/TreeMultiset$AvlNode", ";" } .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", ";" } .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", ";" } .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", ";" } .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", ";" } .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", ";" } .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", ";" } .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