class com.mongodb.internal.connection.IndexMap$RangeBased extends com.mongodb.internal.connection.IndexMap
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.mongodb.internal.connection.IndexMap$RangeBased
super_class: com.mongodb.internal.connection.IndexMap
{
private int startIndex;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int count;
descriptor: I
flags: (0x0002) ACC_PRIVATE
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial com.mongodb.internal.connection.IndexMap.<init>:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/mongodb/internal/connection/IndexMap$RangeBased;
void <init>(int, int);
descriptor: (II)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial com.mongodb.internal.connection.IndexMap.<init>:()V
1: ldc "startIndex"
iload 1
iflt 2
iconst_1
goto 3
StackMap locals: com.mongodb.internal.connection.IndexMap$RangeBased int int
StackMap stack: java.lang.String
2: iconst_0
StackMap locals: com.mongodb.internal.connection.IndexMap$RangeBased int int
StackMap stack: java.lang.String int
3: invokestatic com.mongodb.assertions.Assertions.isTrueArgument:(Ljava/lang/String;Z)V
4: ldc "count"
iload 2
ifle 5
iconst_1
goto 6
StackMap locals:
StackMap stack: java.lang.String
5: iconst_0
StackMap locals: com.mongodb.internal.connection.IndexMap$RangeBased int int
StackMap stack: java.lang.String int
6: invokestatic com.mongodb.assertions.Assertions.isTrueArgument:(Ljava/lang/String;Z)V
7: aload 0
iload 1
putfield com.mongodb.internal.connection.IndexMap$RangeBased.startIndex:I
8: aload 0
iload 2
putfield com.mongodb.internal.connection.IndexMap$RangeBased.count:I
9: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/mongodb/internal/connection/IndexMap$RangeBased;
0 10 1 startIndex I
0 10 2 count I
MethodParameters:
Name Flags
startIndex final
count final
public com.mongodb.internal.connection.IndexMap add(int, int);
descriptor: (II)Lcom/mongodb/internal/connection/IndexMap;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.mongodb.internal.connection.IndexMap$RangeBased.count:I
ifne 4
1: aload 0
iload 2
putfield com.mongodb.internal.connection.IndexMap$RangeBased.startIndex:I
2: aload 0
iconst_1
putfield com.mongodb.internal.connection.IndexMap$RangeBased.count:I
3: aload 0
areturn
4: StackMap locals:
StackMap stack:
iload 2
aload 0
getfield com.mongodb.internal.connection.IndexMap$RangeBased.startIndex:I
aload 0
getfield com.mongodb.internal.connection.IndexMap$RangeBased.count:I
iadd
if_icmpne 7
5: aload 0
dup
getfield com.mongodb.internal.connection.IndexMap$RangeBased.count:I
iconst_1
iadd
putfield com.mongodb.internal.connection.IndexMap$RangeBased.count:I
6: aload 0
areturn
7: StackMap locals:
StackMap stack:
new com.mongodb.internal.connection.IndexMap$HashBased
dup
aload 0
getfield com.mongodb.internal.connection.IndexMap$RangeBased.startIndex:I
aload 0
getfield com.mongodb.internal.connection.IndexMap$RangeBased.count:I
invokespecial com.mongodb.internal.connection.IndexMap$HashBased.<init>:(II)V
astore 3
start local 3 8: aload 3
iload 1
iload 2
invokevirtual com.mongodb.internal.connection.IndexMap.add:(II)Lcom/mongodb/internal/connection/IndexMap;
pop
9: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/mongodb/internal/connection/IndexMap$RangeBased;
0 10 1 index I
0 10 2 originalIndex I
8 10 3 hashBasedMap Lcom/mongodb/internal/connection/IndexMap;
MethodParameters:
Name Flags
index final
originalIndex final
public int map(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: iload 1
ifge 2
1: new com.mongodb.MongoInternalException
dup
new java.lang.StringBuilder
dup
ldc "no mapping found for index "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial com.mongodb.MongoInternalException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
iload 1
aload 0
getfield com.mongodb.internal.connection.IndexMap$RangeBased.count:I
if_icmplt 4
3: new com.mongodb.MongoInternalException
dup
ldc "index should not be greater than or equal to count"
invokespecial com.mongodb.MongoInternalException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
getfield com.mongodb.internal.connection.IndexMap$RangeBased.startIndex:I
iload 1
iadd
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/mongodb/internal/connection/IndexMap$RangeBased;
0 5 1 index I
MethodParameters:
Name Flags
index final
}
SourceFile: "IndexMap.java"
NestHost: com.mongodb.internal.connection.IndexMap
InnerClasses:
private HashBased = com.mongodb.internal.connection.IndexMap$HashBased of com.mongodb.internal.connection.IndexMap
private RangeBased = com.mongodb.internal.connection.IndexMap$RangeBased of com.mongodb.internal.connection.IndexMap