class com.mongodb.internal.connection.CompositeByteBuf implements org.bson.ByteBuf
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.mongodb.internal.connection.CompositeByteBuf
super_class: java.lang.Object
{
private final java.util.List<com.mongodb.internal.connection.CompositeByteBuf$Component> components;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Lcom/mongodb/internal/connection/CompositeByteBuf$Component;>;
private final java.util.concurrent.atomic.AtomicInteger referenceCount;
descriptor: Ljava/util/concurrent/atomic/AtomicInteger;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private int position;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int limit;
descriptor: I
flags: (0x0002) ACC_PRIVATE
void <init>(java.util.List<org.bson.ByteBuf>);
descriptor: (Ljava/util/List;)V
flags: (0x0000)
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.concurrent.atomic.AtomicInteger
dup
iconst_1
invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:(I)V
putfield com.mongodb.internal.connection.CompositeByteBuf.referenceCount:Ljava/util/concurrent/atomic/AtomicInteger;
2: ldc "buffers"
aload 1
invokestatic org.bson.assertions.Assertions.notNull:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
pop
3: ldc "buffer list not empty"
aload 1
invokeinterface java.util.List.isEmpty:()Z
ifeq 4
iconst_0
goto 5
StackMap locals: com.mongodb.internal.connection.CompositeByteBuf java.util.List
StackMap stack: java.lang.String
4: iconst_1
StackMap locals: com.mongodb.internal.connection.CompositeByteBuf java.util.List
StackMap stack: java.lang.String int
5: invokestatic org.bson.assertions.Assertions.isTrueArgument:(Ljava/lang/String;Z)V
6: aload 0
new java.util.ArrayList
dup
aload 1
invokeinterface java.util.List.size:()I
invokespecial java.util.ArrayList.<init>:(I)V
putfield com.mongodb.internal.connection.CompositeByteBuf.components:Ljava/util/List;
7: iconst_0
istore 2
start local 2 8: aload 1
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 13
StackMap locals: com.mongodb.internal.connection.CompositeByteBuf java.util.List int top java.util.Iterator
StackMap stack:
9: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.bson.ByteBuf
astore 3
start local 3 10: new com.mongodb.internal.connection.CompositeByteBuf$Component
dup
aload 3
invokeinterface org.bson.ByteBuf.asReadOnly:()Lorg/bson/ByteBuf;
getstatic java.nio.ByteOrder.LITTLE_ENDIAN:Ljava/nio/ByteOrder;
invokeinterface org.bson.ByteBuf.order:(Ljava/nio/ByteOrder;)Lorg/bson/ByteBuf;
iload 2
invokespecial com.mongodb.internal.connection.CompositeByteBuf$Component.<init>:(Lorg/bson/ByteBuf;I)V
astore 5
start local 5 11: aload 0
getfield com.mongodb.internal.connection.CompositeByteBuf.components:Ljava/util/List;
aload 5
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
12: aload 5
getfield com.mongodb.internal.connection.CompositeByteBuf$Component.endOffset:I
istore 2
end local 5 end local 3 13: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 9
14: aload 0
aload 0
getfield com.mongodb.internal.connection.CompositeByteBuf.components:Ljava/util/List;
aload 0
getfield com.mongodb.internal.connection.CompositeByteBuf.components:Ljava/util/List;
invokeinterface java.util.List.size:()I
iconst_1
isub
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.mongodb.internal.connection.CompositeByteBuf$Component
getfield com.mongodb.internal.connection.CompositeByteBuf$Component.endOffset:I
putfield com.mongodb.internal.connection.CompositeByteBuf.limit:I
15: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lcom/mongodb/internal/connection/CompositeByteBuf;
0 16 1 buffers Ljava/util/List<Lorg/bson/ByteBuf;>;
8 16 2 offset I
10 13 3 cur Lorg/bson/ByteBuf;
11 13 5 component Lcom/mongodb/internal/connection/CompositeByteBuf$Component;
Signature: (Ljava/util/List<Lorg/bson/ByteBuf;>;)V
MethodParameters:
Name Flags
buffers final
void <init>(com.mongodb.internal.connection.CompositeByteBuf);
descriptor: (Lcom/mongodb/internal/connection/CompositeByteBuf;)V
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.concurrent.atomic.AtomicInteger
dup
iconst_1
invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:(I)V
putfield com.mongodb.internal.connection.CompositeByteBuf.referenceCount:Ljava/util/concurrent/atomic/AtomicInteger;
2: aload 0
aload 1
getfield com.mongodb.internal.connection.CompositeByteBuf.components:Ljava/util/List;
putfield com.mongodb.internal.connection.CompositeByteBuf.components:Ljava/util/List;
3: aload 0
aload 1
invokevirtual com.mongodb.internal.connection.CompositeByteBuf.position:()I
putfield com.mongodb.internal.connection.CompositeByteBuf.position:I
4: aload 0
aload 1
invokevirtual com.mongodb.internal.connection.CompositeByteBuf.limit:()I
putfield com.mongodb.internal.connection.CompositeByteBuf.limit:I
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/mongodb/internal/connection/CompositeByteBuf;
0 6 1 from Lcom/mongodb/internal/connection/CompositeByteBuf;
MethodParameters:
Name Flags
from final
public org.bson.ByteBuf order(java.nio.ByteOrder);
descriptor: (Ljava/nio/ByteOrder;)Lorg/bson/ByteBuf;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=2, args_size=2
start local 0 start local 1 0: aload 1
getstatic java.nio.ByteOrder.BIG_ENDIAN:Ljava/nio/ByteOrder;
if_acmpne 2
1: new java.lang.UnsupportedOperationException
dup
ldc "Only %s is supported"
iconst_1
anewarray java.lang.Object
dup
iconst_0
getstatic java.nio.ByteOrder.BIG_ENDIAN:Ljava/nio/ByteOrder;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/mongodb/internal/connection/CompositeByteBuf;
0 3 1 byteOrder Ljava/nio/ByteOrder;
MethodParameters:
Name Flags
byteOrder final
public int capacity();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield com.mongodb.internal.connection.CompositeByteBuf.components:Ljava/util/List;
aload 0
getfield com.mongodb.internal.connection.CompositeByteBuf.components:Ljava/util/List;
invokeinterface java.util.List.size:()I
iconst_1
isub
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.mongodb.internal.connection.CompositeByteBuf$Component
getfield com.mongodb.internal.connection.CompositeByteBuf$Component.endOffset:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mongodb/internal/connection/CompositeByteBuf;
public int remaining();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.mongodb.internal.connection.CompositeByteBuf.limit:()I
aload 0
invokevirtual com.mongodb.internal.connection.CompositeByteBuf.position:()I
isub
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mongodb/internal/connection/CompositeByteBuf;
public boolean hasRemaining();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.mongodb.internal.connection.CompositeByteBuf.remaining:()I
ifle 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/mongodb/internal/connection/CompositeByteBuf;
public int position();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.mongodb.internal.connection.CompositeByteBuf.position:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mongodb/internal/connection/CompositeByteBuf;
public org.bson.ByteBuf position(int);
descriptor: (I)Lorg/bson/ByteBuf;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=2, args_size=2
start local 0 start local 1 0: iload 1
iflt 1
iload 1
aload 0
getfield com.mongodb.internal.connection.CompositeByteBuf.limit:I
if_icmple 2
1: StackMap locals:
StackMap stack:
new java.lang.IndexOutOfBoundsException
dup
ldc "%d is out of bounds"
iconst_1
anewarray java.lang.Object
dup
iconst_0
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
iload 1
putfield com.mongodb.internal.connection.CompositeByteBuf.position:I
3: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/mongodb/internal/connection/CompositeByteBuf;
0 4 1 newPosition I
MethodParameters:
Name Flags
newPosition final
public org.bson.ByteBuf clear();
descriptor: ()Lorg/bson/ByteBuf;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
putfield com.mongodb.internal.connection.CompositeByteBuf.position:I
1: aload 0
aload 0
invokevirtual com.mongodb.internal.connection.CompositeByteBuf.capacity:()I
putfield com.mongodb.internal.connection.CompositeByteBuf.limit:I
2: aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/mongodb/internal/connection/CompositeByteBuf;
public int limit();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.mongodb.internal.connection.CompositeByteBuf.limit:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mongodb/internal/connection/CompositeByteBuf;
public byte get();
descriptor: ()B
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
aload 0
getfield com.mongodb.internal.connection.CompositeByteBuf.position:I
invokevirtual com.mongodb.internal.connection.CompositeByteBuf.checkIndex:(I)V
1: aload 0
dup
getfield com.mongodb.internal.connection.CompositeByteBuf.position:I
iconst_1
iadd
putfield com.mongodb.internal.connection.CompositeByteBuf.position:I
2: aload 0
aload 0
getfield com.mongodb.internal.connection.CompositeByteBuf.position:I
iconst_1
isub
invokevirtual com.mongodb.internal.connection.CompositeByteBuf.get:(I)B
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/mongodb/internal/connection/CompositeByteBuf;
public byte get(int);
descriptor: (I)B
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokevirtual com.mongodb.internal.connection.CompositeByteBuf.checkIndex:(I)V
1: aload 0
iload 1
invokevirtual com.mongodb.internal.connection.CompositeByteBuf.findComponent:(I)Lcom/mongodb/internal/connection/CompositeByteBuf$Component;
astore 2
start local 2 2: aload 2
getfield com.mongodb.internal.connection.CompositeByteBuf$Component.buffer:Lorg/bson/ByteBuf;
iload 1
aload 2
getfield com.mongodb.internal.connection.CompositeByteBuf$Component.offset:I
isub
invokeinterface org.bson.ByteBuf.get:(I)B
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/mongodb/internal/connection/CompositeByteBuf;
0 3 1 index I
2 3 2 component Lcom/mongodb/internal/connection/CompositeByteBuf$Component;
MethodParameters:
Name Flags
index final
public org.bson.ByteBuf get(byte[]);
descriptor: ([B)Lorg/bson/ByteBuf;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 0
getfield com.mongodb.internal.connection.CompositeByteBuf.position:I
aload 1
arraylength
invokevirtual com.mongodb.internal.connection.CompositeByteBuf.checkIndex:(II)V
1: aload 0
dup
getfield com.mongodb.internal.connection.CompositeByteBuf.position:I
aload 1
arraylength
iadd
putfield com.mongodb.internal.connection.CompositeByteBuf.position:I
2: aload 0
aload 0
getfield com.mongodb.internal.connection.CompositeByteBuf.position:I
aload 1
arraylength
isub
aload 1
invokevirtual com.mongodb.internal.connection.CompositeByteBuf.get:(I[B)Lorg/bson/ByteBuf;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/mongodb/internal/connection/CompositeByteBuf;
0 3 1 bytes [B
MethodParameters:
Name Flags
bytes final
public org.bson.ByteBuf get(int, byte[]);
descriptor: (I[B)Lorg/bson/ByteBuf;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
aload 2
iconst_0
aload 2
arraylength
invokevirtual com.mongodb.internal.connection.CompositeByteBuf.get:(I[BII)Lorg/bson/ByteBuf;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mongodb/internal/connection/CompositeByteBuf;
0 1 1 index I
0 1 2 bytes [B
MethodParameters:
Name Flags
index final
bytes final
public org.bson.ByteBuf get(byte[], int, int);
descriptor: ([BII)Lorg/bson/ByteBuf;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 0
getfield com.mongodb.internal.connection.CompositeByteBuf.position:I
iload 3
invokevirtual com.mongodb.internal.connection.CompositeByteBuf.checkIndex:(II)V
1: aload 0
dup
getfield com.mongodb.internal.connection.CompositeByteBuf.position:I
iload 3
iadd
putfield com.mongodb.internal.connection.CompositeByteBuf.position:I
2: aload 0
aload 0
getfield com.mongodb.internal.connection.CompositeByteBuf.position:I
iload 3
isub
aload 1
iload 2
iload 3
invokevirtual com.mongodb.internal.connection.CompositeByteBuf.get:(I[BII)Lorg/bson/ByteBuf;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/mongodb/internal/connection/CompositeByteBuf;
0 3 1 bytes [B
0 3 2 offset I
0 3 3 length I
MethodParameters:
Name Flags
bytes final
offset final
length final
public org.bson.ByteBuf get(int, byte[], int, int);
descriptor: (I[BII)Lorg/bson/ByteBuf;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=11, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
iload 1
iload 4
iload 3
aload 2
arraylength
invokevirtual com.mongodb.internal.connection.CompositeByteBuf.checkDstIndex:(IIII)V
1: aload 0
iload 1
invokevirtual com.mongodb.internal.connection.CompositeByteBuf.findComponentIndex:(I)I
istore 5
start local 5 2: iload 1
istore 6
start local 6 3: iload 3
istore 7
start local 7 4: iload 4
istore 8
start local 8 5: goto 13
6: StackMap locals: com.mongodb.internal.connection.CompositeByteBuf int byte[] int int int int int int
StackMap stack:
aload 0
getfield com.mongodb.internal.connection.CompositeByteBuf.components:Ljava/util/List;
iload 5
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.mongodb.internal.connection.CompositeByteBuf$Component
astore 9
start local 9 7: iload 8
aload 9
getfield com.mongodb.internal.connection.CompositeByteBuf$Component.buffer:Lorg/bson/ByteBuf;
invokeinterface org.bson.ByteBuf.capacity:()I
iload 6
aload 9
getfield com.mongodb.internal.connection.CompositeByteBuf$Component.offset:I
isub
isub
invokestatic java.lang.Math.min:(II)I
istore 10
start local 10 8: aload 9
getfield com.mongodb.internal.connection.CompositeByteBuf$Component.buffer:Lorg/bson/ByteBuf;
iload 6
aload 9
getfield com.mongodb.internal.connection.CompositeByteBuf$Component.offset:I
isub
aload 2
iload 7
iload 10
invokeinterface org.bson.ByteBuf.get:(I[BII)Lorg/bson/ByteBuf;
pop
9: iload 6
iload 10
iadd
istore 6
10: iload 7
iload 10
iadd
istore 7
11: iload 8
iload 10
isub
istore 8
12: iinc 5 1
end local 10 end local 9 13: StackMap locals:
StackMap stack:
iload 8
ifgt 6
14: aload 0
areturn
end local 8 end local 7 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 15 0 this Lcom/mongodb/internal/connection/CompositeByteBuf;
0 15 1 index I
0 15 2 bytes [B
0 15 3 offset I
0 15 4 length I
2 15 5 i I
3 15 6 curIndex I
4 15 7 curOffset I
5 15 8 curLength I
7 13 9 c Lcom/mongodb/internal/connection/CompositeByteBuf$Component;
8 13 10 localLength I
MethodParameters:
Name Flags
index final
bytes final
offset final
length final
public long getLong();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
dup
getfield com.mongodb.internal.connection.CompositeByteBuf.position:I
bipush 8
iadd
putfield com.mongodb.internal.connection.CompositeByteBuf.position:I
1: aload 0
aload 0
getfield com.mongodb.internal.connection.CompositeByteBuf.position:I
bipush 8
isub
invokevirtual com.mongodb.internal.connection.CompositeByteBuf.getLong:(I)J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/mongodb/internal/connection/CompositeByteBuf;
public long getLong(int);
descriptor: (I)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: aload 0
iload 1
bipush 8
invokevirtual com.mongodb.internal.connection.CompositeByteBuf.checkIndex:(II)V
1: aload 0
iload 1
invokevirtual com.mongodb.internal.connection.CompositeByteBuf.findComponent:(I)Lcom/mongodb/internal/connection/CompositeByteBuf$Component;
astore 2
start local 2 2: iload 1
bipush 8
iadd
aload 2
getfield com.mongodb.internal.connection.CompositeByteBuf$Component.endOffset:I
if_icmpgt 4
3: aload 2
getfield com.mongodb.internal.connection.CompositeByteBuf$Component.buffer:Lorg/bson/ByteBuf;
iload 1
aload 2
getfield com.mongodb.internal.connection.CompositeByteBuf$Component.offset:I
isub
invokeinterface org.bson.ByteBuf.getLong:(I)J
lreturn
4: StackMap locals: com.mongodb.internal.connection.CompositeByteBuf$Component
StackMap stack:
aload 0
iload 1
invokevirtual com.mongodb.internal.connection.CompositeByteBuf.getInt:(I)I
i2l
ldc 4294967295
land
aload 0
iload 1
iconst_4
iadd
invokevirtual com.mongodb.internal.connection.CompositeByteBuf.getInt:(I)I
i2l
ldc 4294967295
land
bipush 32
lshl
lor
lreturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/mongodb/internal/connection/CompositeByteBuf;
0 5 1 index I
2 5 2 component Lcom/mongodb/internal/connection/CompositeByteBuf$Component;
MethodParameters:
Name Flags
index final
public double getDouble();
descriptor: ()D
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
dup
getfield com.mongodb.internal.connection.CompositeByteBuf.position:I
bipush 8
iadd
putfield com.mongodb.internal.connection.CompositeByteBuf.position:I
1: aload 0
aload 0
getfield com.mongodb.internal.connection.CompositeByteBuf.position:I
bipush 8
isub
invokevirtual com.mongodb.internal.connection.CompositeByteBuf.getDouble:(I)D
dreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/mongodb/internal/connection/CompositeByteBuf;
public double getDouble(int);
descriptor: (I)D
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokevirtual com.mongodb.internal.connection.CompositeByteBuf.getLong:(I)J
invokestatic java.lang.Double.longBitsToDouble:(J)D
dreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mongodb/internal/connection/CompositeByteBuf;
0 1 1 index I
MethodParameters:
Name Flags
index final
public int getInt();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
dup
getfield com.mongodb.internal.connection.CompositeByteBuf.position:I
iconst_4
iadd
putfield com.mongodb.internal.connection.CompositeByteBuf.position:I
1: aload 0
aload 0
getfield com.mongodb.internal.connection.CompositeByteBuf.position:I
iconst_4
isub
invokevirtual com.mongodb.internal.connection.CompositeByteBuf.getInt:(I)I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/mongodb/internal/connection/CompositeByteBuf;
public int getInt(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
iload 1
iconst_4
invokevirtual com.mongodb.internal.connection.CompositeByteBuf.checkIndex:(II)V
1: aload 0
iload 1
invokevirtual com.mongodb.internal.connection.CompositeByteBuf.findComponent:(I)Lcom/mongodb/internal/connection/CompositeByteBuf$Component;
astore 2
start local 2 2: iload 1
iconst_4
iadd
aload 2
getfield com.mongodb.internal.connection.CompositeByteBuf$Component.endOffset:I
if_icmpgt 4
3: aload 2
getfield com.mongodb.internal.connection.CompositeByteBuf$Component.buffer:Lorg/bson/ByteBuf;
iload 1
aload 2
getfield com.mongodb.internal.connection.CompositeByteBuf$Component.offset:I
isub
invokeinterface org.bson.ByteBuf.getInt:(I)I
ireturn
4: StackMap locals: com.mongodb.internal.connection.CompositeByteBuf$Component
StackMap stack:
aload 0
iload 1
invokevirtual com.mongodb.internal.connection.CompositeByteBuf.getShort:(I)I
ldc 65535
iand
aload 0
iload 1
iconst_2
iadd
invokevirtual com.mongodb.internal.connection.CompositeByteBuf.getShort:(I)I
ldc 65535
iand
bipush 16
ishl
ior
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/mongodb/internal/connection/CompositeByteBuf;
0 5 1 index I
2 5 2 component Lcom/mongodb/internal/connection/CompositeByteBuf$Component;
MethodParameters:
Name Flags
index final
private int getShort(int);
descriptor: (I)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
iconst_2
invokevirtual com.mongodb.internal.connection.CompositeByteBuf.checkIndex:(II)V
1: aload 0
iload 1
invokevirtual com.mongodb.internal.connection.CompositeByteBuf.get:(I)B
sipush 255
iand
aload 0
iload 1
iconst_1
iadd
invokevirtual com.mongodb.internal.connection.CompositeByteBuf.get:(I)B
sipush 255
iand
bipush 8
ishl
ior
i2s
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/mongodb/internal/connection/CompositeByteBuf;
0 2 1 index I
MethodParameters:
Name Flags
index final
public byte[] array();
descriptor: ()[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.UnsupportedOperationException
dup
ldc "Not implemented yet!"
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mongodb/internal/connection/CompositeByteBuf;
public org.bson.ByteBuf limit(int);
descriptor: (I)Lorg/bson/ByteBuf;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=2, args_size=2
start local 0 start local 1 0: iload 1
iflt 1
iload 1
aload 0
invokevirtual com.mongodb.internal.connection.CompositeByteBuf.capacity:()I
if_icmple 2
1: StackMap locals:
StackMap stack:
new java.lang.IndexOutOfBoundsException
dup
ldc "%d is out of bounds"
iconst_1
anewarray java.lang.Object
dup
iconst_0
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
iload 1
putfield com.mongodb.internal.connection.CompositeByteBuf.limit:I
3: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/mongodb/internal/connection/CompositeByteBuf;
0 4 1 newLimit I
MethodParameters:
Name Flags
newLimit final
public org.bson.ByteBuf put(int, byte);
descriptor: (IB)Lorg/bson/ByteBuf;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: new java.lang.UnsupportedOperationException
dup
invokespecial java.lang.UnsupportedOperationException.<init>:()V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mongodb/internal/connection/CompositeByteBuf;
0 1 1 index I
0 1 2 b B
MethodParameters:
Name Flags
index final
b final
public org.bson.ByteBuf put(byte[], int, int);
descriptor: ([BII)Lorg/bson/ByteBuf;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new java.lang.UnsupportedOperationException
dup
invokespecial java.lang.UnsupportedOperationException.<init>:()V
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mongodb/internal/connection/CompositeByteBuf;
0 1 1 src [B
0 1 2 offset I
0 1 3 length I
MethodParameters:
Name Flags
src final
offset final
length final
public org.bson.ByteBuf put(byte);
descriptor: (B)Lorg/bson/ByteBuf;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: new java.lang.UnsupportedOperationException
dup
invokespecial java.lang.UnsupportedOperationException.<init>:()V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mongodb/internal/connection/CompositeByteBuf;
0 1 1 b B
MethodParameters:
Name Flags
b final
public org.bson.ByteBuf flip();
descriptor: ()Lorg/bson/ByteBuf;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: new java.lang.UnsupportedOperationException
dup
invokespecial java.lang.UnsupportedOperationException.<init>:()V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mongodb/internal/connection/CompositeByteBuf;
public org.bson.ByteBuf asReadOnly();
descriptor: ()Lorg/bson/ByteBuf;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: new java.lang.UnsupportedOperationException
dup
invokespecial java.lang.UnsupportedOperationException.<init>:()V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mongodb/internal/connection/CompositeByteBuf;
public org.bson.ByteBuf duplicate();
descriptor: ()Lorg/bson/ByteBuf;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new com.mongodb.internal.connection.CompositeByteBuf
dup
aload 0
invokespecial com.mongodb.internal.connection.CompositeByteBuf.<init>:(Lcom/mongodb/internal/connection/CompositeByteBuf;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mongodb/internal/connection/CompositeByteBuf;
public java.nio.ByteBuffer asNIO();
descriptor: ()Ljava/nio/ByteBuffer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
getfield com.mongodb.internal.connection.CompositeByteBuf.components:Ljava/util/List;
invokeinterface java.util.List.size:()I
iconst_1
if_icmpne 4
1: aload 0
getfield com.mongodb.internal.connection.CompositeByteBuf.components:Ljava/util/List;
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.mongodb.internal.connection.CompositeByteBuf$Component
getfield com.mongodb.internal.connection.CompositeByteBuf$Component.buffer:Lorg/bson/ByteBuf;
invokeinterface org.bson.ByteBuf.asNIO:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.duplicate:()Ljava/nio/ByteBuffer;
astore 1
start local 1 2: aload 1
aload 0
getfield com.mongodb.internal.connection.CompositeByteBuf.position:I
invokevirtual java.nio.Buffer.position:(I)Ljava/nio/Buffer;
aload 0
getfield com.mongodb.internal.connection.CompositeByteBuf.limit:I
invokevirtual java.nio.Buffer.limit:(I)Ljava/nio/Buffer;
pop
3: aload 1
areturn
end local 1 4: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.mongodb.internal.connection.CompositeByteBuf.remaining:()I
newarray 8
astore 1
start local 1 5: aload 0
aload 0
getfield com.mongodb.internal.connection.CompositeByteBuf.position:I
aload 1
iconst_0
aload 1
arraylength
invokevirtual com.mongodb.internal.connection.CompositeByteBuf.get:(I[BII)Lorg/bson/ByteBuf;
pop
6: aload 1
invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/mongodb/internal/connection/CompositeByteBuf;
2 4 1 byteBuffer Ljava/nio/ByteBuffer;
5 7 1 bytes [B
public int getReferenceCount();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.mongodb.internal.connection.CompositeByteBuf.referenceCount:Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mongodb/internal/connection/CompositeByteBuf;
public org.bson.ByteBuf retain();
descriptor: ()Lorg/bson/ByteBuf;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield com.mongodb.internal.connection.CompositeByteBuf.referenceCount:Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.util.concurrent.atomic.AtomicInteger.incrementAndGet:()I
iconst_1
if_icmpne 3
1: aload 0
getfield com.mongodb.internal.connection.CompositeByteBuf.referenceCount:Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.util.concurrent.atomic.AtomicInteger.decrementAndGet:()I
pop
2: new java.lang.IllegalStateException
dup
ldc "Attempted to increment the reference count when it is already 0"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/mongodb/internal/connection/CompositeByteBuf;
public void release();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield com.mongodb.internal.connection.CompositeByteBuf.referenceCount:Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.util.concurrent.atomic.AtomicInteger.decrementAndGet:()I
ifge 3
1: aload 0
getfield com.mongodb.internal.connection.CompositeByteBuf.referenceCount:Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.util.concurrent.atomic.AtomicInteger.incrementAndGet:()I
pop
2: new java.lang.IllegalStateException
dup
ldc "Attempted to decrement the reference count below 0"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/mongodb/internal/connection/CompositeByteBuf;
private com.mongodb.internal.connection.CompositeByteBuf$Component findComponent(int);
descriptor: (I)Lcom/mongodb/internal/connection/CompositeByteBuf$Component;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.mongodb.internal.connection.CompositeByteBuf.components:Ljava/util/List;
aload 0
iload 1
invokevirtual com.mongodb.internal.connection.CompositeByteBuf.findComponentIndex:(I)I
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.mongodb.internal.connection.CompositeByteBuf$Component
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mongodb/internal/connection/CompositeByteBuf;
0 1 1 index I
MethodParameters:
Name Flags
index final
private int findComponentIndex(int);
descriptor: (I)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield com.mongodb.internal.connection.CompositeByteBuf.components:Ljava/util/List;
invokeinterface java.util.List.size:()I
iconst_1
isub
istore 2
start local 2 1: goto 6
2: StackMap locals: int
StackMap stack:
aload 0
getfield com.mongodb.internal.connection.CompositeByteBuf.components:Ljava/util/List;
iload 2
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.mongodb.internal.connection.CompositeByteBuf$Component
astore 3
start local 3 3: iload 1
aload 3
getfield com.mongodb.internal.connection.CompositeByteBuf$Component.offset:I
if_icmplt 5
4: iload 2
ireturn
end local 3 5: StackMap locals:
StackMap stack:
iinc 2 -1
StackMap locals:
StackMap stack:
6: iload 2
ifge 2
end local 2 7: new java.lang.IndexOutOfBoundsException
dup
ldc "%d is out of bounds"
iconst_1
anewarray java.lang.Object
dup
iconst_0
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/mongodb/internal/connection/CompositeByteBuf;
0 8 1 index I
1 7 2 i I
3 5 3 cur Lcom/mongodb/internal/connection/CompositeByteBuf$Component;
MethodParameters:
Name Flags
index final
private void checkIndex(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.mongodb.internal.connection.CompositeByteBuf.ensureAccessible:()V
1: iload 1
iflt 2
iload 1
aload 0
invokevirtual com.mongodb.internal.connection.CompositeByteBuf.capacity:()I
if_icmplt 3
2: StackMap locals:
StackMap stack:
new java.lang.IndexOutOfBoundsException
dup
ldc "index: %d (expected: range(0, %d))"
iconst_2
anewarray java.lang.Object
dup
iconst_0
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
aload 0
invokevirtual com.mongodb.internal.connection.CompositeByteBuf.capacity:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/mongodb/internal/connection/CompositeByteBuf;
0 4 1 index I
MethodParameters:
Name Flags
index final
private void checkIndex(int, int);
descriptor: (II)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual com.mongodb.internal.connection.CompositeByteBuf.ensureAccessible:()V
1: iload 1
iflt 2
iload 1
aload 0
invokevirtual com.mongodb.internal.connection.CompositeByteBuf.capacity:()I
iload 2
isub
if_icmple 3
2: StackMap locals:
StackMap stack:
new java.lang.IndexOutOfBoundsException
dup
ldc "index: %d, length: %d (expected: range(0, %d))"
iconst_3
anewarray java.lang.Object
dup
iconst_0
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
aload 0
invokevirtual com.mongodb.internal.connection.CompositeByteBuf.capacity:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/mongodb/internal/connection/CompositeByteBuf;
0 4 1 index I
0 4 2 fieldLength I
MethodParameters:
Name Flags
index final
fieldLength final
private void checkDstIndex(int, int, int, int);
descriptor: (IIII)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
iload 1
iload 2
invokevirtual com.mongodb.internal.connection.CompositeByteBuf.checkIndex:(II)V
1: iload 3
iflt 2
iload 3
iload 4
iload 2
isub
if_icmple 3
2: StackMap locals:
StackMap stack:
new java.lang.IndexOutOfBoundsException
dup
ldc "dstIndex: %d, length: %d (expected: range(0, %d))"
iconst_3
anewarray java.lang.Object
dup
iconst_0
iload 3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
iload 4
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/mongodb/internal/connection/CompositeByteBuf;
0 4 1 index I
0 4 2 length I
0 4 3 dstIndex I
0 4 4 dstCapacity I
MethodParameters:
Name Flags
index final
length final
dstIndex final
dstCapacity final
private void ensureAccessible();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield com.mongodb.internal.connection.CompositeByteBuf.referenceCount:Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
ifne 2
1: new java.lang.IllegalStateException
dup
ldc "Reference count is 0"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/mongodb/internal/connection/CompositeByteBuf;
}
SourceFile: "CompositeByteBuf.java"
NestMembers:
com.mongodb.internal.connection.CompositeByteBuf$Component
InnerClasses:
private final Component = com.mongodb.internal.connection.CompositeByteBuf$Component of com.mongodb.internal.connection.CompositeByteBuf