final class com.google.common.collect.TreeMultiset$AvlNode<E>
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.google.common.collect.TreeMultiset$AvlNode
super_class: java.lang.Object
{
private final E elem;
descriptor: Ljava/lang/Object;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: TE;
RuntimeVisibleTypeAnnotations:
FIELD
org.checkerframework.checker.nullness.qual.Nullable()
private int elemCount;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int distinctElements;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private long totalCount;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private int height;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private com.google.common.collect.TreeMultiset$AvlNode<E> left;
descriptor: Lcom/google/common/collect/TreeMultiset$AvlNode;
flags: (0x0002) ACC_PRIVATE
Signature: Lcom/google/common/collect/TreeMultiset$AvlNode<TE;>;
RuntimeVisibleTypeAnnotations:
FIELD
org.checkerframework.checker.nullness.qual.Nullable()
private com.google.common.collect.TreeMultiset$AvlNode<E> right;
descriptor: Lcom/google/common/collect/TreeMultiset$AvlNode;
flags: (0x0002) ACC_PRIVATE
Signature: Lcom/google/common/collect/TreeMultiset$AvlNode<TE;>;
RuntimeVisibleTypeAnnotations:
FIELD
org.checkerframework.checker.nullness.qual.Nullable()
private com.google.common.collect.TreeMultiset$AvlNode<E> pred;
descriptor: Lcom/google/common/collect/TreeMultiset$AvlNode;
flags: (0x0002) ACC_PRIVATE
Signature: Lcom/google/common/collect/TreeMultiset$AvlNode<TE;>;
RuntimeVisibleTypeAnnotations:
FIELD
org.checkerframework.checker.nullness.qual.Nullable()
private com.google.common.collect.TreeMultiset$AvlNode<E> succ;
descriptor: Lcom/google/common/collect/TreeMultiset$AvlNode;
flags: (0x0002) ACC_PRIVATE
Signature: Lcom/google/common/collect/TreeMultiset$AvlNode<TE;>;
RuntimeVisibleTypeAnnotations:
FIELD
org.checkerframework.checker.nullness.qual.Nullable()
void <init>(E, );
descriptor: (Ljava/lang/Object;I)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: iload 2
ifle 2
iconst_1
goto 3
StackMap locals: com.google.common.collect.TreeMultiset$AvlNode java.lang.Object int
StackMap stack:
2: iconst_0
StackMap locals:
StackMap stack: int
3: invokestatic com.google.common.base.Preconditions.checkArgument:(Z)V
4: aload 0
aload 1
putfield com.google.common.collect.TreeMultiset$AvlNode.elem:Ljava/lang/Object;
5: aload 0
iload 2
putfield com.google.common.collect.TreeMultiset$AvlNode.elemCount:I
6: aload 0
iload 2
i2l
putfield com.google.common.collect.TreeMultiset$AvlNode.totalCount:J
7: aload 0
iconst_1
putfield com.google.common.collect.TreeMultiset$AvlNode.distinctElements:I
8: aload 0
iconst_1
putfield com.google.common.collect.TreeMultiset$AvlNode.height:I
9: aload 0
aconst_null
putfield com.google.common.collect.TreeMultiset$AvlNode.left:Lcom/google/common/collect/TreeMultiset$AvlNode;
10: aload 0
aconst_null
putfield com.google.common.collect.TreeMultiset$AvlNode.right:Lcom/google/common/collect/TreeMultiset$AvlNode;
11: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/google/common/collect/TreeMultiset$AvlNode<TE;>;
0 12 1 elem TE;
0 12 2 elemCount I
Signature: (TE;I)V
RuntimeVisibleTypeAnnotations:
METHOD_FORMAL_PARAMETER
org.checkerframework.checker.nullness.qual.Nullable()
MethodParameters:
Name Flags
elem
elemCount
public int count(java.util.Comparator<? super E>, );
descriptor: (Ljava/util/Comparator;Ljava/lang/Object;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 2
aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.elem:Ljava/lang/Object;
invokeinterface java.util.Comparator.compare:(Ljava/lang/Object;Ljava/lang/Object;)I
istore 3
start local 3 1: iload 3
ifge 5
2: aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.left:Lcom/google/common/collect/TreeMultiset$AvlNode;
ifnonnull 3
iconst_0
goto 4
StackMap locals: int
StackMap stack:
3: aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.left:Lcom/google/common/collect/TreeMultiset$AvlNode;
aload 1
aload 2
invokevirtual com.google.common.collect.TreeMultiset$AvlNode.count:(Ljava/util/Comparator;Ljava/lang/Object;)I
StackMap locals:
StackMap stack: int
4: ireturn
5: StackMap locals:
StackMap stack:
iload 3
ifle 9
6: aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.right:Lcom/google/common/collect/TreeMultiset$AvlNode;
ifnonnull 7
iconst_0
goto 8
StackMap locals:
StackMap stack:
7: aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.right:Lcom/google/common/collect/TreeMultiset$AvlNode;
aload 1
aload 2
invokevirtual com.google.common.collect.TreeMultiset$AvlNode.count:(Ljava/util/Comparator;Ljava/lang/Object;)I
StackMap locals:
StackMap stack: int
8: ireturn
9: StackMap locals:
StackMap stack:
aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.elemCount:I
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/google/common/collect/TreeMultiset$AvlNode<TE;>;
0 10 1 comparator Ljava/util/Comparator<-TE;>;
0 10 2 e TE;
1 10 3 cmp I
Signature: (Ljava/util/Comparator<-TE;>;TE;)I
MethodParameters:
Name Flags
comparator
e
private com.google.common.collect.TreeMultiset$AvlNode<E> addRightChild(E, int);
descriptor: (Ljava/lang/Object;I)Lcom/google/common/collect/TreeMultiset$AvlNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
new com.google.common.collect.TreeMultiset$AvlNode
dup
aload 1
iload 2
invokespecial com.google.common.collect.TreeMultiset$AvlNode.<init>:(Ljava/lang/Object;I)V
putfield com.google.common.collect.TreeMultiset$AvlNode.right:Lcom/google/common/collect/TreeMultiset$AvlNode;
1: aload 0
aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.right:Lcom/google/common/collect/TreeMultiset$AvlNode;
aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.succ:Lcom/google/common/collect/TreeMultiset$AvlNode;
invokestatic com.google.common.collect.TreeMultiset.successor:(Lcom/google/common/collect/TreeMultiset$AvlNode;Lcom/google/common/collect/TreeMultiset$AvlNode;Lcom/google/common/collect/TreeMultiset$AvlNode;)V
2: aload 0
iconst_2
aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.height:I
invokestatic java.lang.Math.max:(II)I
putfield com.google.common.collect.TreeMultiset$AvlNode.height:I
3: aload 0
dup
getfield com.google.common.collect.TreeMultiset$AvlNode.distinctElements:I
iconst_1
iadd
putfield com.google.common.collect.TreeMultiset$AvlNode.distinctElements:I
4: aload 0
dup
getfield com.google.common.collect.TreeMultiset$AvlNode.totalCount:J
iload 2
i2l
ladd
putfield com.google.common.collect.TreeMultiset$AvlNode.totalCount:J
5: aload 0
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/google/common/collect/TreeMultiset$AvlNode<TE;>;
0 6 1 e TE;
0 6 2 count I
Signature: (TE;I)Lcom/google/common/collect/TreeMultiset$AvlNode<TE;>;
MethodParameters:
Name Flags
e
count
private com.google.common.collect.TreeMultiset$AvlNode<E> addLeftChild(E, int);
descriptor: (Ljava/lang/Object;I)Lcom/google/common/collect/TreeMultiset$AvlNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
new com.google.common.collect.TreeMultiset$AvlNode
dup
aload 1
iload 2
invokespecial com.google.common.collect.TreeMultiset$AvlNode.<init>:(Ljava/lang/Object;I)V
putfield com.google.common.collect.TreeMultiset$AvlNode.left:Lcom/google/common/collect/TreeMultiset$AvlNode;
1: aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.pred:Lcom/google/common/collect/TreeMultiset$AvlNode;
aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.left:Lcom/google/common/collect/TreeMultiset$AvlNode;
aload 0
invokestatic com.google.common.collect.TreeMultiset.successor:(Lcom/google/common/collect/TreeMultiset$AvlNode;Lcom/google/common/collect/TreeMultiset$AvlNode;Lcom/google/common/collect/TreeMultiset$AvlNode;)V
2: aload 0
iconst_2
aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.height:I
invokestatic java.lang.Math.max:(II)I
putfield com.google.common.collect.TreeMultiset$AvlNode.height:I
3: aload 0
dup
getfield com.google.common.collect.TreeMultiset$AvlNode.distinctElements:I
iconst_1
iadd
putfield com.google.common.collect.TreeMultiset$AvlNode.distinctElements:I
4: aload 0
dup
getfield com.google.common.collect.TreeMultiset$AvlNode.totalCount:J
iload 2
i2l
ladd
putfield com.google.common.collect.TreeMultiset$AvlNode.totalCount:J
5: aload 0
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/google/common/collect/TreeMultiset$AvlNode<TE;>;
0 6 1 e TE;
0 6 2 count I
Signature: (TE;I)Lcom/google/common/collect/TreeMultiset$AvlNode<TE;>;
MethodParameters:
Name Flags
e
count
com.google.common.collect.TreeMultiset$AvlNode<E> add(java.util.Comparator<? super E>, E, int, int[]);
descriptor: (Ljava/util/Comparator;Ljava/lang/Object;I[I)Lcom/google/common/collect/TreeMultiset$AvlNode;
flags: (0x0000)
Code:
stack=6, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
aload 2
aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.elem:Ljava/lang/Object;
invokeinterface java.util.Comparator.compare:(Ljava/lang/Object;Ljava/lang/Object;)I
istore 5
start local 5 1: iload 5
ifge 14
2: aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.left:Lcom/google/common/collect/TreeMultiset$AvlNode;
astore 6
start local 6 3: aload 6
ifnonnull 6
4: aload 4
iconst_0
iconst_0
iastore
5: aload 0
aload 2
iload 3
invokevirtual com.google.common.collect.TreeMultiset$AvlNode.addLeftChild:(Ljava/lang/Object;I)Lcom/google/common/collect/TreeMultiset$AvlNode;
areturn
6: StackMap locals: int com.google.common.collect.TreeMultiset$AvlNode
StackMap stack:
aload 6
getfield com.google.common.collect.TreeMultiset$AvlNode.height:I
istore 7
start local 7 7: aload 0
aload 6
aload 1
aload 2
iload 3
aload 4
invokevirtual com.google.common.collect.TreeMultiset$AvlNode.add:(Ljava/util/Comparator;Ljava/lang/Object;I[I)Lcom/google/common/collect/TreeMultiset$AvlNode;
putfield com.google.common.collect.TreeMultiset$AvlNode.left:Lcom/google/common/collect/TreeMultiset$AvlNode;
8: aload 4
iconst_0
iaload
ifne 10
9: aload 0
dup
getfield com.google.common.collect.TreeMultiset$AvlNode.distinctElements:I
iconst_1
iadd
putfield com.google.common.collect.TreeMultiset$AvlNode.distinctElements:I
10: StackMap locals: int
StackMap stack:
aload 0
dup
getfield com.google.common.collect.TreeMultiset$AvlNode.totalCount:J
iload 3
i2l
ladd
putfield com.google.common.collect.TreeMultiset$AvlNode.totalCount:J
11: aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.left:Lcom/google/common/collect/TreeMultiset$AvlNode;
getfield com.google.common.collect.TreeMultiset$AvlNode.height:I
iload 7
if_icmpne 12
aload 0
goto 13
StackMap locals:
StackMap stack:
12: aload 0
invokevirtual com.google.common.collect.TreeMultiset$AvlNode.rebalance:()Lcom/google/common/collect/TreeMultiset$AvlNode;
StackMap locals:
StackMap stack: com.google.common.collect.TreeMultiset$AvlNode
13: areturn
end local 7 end local 6 14: StackMap locals:
StackMap stack:
iload 5
ifle 27
15: aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.right:Lcom/google/common/collect/TreeMultiset$AvlNode;
astore 6
start local 6 16: aload 6
ifnonnull 19
17: aload 4
iconst_0
iconst_0
iastore
18: aload 0
aload 2
iload 3
invokevirtual com.google.common.collect.TreeMultiset$AvlNode.addRightChild:(Ljava/lang/Object;I)Lcom/google/common/collect/TreeMultiset$AvlNode;
areturn
19: StackMap locals: com.google.common.collect.TreeMultiset$AvlNode
StackMap stack:
aload 6
getfield com.google.common.collect.TreeMultiset$AvlNode.height:I
istore 7
start local 7 20: aload 0
aload 6
aload 1
aload 2
iload 3
aload 4
invokevirtual com.google.common.collect.TreeMultiset$AvlNode.add:(Ljava/util/Comparator;Ljava/lang/Object;I[I)Lcom/google/common/collect/TreeMultiset$AvlNode;
putfield com.google.common.collect.TreeMultiset$AvlNode.right:Lcom/google/common/collect/TreeMultiset$AvlNode;
21: aload 4
iconst_0
iaload
ifne 23
22: aload 0
dup
getfield com.google.common.collect.TreeMultiset$AvlNode.distinctElements:I
iconst_1
iadd
putfield com.google.common.collect.TreeMultiset$AvlNode.distinctElements:I
23: StackMap locals: int
StackMap stack:
aload 0
dup
getfield com.google.common.collect.TreeMultiset$AvlNode.totalCount:J
iload 3
i2l
ladd
putfield com.google.common.collect.TreeMultiset$AvlNode.totalCount:J
24: aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.right:Lcom/google/common/collect/TreeMultiset$AvlNode;
getfield com.google.common.collect.TreeMultiset$AvlNode.height:I
iload 7
if_icmpne 25
aload 0
goto 26
StackMap locals:
StackMap stack:
25: aload 0
invokevirtual com.google.common.collect.TreeMultiset$AvlNode.rebalance:()Lcom/google/common/collect/TreeMultiset$AvlNode;
StackMap locals:
StackMap stack: com.google.common.collect.TreeMultiset$AvlNode
26: areturn
end local 7 end local 6 27: StackMap locals:
StackMap stack:
aload 4
iconst_0
aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.elemCount:I
iastore
28: aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.elemCount:I
i2l
iload 3
i2l
ladd
lstore 6
start local 6 29: lload 6
ldc 2147483647
lcmp
ifgt 30
iconst_1
goto 31
StackMap locals: long
StackMap stack:
30: iconst_0
StackMap locals:
StackMap stack: int
31: invokestatic com.google.common.base.Preconditions.checkArgument:(Z)V
32: aload 0
dup
getfield com.google.common.collect.TreeMultiset$AvlNode.elemCount:I
iload 3
iadd
putfield com.google.common.collect.TreeMultiset$AvlNode.elemCount:I
33: aload 0
dup
getfield com.google.common.collect.TreeMultiset$AvlNode.totalCount:J
iload 3
i2l
ladd
putfield com.google.common.collect.TreeMultiset$AvlNode.totalCount:J
34: aload 0
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 35 0 this Lcom/google/common/collect/TreeMultiset$AvlNode<TE;>;
0 35 1 comparator Ljava/util/Comparator<-TE;>;
0 35 2 e TE;
0 35 3 count I
0 35 4 result [I
1 35 5 cmp I
3 14 6 initLeft Lcom/google/common/collect/TreeMultiset$AvlNode<TE;>;
7 14 7 initHeight I
16 27 6 initRight Lcom/google/common/collect/TreeMultiset$AvlNode<TE;>;
20 27 7 initHeight I
29 35 6 resultCount J
Signature: (Ljava/util/Comparator<-TE;>;TE;I[I)Lcom/google/common/collect/TreeMultiset$AvlNode<TE;>;
RuntimeVisibleTypeAnnotations:
METHOD_FORMAL_PARAMETER
org.checkerframework.checker.nullness.qual.Nullable()
MethodParameters:
Name Flags
comparator
e
count
result
com.google.common.collect.TreeMultiset$AvlNode<E> remove(java.util.Comparator<? super E>, E, int, int[]);
descriptor: (Ljava/util/Comparator;Ljava/lang/Object;I[I)Lcom/google/common/collect/TreeMultiset$AvlNode;
flags: (0x0000)
Code:
stack=6, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
aload 2
aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.elem:Ljava/lang/Object;
invokeinterface java.util.Comparator.compare:(Ljava/lang/Object;Ljava/lang/Object;)I
istore 5
start local 5 1: iload 5
ifge 16
2: aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.left:Lcom/google/common/collect/TreeMultiset$AvlNode;
astore 6
start local 6 3: aload 6
ifnonnull 6
4: aload 4
iconst_0
iconst_0
iastore
5: aload 0
areturn
6: StackMap locals: int com.google.common.collect.TreeMultiset$AvlNode
StackMap stack:
aload 0
aload 6
aload 1
aload 2
iload 3
aload 4
invokevirtual com.google.common.collect.TreeMultiset$AvlNode.remove:(Ljava/util/Comparator;Ljava/lang/Object;I[I)Lcom/google/common/collect/TreeMultiset$AvlNode;
putfield com.google.common.collect.TreeMultiset$AvlNode.left:Lcom/google/common/collect/TreeMultiset$AvlNode;
7: aload 4
iconst_0
iaload
ifle 13
8: iload 3
aload 4
iconst_0
iaload
if_icmplt 12
9: aload 0
dup
getfield com.google.common.collect.TreeMultiset$AvlNode.distinctElements:I
iconst_1
isub
putfield com.google.common.collect.TreeMultiset$AvlNode.distinctElements:I
10: aload 0
dup
getfield com.google.common.collect.TreeMultiset$AvlNode.totalCount:J
aload 4
iconst_0
iaload
i2l
lsub
putfield com.google.common.collect.TreeMultiset$AvlNode.totalCount:J
11: goto 13
12: StackMap locals:
StackMap stack:
aload 0
dup
getfield com.google.common.collect.TreeMultiset$AvlNode.totalCount:J
iload 3
i2l
lsub
putfield com.google.common.collect.TreeMultiset$AvlNode.totalCount:J
13: StackMap locals:
StackMap stack:
aload 4
iconst_0
iaload
ifne 14
aload 0
goto 15
StackMap locals:
StackMap stack:
14: aload 0
invokevirtual com.google.common.collect.TreeMultiset$AvlNode.rebalance:()Lcom/google/common/collect/TreeMultiset$AvlNode;
StackMap locals:
StackMap stack: com.google.common.collect.TreeMultiset$AvlNode
15: areturn
end local 6 16: StackMap locals:
StackMap stack:
iload 5
ifle 29
17: aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.right:Lcom/google/common/collect/TreeMultiset$AvlNode;
astore 6
start local 6 18: aload 6
ifnonnull 21
19: aload 4
iconst_0
iconst_0
iastore
20: aload 0
areturn
21: StackMap locals: com.google.common.collect.TreeMultiset$AvlNode
StackMap stack:
aload 0
aload 6
aload 1
aload 2
iload 3
aload 4
invokevirtual com.google.common.collect.TreeMultiset$AvlNode.remove:(Ljava/util/Comparator;Ljava/lang/Object;I[I)Lcom/google/common/collect/TreeMultiset$AvlNode;
putfield com.google.common.collect.TreeMultiset$AvlNode.right:Lcom/google/common/collect/TreeMultiset$AvlNode;
22: aload 4
iconst_0
iaload
ifle 28
23: iload 3
aload 4
iconst_0
iaload
if_icmplt 27
24: aload 0
dup
getfield com.google.common.collect.TreeMultiset$AvlNode.distinctElements:I
iconst_1
isub
putfield com.google.common.collect.TreeMultiset$AvlNode.distinctElements:I
25: aload 0
dup
getfield com.google.common.collect.TreeMultiset$AvlNode.totalCount:J
aload 4
iconst_0
iaload
i2l
lsub
putfield com.google.common.collect.TreeMultiset$AvlNode.totalCount:J
26: goto 28
27: StackMap locals:
StackMap stack:
aload 0
dup
getfield com.google.common.collect.TreeMultiset$AvlNode.totalCount:J
iload 3
i2l
lsub
putfield com.google.common.collect.TreeMultiset$AvlNode.totalCount:J
28: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.google.common.collect.TreeMultiset$AvlNode.rebalance:()Lcom/google/common/collect/TreeMultiset$AvlNode;
areturn
end local 6 29: StackMap locals:
StackMap stack:
aload 4
iconst_0
aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.elemCount:I
iastore
30: iload 3
aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.elemCount:I
if_icmplt 32
31: aload 0
invokevirtual com.google.common.collect.TreeMultiset$AvlNode.deleteMe:()Lcom/google/common/collect/TreeMultiset$AvlNode;
areturn
32: StackMap locals:
StackMap stack:
aload 0
dup
getfield com.google.common.collect.TreeMultiset$AvlNode.elemCount:I
iload 3
isub
putfield com.google.common.collect.TreeMultiset$AvlNode.elemCount:I
33: aload 0
dup
getfield com.google.common.collect.TreeMultiset$AvlNode.totalCount:J
iload 3
i2l
lsub
putfield com.google.common.collect.TreeMultiset$AvlNode.totalCount:J
34: aload 0
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 35 0 this Lcom/google/common/collect/TreeMultiset$AvlNode<TE;>;
0 35 1 comparator Ljava/util/Comparator<-TE;>;
0 35 2 e TE;
0 35 3 count I
0 35 4 result [I
1 35 5 cmp I
3 16 6 initLeft Lcom/google/common/collect/TreeMultiset$AvlNode<TE;>;
18 29 6 initRight Lcom/google/common/collect/TreeMultiset$AvlNode<TE;>;
Signature: (Ljava/util/Comparator<-TE;>;TE;I[I)Lcom/google/common/collect/TreeMultiset$AvlNode<TE;>;
RuntimeVisibleTypeAnnotations:
METHOD_FORMAL_PARAMETER
org.checkerframework.checker.nullness.qual.Nullable()
MethodParameters:
Name Flags
comparator
e
count
result
com.google.common.collect.TreeMultiset$AvlNode<E> setCount(java.util.Comparator<? super E>, E, int, int[]);
descriptor: (Ljava/util/Comparator;Ljava/lang/Object;I[I)Lcom/google/common/collect/TreeMultiset$AvlNode;
flags: (0x0000)
Code:
stack=6, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
aload 2
aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.elem:Ljava/lang/Object;
invokeinterface java.util.Comparator.compare:(Ljava/lang/Object;Ljava/lang/Object;)I
istore 5
start local 5 1: iload 5
ifge 16
2: aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.left:Lcom/google/common/collect/TreeMultiset$AvlNode;
astore 6
start local 6 3: aload 6
ifnonnull 8
4: aload 4
iconst_0
iconst_0
iastore
5: iload 3
ifle 6
aload 0
aload 2
iload 3
invokevirtual com.google.common.collect.TreeMultiset$AvlNode.addLeftChild:(Ljava/lang/Object;I)Lcom/google/common/collect/TreeMultiset$AvlNode;
goto 7
StackMap locals: int com.google.common.collect.TreeMultiset$AvlNode
StackMap stack:
6: aload 0
StackMap locals:
StackMap stack: com.google.common.collect.TreeMultiset$AvlNode
7: areturn
8: StackMap locals:
StackMap stack:
aload 0
aload 6
aload 1
aload 2
iload 3
aload 4
invokevirtual com.google.common.collect.TreeMultiset$AvlNode.setCount:(Ljava/util/Comparator;Ljava/lang/Object;I[I)Lcom/google/common/collect/TreeMultiset$AvlNode;
putfield com.google.common.collect.TreeMultiset$AvlNode.left:Lcom/google/common/collect/TreeMultiset$AvlNode;
9: iload 3
ifne 12
aload 4
iconst_0
iaload
ifeq 12
10: aload 0
dup
getfield com.google.common.collect.TreeMultiset$AvlNode.distinctElements:I
iconst_1
isub
putfield com.google.common.collect.TreeMultiset$AvlNode.distinctElements:I
11: goto 14
StackMap locals:
StackMap stack:
12: iload 3
ifle 14
aload 4
iconst_0
iaload
ifne 14
13: aload 0
dup
getfield com.google.common.collect.TreeMultiset$AvlNode.distinctElements:I
iconst_1
iadd
putfield com.google.common.collect.TreeMultiset$AvlNode.distinctElements:I
14: StackMap locals:
StackMap stack:
aload 0
dup
getfield com.google.common.collect.TreeMultiset$AvlNode.totalCount:J
iload 3
aload 4
iconst_0
iaload
isub
i2l
ladd
putfield com.google.common.collect.TreeMultiset$AvlNode.totalCount:J
15: aload 0
invokevirtual com.google.common.collect.TreeMultiset$AvlNode.rebalance:()Lcom/google/common/collect/TreeMultiset$AvlNode;
areturn
end local 6 16: StackMap locals:
StackMap stack:
iload 5
ifle 31
17: aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.right:Lcom/google/common/collect/TreeMultiset$AvlNode;
astore 6
start local 6 18: aload 6
ifnonnull 23
19: aload 4
iconst_0
iconst_0
iastore
20: iload 3
ifle 21
aload 0
aload 2
iload 3
invokevirtual com.google.common.collect.TreeMultiset$AvlNode.addRightChild:(Ljava/lang/Object;I)Lcom/google/common/collect/TreeMultiset$AvlNode;
goto 22
StackMap locals: com.google.common.collect.TreeMultiset$AvlNode
StackMap stack:
21: aload 0
StackMap locals:
StackMap stack: com.google.common.collect.TreeMultiset$AvlNode
22: areturn
23: StackMap locals:
StackMap stack:
aload 0
aload 6
aload 1
aload 2
iload 3
aload 4
invokevirtual com.google.common.collect.TreeMultiset$AvlNode.setCount:(Ljava/util/Comparator;Ljava/lang/Object;I[I)Lcom/google/common/collect/TreeMultiset$AvlNode;
putfield com.google.common.collect.TreeMultiset$AvlNode.right:Lcom/google/common/collect/TreeMultiset$AvlNode;
24: iload 3
ifne 27
aload 4
iconst_0
iaload
ifeq 27
25: aload 0
dup
getfield com.google.common.collect.TreeMultiset$AvlNode.distinctElements:I
iconst_1
isub
putfield com.google.common.collect.TreeMultiset$AvlNode.distinctElements:I
26: goto 29
StackMap locals:
StackMap stack:
27: iload 3
ifle 29
aload 4
iconst_0
iaload
ifne 29
28: aload 0
dup
getfield com.google.common.collect.TreeMultiset$AvlNode.distinctElements:I
iconst_1
iadd
putfield com.google.common.collect.TreeMultiset$AvlNode.distinctElements:I
29: StackMap locals:
StackMap stack:
aload 0
dup
getfield com.google.common.collect.TreeMultiset$AvlNode.totalCount:J
iload 3
aload 4
iconst_0
iaload
isub
i2l
ladd
putfield com.google.common.collect.TreeMultiset$AvlNode.totalCount:J
30: aload 0
invokevirtual com.google.common.collect.TreeMultiset$AvlNode.rebalance:()Lcom/google/common/collect/TreeMultiset$AvlNode;
areturn
end local 6 31: StackMap locals:
StackMap stack:
aload 4
iconst_0
aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.elemCount:I
iastore
32: iload 3
ifne 34
33: aload 0
invokevirtual com.google.common.collect.TreeMultiset$AvlNode.deleteMe:()Lcom/google/common/collect/TreeMultiset$AvlNode;
areturn
34: StackMap locals:
StackMap stack:
aload 0
dup
getfield com.google.common.collect.TreeMultiset$AvlNode.totalCount:J
iload 3
aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.elemCount:I
isub
i2l
ladd
putfield com.google.common.collect.TreeMultiset$AvlNode.totalCount:J
35: aload 0
iload 3
putfield com.google.common.collect.TreeMultiset$AvlNode.elemCount:I
36: aload 0
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 37 0 this Lcom/google/common/collect/TreeMultiset$AvlNode<TE;>;
0 37 1 comparator Ljava/util/Comparator<-TE;>;
0 37 2 e TE;
0 37 3 count I
0 37 4 result [I
1 37 5 cmp I
3 16 6 initLeft Lcom/google/common/collect/TreeMultiset$AvlNode<TE;>;
18 31 6 initRight Lcom/google/common/collect/TreeMultiset$AvlNode<TE;>;
Signature: (Ljava/util/Comparator<-TE;>;TE;I[I)Lcom/google/common/collect/TreeMultiset$AvlNode<TE;>;
RuntimeVisibleTypeAnnotations:
METHOD_FORMAL_PARAMETER
org.checkerframework.checker.nullness.qual.Nullable()
MethodParameters:
Name Flags
comparator
e
count
result
com.google.common.collect.TreeMultiset$AvlNode<E> setCount(java.util.Comparator<? super E>, E, int, int, int[]);
descriptor: (Ljava/util/Comparator;Ljava/lang/Object;II[I)Lcom/google/common/collect/TreeMultiset$AvlNode;
flags: (0x0000)
Code:
stack=7, locals=8, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 1
aload 2
aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.elem:Ljava/lang/Object;
invokeinterface java.util.Comparator.compare:(Ljava/lang/Object;Ljava/lang/Object;)I
istore 6
start local 6 1: iload 6
ifge 17
2: aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.left:Lcom/google/common/collect/TreeMultiset$AvlNode;
astore 7
start local 7 3: aload 7
ifnonnull 8
4: aload 5
iconst_0
iconst_0
iastore
5: iload 3
ifne 7
iload 4
ifle 7
6: aload 0
aload 2
iload 4
invokevirtual com.google.common.collect.TreeMultiset$AvlNode.addLeftChild:(Ljava/lang/Object;I)Lcom/google/common/collect/TreeMultiset$AvlNode;
areturn
7: StackMap locals: int com.google.common.collect.TreeMultiset$AvlNode
StackMap stack:
aload 0
areturn
8: StackMap locals:
StackMap stack:
aload 0
aload 7
aload 1
aload 2
iload 3
iload 4
aload 5
invokevirtual com.google.common.collect.TreeMultiset$AvlNode.setCount:(Ljava/util/Comparator;Ljava/lang/Object;II[I)Lcom/google/common/collect/TreeMultiset$AvlNode;
putfield com.google.common.collect.TreeMultiset$AvlNode.left:Lcom/google/common/collect/TreeMultiset$AvlNode;
9: aload 5
iconst_0
iaload
iload 3
if_icmpne 16
10: iload 4
ifne 13
aload 5
iconst_0
iaload
ifeq 13
11: aload 0
dup
getfield com.google.common.collect.TreeMultiset$AvlNode.distinctElements:I
iconst_1
isub
putfield com.google.common.collect.TreeMultiset$AvlNode.distinctElements:I
12: goto 15
StackMap locals:
StackMap stack:
13: iload 4
ifle 15
aload 5
iconst_0
iaload
ifne 15
14: aload 0
dup
getfield com.google.common.collect.TreeMultiset$AvlNode.distinctElements:I
iconst_1
iadd
putfield com.google.common.collect.TreeMultiset$AvlNode.distinctElements:I
15: StackMap locals:
StackMap stack:
aload 0
dup
getfield com.google.common.collect.TreeMultiset$AvlNode.totalCount:J
iload 4
aload 5
iconst_0
iaload
isub
i2l
ladd
putfield com.google.common.collect.TreeMultiset$AvlNode.totalCount:J
16: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.google.common.collect.TreeMultiset$AvlNode.rebalance:()Lcom/google/common/collect/TreeMultiset$AvlNode;
areturn
end local 7 17: StackMap locals:
StackMap stack:
iload 6
ifle 33
18: aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.right:Lcom/google/common/collect/TreeMultiset$AvlNode;
astore 7
start local 7 19: aload 7
ifnonnull 24
20: aload 5
iconst_0
iconst_0
iastore
21: iload 3
ifne 23
iload 4
ifle 23
22: aload 0
aload 2
iload 4
invokevirtual com.google.common.collect.TreeMultiset$AvlNode.addRightChild:(Ljava/lang/Object;I)Lcom/google/common/collect/TreeMultiset$AvlNode;
areturn
23: StackMap locals: com.google.common.collect.TreeMultiset$AvlNode
StackMap stack:
aload 0
areturn
24: StackMap locals:
StackMap stack:
aload 0
aload 7
aload 1
aload 2
iload 3
iload 4
aload 5
invokevirtual com.google.common.collect.TreeMultiset$AvlNode.setCount:(Ljava/util/Comparator;Ljava/lang/Object;II[I)Lcom/google/common/collect/TreeMultiset$AvlNode;
putfield com.google.common.collect.TreeMultiset$AvlNode.right:Lcom/google/common/collect/TreeMultiset$AvlNode;
25: aload 5
iconst_0
iaload
iload 3
if_icmpne 32
26: iload 4
ifne 29
aload 5
iconst_0
iaload
ifeq 29
27: aload 0
dup
getfield com.google.common.collect.TreeMultiset$AvlNode.distinctElements:I
iconst_1
isub
putfield com.google.common.collect.TreeMultiset$AvlNode.distinctElements:I
28: goto 31
StackMap locals:
StackMap stack:
29: iload 4
ifle 31
aload 5
iconst_0
iaload
ifne 31
30: aload 0
dup
getfield com.google.common.collect.TreeMultiset$AvlNode.distinctElements:I
iconst_1
iadd
putfield com.google.common.collect.TreeMultiset$AvlNode.distinctElements:I
31: StackMap locals:
StackMap stack:
aload 0
dup
getfield com.google.common.collect.TreeMultiset$AvlNode.totalCount:J
iload 4
aload 5
iconst_0
iaload
isub
i2l
ladd
putfield com.google.common.collect.TreeMultiset$AvlNode.totalCount:J
32: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.google.common.collect.TreeMultiset$AvlNode.rebalance:()Lcom/google/common/collect/TreeMultiset$AvlNode;
areturn
end local 7 33: StackMap locals:
StackMap stack:
aload 5
iconst_0
aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.elemCount:I
iastore
34: iload 3
aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.elemCount:I
if_icmpne 39
35: iload 4
ifne 37
36: aload 0
invokevirtual com.google.common.collect.TreeMultiset$AvlNode.deleteMe:()Lcom/google/common/collect/TreeMultiset$AvlNode;
areturn
37: StackMap locals:
StackMap stack:
aload 0
dup
getfield com.google.common.collect.TreeMultiset$AvlNode.totalCount:J
iload 4
aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.elemCount:I
isub
i2l
ladd
putfield com.google.common.collect.TreeMultiset$AvlNode.totalCount:J
38: aload 0
iload 4
putfield com.google.common.collect.TreeMultiset$AvlNode.elemCount:I
39: StackMap locals:
StackMap stack:
aload 0
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 40 0 this Lcom/google/common/collect/TreeMultiset$AvlNode<TE;>;
0 40 1 comparator Ljava/util/Comparator<-TE;>;
0 40 2 e TE;
0 40 3 expectedCount I
0 40 4 newCount I
0 40 5 result [I
1 40 6 cmp I
3 17 7 initLeft Lcom/google/common/collect/TreeMultiset$AvlNode<TE;>;
19 33 7 initRight Lcom/google/common/collect/TreeMultiset$AvlNode<TE;>;
Signature: (Ljava/util/Comparator<-TE;>;TE;II[I)Lcom/google/common/collect/TreeMultiset$AvlNode<TE;>;
RuntimeVisibleTypeAnnotations:
METHOD_FORMAL_PARAMETER
org.checkerframework.checker.nullness.qual.Nullable()
MethodParameters:
Name Flags
comparator
e
expectedCount
newCount
result
private com.google.common.collect.TreeMultiset$AvlNode<E> deleteMe();
descriptor: ()Lcom/google/common/collect/TreeMultiset$AvlNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=1
start local 0 0: aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.elemCount:I
istore 1
start local 1 1: aload 0
iconst_0
putfield com.google.common.collect.TreeMultiset$AvlNode.elemCount:I
2: aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.pred:Lcom/google/common/collect/TreeMultiset$AvlNode;
aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.succ:Lcom/google/common/collect/TreeMultiset$AvlNode;
invokestatic com.google.common.collect.TreeMultiset.successor:(Lcom/google/common/collect/TreeMultiset$AvlNode;Lcom/google/common/collect/TreeMultiset$AvlNode;)V
3: aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.left:Lcom/google/common/collect/TreeMultiset$AvlNode;
ifnonnull 5
4: aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.right:Lcom/google/common/collect/TreeMultiset$AvlNode;
areturn
5: StackMap locals: int
StackMap stack:
aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.right:Lcom/google/common/collect/TreeMultiset$AvlNode;
ifnonnull 7
6: aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.left:Lcom/google/common/collect/TreeMultiset$AvlNode;
areturn
7: StackMap locals:
StackMap stack:
aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.left:Lcom/google/common/collect/TreeMultiset$AvlNode;
getfield com.google.common.collect.TreeMultiset$AvlNode.height:I
aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.right:Lcom/google/common/collect/TreeMultiset$AvlNode;
getfield com.google.common.collect.TreeMultiset$AvlNode.height:I
if_icmplt 14
8: aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.pred:Lcom/google/common/collect/TreeMultiset$AvlNode;
astore 2
start local 2 9: aload 2
aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.left:Lcom/google/common/collect/TreeMultiset$AvlNode;
aload 2
invokevirtual com.google.common.collect.TreeMultiset$AvlNode.removeMax:(Lcom/google/common/collect/TreeMultiset$AvlNode;)Lcom/google/common/collect/TreeMultiset$AvlNode;
putfield com.google.common.collect.TreeMultiset$AvlNode.left:Lcom/google/common/collect/TreeMultiset$AvlNode;
10: aload 2
aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.right:Lcom/google/common/collect/TreeMultiset$AvlNode;
putfield com.google.common.collect.TreeMultiset$AvlNode.right:Lcom/google/common/collect/TreeMultiset$AvlNode;
11: aload 2
aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.distinctElements:I
iconst_1
isub
putfield com.google.common.collect.TreeMultiset$AvlNode.distinctElements:I
12: aload 2
aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.totalCount:J
iload 1
i2l
lsub
putfield com.google.common.collect.TreeMultiset$AvlNode.totalCount:J
13: aload 2
invokevirtual com.google.common.collect.TreeMultiset$AvlNode.rebalance:()Lcom/google/common/collect/TreeMultiset$AvlNode;
areturn
end local 2 14: StackMap locals:
StackMap stack:
aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.succ:Lcom/google/common/collect/TreeMultiset$AvlNode;
astore 2
start local 2 15: aload 2
aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.right:Lcom/google/common/collect/TreeMultiset$AvlNode;
aload 2
invokevirtual com.google.common.collect.TreeMultiset$AvlNode.removeMin:(Lcom/google/common/collect/TreeMultiset$AvlNode;)Lcom/google/common/collect/TreeMultiset$AvlNode;
putfield com.google.common.collect.TreeMultiset$AvlNode.right:Lcom/google/common/collect/TreeMultiset$AvlNode;
16: aload 2
aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.left:Lcom/google/common/collect/TreeMultiset$AvlNode;
putfield com.google.common.collect.TreeMultiset$AvlNode.left:Lcom/google/common/collect/TreeMultiset$AvlNode;
17: aload 2
aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.distinctElements:I
iconst_1
isub
putfield com.google.common.collect.TreeMultiset$AvlNode.distinctElements:I
18: aload 2
aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.totalCount:J
iload 1
i2l
lsub
putfield com.google.common.collect.TreeMultiset$AvlNode.totalCount:J
19: aload 2
invokevirtual com.google.common.collect.TreeMultiset$AvlNode.rebalance:()Lcom/google/common/collect/TreeMultiset$AvlNode;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lcom/google/common/collect/TreeMultiset$AvlNode<TE;>;
1 20 1 oldElemCount I
9 14 2 newTop Lcom/google/common/collect/TreeMultiset$AvlNode<TE;>;
15 20 2 newTop Lcom/google/common/collect/TreeMultiset$AvlNode<TE;>;
Signature: ()Lcom/google/common/collect/TreeMultiset$AvlNode<TE;>;
private com.google.common.collect.TreeMultiset$AvlNode<E> removeMin(com.google.common.collect.TreeMultiset$AvlNode<E>);
descriptor: (Lcom/google/common/collect/TreeMultiset$AvlNode;)Lcom/google/common/collect/TreeMultiset$AvlNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.left:Lcom/google/common/collect/TreeMultiset$AvlNode;
ifnonnull 2
1: aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.right:Lcom/google/common/collect/TreeMultiset$AvlNode;
areturn
2: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.left:Lcom/google/common/collect/TreeMultiset$AvlNode;
aload 1
invokevirtual com.google.common.collect.TreeMultiset$AvlNode.removeMin:(Lcom/google/common/collect/TreeMultiset$AvlNode;)Lcom/google/common/collect/TreeMultiset$AvlNode;
putfield com.google.common.collect.TreeMultiset$AvlNode.left:Lcom/google/common/collect/TreeMultiset$AvlNode;
3: aload 0
dup
getfield com.google.common.collect.TreeMultiset$AvlNode.distinctElements:I
iconst_1
isub
putfield com.google.common.collect.TreeMultiset$AvlNode.distinctElements:I
4: aload 0
dup
getfield com.google.common.collect.TreeMultiset$AvlNode.totalCount:J
aload 1
getfield com.google.common.collect.TreeMultiset$AvlNode.elemCount:I
i2l
lsub
putfield com.google.common.collect.TreeMultiset$AvlNode.totalCount:J
5: aload 0
invokevirtual com.google.common.collect.TreeMultiset$AvlNode.rebalance:()Lcom/google/common/collect/TreeMultiset$AvlNode;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/google/common/collect/TreeMultiset$AvlNode<TE;>;
0 6 1 node Lcom/google/common/collect/TreeMultiset$AvlNode<TE;>;
Signature: (Lcom/google/common/collect/TreeMultiset$AvlNode<TE;>;)Lcom/google/common/collect/TreeMultiset$AvlNode<TE;>;
MethodParameters:
Name Flags
node
private com.google.common.collect.TreeMultiset$AvlNode<E> removeMax(com.google.common.collect.TreeMultiset$AvlNode<E>);
descriptor: (Lcom/google/common/collect/TreeMultiset$AvlNode;)Lcom/google/common/collect/TreeMultiset$AvlNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.right:Lcom/google/common/collect/TreeMultiset$AvlNode;
ifnonnull 2
1: aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.left:Lcom/google/common/collect/TreeMultiset$AvlNode;
areturn
2: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.right:Lcom/google/common/collect/TreeMultiset$AvlNode;
aload 1
invokevirtual com.google.common.collect.TreeMultiset$AvlNode.removeMax:(Lcom/google/common/collect/TreeMultiset$AvlNode;)Lcom/google/common/collect/TreeMultiset$AvlNode;
putfield com.google.common.collect.TreeMultiset$AvlNode.right:Lcom/google/common/collect/TreeMultiset$AvlNode;
3: aload 0
dup
getfield com.google.common.collect.TreeMultiset$AvlNode.distinctElements:I
iconst_1
isub
putfield com.google.common.collect.TreeMultiset$AvlNode.distinctElements:I
4: aload 0
dup
getfield com.google.common.collect.TreeMultiset$AvlNode.totalCount:J
aload 1
getfield com.google.common.collect.TreeMultiset$AvlNode.elemCount:I
i2l
lsub
putfield com.google.common.collect.TreeMultiset$AvlNode.totalCount:J
5: aload 0
invokevirtual com.google.common.collect.TreeMultiset$AvlNode.rebalance:()Lcom/google/common/collect/TreeMultiset$AvlNode;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/google/common/collect/TreeMultiset$AvlNode<TE;>;
0 6 1 node Lcom/google/common/collect/TreeMultiset$AvlNode<TE;>;
Signature: (Lcom/google/common/collect/TreeMultiset$AvlNode<TE;>;)Lcom/google/common/collect/TreeMultiset$AvlNode<TE;>;
MethodParameters:
Name Flags
node
private void recomputeMultiset();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
1: iconst_1
aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.left:Lcom/google/common/collect/TreeMultiset$AvlNode;
invokestatic com.google.common.collect.TreeMultiset.distinctElements:(Lcom/google/common/collect/TreeMultiset$AvlNode;)I
iadd
aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.right:Lcom/google/common/collect/TreeMultiset$AvlNode;
invokestatic com.google.common.collect.TreeMultiset.distinctElements:(Lcom/google/common/collect/TreeMultiset$AvlNode;)I
iadd
2: putfield com.google.common.collect.TreeMultiset$AvlNode.distinctElements:I
3: aload 0
aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.elemCount:I
i2l
aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.left:Lcom/google/common/collect/TreeMultiset$AvlNode;
invokestatic com.google.common.collect.TreeMultiset$AvlNode.totalCount:(Lcom/google/common/collect/TreeMultiset$AvlNode;)J
ladd
aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.right:Lcom/google/common/collect/TreeMultiset$AvlNode;
invokestatic com.google.common.collect.TreeMultiset$AvlNode.totalCount:(Lcom/google/common/collect/TreeMultiset$AvlNode;)J
ladd
putfield com.google.common.collect.TreeMultiset$AvlNode.totalCount:J
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/google/common/collect/TreeMultiset$AvlNode<TE;>;
private void recomputeHeight();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.left:Lcom/google/common/collect/TreeMultiset$AvlNode;
invokestatic com.google.common.collect.TreeMultiset$AvlNode.height:(Lcom/google/common/collect/TreeMultiset$AvlNode;)I
aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.right:Lcom/google/common/collect/TreeMultiset$AvlNode;
invokestatic com.google.common.collect.TreeMultiset$AvlNode.height:(Lcom/google/common/collect/TreeMultiset$AvlNode;)I
invokestatic java.lang.Math.max:(II)I
iadd
putfield com.google.common.collect.TreeMultiset$AvlNode.height:I
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/google/common/collect/TreeMultiset$AvlNode<TE;>;
private void recompute();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.google.common.collect.TreeMultiset$AvlNode.recomputeMultiset:()V
1: aload 0
invokevirtual com.google.common.collect.TreeMultiset$AvlNode.recomputeHeight:()V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/google/common/collect/TreeMultiset$AvlNode<TE;>;
private com.google.common.collect.TreeMultiset$AvlNode<E> rebalance();
descriptor: ()Lcom/google/common/collect/TreeMultiset$AvlNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.google.common.collect.TreeMultiset$AvlNode.balanceFactor:()I
tableswitch { // -2 - 2
-2: 1
-1: 7
0: 7
1: 7
2: 4
default: 7
}
1: StackMap locals:
StackMap stack:
aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.right:Lcom/google/common/collect/TreeMultiset$AvlNode;
invokevirtual com.google.common.collect.TreeMultiset$AvlNode.balanceFactor:()I
ifle 3
2: aload 0
aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.right:Lcom/google/common/collect/TreeMultiset$AvlNode;
invokevirtual com.google.common.collect.TreeMultiset$AvlNode.rotateRight:()Lcom/google/common/collect/TreeMultiset$AvlNode;
putfield com.google.common.collect.TreeMultiset$AvlNode.right:Lcom/google/common/collect/TreeMultiset$AvlNode;
3: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.google.common.collect.TreeMultiset$AvlNode.rotateLeft:()Lcom/google/common/collect/TreeMultiset$AvlNode;
areturn
4: StackMap locals:
StackMap stack:
aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.left:Lcom/google/common/collect/TreeMultiset$AvlNode;
invokevirtual com.google.common.collect.TreeMultiset$AvlNode.balanceFactor:()I
ifge 6
5: aload 0
aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.left:Lcom/google/common/collect/TreeMultiset$AvlNode;
invokevirtual com.google.common.collect.TreeMultiset$AvlNode.rotateLeft:()Lcom/google/common/collect/TreeMultiset$AvlNode;
putfield com.google.common.collect.TreeMultiset$AvlNode.left:Lcom/google/common/collect/TreeMultiset$AvlNode;
6: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.google.common.collect.TreeMultiset$AvlNode.rotateRight:()Lcom/google/common/collect/TreeMultiset$AvlNode;
areturn
7: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.google.common.collect.TreeMultiset$AvlNode.recomputeHeight:()V
8: aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/google/common/collect/TreeMultiset$AvlNode<TE;>;
Signature: ()Lcom/google/common/collect/TreeMultiset$AvlNode<TE;>;
private int balanceFactor();
descriptor: ()I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.left:Lcom/google/common/collect/TreeMultiset$AvlNode;
invokestatic com.google.common.collect.TreeMultiset$AvlNode.height:(Lcom/google/common/collect/TreeMultiset$AvlNode;)I
aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.right:Lcom/google/common/collect/TreeMultiset$AvlNode;
invokestatic com.google.common.collect.TreeMultiset$AvlNode.height:(Lcom/google/common/collect/TreeMultiset$AvlNode;)I
isub
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/google/common/collect/TreeMultiset$AvlNode<TE;>;
private com.google.common.collect.TreeMultiset$AvlNode<E> rotateLeft();
descriptor: ()Lcom/google/common/collect/TreeMultiset$AvlNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.right:Lcom/google/common/collect/TreeMultiset$AvlNode;
ifnull 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: invokestatic com.google.common.base.Preconditions.checkState:(Z)V
3: aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.right:Lcom/google/common/collect/TreeMultiset$AvlNode;
astore 1
start local 1 4: aload 0
aload 1
getfield com.google.common.collect.TreeMultiset$AvlNode.left:Lcom/google/common/collect/TreeMultiset$AvlNode;
putfield com.google.common.collect.TreeMultiset$AvlNode.right:Lcom/google/common/collect/TreeMultiset$AvlNode;
5: aload 1
aload 0
putfield com.google.common.collect.TreeMultiset$AvlNode.left:Lcom/google/common/collect/TreeMultiset$AvlNode;
6: aload 1
aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.totalCount:J
putfield com.google.common.collect.TreeMultiset$AvlNode.totalCount:J
7: aload 1
aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.distinctElements:I
putfield com.google.common.collect.TreeMultiset$AvlNode.distinctElements:I
8: aload 0
invokevirtual com.google.common.collect.TreeMultiset$AvlNode.recompute:()V
9: aload 1
invokevirtual com.google.common.collect.TreeMultiset$AvlNode.recomputeHeight:()V
10: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/google/common/collect/TreeMultiset$AvlNode<TE;>;
4 11 1 newTop Lcom/google/common/collect/TreeMultiset$AvlNode<TE;>;
Signature: ()Lcom/google/common/collect/TreeMultiset$AvlNode<TE;>;
private com.google.common.collect.TreeMultiset$AvlNode<E> rotateRight();
descriptor: ()Lcom/google/common/collect/TreeMultiset$AvlNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.left:Lcom/google/common/collect/TreeMultiset$AvlNode;
ifnull 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: invokestatic com.google.common.base.Preconditions.checkState:(Z)V
3: aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.left:Lcom/google/common/collect/TreeMultiset$AvlNode;
astore 1
start local 1 4: aload 0
aload 1
getfield com.google.common.collect.TreeMultiset$AvlNode.right:Lcom/google/common/collect/TreeMultiset$AvlNode;
putfield com.google.common.collect.TreeMultiset$AvlNode.left:Lcom/google/common/collect/TreeMultiset$AvlNode;
5: aload 1
aload 0
putfield com.google.common.collect.TreeMultiset$AvlNode.right:Lcom/google/common/collect/TreeMultiset$AvlNode;
6: aload 1
aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.totalCount:J
putfield com.google.common.collect.TreeMultiset$AvlNode.totalCount:J
7: aload 1
aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.distinctElements:I
putfield com.google.common.collect.TreeMultiset$AvlNode.distinctElements:I
8: aload 0
invokevirtual com.google.common.collect.TreeMultiset$AvlNode.recompute:()V
9: aload 1
invokevirtual com.google.common.collect.TreeMultiset$AvlNode.recomputeHeight:()V
10: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/google/common/collect/TreeMultiset$AvlNode<TE;>;
4 11 1 newTop Lcom/google/common/collect/TreeMultiset$AvlNode<TE;>;
Signature: ()Lcom/google/common/collect/TreeMultiset$AvlNode<TE;>;
private static long totalCount(com.google.common.collect.TreeMultiset$AvlNode<?>);
descriptor: (Lcom/google/common/collect/TreeMultiset$AvlNode;)J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ifnonnull 1
lconst_0
goto 2
StackMap locals:
StackMap stack:
1: aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.totalCount:J
StackMap locals:
StackMap stack: long
2: lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 node Lcom/google/common/collect/TreeMultiset$AvlNode<*>;
Signature: (Lcom/google/common/collect/TreeMultiset$AvlNode<*>;)J
RuntimeVisibleTypeAnnotations:
METHOD_FORMAL_PARAMETER
org.checkerframework.checker.nullness.qual.Nullable()
MethodParameters:
Name Flags
node
private static int height(com.google.common.collect.TreeMultiset$AvlNode<?>);
descriptor: (Lcom/google/common/collect/TreeMultiset$AvlNode;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
ifnonnull 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.height:I
StackMap locals:
StackMap stack: int
2: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 node Lcom/google/common/collect/TreeMultiset$AvlNode<*>;
Signature: (Lcom/google/common/collect/TreeMultiset$AvlNode<*>;)I
RuntimeVisibleTypeAnnotations:
METHOD_FORMAL_PARAMETER
org.checkerframework.checker.nullness.qual.Nullable()
MethodParameters:
Name Flags
node
private com.google.common.collect.TreeMultiset$AvlNode<E> ceiling(java.util.Comparator<? super E>, E);
descriptor: (Ljava/util/Comparator;Ljava/lang/Object;)Lcom/google/common/collect/TreeMultiset$AvlNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 2
aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.elem:Ljava/lang/Object;
invokeinterface java.util.Comparator.compare:(Ljava/lang/Object;Ljava/lang/Object;)I
istore 3
start local 3 1: iload 3
ifge 5
2: aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.left:Lcom/google/common/collect/TreeMultiset$AvlNode;
ifnonnull 3
aload 0
goto 4
StackMap locals: int
StackMap stack:
3: aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.left:Lcom/google/common/collect/TreeMultiset$AvlNode;
aload 1
aload 2
invokevirtual com.google.common.collect.TreeMultiset$AvlNode.ceiling:(Ljava/util/Comparator;Ljava/lang/Object;)Lcom/google/common/collect/TreeMultiset$AvlNode;
aload 0
invokestatic com.google.common.base.MoreObjects.firstNonNull:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.google.common.collect.TreeMultiset$AvlNode
StackMap locals:
StackMap stack: com.google.common.collect.TreeMultiset$AvlNode
4: areturn
5: StackMap locals:
StackMap stack:
iload 3
ifne 7
6: aload 0
areturn
7: StackMap locals:
StackMap stack:
aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.right:Lcom/google/common/collect/TreeMultiset$AvlNode;
ifnonnull 8
aconst_null
goto 9
StackMap locals:
StackMap stack:
8: aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.right:Lcom/google/common/collect/TreeMultiset$AvlNode;
aload 1
aload 2
invokevirtual com.google.common.collect.TreeMultiset$AvlNode.ceiling:(Ljava/util/Comparator;Ljava/lang/Object;)Lcom/google/common/collect/TreeMultiset$AvlNode;
StackMap locals:
StackMap stack: com.google.common.collect.TreeMultiset$AvlNode
9: areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/google/common/collect/TreeMultiset$AvlNode<TE;>;
0 10 1 comparator Ljava/util/Comparator<-TE;>;
0 10 2 e TE;
1 10 3 cmp I
Signature: (Ljava/util/Comparator<-TE;>;TE;)Lcom/google/common/collect/TreeMultiset$AvlNode<TE;>;
RuntimeVisibleTypeAnnotations:
METHOD_RETURN
org.checkerframework.checker.nullness.qual.Nullable()
MethodParameters:
Name Flags
comparator
e
private com.google.common.collect.TreeMultiset$AvlNode<E> floor(java.util.Comparator<? super E>, E);
descriptor: (Ljava/util/Comparator;Ljava/lang/Object;)Lcom/google/common/collect/TreeMultiset$AvlNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 2
aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.elem:Ljava/lang/Object;
invokeinterface java.util.Comparator.compare:(Ljava/lang/Object;Ljava/lang/Object;)I
istore 3
start local 3 1: iload 3
ifle 5
2: aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.right:Lcom/google/common/collect/TreeMultiset$AvlNode;
ifnonnull 3
aload 0
goto 4
StackMap locals: int
StackMap stack:
3: aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.right:Lcom/google/common/collect/TreeMultiset$AvlNode;
aload 1
aload 2
invokevirtual com.google.common.collect.TreeMultiset$AvlNode.floor:(Ljava/util/Comparator;Ljava/lang/Object;)Lcom/google/common/collect/TreeMultiset$AvlNode;
aload 0
invokestatic com.google.common.base.MoreObjects.firstNonNull:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.google.common.collect.TreeMultiset$AvlNode
StackMap locals:
StackMap stack: com.google.common.collect.TreeMultiset$AvlNode
4: areturn
5: StackMap locals:
StackMap stack:
iload 3
ifne 7
6: aload 0
areturn
7: StackMap locals:
StackMap stack:
aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.left:Lcom/google/common/collect/TreeMultiset$AvlNode;
ifnonnull 8
aconst_null
goto 9
StackMap locals:
StackMap stack:
8: aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.left:Lcom/google/common/collect/TreeMultiset$AvlNode;
aload 1
aload 2
invokevirtual com.google.common.collect.TreeMultiset$AvlNode.floor:(Ljava/util/Comparator;Ljava/lang/Object;)Lcom/google/common/collect/TreeMultiset$AvlNode;
StackMap locals:
StackMap stack: com.google.common.collect.TreeMultiset$AvlNode
9: areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/google/common/collect/TreeMultiset$AvlNode<TE;>;
0 10 1 comparator Ljava/util/Comparator<-TE;>;
0 10 2 e TE;
1 10 3 cmp I
Signature: (Ljava/util/Comparator<-TE;>;TE;)Lcom/google/common/collect/TreeMultiset$AvlNode<TE;>;
RuntimeVisibleTypeAnnotations:
METHOD_RETURN
org.checkerframework.checker.nullness.qual.Nullable()
MethodParameters:
Name Flags
comparator
e
E getElement();
descriptor: ()Ljava/lang/Object;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.elem:Ljava/lang/Object;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/google/common/collect/TreeMultiset$AvlNode<TE;>;
Signature: ()TE;
int getCount();
descriptor: ()I
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.google.common.collect.TreeMultiset$AvlNode.elemCount:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/google/common/collect/TreeMultiset$AvlNode<TE;>;
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.google.common.collect.TreeMultiset$AvlNode.getElement:()Ljava/lang/Object;
aload 0
invokevirtual com.google.common.collect.TreeMultiset$AvlNode.getCount:()I
invokestatic com.google.common.collect.Multisets.immutableEntry:(Ljava/lang/Object;I)Lcom/google/common/collect/Multiset$Entry;
invokeinterface com.google.common.collect.Multiset$Entry.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/google/common/collect/TreeMultiset$AvlNode<TE;>;
}
Signature: <E:Ljava/lang/Object;>Ljava/lang/Object;
SourceFile: "TreeMultiset.java"
NestHost: com.google.common.collect.TreeMultiset
InnerClasses:
public abstract Entry = com.google.common.collect.Multiset$Entry of com.google.common.collect.Multiset
private final AvlNode = com.google.common.collect.TreeMultiset$AvlNode of com.google.common.collect.TreeMultiset