public class org.bson.io.ByteBufferBsonInput implements org.bson.io.BsonInput
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.bson.io.ByteBufferBsonInput
super_class: java.lang.Object
{
private static final java.nio.charset.Charset UTF8_CHARSET;
descriptor: Ljava/nio/charset/Charset;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.String[] ONE_BYTE_ASCII_STRINGS;
descriptor: [Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private org.bson.ByteBuf buffer;
descriptor: Lorg/bson/ByteBuf;
flags: (0x0002) ACC_PRIVATE
private int mark;
descriptor: I
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=1, args_size=0
0: ldc "UTF-8"
invokestatic java.nio.charset.Charset.forName:(Ljava/lang/String;)Ljava/nio/charset/Charset;
putstatic org.bson.io.ByteBufferBsonInput.UTF8_CHARSET:Ljava/nio/charset/Charset;
1: sipush 128
anewarray java.lang.String
putstatic org.bson.io.ByteBufferBsonInput.ONE_BYTE_ASCII_STRINGS:[Ljava/lang/String;
2: iconst_0
istore 0
start local 0 3: goto 6
4: StackMap locals: int
StackMap stack:
getstatic org.bson.io.ByteBufferBsonInput.ONE_BYTE_ASCII_STRINGS:[Ljava/lang/String;
iload 0
iload 0
i2c
invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
aastore
5: iinc 0 1
StackMap locals:
StackMap stack:
6: iload 0
getstatic org.bson.io.ByteBufferBsonInput.ONE_BYTE_ASCII_STRINGS:[Ljava/lang/String;
arraylength
if_icmplt 4
end local 0 7: return
LocalVariableTable:
Start End Slot Name Signature
3 7 0 b I
public void <init>(org.bson.ByteBuf);
descriptor: (Lorg/bson/ByteBuf;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_m1
putfield org.bson.io.ByteBufferBsonInput.mark:I
2: aload 1
ifnonnull 4
3: new java.lang.IllegalArgumentException
dup
ldc "buffer can not be null"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals: org.bson.io.ByteBufferBsonInput org.bson.ByteBuf
StackMap stack:
aload 0
aload 1
putfield org.bson.io.ByteBufferBsonInput.buffer:Lorg/bson/ByteBuf;
5: aload 1
getstatic java.nio.ByteOrder.LITTLE_ENDIAN:Ljava/nio/ByteOrder;
invokeinterface org.bson.ByteBuf.order:(Ljava/nio/ByteOrder;)Lorg/bson/ByteBuf;
pop
6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/bson/io/ByteBufferBsonInput;
0 7 1 buffer Lorg/bson/ByteBuf;
MethodParameters:
Name Flags
buffer final
public int getPosition();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.bson.io.ByteBufferBsonInput.ensureOpen:()V
1: aload 0
getfield org.bson.io.ByteBufferBsonInput.buffer:Lorg/bson/ByteBuf;
invokeinterface org.bson.ByteBuf.position:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bson/io/ByteBufferBsonInput;
public byte readByte();
descriptor: ()B
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.bson.io.ByteBufferBsonInput.ensureOpen:()V
1: aload 0
iconst_1
invokevirtual org.bson.io.ByteBufferBsonInput.ensureAvailable:(I)V
2: aload 0
getfield org.bson.io.ByteBufferBsonInput.buffer:Lorg/bson/ByteBuf;
invokeinterface org.bson.ByteBuf.get:()B
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/bson/io/ByteBufferBsonInput;
public void readBytes(byte[]);
descriptor: ([B)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.bson.io.ByteBufferBsonInput.ensureOpen:()V
1: aload 0
aload 1
arraylength
invokevirtual org.bson.io.ByteBufferBsonInput.ensureAvailable:(I)V
2: aload 0
getfield org.bson.io.ByteBufferBsonInput.buffer:Lorg/bson/ByteBuf;
aload 1
invokeinterface org.bson.ByteBuf.get:([B)Lorg/bson/ByteBuf;
pop
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/bson/io/ByteBufferBsonInput;
0 4 1 bytes [B
MethodParameters:
Name Flags
bytes final
public void readBytes(byte[], int, int);
descriptor: ([BII)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual org.bson.io.ByteBufferBsonInput.ensureOpen:()V
1: aload 0
iload 3
invokevirtual org.bson.io.ByteBufferBsonInput.ensureAvailable:(I)V
2: aload 0
getfield org.bson.io.ByteBufferBsonInput.buffer:Lorg/bson/ByteBuf;
aload 1
iload 2
iload 3
invokeinterface org.bson.ByteBuf.get:([BII)Lorg/bson/ByteBuf;
pop
3: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/bson/io/ByteBufferBsonInput;
0 4 1 bytes [B
0 4 2 offset I
0 4 3 length I
MethodParameters:
Name Flags
bytes final
offset final
length final
public long readInt64();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.bson.io.ByteBufferBsonInput.ensureOpen:()V
1: aload 0
bipush 8
invokevirtual org.bson.io.ByteBufferBsonInput.ensureAvailable:(I)V
2: aload 0
getfield org.bson.io.ByteBufferBsonInput.buffer:Lorg/bson/ByteBuf;
invokeinterface org.bson.ByteBuf.getLong:()J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/bson/io/ByteBufferBsonInput;
public double readDouble();
descriptor: ()D
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.bson.io.ByteBufferBsonInput.ensureOpen:()V
1: aload 0
bipush 8
invokevirtual org.bson.io.ByteBufferBsonInput.ensureAvailable:(I)V
2: aload 0
getfield org.bson.io.ByteBufferBsonInput.buffer:Lorg/bson/ByteBuf;
invokeinterface org.bson.ByteBuf.getDouble:()D
dreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/bson/io/ByteBufferBsonInput;
public int readInt32();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.bson.io.ByteBufferBsonInput.ensureOpen:()V
1: aload 0
iconst_4
invokevirtual org.bson.io.ByteBufferBsonInput.ensureAvailable:(I)V
2: aload 0
getfield org.bson.io.ByteBufferBsonInput.buffer:Lorg/bson/ByteBuf;
invokeinterface org.bson.ByteBuf.getInt:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/bson/io/ByteBufferBsonInput;
public org.bson.types.ObjectId readObjectId();
descriptor: ()Lorg/bson/types/ObjectId;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual org.bson.io.ByteBufferBsonInput.ensureOpen:()V
1: bipush 12
newarray 8
astore 1
start local 1 2: aload 0
aload 1
invokevirtual org.bson.io.ByteBufferBsonInput.readBytes:([B)V
3: new org.bson.types.ObjectId
dup
aload 1
invokespecial org.bson.types.ObjectId.<init>:([B)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/bson/io/ByteBufferBsonInput;
2 4 1 bytes [B
public java.lang.String readString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual org.bson.io.ByteBufferBsonInput.ensureOpen:()V
1: aload 0
invokevirtual org.bson.io.ByteBufferBsonInput.readInt32:()I
istore 1
start local 1 2: iload 1
ifgt 6
3: new org.bson.BsonSerializationException
dup
ldc "While decoding a BSON string found a size that is not a positive number: %d"
iconst_1
anewarray java.lang.Object
dup
iconst_0
4: iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
5: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial org.bson.BsonSerializationException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals: int
StackMap stack:
aload 0
iload 1
invokevirtual org.bson.io.ByteBufferBsonInput.readString:(I)Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/bson/io/ByteBufferBsonInput;
2 7 1 size I
public java.lang.String readCString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual org.bson.io.ByteBufferBsonInput.ensureOpen:()V
1: aload 0
getfield org.bson.io.ByteBufferBsonInput.buffer:Lorg/bson/ByteBuf;
invokeinterface org.bson.ByteBuf.position:()I
istore 1
start local 1 2: aload 0
invokevirtual org.bson.io.ByteBufferBsonInput.readUntilNullByte:()V
3: aload 0
getfield org.bson.io.ByteBufferBsonInput.buffer:Lorg/bson/ByteBuf;
invokeinterface org.bson.ByteBuf.position:()I
iload 1
isub
istore 2
start local 2 4: aload 0
getfield org.bson.io.ByteBufferBsonInput.buffer:Lorg/bson/ByteBuf;
iload 1
invokeinterface org.bson.ByteBuf.position:(I)Lorg/bson/ByteBuf;
pop
5: aload 0
iload 2
invokevirtual org.bson.io.ByteBufferBsonInput.readString:(I)Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/bson/io/ByteBufferBsonInput;
2 6 1 mark I
4 6 2 size I
private java.lang.String readString(int);
descriptor: (I)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: iload 1
iconst_2
if_icmpne 8
1: aload 0
invokevirtual org.bson.io.ByteBufferBsonInput.readByte:()B
istore 2
start local 2 2: aload 0
invokevirtual org.bson.io.ByteBufferBsonInput.readByte:()B
istore 3
start local 3 3: iload 3
ifeq 5
4: new org.bson.BsonSerializationException
dup
ldc "Found a BSON string that is not null-terminated"
invokespecial org.bson.BsonSerializationException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals: int int
StackMap stack:
iload 2
ifge 7
6: getstatic org.bson.io.ByteBufferBsonInput.UTF8_CHARSET:Ljava/nio/charset/Charset;
invokevirtual java.nio.charset.Charset.newDecoder:()Ljava/nio/charset/CharsetDecoder;
invokevirtual java.nio.charset.CharsetDecoder.replacement:()Ljava/lang/String;
areturn
7: StackMap locals:
StackMap stack:
getstatic org.bson.io.ByteBufferBsonInput.ONE_BYTE_ASCII_STRINGS:[Ljava/lang/String;
iload 2
aaload
areturn
end local 3 end local 2 8: StackMap locals:
StackMap stack:
iload 1
iconst_1
isub
newarray 8
astore 2
start local 2 9: aload 0
aload 2
invokevirtual org.bson.io.ByteBufferBsonInput.readBytes:([B)V
10: aload 0
invokevirtual org.bson.io.ByteBufferBsonInput.readByte:()B
istore 3
start local 3 11: iload 3
ifeq 13
12: new org.bson.BsonSerializationException
dup
ldc "Found a BSON string that is not null-terminated"
invokespecial org.bson.BsonSerializationException.<init>:(Ljava/lang/String;)V
athrow
13: StackMap locals: byte[] int
StackMap stack:
new java.lang.String
dup
aload 2
getstatic org.bson.io.ByteBufferBsonInput.UTF8_CHARSET:Ljava/nio/charset/Charset;
invokespecial java.lang.String.<init>:([BLjava/nio/charset/Charset;)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/bson/io/ByteBufferBsonInput;
0 14 1 size I
2 8 2 asciiByte B
3 8 3 nullByte B
9 14 2 bytes [B
11 14 3 nullByte B
MethodParameters:
Name Flags
size final
private void readUntilNullByte();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.bson.io.ByteBufferBsonInput.readByte:()B
ifne 0
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bson/io/ByteBufferBsonInput;
public void skipCString();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.bson.io.ByteBufferBsonInput.ensureOpen:()V
1: aload 0
invokevirtual org.bson.io.ByteBufferBsonInput.readUntilNullByte:()V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/bson/io/ByteBufferBsonInput;
public void skip(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.bson.io.ByteBufferBsonInput.ensureOpen:()V
1: aload 0
getfield org.bson.io.ByteBufferBsonInput.buffer:Lorg/bson/ByteBuf;
aload 0
getfield org.bson.io.ByteBufferBsonInput.buffer:Lorg/bson/ByteBuf;
invokeinterface org.bson.ByteBuf.position:()I
iload 1
iadd
invokeinterface org.bson.ByteBuf.position:(I)Lorg/bson/ByteBuf;
pop
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/bson/io/ByteBufferBsonInput;
0 3 1 numBytes I
MethodParameters:
Name Flags
numBytes final
public void mark(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.bson.io.ByteBufferBsonInput.ensureOpen:()V
1: aload 0
aload 0
getfield org.bson.io.ByteBufferBsonInput.buffer:Lorg/bson/ByteBuf;
invokeinterface org.bson.ByteBuf.position:()I
putfield org.bson.io.ByteBufferBsonInput.mark:I
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/bson/io/ByteBufferBsonInput;
0 3 1 readLimit I
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
readLimit final
public org.bson.io.BsonInputMark getMark(int);
descriptor: (I)Lorg/bson/io/BsonInputMark;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: new org.bson.io.ByteBufferBsonInput$1
dup
aload 0
invokespecial org.bson.io.ByteBufferBsonInput$1.<init>:(Lorg/bson/io/ByteBufferBsonInput;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bson/io/ByteBufferBsonInput;
0 1 1 readLimit I
MethodParameters:
Name Flags
readLimit final
public void reset();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.bson.io.ByteBufferBsonInput.ensureOpen:()V
1: aload 0
getfield org.bson.io.ByteBufferBsonInput.mark:I
iconst_m1
if_icmpne 3
2: new java.lang.IllegalStateException
dup
ldc "Mark not set"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
aload 0
getfield org.bson.io.ByteBufferBsonInput.buffer:Lorg/bson/ByteBuf;
aload 0
getfield org.bson.io.ByteBufferBsonInput.mark:I
invokeinterface org.bson.ByteBuf.position:(I)Lorg/bson/ByteBuf;
pop
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/bson/io/ByteBufferBsonInput;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
public boolean hasRemaining();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.bson.io.ByteBufferBsonInput.ensureOpen:()V
1: aload 0
getfield org.bson.io.ByteBufferBsonInput.buffer:Lorg/bson/ByteBuf;
invokeinterface org.bson.ByteBuf.hasRemaining:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bson/io/ByteBufferBsonInput;
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bson.io.ByteBufferBsonInput.buffer:Lorg/bson/ByteBuf;
invokeinterface org.bson.ByteBuf.release:()V
1: aload 0
aconst_null
putfield org.bson.io.ByteBufferBsonInput.buffer:Lorg/bson/ByteBuf;
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/bson/io/ByteBufferBsonInput;
private void ensureOpen();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bson.io.ByteBufferBsonInput.buffer:Lorg/bson/ByteBuf;
ifnonnull 2
1: new java.lang.IllegalStateException
dup
ldc "Stream is closed"
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 Lorg/bson/io/ByteBufferBsonInput;
private void ensureAvailable(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
getfield org.bson.io.ByteBufferBsonInput.buffer:Lorg/bson/ByteBuf;
invokeinterface org.bson.ByteBuf.remaining:()I
iload 1
if_icmpge 4
1: new org.bson.BsonSerializationException
dup
ldc "While decoding a BSON document %d bytes were required, but only %d remain"
iconst_2
anewarray java.lang.Object
dup
iconst_0
2: iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
aload 0
getfield org.bson.io.ByteBufferBsonInput.buffer:Lorg/bson/ByteBuf;
invokeinterface org.bson.ByteBuf.remaining:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
3: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial org.bson.BsonSerializationException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/bson/io/ByteBufferBsonInput;
0 5 1 bytesNeeded I
MethodParameters:
Name Flags
bytesNeeded final
}
SourceFile: "ByteBufferBsonInput.java"
NestMembers:
org.bson.io.ByteBufferBsonInput$1
InnerClasses:
org.bson.io.ByteBufferBsonInput$1