public class com.fasterxml.jackson.dataformat.protobuf.ByteAccumulator
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.fasterxml.jackson.dataformat.protobuf.ByteAccumulator
super_class: java.lang.Object
{
protected final com.fasterxml.jackson.dataformat.protobuf.ByteAccumulator _parent;
descriptor: Lcom/fasterxml/jackson/dataformat/protobuf/ByteAccumulator;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected final byte[] _prefixBuffer;
descriptor: [B
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected final int _prefixOffset;
descriptor: I
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected final int _typedTag;
descriptor: I
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected com.fasterxml.jackson.dataformat.protobuf.ByteAccumulator$Segment _firstSegment;
descriptor: Lcom/fasterxml/jackson/dataformat/protobuf/ByteAccumulator$Segment;
flags: (0x0004) ACC_PROTECTED
protected com.fasterxml.jackson.dataformat.protobuf.ByteAccumulator$Segment _lastSegment;
descriptor: Lcom/fasterxml/jackson/dataformat/protobuf/ByteAccumulator$Segment;
flags: (0x0004) ACC_PROTECTED
protected int _segmentBytes;
descriptor: I
flags: (0x0004) ACC_PROTECTED
protected int _parentStart;
descriptor: I
flags: (0x0004) ACC_PROTECTED
public void <init>(com.fasterxml.jackson.dataformat.protobuf.ByteAccumulator, int, byte[], int, int);
descriptor: (Lcom/fasterxml/jackson/dataformat/protobuf/ByteAccumulator;I[BII)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield com.fasterxml.jackson.dataformat.protobuf.ByteAccumulator._parent:Lcom/fasterxml/jackson/dataformat/protobuf/ByteAccumulator;
2: aload 0
iload 2
putfield com.fasterxml.jackson.dataformat.protobuf.ByteAccumulator._typedTag:I
3: aload 0
aload 3
putfield com.fasterxml.jackson.dataformat.protobuf.ByteAccumulator._prefixBuffer:[B
4: aload 0
iload 4
putfield com.fasterxml.jackson.dataformat.protobuf.ByteAccumulator._prefixOffset:I
5: aload 0
iload 5
putfield com.fasterxml.jackson.dataformat.protobuf.ByteAccumulator._parentStart:I
6: return
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 7 0 this Lcom/fasterxml/jackson/dataformat/protobuf/ByteAccumulator;
0 7 1 p Lcom/fasterxml/jackson/dataformat/protobuf/ByteAccumulator;
0 7 2 typedTag I
0 7 3 prefixBuffer [B
0 7 4 prefixOffset I
0 7 5 parentStart I
MethodParameters:
Name Flags
p
typedTag
prefixBuffer
prefixOffset
parentStart
public void append(byte[], int, int);
descriptor: ([BII)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new com.fasterxml.jackson.dataformat.protobuf.ByteAccumulator$Segment
dup
aload 1
iload 2
iload 3
invokespecial com.fasterxml.jackson.dataformat.protobuf.ByteAccumulator$Segment.<init>:([BII)V
astore 4
start local 4 1: aload 0
getfield com.fasterxml.jackson.dataformat.protobuf.ByteAccumulator._lastSegment:Lcom/fasterxml/jackson/dataformat/protobuf/ByteAccumulator$Segment;
ifnonnull 4
2: aload 0
aload 0
aload 4
dup_x1
putfield com.fasterxml.jackson.dataformat.protobuf.ByteAccumulator._lastSegment:Lcom/fasterxml/jackson/dataformat/protobuf/ByteAccumulator$Segment;
putfield com.fasterxml.jackson.dataformat.protobuf.ByteAccumulator._firstSegment:Lcom/fasterxml/jackson/dataformat/protobuf/ByteAccumulator$Segment;
3: goto 5
4: StackMap locals: com.fasterxml.jackson.dataformat.protobuf.ByteAccumulator$Segment
StackMap stack:
aload 0
aload 0
getfield com.fasterxml.jackson.dataformat.protobuf.ByteAccumulator._lastSegment:Lcom/fasterxml/jackson/dataformat/protobuf/ByteAccumulator$Segment;
aload 4
invokevirtual com.fasterxml.jackson.dataformat.protobuf.ByteAccumulator$Segment.linkNext:(Lcom/fasterxml/jackson/dataformat/protobuf/ByteAccumulator$Segment;)Lcom/fasterxml/jackson/dataformat/protobuf/ByteAccumulator$Segment;
putfield com.fasterxml.jackson.dataformat.protobuf.ByteAccumulator._lastSegment:Lcom/fasterxml/jackson/dataformat/protobuf/ByteAccumulator$Segment;
5: StackMap locals:
StackMap stack:
aload 0
dup
getfield com.fasterxml.jackson.dataformat.protobuf.ByteAccumulator._segmentBytes:I
iload 3
iadd
putfield com.fasterxml.jackson.dataformat.protobuf.ByteAccumulator._segmentBytes:I
6: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/fasterxml/jackson/dataformat/protobuf/ByteAccumulator;
0 7 1 buf [B
0 7 2 offset I
0 7 3 len I
1 7 4 s Lcom/fasterxml/jackson/dataformat/protobuf/ByteAccumulator$Segment;
MethodParameters:
Name Flags
buf
offset
len
public com.fasterxml.jackson.dataformat.protobuf.ByteAccumulator finish(java.io.OutputStream, byte[], int, int);
descriptor: (Ljava/io/OutputStream;[BII)Lcom/fasterxml/jackson/dataformat/protobuf/ByteAccumulator;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=10, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield com.fasterxml.jackson.dataformat.protobuf.ByteAccumulator._prefixBuffer:[B
astore 5
start local 5 1: aload 0
getfield com.fasterxml.jackson.dataformat.protobuf.ByteAccumulator._typedTag:I
iconst_m1
if_icmpne 4
2: aload 0
getfield com.fasterxml.jackson.dataformat.protobuf.ByteAccumulator._prefixOffset:I
istore 6
start local 6 3: goto 5
end local 6 4: StackMap locals: byte[]
StackMap stack:
aload 0
getfield com.fasterxml.jackson.dataformat.protobuf.ByteAccumulator._typedTag:I
aload 5
aload 0
getfield com.fasterxml.jackson.dataformat.protobuf.ByteAccumulator._prefixOffset:I
invokestatic com.fasterxml.jackson.dataformat.protobuf.ProtobufUtil.appendLengthLength:(I[BI)I
istore 6
start local 6 5: StackMap locals: int
StackMap stack:
aload 0
getfield com.fasterxml.jackson.dataformat.protobuf.ByteAccumulator._segmentBytes:I
iload 4
iadd
istore 7
start local 7 6: iload 7
aload 5
iload 6
invokestatic com.fasterxml.jackson.dataformat.protobuf.ProtobufUtil.appendLengthLength:(I[BI)I
istore 6
7: aload 0
getfield com.fasterxml.jackson.dataformat.protobuf.ByteAccumulator._parentStart:I
istore 8
start local 8 8: aload 0
getfield com.fasterxml.jackson.dataformat.protobuf.ByteAccumulator._parent:Lcom/fasterxml/jackson/dataformat/protobuf/ByteAccumulator;
ifnonnull 18
9: aload 1
aload 5
iload 8
iload 6
iload 8
isub
invokevirtual java.io.OutputStream.write:([BII)V
10: aload 0
getfield com.fasterxml.jackson.dataformat.protobuf.ByteAccumulator._firstSegment:Lcom/fasterxml/jackson/dataformat/protobuf/ByteAccumulator$Segment;
astore 9
start local 9 11: goto 14
12: StackMap locals: int int com.fasterxml.jackson.dataformat.protobuf.ByteAccumulator$Segment
StackMap stack:
aload 9
aload 1
invokevirtual com.fasterxml.jackson.dataformat.protobuf.ByteAccumulator$Segment.writeTo:(Ljava/io/OutputStream;)V
13: aload 9
invokevirtual com.fasterxml.jackson.dataformat.protobuf.ByteAccumulator$Segment.next:()Lcom/fasterxml/jackson/dataformat/protobuf/ByteAccumulator$Segment;
astore 9
StackMap locals:
StackMap stack:
14: aload 9
ifnonnull 12
end local 9 15: iload 4
ifle 23
16: aload 1
aload 2
iload 3
iload 4
invokevirtual java.io.OutputStream.write:([BII)V
17: goto 23
18: StackMap locals:
StackMap stack:
aload 0
getfield com.fasterxml.jackson.dataformat.protobuf.ByteAccumulator._parent:Lcom/fasterxml/jackson/dataformat/protobuf/ByteAccumulator;
aload 5
iload 8
iload 6
iload 8
isub
invokevirtual com.fasterxml.jackson.dataformat.protobuf.ByteAccumulator.append:([BII)V
19: aload 0
getfield com.fasterxml.jackson.dataformat.protobuf.ByteAccumulator._firstSegment:Lcom/fasterxml/jackson/dataformat/protobuf/ByteAccumulator$Segment;
ifnull 21
20: aload 0
getfield com.fasterxml.jackson.dataformat.protobuf.ByteAccumulator._parent:Lcom/fasterxml/jackson/dataformat/protobuf/ByteAccumulator;
aload 0
getfield com.fasterxml.jackson.dataformat.protobuf.ByteAccumulator._firstSegment:Lcom/fasterxml/jackson/dataformat/protobuf/ByteAccumulator$Segment;
aload 0
getfield com.fasterxml.jackson.dataformat.protobuf.ByteAccumulator._lastSegment:Lcom/fasterxml/jackson/dataformat/protobuf/ByteAccumulator$Segment;
aload 0
getfield com.fasterxml.jackson.dataformat.protobuf.ByteAccumulator._segmentBytes:I
invokevirtual com.fasterxml.jackson.dataformat.protobuf.ByteAccumulator.appendAll:(Lcom/fasterxml/jackson/dataformat/protobuf/ByteAccumulator$Segment;Lcom/fasterxml/jackson/dataformat/protobuf/ByteAccumulator$Segment;I)V
21: StackMap locals:
StackMap stack:
iload 4
ifle 23
22: aload 0
getfield com.fasterxml.jackson.dataformat.protobuf.ByteAccumulator._parent:Lcom/fasterxml/jackson/dataformat/protobuf/ByteAccumulator;
aload 2
iload 3
iload 4
invokevirtual com.fasterxml.jackson.dataformat.protobuf.ByteAccumulator.append:([BII)V
23: StackMap locals:
StackMap stack:
aload 0
getfield com.fasterxml.jackson.dataformat.protobuf.ByteAccumulator._parent:Lcom/fasterxml/jackson/dataformat/protobuf/ByteAccumulator;
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 24 0 this Lcom/fasterxml/jackson/dataformat/protobuf/ByteAccumulator;
0 24 1 out Ljava/io/OutputStream;
0 24 2 input [B
0 24 3 offset I
0 24 4 len I
1 24 5 prefixBuf [B
3 4 6 ptr I
5 24 6 ptr I
6 24 7 plen I
8 24 8 writeStart I
11 15 9 s Lcom/fasterxml/jackson/dataformat/protobuf/ByteAccumulator$Segment;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
out
input
offset
len
public com.fasterxml.jackson.dataformat.protobuf.ByteAccumulator finish(java.io.OutputStream, byte[]);
descriptor: (Ljava/io/OutputStream;[B)Lcom/fasterxml/jackson/dataformat/protobuf/ByteAccumulator;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.fasterxml.jackson.dataformat.protobuf.ByteAccumulator._prefixBuffer:[B
astore 4
start local 4 1: aload 0
getfield com.fasterxml.jackson.dataformat.protobuf.ByteAccumulator._typedTag:I
iconst_m1
if_icmpne 4
2: aload 0
getfield com.fasterxml.jackson.dataformat.protobuf.ByteAccumulator._prefixOffset:I
istore 3
start local 3 3: goto 5
end local 3 4: StackMap locals: com.fasterxml.jackson.dataformat.protobuf.ByteAccumulator java.io.OutputStream byte[] top byte[]
StackMap stack:
aload 0
getfield com.fasterxml.jackson.dataformat.protobuf.ByteAccumulator._typedTag:I
aload 4
aload 0
getfield com.fasterxml.jackson.dataformat.protobuf.ByteAccumulator._prefixOffset:I
invokestatic com.fasterxml.jackson.dataformat.protobuf.ProtobufUtil.appendLengthLength:(I[BI)I
istore 3
start local 3 5: StackMap locals: com.fasterxml.jackson.dataformat.protobuf.ByteAccumulator java.io.OutputStream byte[] int byte[]
StackMap stack:
aload 0
getfield com.fasterxml.jackson.dataformat.protobuf.ByteAccumulator._segmentBytes:I
istore 5
start local 5 6: iload 5
aload 4
iload 3
invokestatic com.fasterxml.jackson.dataformat.protobuf.ProtobufUtil.appendLengthLength:(I[BI)I
istore 3
7: aload 0
getfield com.fasterxml.jackson.dataformat.protobuf.ByteAccumulator._parentStart:I
istore 6
start local 6 8: aload 0
getfield com.fasterxml.jackson.dataformat.protobuf.ByteAccumulator._parent:Lcom/fasterxml/jackson/dataformat/protobuf/ByteAccumulator;
ifnonnull 16
9: aload 1
aload 4
iload 6
iload 3
iload 6
isub
invokevirtual java.io.OutputStream.write:([BII)V
10: aload 0
getfield com.fasterxml.jackson.dataformat.protobuf.ByteAccumulator._firstSegment:Lcom/fasterxml/jackson/dataformat/protobuf/ByteAccumulator$Segment;
astore 7
start local 7 11: goto 14
12: StackMap locals: int int com.fasterxml.jackson.dataformat.protobuf.ByteAccumulator$Segment
StackMap stack:
aload 7
aload 1
invokevirtual com.fasterxml.jackson.dataformat.protobuf.ByteAccumulator$Segment.writeTo:(Ljava/io/OutputStream;)V
13: aload 7
invokevirtual com.fasterxml.jackson.dataformat.protobuf.ByteAccumulator$Segment.next:()Lcom/fasterxml/jackson/dataformat/protobuf/ByteAccumulator$Segment;
astore 7
StackMap locals:
StackMap stack:
14: aload 7
ifnonnull 12
end local 7 15: goto 19
16: StackMap locals:
StackMap stack:
aload 0
getfield com.fasterxml.jackson.dataformat.protobuf.ByteAccumulator._parent:Lcom/fasterxml/jackson/dataformat/protobuf/ByteAccumulator;
aload 4
iload 6
iload 3
iload 6
isub
invokevirtual com.fasterxml.jackson.dataformat.protobuf.ByteAccumulator.append:([BII)V
17: aload 0
getfield com.fasterxml.jackson.dataformat.protobuf.ByteAccumulator._firstSegment:Lcom/fasterxml/jackson/dataformat/protobuf/ByteAccumulator$Segment;
ifnull 19
18: aload 0
getfield com.fasterxml.jackson.dataformat.protobuf.ByteAccumulator._parent:Lcom/fasterxml/jackson/dataformat/protobuf/ByteAccumulator;
aload 0
getfield com.fasterxml.jackson.dataformat.protobuf.ByteAccumulator._firstSegment:Lcom/fasterxml/jackson/dataformat/protobuf/ByteAccumulator$Segment;
aload 0
getfield com.fasterxml.jackson.dataformat.protobuf.ByteAccumulator._lastSegment:Lcom/fasterxml/jackson/dataformat/protobuf/ByteAccumulator$Segment;
aload 0
getfield com.fasterxml.jackson.dataformat.protobuf.ByteAccumulator._segmentBytes:I
invokevirtual com.fasterxml.jackson.dataformat.protobuf.ByteAccumulator.appendAll:(Lcom/fasterxml/jackson/dataformat/protobuf/ByteAccumulator$Segment;Lcom/fasterxml/jackson/dataformat/protobuf/ByteAccumulator$Segment;I)V
19: StackMap locals:
StackMap stack:
aload 0
getfield com.fasterxml.jackson.dataformat.protobuf.ByteAccumulator._parent:Lcom/fasterxml/jackson/dataformat/protobuf/ByteAccumulator;
areturn
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 20 0 this Lcom/fasterxml/jackson/dataformat/protobuf/ByteAccumulator;
0 20 1 out Ljava/io/OutputStream;
0 20 2 input [B
3 4 3 ptr I
5 20 3 ptr I
1 20 4 prefixBuf [B
6 20 5 plen I
8 20 6 writeStart I
11 15 7 s Lcom/fasterxml/jackson/dataformat/protobuf/ByteAccumulator$Segment;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
out
input
private void appendAll(com.fasterxml.jackson.dataformat.protobuf.ByteAccumulator$Segment, com.fasterxml.jackson.dataformat.protobuf.ByteAccumulator$Segment, int);
descriptor: (Lcom/fasterxml/jackson/dataformat/protobuf/ByteAccumulator$Segment;Lcom/fasterxml/jackson/dataformat/protobuf/ByteAccumulator$Segment;I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
dup
getfield com.fasterxml.jackson.dataformat.protobuf.ByteAccumulator._segmentBytes:I
iload 3
iadd
putfield com.fasterxml.jackson.dataformat.protobuf.ByteAccumulator._segmentBytes:I
1: aload 0
getfield com.fasterxml.jackson.dataformat.protobuf.ByteAccumulator._firstSegment:Lcom/fasterxml/jackson/dataformat/protobuf/ByteAccumulator$Segment;
ifnonnull 5
2: aload 0
aload 1
putfield com.fasterxml.jackson.dataformat.protobuf.ByteAccumulator._firstSegment:Lcom/fasterxml/jackson/dataformat/protobuf/ByteAccumulator$Segment;
3: aload 0
aload 2
putfield com.fasterxml.jackson.dataformat.protobuf.ByteAccumulator._lastSegment:Lcom/fasterxml/jackson/dataformat/protobuf/ByteAccumulator$Segment;
4: goto 7
5: StackMap locals:
StackMap stack:
aload 0
getfield com.fasterxml.jackson.dataformat.protobuf.ByteAccumulator._lastSegment:Lcom/fasterxml/jackson/dataformat/protobuf/ByteAccumulator$Segment;
aload 1
invokevirtual com.fasterxml.jackson.dataformat.protobuf.ByteAccumulator$Segment.linkNext:(Lcom/fasterxml/jackson/dataformat/protobuf/ByteAccumulator$Segment;)Lcom/fasterxml/jackson/dataformat/protobuf/ByteAccumulator$Segment;
pop
6: aload 0
aload 2
putfield com.fasterxml.jackson.dataformat.protobuf.ByteAccumulator._lastSegment:Lcom/fasterxml/jackson/dataformat/protobuf/ByteAccumulator$Segment;
7: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/fasterxml/jackson/dataformat/protobuf/ByteAccumulator;
0 8 1 first Lcom/fasterxml/jackson/dataformat/protobuf/ByteAccumulator$Segment;
0 8 2 last Lcom/fasterxml/jackson/dataformat/protobuf/ByteAccumulator$Segment;
0 8 3 segmentBytes I
MethodParameters:
Name Flags
first
last
segmentBytes
}
SourceFile: "ByteAccumulator.java"
NestMembers:
com.fasterxml.jackson.dataformat.protobuf.ByteAccumulator$Segment
InnerClasses:
private final Segment = com.fasterxml.jackson.dataformat.protobuf.ByteAccumulator$Segment of com.fasterxml.jackson.dataformat.protobuf.ByteAccumulator