class org.bson.RawBsonArray$RawBsonArrayList extends java.util.AbstractList<org.bson.BsonValue>
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.bson.RawBsonArray$RawBsonArrayList
super_class: java.util.AbstractList
{
private static final int MIN_BSON_ARRAY_SIZE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 5
private java.lang.Integer cachedSize;
descriptor: Ljava/lang/Integer;
flags: (0x0002) ACC_PRIVATE
private final byte[] bytes;
descriptor: [B
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int offset;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int length;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
void <init>(byte[], int, int);
descriptor: ([BII)V
flags: (0x0000)
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.util.AbstractList.<init>:()V
1: ldc "bytes"
aload 1
invokestatic org.bson.assertions.Assertions.notNull:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
pop
2: ldc "offset >= 0"
iload 2
iflt 3
iconst_1
goto 4
StackMap locals: org.bson.RawBsonArray$RawBsonArrayList byte[] int int
StackMap stack: java.lang.String
3: iconst_0
StackMap locals: org.bson.RawBsonArray$RawBsonArrayList byte[] int int
StackMap stack: java.lang.String int
4: invokestatic org.bson.assertions.Assertions.isTrueArgument:(Ljava/lang/String;Z)V
5: ldc "offset < bytes.length"
iload 2
aload 1
arraylength
if_icmpge 6
iconst_1
goto 7
StackMap locals:
StackMap stack: java.lang.String
6: iconst_0
StackMap locals: org.bson.RawBsonArray$RawBsonArrayList byte[] int int
StackMap stack: java.lang.String int
7: invokestatic org.bson.assertions.Assertions.isTrueArgument:(Ljava/lang/String;Z)V
8: ldc "length <= bytes.length - offset"
iload 3
aload 1
arraylength
iload 2
isub
if_icmpgt 9
iconst_1
goto 10
StackMap locals:
StackMap stack: java.lang.String
9: iconst_0
StackMap locals: org.bson.RawBsonArray$RawBsonArrayList byte[] int int
StackMap stack: java.lang.String int
10: invokestatic org.bson.assertions.Assertions.isTrueArgument:(Ljava/lang/String;Z)V
11: ldc "length >= 5"
iload 3
iconst_5
if_icmplt 12
iconst_1
goto 13
StackMap locals:
StackMap stack: java.lang.String
12: iconst_0
StackMap locals: org.bson.RawBsonArray$RawBsonArrayList byte[] int int
StackMap stack: java.lang.String int
13: invokestatic org.bson.assertions.Assertions.isTrueArgument:(Ljava/lang/String;Z)V
14: aload 0
aload 1
putfield org.bson.RawBsonArray$RawBsonArrayList.bytes:[B
15: aload 0
iload 2
putfield org.bson.RawBsonArray$RawBsonArrayList.offset:I
16: aload 0
iload 3
putfield org.bson.RawBsonArray$RawBsonArrayList.length:I
17: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lorg/bson/RawBsonArray$RawBsonArrayList;
0 18 1 bytes [B
0 18 2 offset I
0 18 3 length I
MethodParameters:
Name Flags
bytes final
offset final
length final
public org.bson.BsonValue get(int);
descriptor: (I)Lorg/bson/BsonValue;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=6, args_size=2
start local 0 start local 1 0: iload 1
ifge 2
1: new java.lang.IndexOutOfBoundsException
dup
invokespecial java.lang.IndexOutOfBoundsException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
iconst_0
istore 2
start local 2 3: aload 0
invokevirtual org.bson.RawBsonArray$RawBsonArrayList.createReader:()Lorg/bson/BsonBinaryReader;
astore 3
start local 3 4: aload 3
invokevirtual org.bson.BsonBinaryReader.readStartDocument:()V
5: goto 13
6: StackMap locals: int org.bson.BsonBinaryReader
StackMap stack:
aload 3
invokevirtual org.bson.BsonBinaryReader.skipName:()V
7: iload 2
iload 1
if_icmpne 11
8: aload 0
getfield org.bson.RawBsonArray$RawBsonArrayList.bytes:[B
aload 3
invokestatic org.bson.RawBsonValueHelper.decode:([BLorg/bson/BsonBinaryReader;)Lorg/bson/BsonValue;
astore 5
9: aload 3
invokevirtual org.bson.BsonBinaryReader.close:()V
10: aload 5
areturn
11: StackMap locals:
StackMap stack:
aload 3
invokevirtual org.bson.BsonBinaryReader.skipValue:()V
12: iinc 2 1
13: StackMap locals:
StackMap stack:
aload 3
invokevirtual org.bson.BsonBinaryReader.readBsonType:()Lorg/bson/BsonType;
getstatic org.bson.BsonType.END_OF_DOCUMENT:Lorg/bson/BsonType;
if_acmpne 6
14: aload 3
invokevirtual org.bson.BsonBinaryReader.readEndDocument:()V
15: goto 19
StackMap locals:
StackMap stack: java.lang.Throwable
16: astore 4
17: aload 3
invokevirtual org.bson.BsonBinaryReader.close:()V
18: aload 4
athrow
19: StackMap locals:
StackMap stack:
aload 3
invokevirtual org.bson.BsonBinaryReader.close:()V
20: new java.lang.IndexOutOfBoundsException
dup
invokespecial java.lang.IndexOutOfBoundsException.<init>:()V
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lorg/bson/RawBsonArray$RawBsonArrayList;
0 21 1 index I
3 21 2 curIndex I
4 21 3 bsonReader Lorg/bson/BsonBinaryReader;
Exception table:
from to target type
4 9 16 any
11 16 16 any
MethodParameters:
Name Flags
index final
public int size();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=1
start local 0 0: aload 0
getfield org.bson.RawBsonArray$RawBsonArrayList.cachedSize:Ljava/lang/Integer;
ifnull 2
1: aload 0
getfield org.bson.RawBsonArray$RawBsonArrayList.cachedSize:Ljava/lang/Integer;
invokevirtual java.lang.Integer.intValue:()I
ireturn
2: StackMap locals:
StackMap stack:
iconst_0
istore 1
start local 1 3: aload 0
invokevirtual org.bson.RawBsonArray$RawBsonArrayList.createReader:()Lorg/bson/BsonBinaryReader;
astore 2
start local 2 4: aload 2
invokevirtual org.bson.BsonBinaryReader.readStartDocument:()V
5: goto 9
6: StackMap locals: int org.bson.BsonBinaryReader
StackMap stack:
iinc 1 1
7: aload 2
invokevirtual org.bson.BsonBinaryReader.readName:()Ljava/lang/String;
pop
8: aload 2
invokevirtual org.bson.BsonBinaryReader.skipValue:()V
9: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.bson.BsonBinaryReader.readBsonType:()Lorg/bson/BsonType;
getstatic org.bson.BsonType.END_OF_DOCUMENT:Lorg/bson/BsonType;
if_acmpne 6
10: aload 2
invokevirtual org.bson.BsonBinaryReader.readEndDocument:()V
11: goto 15
StackMap locals:
StackMap stack: java.lang.Throwable
12: astore 3
13: aload 2
invokevirtual org.bson.BsonBinaryReader.close:()V
14: aload 3
athrow
15: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.bson.BsonBinaryReader.close:()V
16: aload 0
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
putfield org.bson.RawBsonArray$RawBsonArrayList.cachedSize:Ljava/lang/Integer;
17: aload 0
getfield org.bson.RawBsonArray$RawBsonArrayList.cachedSize:Ljava/lang/Integer;
invokevirtual java.lang.Integer.intValue:()I
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lorg/bson/RawBsonArray$RawBsonArrayList;
3 18 1 size I
4 18 2 bsonReader Lorg/bson/BsonBinaryReader;
Exception table:
from to target type
4 12 12 any
public java.util.Iterator<org.bson.BsonValue> iterator();
descriptor: ()Ljava/util/Iterator;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new org.bson.RawBsonArray$RawBsonArrayList$Itr
dup
aload 0
invokespecial org.bson.RawBsonArray$RawBsonArrayList$Itr.<init>:(Lorg/bson/RawBsonArray$RawBsonArrayList;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bson/RawBsonArray$RawBsonArrayList;
Signature: ()Ljava/util/Iterator<Lorg/bson/BsonValue;>;
public java.util.ListIterator<org.bson.BsonValue> listIterator();
descriptor: ()Ljava/util/ListIterator;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: new org.bson.RawBsonArray$RawBsonArrayList$ListItr
dup
aload 0
iconst_0
invokespecial org.bson.RawBsonArray$RawBsonArrayList$ListItr.<init>:(Lorg/bson/RawBsonArray$RawBsonArrayList;I)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bson/RawBsonArray$RawBsonArrayList;
Signature: ()Ljava/util/ListIterator<Lorg/bson/BsonValue;>;
public java.util.ListIterator<org.bson.BsonValue> listIterator(int);
descriptor: (I)Ljava/util/ListIterator;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new org.bson.RawBsonArray$RawBsonArrayList$ListItr
dup
aload 0
iload 1
invokespecial org.bson.RawBsonArray$RawBsonArrayList$ListItr.<init>:(Lorg/bson/RawBsonArray$RawBsonArrayList;I)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bson/RawBsonArray$RawBsonArrayList;
0 1 1 index I
Signature: (I)Ljava/util/ListIterator<Lorg/bson/BsonValue;>;
MethodParameters:
Name Flags
index final
private org.bson.BsonBinaryReader createReader();
descriptor: ()Lorg/bson/BsonBinaryReader;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=1, args_size=1
start local 0 0: new org.bson.BsonBinaryReader
dup
new org.bson.io.ByteBufferBsonInput
dup
aload 0
invokevirtual org.bson.RawBsonArray$RawBsonArrayList.getByteBuffer:()Lorg/bson/ByteBuf;
invokespecial org.bson.io.ByteBufferBsonInput.<init>:(Lorg/bson/ByteBuf;)V
invokespecial org.bson.BsonBinaryReader.<init>:(Lorg/bson/io/BsonInput;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bson/RawBsonArray$RawBsonArrayList;
org.bson.ByteBuf getByteBuffer();
descriptor: ()Lorg/bson/ByteBuf;
flags: (0x0000)
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield org.bson.RawBsonArray$RawBsonArrayList.bytes:[B
aload 0
getfield org.bson.RawBsonArray$RawBsonArrayList.offset:I
aload 0
getfield org.bson.RawBsonArray$RawBsonArrayList.length:I
invokestatic java.nio.ByteBuffer.wrap:([BII)Ljava/nio/ByteBuffer;
astore 1
start local 1 1: aload 1
getstatic java.nio.ByteOrder.LITTLE_ENDIAN:Ljava/nio/ByteOrder;
invokevirtual java.nio.ByteBuffer.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
pop
2: new org.bson.ByteBufNIO
dup
aload 1
invokespecial org.bson.ByteBufNIO.<init>:(Ljava/nio/ByteBuffer;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/bson/RawBsonArray$RawBsonArrayList;
1 3 1 buffer Ljava/nio/ByteBuffer;
public java.lang.Object get(int);
descriptor: (I)Ljava/lang/Object;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
iload 1
invokevirtual org.bson.RawBsonArray$RawBsonArrayList.get:(I)Lorg/bson/BsonValue;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
Signature: Ljava/util/AbstractList<Lorg/bson/BsonValue;>;
SourceFile: "RawBsonArray.java"
NestHost: org.bson.RawBsonArray
InnerClasses:
RawBsonArrayList = org.bson.RawBsonArray$RawBsonArrayList of org.bson.RawBsonArray
private Itr = org.bson.RawBsonArray$RawBsonArrayList$Itr of org.bson.RawBsonArray$RawBsonArrayList
private ListItr = org.bson.RawBsonArray$RawBsonArrayList$ListItr of org.bson.RawBsonArray$RawBsonArrayList