abstract class org.glassfish.jersey.client.ChunkedInput$AbstractBoundaryParser implements org.glassfish.jersey.client.ChunkParser
minor version: 0
major version: 59
flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
this_class: org.glassfish.jersey.client.ChunkedInput$AbstractBoundaryParser
super_class: java.lang.Object
{
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/glassfish/jersey/client/ChunkedInput$AbstractBoundaryParser;
public byte[] readChunk(java.io.InputStream);
descriptor: (Ljava/io/InputStream;)[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=9, args_size=2
start local 0 start local 1 0: new java.io.ByteArrayOutputStream
dup
invokespecial java.io.ByteArrayOutputStream.<init>:()V
astore 2
start local 2 1: aload 0
invokevirtual org.glassfish.jersey.client.ChunkedInput$AbstractBoundaryParser.getDelimiterBufferSize:()I
newarray 8
astore 3
start local 3 2: StackMap locals: java.io.ByteArrayOutputStream byte[]
StackMap stack:
iconst_0
istore 5
start local 5 3: goto 25
start local 4 4: StackMap locals: int int
StackMap stack:
iload 4
i2b
istore 6
start local 6 5: aload 0
iload 6
iload 5
aload 3
invokevirtual org.glassfish.jersey.client.ChunkedInput$AbstractBoundaryParser.getDelimiter:(BI[B)[B
astore 7
start local 7 6: aload 7
ifnull 10
iload 6
aload 7
iload 5
baload
if_icmpne 10
7: aload 3
iload 5
iinc 5 1
iload 6
bastore
8: iload 5
aload 7
arraylength
if_icmpne 25
9: goto 27
10: StackMap locals: int byte[]
StackMap stack:
iload 5
ifle 24
11: aload 0
iload 5
iconst_1
isub
aload 3
invokevirtual org.glassfish.jersey.client.ChunkedInput$AbstractBoundaryParser.getDelimiter:(I[B)[B
astore 7
12: aload 3
iload 5
iload 6
bastore
13: aload 3
iconst_1
iload 5
aload 7
invokestatic org.glassfish.jersey.client.ChunkedInput$AbstractBoundaryParser.matchTail:([BII[B)I
istore 8
start local 8 14: iload 8
ifne 19
15: aload 2
aload 3
iconst_0
iload 5
invokevirtual java.io.ByteArrayOutputStream.write:([BII)V
16: aload 2
iload 6
invokevirtual java.io.ByteArrayOutputStream.write:(I)V
17: iconst_0
istore 5
18: goto 25
StackMap locals: int
StackMap stack:
19: iload 8
aload 7
arraylength
if_icmpne 21
20: goto 27
21: StackMap locals:
StackMap stack:
aload 2
aload 3
iconst_0
iload 5
iconst_1
iadd
iload 8
isub
invokevirtual java.io.ByteArrayOutputStream.write:([BII)V
22: iload 8
istore 5
end local 8 23: goto 25
24: StackMap locals:
StackMap stack:
aload 2
iload 6
invokevirtual java.io.ByteArrayOutputStream.write:(I)V
end local 7 end local 6 end local 4 25: StackMap locals: org.glassfish.jersey.client.ChunkedInput$AbstractBoundaryParser java.io.InputStream java.io.ByteArrayOutputStream byte[] top int
StackMap stack:
aload 1
invokevirtual java.io.InputStream.read:()I
dup
istore 4
start local 4 26: iconst_m1
if_icmpne 4
27: StackMap locals: org.glassfish.jersey.client.ChunkedInput$AbstractBoundaryParser java.io.InputStream java.io.ByteArrayOutputStream byte[] int int
StackMap stack:
iload 4
iconst_m1
if_icmpeq 28
aload 2
invokevirtual java.io.ByteArrayOutputStream.size:()I
ifeq 2
28: StackMap locals:
StackMap stack:
iload 5
ifle 30
iload 5
aload 0
iload 5
iconst_1
isub
aload 3
invokevirtual org.glassfish.jersey.client.ChunkedInput$AbstractBoundaryParser.getDelimiter:(I[B)[B
arraylength
if_icmpeq 30
29: aload 2
aload 3
iconst_0
iload 5
invokevirtual java.io.ByteArrayOutputStream.write:([BII)V
30: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.io.ByteArrayOutputStream.size:()I
ifle 31
aload 2
invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
goto 32
StackMap locals:
StackMap stack:
31: aconst_null
StackMap locals:
StackMap stack: byte[]
32: areturn
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 33 0 this Lorg/glassfish/jersey/client/ChunkedInput$AbstractBoundaryParser;
0 33 1 in Ljava/io/InputStream;
1 33 2 buffer Ljava/io/ByteArrayOutputStream;
2 33 3 delimiterBuffer [B
4 25 4 data I
26 33 4 data I
3 33 5 dPos I
5 25 6 b B
6 25 7 delimiter [B
14 23 8 matched I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
in final
abstract byte[] getDelimiter(byte, int, byte[]);
descriptor: (BI[B)[B
flags: (0x0400) ACC_ABSTRACT
MethodParameters:
Name Flags
b
pos
delimiterBuffer
abstract byte[] getDelimiter(int, byte[]);
descriptor: (I[B)[B
flags: (0x0400) ACC_ABSTRACT
MethodParameters:
Name Flags
pos
delimiterBuffer
abstract int getDelimiterBufferSize();
descriptor: ()I
flags: (0x0400) ACC_ABSTRACT
private static int matchTail(byte[], int, int, byte[]);
descriptor: ([BII[B)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
ifnonnull 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
iconst_0
istore 4
start local 4 3: goto 13
4: StackMap locals: int
StackMap stack:
iload 2
iload 4
isub
istore 5
start local 5 5: iconst_0
istore 6
start local 6 6: goto 10
7: StackMap locals: int int
StackMap stack:
aload 0
iload 1
iload 4
iadd
iload 6
iadd
baload
aload 3
iload 6
baload
if_icmpeq 9
8: goto 12
9: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
10: iload 6
iload 5
if_icmplt 7
end local 6 11: iload 5
ireturn
end local 5 12: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
13: iload 4
iload 2
if_icmplt 4
end local 4 14: iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 buffer [B
0 15 1 offset I
0 15 2 length I
0 15 3 pattern [B
3 14 4 i I
5 12 5 tailLength I
6 11 6 j I
MethodParameters:
Name Flags
buffer
offset
length
pattern
}
SourceFile: "ChunkedInput.java"
NestHost: org.glassfish.jersey.client.ChunkedInput
InnerClasses:
private abstract AbstractBoundaryParser = org.glassfish.jersey.client.ChunkedInput$AbstractBoundaryParser of org.glassfish.jersey.client.ChunkedInput