public abstract class org.bson.io.OutputBuffer extends java.io.OutputStream implements org.bson.io.BsonOutput
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.bson.io.OutputBuffer
super_class: java.io.OutputStream
{
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.io.OutputStream.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bson/io/OutputBuffer;
public void write(byte[]);
descriptor: ([B)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_0
aload 1
arraylength
invokevirtual org.bson.io.OutputBuffer.write:([BII)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bson/io/OutputBuffer;
0 2 1 b [B
MethodParameters:
Name Flags
b final
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=1, args_size=1
start local 0 0: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bson/io/OutputBuffer;
public void write(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
aload 1
iload 2
iload 3
invokevirtual org.bson.io.OutputBuffer.writeBytes:([BII)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bson/io/OutputBuffer;
0 2 1 bytes [B
0 2 2 offset I
0 2 3 length I
MethodParameters:
Name Flags
bytes final
offset final
length final
public void writeBytes(byte[]);
descriptor: ([B)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_0
aload 1
arraylength
invokevirtual org.bson.io.OutputBuffer.writeBytes:([BII)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bson/io/OutputBuffer;
0 2 1 bytes [B
MethodParameters:
Name Flags
bytes final
public void writeInt32(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
iload 1
iconst_0
ishr
invokevirtual org.bson.io.OutputBuffer.write:(I)V
1: aload 0
iload 1
bipush 8
ishr
invokevirtual org.bson.io.OutputBuffer.write:(I)V
2: aload 0
iload 1
bipush 16
ishr
invokevirtual org.bson.io.OutputBuffer.write:(I)V
3: aload 0
iload 1
bipush 24
ishr
invokevirtual org.bson.io.OutputBuffer.write:(I)V
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/bson/io/OutputBuffer;
0 5 1 value I
MethodParameters:
Name Flags
value final
public void writeInt32(int, int);
descriptor: (II)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
iload 2
iconst_0
ishr
invokevirtual org.bson.io.OutputBuffer.write:(II)V
1: aload 0
iload 1
iconst_1
iadd
iload 2
bipush 8
ishr
invokevirtual org.bson.io.OutputBuffer.write:(II)V
2: aload 0
iload 1
iconst_2
iadd
iload 2
bipush 16
ishr
invokevirtual org.bson.io.OutputBuffer.write:(II)V
3: aload 0
iload 1
iconst_3
iadd
iload 2
bipush 24
ishr
invokevirtual org.bson.io.OutputBuffer.write:(II)V
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/bson/io/OutputBuffer;
0 5 1 position I
0 5 2 value I
MethodParameters:
Name Flags
position final
value final
public void writeInt64(long);
descriptor: (J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: aload 0
ldc 255
lload 1
iconst_0
lshr
land
l2i
i2b
invokevirtual org.bson.io.OutputBuffer.write:(I)V
1: aload 0
ldc 255
lload 1
bipush 8
lshr
land
l2i
i2b
invokevirtual org.bson.io.OutputBuffer.write:(I)V
2: aload 0
ldc 255
lload 1
bipush 16
lshr
land
l2i
i2b
invokevirtual org.bson.io.OutputBuffer.write:(I)V
3: aload 0
ldc 255
lload 1
bipush 24
lshr
land
l2i
i2b
invokevirtual org.bson.io.OutputBuffer.write:(I)V
4: aload 0
ldc 255
lload 1
bipush 32
lshr
land
l2i
i2b
invokevirtual org.bson.io.OutputBuffer.write:(I)V
5: aload 0
ldc 255
lload 1
bipush 40
lshr
land
l2i
i2b
invokevirtual org.bson.io.OutputBuffer.write:(I)V
6: aload 0
ldc 255
lload 1
bipush 48
lshr
land
l2i
i2b
invokevirtual org.bson.io.OutputBuffer.write:(I)V
7: aload 0
ldc 255
lload 1
bipush 56
lshr
land
l2i
i2b
invokevirtual org.bson.io.OutputBuffer.write:(I)V
8: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/bson/io/OutputBuffer;
0 9 1 value J
MethodParameters:
Name Flags
value final
public void writeDouble(double);
descriptor: (D)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
dload 1
invokestatic java.lang.Double.doubleToRawLongBits:(D)J
invokevirtual org.bson.io.OutputBuffer.writeLong:(J)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bson/io/OutputBuffer;
0 2 1 x D
MethodParameters:
Name Flags
x final
public void writeString(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
iconst_0
invokevirtual org.bson.io.OutputBuffer.writeInt:(I)V
1: aload 0
aload 1
iconst_0
invokevirtual org.bson.io.OutputBuffer.writeCharacters:(Ljava/lang/String;Z)I
istore 2
start local 2 2: aload 0
aload 0
invokevirtual org.bson.io.OutputBuffer.getPosition:()I
iload 2
isub
iconst_4
isub
iload 2
invokevirtual org.bson.io.OutputBuffer.writeInt32:(II)V
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/bson/io/OutputBuffer;
0 4 1 str Ljava/lang/String;
2 4 2 strLen I
MethodParameters:
Name Flags
str final
public void writeCString(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_1
invokevirtual org.bson.io.OutputBuffer.writeCharacters:(Ljava/lang/String;Z)I
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bson/io/OutputBuffer;
0 2 1 value Ljava/lang/String;
MethodParameters:
Name Flags
value final
public void writeObjectId(org.bson.types.ObjectId);
descriptor: (Lorg/bson/types/ObjectId;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.bson.types.ObjectId.toByteArray:()[B
invokevirtual org.bson.io.OutputBuffer.write:([B)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bson/io/OutputBuffer;
0 2 1 value Lorg/bson/types/ObjectId;
MethodParameters:
Name Flags
value final
public int size();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.bson.io.OutputBuffer.getSize:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bson/io/OutputBuffer;
public abstract int pipe(java.io.OutputStream);
descriptor: (Ljava/io/OutputStream;)I
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
out
public abstract java.util.List<org.bson.ByteBuf> getByteBuffers();
descriptor: ()Ljava/util/List;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
Signature: ()Ljava/util/List<Lorg/bson/ByteBuf;>;
public abstract void truncateToPosition(int);
descriptor: (I)V
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
newPosition
public byte[] toByteArray();
descriptor: ()[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: new java.io.ByteArrayOutputStream
dup
aload 0
invokevirtual org.bson.io.OutputBuffer.size:()I
invokespecial java.io.ByteArrayOutputStream.<init>:(I)V
astore 1
start local 1 1: aload 0
aload 1
invokevirtual org.bson.io.OutputBuffer.pipe:(Ljava/io/OutputStream;)I
pop
2: aload 1
invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
3: areturn
end local 1 4: StackMap locals:
StackMap stack: java.io.IOException
astore 1
start local 1 5: new java.lang.RuntimeException
dup
ldc "should be impossible"
aload 1
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/bson/io/OutputBuffer;
1 4 1 bout Ljava/io/ByteArrayOutputStream;
5 6 1 ioe Ljava/io/IOException;
Exception table:
from to target type
0 3 4 Class java.io.IOException
public void write(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
iload 1
invokevirtual org.bson.io.OutputBuffer.writeByte:(I)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bson/io/OutputBuffer;
0 2 1 value I
MethodParameters:
Name Flags
value final
public void writeInt(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
iload 1
invokevirtual org.bson.io.OutputBuffer.writeInt32:(I)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bson/io/OutputBuffer;
0 2 1 value I
MethodParameters:
Name Flags
value final
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " size: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual org.bson.io.OutputBuffer.size:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " pos: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual org.bson.io.OutputBuffer.getPosition:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bson/io/OutputBuffer;
protected abstract void write(int, int);
descriptor: (II)V
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
MethodParameters:
Name Flags
position
value
public void writeLong(long);
descriptor: (J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
lload 1
invokevirtual org.bson.io.OutputBuffer.writeInt64:(J)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bson/io/OutputBuffer;
0 2 1 value J
MethodParameters:
Name Flags
value final
private int writeCharacters(java.lang.String, boolean);
descriptor: (Ljava/lang/String;Z)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual java.lang.String.length:()I
istore 3
start local 3 1: iconst_0
istore 4
start local 4 2: iconst_0
istore 5
start local 5 3: goto 30
4: StackMap locals: int int int
StackMap stack:
aload 1
iload 5
invokestatic java.lang.Character.codePointAt:(Ljava/lang/CharSequence;I)I
istore 6
start local 6 5: iload 2
ifeq 9
iload 6
ifne 9
6: new org.bson.BsonSerializationException
dup
ldc "BSON cstring '%s' is not valid because it contains a null character at index %d"
iconst_2
anewarray java.lang.Object
dup
iconst_0
7: aload 1
aastore
dup
iconst_1
iload 5
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
8: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial org.bson.BsonSerializationException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals: int
StackMap stack:
iload 6
sipush 128
if_icmpge 13
10: aload 0
iload 6
i2b
invokevirtual org.bson.io.OutputBuffer.write:(I)V
11: iinc 4 1
12: goto 29
StackMap locals:
StackMap stack:
13: iload 6
sipush 2048
if_icmpge 18
14: aload 0
sipush 192
iload 6
bipush 6
ishr
iadd
i2b
invokevirtual org.bson.io.OutputBuffer.write:(I)V
15: aload 0
sipush 128
iload 6
bipush 63
iand
iadd
i2b
invokevirtual org.bson.io.OutputBuffer.write:(I)V
16: iinc 4 2
17: goto 29
StackMap locals:
StackMap stack:
18: iload 6
ldc 65536
if_icmpge 24
19: aload 0
sipush 224
iload 6
bipush 12
ishr
iadd
i2b
invokevirtual org.bson.io.OutputBuffer.write:(I)V
20: aload 0
sipush 128
iload 6
bipush 6
ishr
bipush 63
iand
iadd
i2b
invokevirtual org.bson.io.OutputBuffer.write:(I)V
21: aload 0
sipush 128
iload 6
bipush 63
iand
iadd
i2b
invokevirtual org.bson.io.OutputBuffer.write:(I)V
22: iinc 4 3
23: goto 29
24: StackMap locals:
StackMap stack:
aload 0
sipush 240
iload 6
bipush 18
ishr
iadd
i2b
invokevirtual org.bson.io.OutputBuffer.write:(I)V
25: aload 0
sipush 128
iload 6
bipush 12
ishr
bipush 63
iand
iadd
i2b
invokevirtual org.bson.io.OutputBuffer.write:(I)V
26: aload 0
sipush 128
iload 6
bipush 6
ishr
bipush 63
iand
iadd
i2b
invokevirtual org.bson.io.OutputBuffer.write:(I)V
27: aload 0
sipush 128
iload 6
bipush 63
iand
iadd
i2b
invokevirtual org.bson.io.OutputBuffer.write:(I)V
28: iinc 4 4
29: StackMap locals:
StackMap stack:
iload 5
iload 6
invokestatic java.lang.Character.charCount:(I)I
iadd
istore 5
end local 6 30: StackMap locals:
StackMap stack:
iload 5
iload 3
if_icmplt 4
end local 5 31: aload 0
iconst_0
invokevirtual org.bson.io.OutputBuffer.write:(I)V
32: iinc 4 1
33: iload 4
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 34 0 this Lorg/bson/io/OutputBuffer;
0 34 1 str Ljava/lang/String;
0 34 2 checkForNullCharacters Z
1 34 3 len I
2 34 4 total I
3 31 5 i I
5 30 6 c I
MethodParameters:
Name Flags
str final
checkForNullCharacters final
}
SourceFile: "OutputBuffer.java"