public class org.apache.tomcat.util.http.fileupload.MultipartStream
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.tomcat.util.http.fileupload.MultipartStream
super_class: java.lang.Object
{
public static final byte CR;
descriptor: B
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 13
public static final byte LF;
descriptor: B
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 10
public static final byte DASH;
descriptor: B
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 45
public static final int ;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 10240
protected static final int DEFAULT_BUFSIZE;
descriptor: I
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: 4096
protected static final byte[] ;
descriptor: [B
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
protected static final byte[] FIELD_SEPARATOR;
descriptor: [B
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
protected static final byte[] STREAM_TERMINATOR;
descriptor: [B
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
protected static final byte[] BOUNDARY_PREFIX;
descriptor: [B
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
private final java.io.InputStream input;
descriptor: Ljava/io/InputStream;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private int boundaryLength;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private final int keepRegion;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final byte[] boundary;
descriptor: [B
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int[] boundaryTable;
descriptor: [I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int bufSize;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final byte[] buffer;
descriptor: [B
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private int head;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int tail;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private java.lang.String ;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private final org.apache.tomcat.util.http.fileupload.MultipartStream$ProgressNotifier notifier;
descriptor: Lorg/apache/tomcat/util/http/fileupload/MultipartStream$ProgressNotifier;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: iconst_4
newarray 8
dup
iconst_0
bipush 13
bastore
dup
iconst_1
bipush 10
bastore
dup
iconst_2
bipush 13
bastore
dup
iconst_3
bipush 10
bastore
putstatic org.apache.tomcat.util.http.fileupload.MultipartStream.HEADER_SEPARATOR:[B
1: iconst_2
newarray 8
dup
iconst_0
bipush 13
bastore
dup
iconst_1
bipush 10
bastore
putstatic org.apache.tomcat.util.http.fileupload.MultipartStream.FIELD_SEPARATOR:[B
2: iconst_2
newarray 8
dup
iconst_0
bipush 45
bastore
dup
iconst_1
bipush 45
bastore
putstatic org.apache.tomcat.util.http.fileupload.MultipartStream.STREAM_TERMINATOR:[B
3: iconst_4
newarray 8
dup
iconst_0
bipush 13
bastore
dup
iconst_1
bipush 10
bastore
dup
iconst_2
bipush 45
bastore
dup
iconst_3
bipush 45
bastore
putstatic org.apache.tomcat.util.http.fileupload.MultipartStream.BOUNDARY_PREFIX:[B
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(java.io.InputStream, byte[], int, org.apache.tomcat.util.http.fileupload.MultipartStream$ProgressNotifier);
descriptor: (Ljava/io/InputStream;[BILorg/apache/tomcat/util/http/fileupload/MultipartStream$ProgressNotifier;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 2
ifnonnull 3
2: new java.lang.IllegalArgumentException
dup
ldc "boundary may not be null"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: org.apache.tomcat.util.http.fileupload.MultipartStream java.io.InputStream byte[] int org.apache.tomcat.util.http.fileupload.MultipartStream$ProgressNotifier
StackMap stack:
aload 0
aload 2
arraylength
getstatic org.apache.tomcat.util.http.fileupload.MultipartStream.BOUNDARY_PREFIX:[B
arraylength
iadd
putfield org.apache.tomcat.util.http.fileupload.MultipartStream.boundaryLength:I
4: iload 3
aload 0
getfield org.apache.tomcat.util.http.fileupload.MultipartStream.boundaryLength:I
iconst_1
iadd
if_icmpge 8
5: new java.lang.IllegalArgumentException
dup
6: ldc "The buffer size specified for the MultipartStream is too small"
7: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield org.apache.tomcat.util.http.fileupload.MultipartStream.input:Ljava/io/InputStream;
9: aload 0
iload 3
aload 0
getfield org.apache.tomcat.util.http.fileupload.MultipartStream.boundaryLength:I
iconst_2
imul
invokestatic java.lang.Math.max:(II)I
putfield org.apache.tomcat.util.http.fileupload.MultipartStream.bufSize:I
10: aload 0
aload 0
getfield org.apache.tomcat.util.http.fileupload.MultipartStream.bufSize:I
newarray 8
putfield org.apache.tomcat.util.http.fileupload.MultipartStream.buffer:[B
11: aload 0
aload 4
putfield org.apache.tomcat.util.http.fileupload.MultipartStream.notifier:Lorg/apache/tomcat/util/http/fileupload/MultipartStream$ProgressNotifier;
12: aload 0
aload 0
getfield org.apache.tomcat.util.http.fileupload.MultipartStream.boundaryLength:I
newarray 8
putfield org.apache.tomcat.util.http.fileupload.MultipartStream.boundary:[B
13: aload 0
aload 0
getfield org.apache.tomcat.util.http.fileupload.MultipartStream.boundaryLength:I
iconst_1
iadd
newarray 10
putfield org.apache.tomcat.util.http.fileupload.MultipartStream.boundaryTable:[I
14: aload 0
aload 0
getfield org.apache.tomcat.util.http.fileupload.MultipartStream.boundary:[B
arraylength
putfield org.apache.tomcat.util.http.fileupload.MultipartStream.keepRegion:I
15: getstatic org.apache.tomcat.util.http.fileupload.MultipartStream.BOUNDARY_PREFIX:[B
iconst_0
aload 0
getfield org.apache.tomcat.util.http.fileupload.MultipartStream.boundary:[B
iconst_0
16: getstatic org.apache.tomcat.util.http.fileupload.MultipartStream.BOUNDARY_PREFIX:[B
arraylength
17: invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
18: aload 2
iconst_0
aload 0
getfield org.apache.tomcat.util.http.fileupload.MultipartStream.boundary:[B
getstatic org.apache.tomcat.util.http.fileupload.MultipartStream.BOUNDARY_PREFIX:[B
arraylength
19: aload 2
arraylength
20: invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
21: aload 0
invokevirtual org.apache.tomcat.util.http.fileupload.MultipartStream.computeBoundaryTable:()V
22: aload 0
iconst_0
putfield org.apache.tomcat.util.http.fileupload.MultipartStream.head:I
23: aload 0
iconst_0
putfield org.apache.tomcat.util.http.fileupload.MultipartStream.tail:I
24: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lorg/apache/tomcat/util/http/fileupload/MultipartStream;
0 25 1 input Ljava/io/InputStream;
0 25 2 boundary [B
0 25 3 bufSize I
0 25 4 pNotifier Lorg/apache/tomcat/util/http/fileupload/MultipartStream$ProgressNotifier;
MethodParameters:
Name Flags
input
boundary
bufSize
pNotifier
public void <init>(java.io.InputStream, byte[], org.apache.tomcat.util.http.fileupload.MultipartStream$ProgressNotifier);
descriptor: (Ljava/io/InputStream;[BLorg/apache/tomcat/util/http/fileupload/MultipartStream$ProgressNotifier;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
sipush 4096
aload 3
invokespecial org.apache.tomcat.util.http.fileupload.MultipartStream.<init>:(Ljava/io/InputStream;[BILorg/apache/tomcat/util/http/fileupload/MultipartStream$ProgressNotifier;)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/apache/tomcat/util/http/fileupload/MultipartStream;
0 2 1 input Ljava/io/InputStream;
0 2 2 boundary [B
0 2 3 pNotifier Lorg/apache/tomcat/util/http/fileupload/MultipartStream$ProgressNotifier;
MethodParameters:
Name Flags
input
boundary
pNotifier
public java.lang.String ();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.tomcat.util.http.fileupload.MultipartStream.headerEncoding:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/tomcat/util/http/fileupload/MultipartStream;
public void (java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.apache.tomcat.util.http.fileupload.MultipartStream.headerEncoding:Ljava/lang/String;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/tomcat/util/http/fileupload/MultipartStream;
0 2 1 encoding Ljava/lang/String;
MethodParameters:
Name Flags
encoding
public byte readByte();
descriptor: ()B
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.tomcat.util.http.fileupload.MultipartStream.head:I
aload 0
getfield org.apache.tomcat.util.http.fileupload.MultipartStream.tail:I
if_icmpne 7
1: aload 0
iconst_0
putfield org.apache.tomcat.util.http.fileupload.MultipartStream.head:I
2: aload 0
aload 0
getfield org.apache.tomcat.util.http.fileupload.MultipartStream.input:Ljava/io/InputStream;
aload 0
getfield org.apache.tomcat.util.http.fileupload.MultipartStream.buffer:[B
aload 0
getfield org.apache.tomcat.util.http.fileupload.MultipartStream.head:I
aload 0
getfield org.apache.tomcat.util.http.fileupload.MultipartStream.bufSize:I
invokevirtual java.io.InputStream.read:([BII)I
putfield org.apache.tomcat.util.http.fileupload.MultipartStream.tail:I
3: aload 0
getfield org.apache.tomcat.util.http.fileupload.MultipartStream.tail:I
iconst_m1
if_icmpne 5
4: new java.io.IOException
dup
ldc "No more data is available"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.tomcat.util.http.fileupload.MultipartStream.notifier:Lorg/apache/tomcat/util/http/fileupload/MultipartStream$ProgressNotifier;
ifnull 7
6: aload 0
getfield org.apache.tomcat.util.http.fileupload.MultipartStream.notifier:Lorg/apache/tomcat/util/http/fileupload/MultipartStream$ProgressNotifier;
aload 0
getfield org.apache.tomcat.util.http.fileupload.MultipartStream.tail:I
invokevirtual org.apache.tomcat.util.http.fileupload.MultipartStream$ProgressNotifier.noteBytesRead:(I)V
7: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.tomcat.util.http.fileupload.MultipartStream.buffer:[B
aload 0
dup
getfield org.apache.tomcat.util.http.fileupload.MultipartStream.head:I
dup_x1
iconst_1
iadd
putfield org.apache.tomcat.util.http.fileupload.MultipartStream.head:I
baload
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/apache/tomcat/util/http/fileupload/MultipartStream;
Exceptions:
throws java.io.IOException
public boolean readBoundary();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: iconst_2
newarray 8
astore 1
start local 1 1: iconst_0
istore 2
start local 2 2: aload 0
dup
getfield org.apache.tomcat.util.http.fileupload.MultipartStream.head:I
aload 0
getfield org.apache.tomcat.util.http.fileupload.MultipartStream.boundaryLength:I
iadd
putfield org.apache.tomcat.util.http.fileupload.MultipartStream.head:I
3: aload 1
iconst_0
aload 0
invokevirtual org.apache.tomcat.util.http.fileupload.MultipartStream.readByte:()B
bastore
4: aload 1
iconst_0
baload
bipush 10
if_icmpne 6
5: iconst_1
ireturn
6: StackMap locals: byte[] int
StackMap stack:
aload 1
iconst_1
aload 0
invokevirtual org.apache.tomcat.util.http.fileupload.MultipartStream.readByte:()B
bastore
7: aload 1
getstatic org.apache.tomcat.util.http.fileupload.MultipartStream.STREAM_TERMINATOR:[B
iconst_2
invokestatic org.apache.tomcat.util.http.fileupload.MultipartStream.arrayequals:([B[BI)Z
ifeq 10
8: iconst_0
istore 2
9: goto 20
StackMap locals:
StackMap stack:
10: aload 1
getstatic org.apache.tomcat.util.http.fileupload.MultipartStream.FIELD_SEPARATOR:[B
iconst_2
invokestatic org.apache.tomcat.util.http.fileupload.MultipartStream.arrayequals:([B[BI)Z
ifeq 13
11: iconst_1
istore 2
12: goto 20
13: StackMap locals:
StackMap stack:
new org.apache.tomcat.util.http.fileupload.MultipartStream$MalformedStreamException
dup
14: ldc "Unexpected characters follow a boundary"
15: invokespecial org.apache.tomcat.util.http.fileupload.MultipartStream$MalformedStreamException.<init>:(Ljava/lang/String;)V
athrow
16: StackMap locals:
StackMap stack: org.apache.tomcat.util.http.fileupload.impl.FileUploadIOException
astore 3
start local 3 17: aload 3
athrow
end local 3 18: StackMap locals:
StackMap stack: java.io.IOException
pop
19: new org.apache.tomcat.util.http.fileupload.MultipartStream$MalformedStreamException
dup
ldc "Stream ended unexpectedly"
invokespecial org.apache.tomcat.util.http.fileupload.MultipartStream$MalformedStreamException.<init>:(Ljava/lang/String;)V
athrow
20: StackMap locals:
StackMap stack:
iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lorg/apache/tomcat/util/http/fileupload/MultipartStream;
1 21 1 marker [B
2 21 2 nextChunk Z
17 18 3 e Lorg/apache/tomcat/util/http/fileupload/impl/FileUploadIOException;
Exception table:
from to target type
3 5 16 Class org.apache.tomcat.util.http.fileupload.impl.FileUploadIOException
6 16 16 Class org.apache.tomcat.util.http.fileupload.impl.FileUploadIOException
3 5 18 Class java.io.IOException
6 16 18 Class java.io.IOException
Exceptions:
throws org.apache.tomcat.util.http.fileupload.impl.FileUploadIOException, org.apache.tomcat.util.http.fileupload.MultipartStream$MalformedStreamException
public void setBoundary(byte[]);
descriptor: ([B)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 1
arraylength
aload 0
getfield org.apache.tomcat.util.http.fileupload.MultipartStream.boundaryLength:I
getstatic org.apache.tomcat.util.http.fileupload.MultipartStream.BOUNDARY_PREFIX:[B
arraylength
isub
if_icmpeq 4
1: new org.apache.tomcat.util.http.fileupload.MultipartStream$IllegalBoundaryException
dup
2: ldc "The length of a boundary token cannot be changed"
3: invokespecial org.apache.tomcat.util.http.fileupload.MultipartStream$IllegalBoundaryException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 1
iconst_0
aload 0
getfield org.apache.tomcat.util.http.fileupload.MultipartStream.boundary:[B
getstatic org.apache.tomcat.util.http.fileupload.MultipartStream.BOUNDARY_PREFIX:[B
arraylength
5: aload 1
arraylength
6: invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
7: aload 0
invokevirtual org.apache.tomcat.util.http.fileupload.MultipartStream.computeBoundaryTable:()V
8: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/apache/tomcat/util/http/fileupload/MultipartStream;
0 9 1 boundary [B
Exceptions:
throws org.apache.tomcat.util.http.fileupload.MultipartStream$IllegalBoundaryException
MethodParameters:
Name Flags
boundary
private void computeBoundaryTable();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=1
start local 0 0: iconst_2
istore 1
start local 1 1: iconst_0
istore 2
start local 2 2: aload 0
getfield org.apache.tomcat.util.http.fileupload.MultipartStream.boundaryTable:[I
iconst_0
iconst_m1
iastore
3: aload 0
getfield org.apache.tomcat.util.http.fileupload.MultipartStream.boundaryTable:[I
iconst_1
iconst_0
iastore
4: goto 15
5: StackMap locals: int int
StackMap stack:
aload 0
getfield org.apache.tomcat.util.http.fileupload.MultipartStream.boundary:[B
iload 1
iconst_1
isub
baload
aload 0
getfield org.apache.tomcat.util.http.fileupload.MultipartStream.boundary:[B
iload 2
baload
if_icmpne 10
6: aload 0
getfield org.apache.tomcat.util.http.fileupload.MultipartStream.boundaryTable:[I
iload 1
iload 2
iconst_1
iadd
iastore
7: iinc 2 1
8: iinc 1 1
9: goto 15
StackMap locals:
StackMap stack:
10: iload 2
ifle 13
11: aload 0
getfield org.apache.tomcat.util.http.fileupload.MultipartStream.boundaryTable:[I
iload 2
iaload
istore 2
12: goto 15
13: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.tomcat.util.http.fileupload.MultipartStream.boundaryTable:[I
iload 1
iconst_0
iastore
14: iinc 1 1
15: StackMap locals:
StackMap stack:
iload 1
aload 0
getfield org.apache.tomcat.util.http.fileupload.MultipartStream.boundaryLength:I
if_icmple 5
16: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/apache/tomcat/util/http/fileupload/MultipartStream;
1 17 1 position I
2 17 2 candidate I
public java.lang.String ();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=6, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: new java.io.ByteArrayOutputStream
dup
invokespecial java.io.ByteArrayOutputStream.<init>:()V
astore 3
start local 3 2: iconst_0
istore 4
start local 4 3: goto 20
4: StackMap locals: org.apache.tomcat.util.http.fileupload.MultipartStream int top java.io.ByteArrayOutputStream int
StackMap stack:
aload 0
invokevirtual org.apache.tomcat.util.http.fileupload.MultipartStream.readByte:()B
istore 2
start local 2 5: goto 10
end local 2 StackMap locals:
StackMap stack: org.apache.tomcat.util.http.fileupload.impl.FileUploadIOException
6: astore 5
start local 5 7: aload 5
athrow
end local 5 8: StackMap locals:
StackMap stack: java.io.IOException
pop
9: new org.apache.tomcat.util.http.fileupload.MultipartStream$MalformedStreamException
dup
ldc "Stream ended unexpectedly"
invokespecial org.apache.tomcat.util.http.fileupload.MultipartStream$MalformedStreamException.<init>:(Ljava/lang/String;)V
athrow
start local 2 10: StackMap locals: org.apache.tomcat.util.http.fileupload.MultipartStream int int java.io.ByteArrayOutputStream int
StackMap stack:
iinc 4 1
iload 4
sipush 10240
if_icmple 15
11: new org.apache.tomcat.util.http.fileupload.MultipartStream$MalformedStreamException
dup
12: ldc "Header section has more than %s bytes (maybe it is not properly terminated)"
iconst_1
anewarray java.lang.Object
dup
iconst_0
13: sipush 10240
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
14: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial org.apache.tomcat.util.http.fileupload.MultipartStream$MalformedStreamException.<init>:(Ljava/lang/String;)V
athrow
15: StackMap locals:
StackMap stack:
iload 2
getstatic org.apache.tomcat.util.http.fileupload.MultipartStream.HEADER_SEPARATOR:[B
iload 1
baload
if_icmpne 18
16: iinc 1 1
17: goto 19
18: StackMap locals:
StackMap stack:
iconst_0
istore 1
19: StackMap locals:
StackMap stack:
aload 3
iload 2
invokevirtual java.io.ByteArrayOutputStream.write:(I)V
end local 2 20: StackMap locals: org.apache.tomcat.util.http.fileupload.MultipartStream int top java.io.ByteArrayOutputStream int
StackMap stack:
iload 1
getstatic org.apache.tomcat.util.http.fileupload.MultipartStream.HEADER_SEPARATOR:[B
arraylength
if_icmplt 4
21: aconst_null
astore 5
start local 5 22: aload 0
getfield org.apache.tomcat.util.http.fileupload.MultipartStream.headerEncoding:Ljava/lang/String;
ifnull 28
23: aload 3
aload 0
getfield org.apache.tomcat.util.http.fileupload.MultipartStream.headerEncoding:Ljava/lang/String;
invokevirtual java.io.ByteArrayOutputStream.toString:(Ljava/lang/String;)Ljava/lang/String;
astore 5
24: goto 29
StackMap locals: org.apache.tomcat.util.http.fileupload.MultipartStream int top java.io.ByteArrayOutputStream int java.lang.String
StackMap stack: java.io.UnsupportedEncodingException
25: pop
26: aload 3
invokevirtual java.io.ByteArrayOutputStream.toString:()Ljava/lang/String;
astore 5
27: goto 29
28: StackMap locals:
StackMap stack:
aload 3
invokevirtual java.io.ByteArrayOutputStream.toString:()Ljava/lang/String;
astore 5
29: StackMap locals:
StackMap stack:
aload 5
areturn
end local 5 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 this Lorg/apache/tomcat/util/http/fileupload/MultipartStream;
1 30 1 i I
5 6 2 b B
10 20 2 b B
2 30 3 baos Ljava/io/ByteArrayOutputStream;
3 30 4 size I
7 8 5 e Lorg/apache/tomcat/util/http/fileupload/impl/FileUploadIOException;
22 30 5 headers Ljava/lang/String;
Exception table:
from to target type
4 5 6 Class org.apache.tomcat.util.http.fileupload.impl.FileUploadIOException
4 5 8 Class java.io.IOException
23 24 25 Class java.io.UnsupportedEncodingException
Exceptions:
throws org.apache.tomcat.util.http.fileupload.impl.FileUploadIOException, org.apache.tomcat.util.http.fileupload.MultipartStream$MalformedStreamException
public int readBodyData(java.io.OutputStream);
descriptor: (Ljava/io/OutputStream;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.apache.tomcat.util.http.fileupload.MultipartStream.newInputStream:()Lorg/apache/tomcat/util/http/fileupload/MultipartStream$ItemInputStream;
aload 1
iconst_0
invokestatic org.apache.tomcat.util.http.fileupload.util.Streams.copy:(Ljava/io/InputStream;Ljava/io/OutputStream;Z)J
l2i
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/tomcat/util/http/fileupload/MultipartStream;
0 1 1 output Ljava/io/OutputStream;
Exceptions:
throws org.apache.tomcat.util.http.fileupload.MultipartStream$MalformedStreamException, java.io.IOException
MethodParameters:
Name Flags
output
public org.apache.tomcat.util.http.fileupload.MultipartStream$ItemInputStream newInputStream();
descriptor: ()Lorg/apache/tomcat/util/http/fileupload/MultipartStream$ItemInputStream;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new org.apache.tomcat.util.http.fileupload.MultipartStream$ItemInputStream
dup
aload 0
invokespecial org.apache.tomcat.util.http.fileupload.MultipartStream$ItemInputStream.<init>:(Lorg/apache/tomcat/util/http/fileupload/MultipartStream;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/tomcat/util/http/fileupload/MultipartStream;
public int discardBodyData();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aconst_null
invokevirtual org.apache.tomcat.util.http.fileupload.MultipartStream.readBodyData:(Ljava/io/OutputStream;)I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/tomcat/util/http/fileupload/MultipartStream;
Exceptions:
throws org.apache.tomcat.util.http.fileupload.MultipartStream$MalformedStreamException, java.io.IOException
public boolean skipPreamble();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=3, args_size=1
start local 0 0: aload 0
getfield org.apache.tomcat.util.http.fileupload.MultipartStream.boundary:[B
iconst_2
aload 0
getfield org.apache.tomcat.util.http.fileupload.MultipartStream.boundary:[B
iconst_0
aload 0
getfield org.apache.tomcat.util.http.fileupload.MultipartStream.boundary:[B
arraylength
iconst_2
isub
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
1: aload 0
aload 0
getfield org.apache.tomcat.util.http.fileupload.MultipartStream.boundary:[B
arraylength
iconst_2
isub
putfield org.apache.tomcat.util.http.fileupload.MultipartStream.boundaryLength:I
2: aload 0
invokevirtual org.apache.tomcat.util.http.fileupload.MultipartStream.computeBoundaryTable:()V
3: aload 0
invokevirtual org.apache.tomcat.util.http.fileupload.MultipartStream.discardBodyData:()I
pop
4: aload 0
invokevirtual org.apache.tomcat.util.http.fileupload.MultipartStream.readBoundary:()Z
istore 2
5: aload 0
getfield org.apache.tomcat.util.http.fileupload.MultipartStream.boundary:[B
iconst_0
aload 0
getfield org.apache.tomcat.util.http.fileupload.MultipartStream.boundary:[B
iconst_2
aload 0
getfield org.apache.tomcat.util.http.fileupload.MultipartStream.boundary:[B
arraylength
iconst_2
isub
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
6: aload 0
aload 0
getfield org.apache.tomcat.util.http.fileupload.MultipartStream.boundary:[B
arraylength
putfield org.apache.tomcat.util.http.fileupload.MultipartStream.boundaryLength:I
7: aload 0
getfield org.apache.tomcat.util.http.fileupload.MultipartStream.boundary:[B
iconst_0
bipush 13
bastore
8: aload 0
getfield org.apache.tomcat.util.http.fileupload.MultipartStream.boundary:[B
iconst_1
bipush 10
bastore
9: aload 0
invokevirtual org.apache.tomcat.util.http.fileupload.MultipartStream.computeBoundaryTable:()V
10: iload 2
ireturn
11: StackMap locals:
StackMap stack: org.apache.tomcat.util.http.fileupload.MultipartStream$MalformedStreamException
pop
12: aload 0
getfield org.apache.tomcat.util.http.fileupload.MultipartStream.boundary:[B
iconst_0
aload 0
getfield org.apache.tomcat.util.http.fileupload.MultipartStream.boundary:[B
iconst_2
aload 0
getfield org.apache.tomcat.util.http.fileupload.MultipartStream.boundary:[B
arraylength
iconst_2
isub
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
13: aload 0
aload 0
getfield org.apache.tomcat.util.http.fileupload.MultipartStream.boundary:[B
arraylength
putfield org.apache.tomcat.util.http.fileupload.MultipartStream.boundaryLength:I
14: aload 0
getfield org.apache.tomcat.util.http.fileupload.MultipartStream.boundary:[B
iconst_0
bipush 13
bastore
15: aload 0
getfield org.apache.tomcat.util.http.fileupload.MultipartStream.boundary:[B
iconst_1
bipush 10
bastore
16: aload 0
invokevirtual org.apache.tomcat.util.http.fileupload.MultipartStream.computeBoundaryTable:()V
17: iconst_0
ireturn
18: StackMap locals:
StackMap stack: java.lang.Throwable
astore 1
19: aload 0
getfield org.apache.tomcat.util.http.fileupload.MultipartStream.boundary:[B
iconst_0
aload 0
getfield org.apache.tomcat.util.http.fileupload.MultipartStream.boundary:[B
iconst_2
aload 0
getfield org.apache.tomcat.util.http.fileupload.MultipartStream.boundary:[B
arraylength
iconst_2
isub
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
20: aload 0
aload 0
getfield org.apache.tomcat.util.http.fileupload.MultipartStream.boundary:[B
arraylength
putfield org.apache.tomcat.util.http.fileupload.MultipartStream.boundaryLength:I
21: aload 0
getfield org.apache.tomcat.util.http.fileupload.MultipartStream.boundary:[B
iconst_0
bipush 13
bastore
22: aload 0
getfield org.apache.tomcat.util.http.fileupload.MultipartStream.boundary:[B
iconst_1
bipush 10
bastore
23: aload 0
invokevirtual org.apache.tomcat.util.http.fileupload.MultipartStream.computeBoundaryTable:()V
24: aload 1
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lorg/apache/tomcat/util/http/fileupload/MultipartStream;
Exception table:
from to target type
3 5 11 Class org.apache.tomcat.util.http.fileupload.MultipartStream$MalformedStreamException
3 5 18 any
11 12 18 any
Exceptions:
throws java.io.IOException
public static boolean arrayequals(byte[], byte[], int);
descriptor: ([B[BI)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: iconst_0
istore 3
start local 3 1: goto 5
2: StackMap locals: int
StackMap stack:
aload 0
iload 3
baload
aload 1
iload 3
baload
if_icmpeq 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
5: iload 3
iload 2
if_icmplt 2
end local 3 6: iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 a [B
0 7 1 b [B
0 7 2 count I
1 6 3 i I
MethodParameters:
Name Flags
a
b
count
protected int findByte(byte, int);
descriptor: (BI)I
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: iload 2
istore 3
start local 3 1: goto 5
2: StackMap locals: int
StackMap stack:
aload 0
getfield org.apache.tomcat.util.http.fileupload.MultipartStream.buffer:[B
iload 3
baload
iload 1
if_icmpne 4
3: iload 3
ireturn
4: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
5: iload 3
aload 0
getfield org.apache.tomcat.util.http.fileupload.MultipartStream.tail:I
if_icmplt 2
end local 3 6: iconst_m1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/apache/tomcat/util/http/fileupload/MultipartStream;
0 7 1 value B
0 7 2 pos I
1 6 3 i I
MethodParameters:
Name Flags
value
pos
protected int findSeparator();
descriptor: ()I
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
getfield org.apache.tomcat.util.http.fileupload.MultipartStream.head:I
istore 1
start local 1 1: iconst_0
istore 2
start local 2 2: goto 9
3: StackMap locals: int int
StackMap stack:
aload 0
getfield org.apache.tomcat.util.http.fileupload.MultipartStream.boundaryTable:[I
iload 2
iaload
istore 2
4: StackMap locals:
StackMap stack:
iload 2
iflt 5
aload 0
getfield org.apache.tomcat.util.http.fileupload.MultipartStream.buffer:[B
iload 1
baload
aload 0
getfield org.apache.tomcat.util.http.fileupload.MultipartStream.boundary:[B
iload 2
baload
if_icmpne 3
5: StackMap locals:
StackMap stack:
iinc 1 1
6: iinc 2 1
7: iload 2
aload 0
getfield org.apache.tomcat.util.http.fileupload.MultipartStream.boundaryLength:I
if_icmpne 9
8: iload 1
aload 0
getfield org.apache.tomcat.util.http.fileupload.MultipartStream.boundaryLength:I
isub
ireturn
9: StackMap locals:
StackMap stack:
iload 1
aload 0
getfield org.apache.tomcat.util.http.fileupload.MultipartStream.tail:I
if_icmplt 4
10: iconst_m1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/apache/tomcat/util/http/fileupload/MultipartStream;
1 11 1 bufferPos I
2 11 2 tablePos I
}
SourceFile: "MultipartStream.java"
NestMembers:
org.apache.tomcat.util.http.fileupload.MultipartStream$IllegalBoundaryException org.apache.tomcat.util.http.fileupload.MultipartStream$ItemInputStream org.apache.tomcat.util.http.fileupload.MultipartStream$MalformedStreamException org.apache.tomcat.util.http.fileupload.MultipartStream$ProgressNotifier
InnerClasses:
public IllegalBoundaryException = org.apache.tomcat.util.http.fileupload.MultipartStream$IllegalBoundaryException of org.apache.tomcat.util.http.fileupload.MultipartStream
public ItemInputStream = org.apache.tomcat.util.http.fileupload.MultipartStream$ItemInputStream of org.apache.tomcat.util.http.fileupload.MultipartStream
public MalformedStreamException = org.apache.tomcat.util.http.fileupload.MultipartStream$MalformedStreamException of org.apache.tomcat.util.http.fileupload.MultipartStream
public ProgressNotifier = org.apache.tomcat.util.http.fileupload.MultipartStream$ProgressNotifier of org.apache.tomcat.util.http.fileupload.MultipartStream