public class org.bouncycastle.mime.BoundaryLimitedInputStream extends java.io.InputStream
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.bouncycastle.mime.BoundaryLimitedInputStream
super_class: java.io.InputStream
{
private final java.io.InputStream src;
descriptor: Ljava/io/InputStream;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final byte[] boundary;
descriptor: [B
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final byte[] buf;
descriptor: [B
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private int bufOff;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int index;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private boolean ended;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private int lastI;
descriptor: I
flags: (0x0002) ACC_PRIVATE
public void <init>(java.io.InputStream, java.lang.String);
descriptor: (Ljava/io/InputStream;Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.io.InputStream.<init>:()V
1: aload 0
iconst_0
putfield org.bouncycastle.mime.BoundaryLimitedInputStream.bufOff:I
2: aload 0
iconst_0
putfield org.bouncycastle.mime.BoundaryLimitedInputStream.index:I
3: aload 0
iconst_0
putfield org.bouncycastle.mime.BoundaryLimitedInputStream.ended:Z
4: aload 0
aload 1
putfield org.bouncycastle.mime.BoundaryLimitedInputStream.src:Ljava/io/InputStream;
5: aload 0
aload 2
invokestatic org.bouncycastle.util.Strings.toByteArray:(Ljava/lang/String;)[B
putfield org.bouncycastle.mime.BoundaryLimitedInputStream.boundary:[B
6: aload 0
aload 2
invokevirtual java.lang.String.length:()I
iconst_3
iadd
newarray 8
putfield org.bouncycastle.mime.BoundaryLimitedInputStream.buf:[B
7: aload 0
iconst_0
putfield org.bouncycastle.mime.BoundaryLimitedInputStream.bufOff:I
8: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/bouncycastle/mime/BoundaryLimitedInputStream;
0 9 1 src Ljava/io/InputStream;
0 9 2 startBoundary Ljava/lang/String;
MethodParameters:
Name Flags
src
startBoundary
public int read();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.mime.BoundaryLimitedInputStream.ended:Z
ifeq 2
1: iconst_m1
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.bouncycastle.mime.BoundaryLimitedInputStream.index:I
aload 0
getfield org.bouncycastle.mime.BoundaryLimitedInputStream.bufOff:I
if_icmpge 8
3: aload 0
getfield org.bouncycastle.mime.BoundaryLimitedInputStream.buf:[B
aload 0
dup
getfield org.bouncycastle.mime.BoundaryLimitedInputStream.index:I
dup_x1
iconst_1
iadd
putfield org.bouncycastle.mime.BoundaryLimitedInputStream.index:I
baload
sipush 255
iand
istore 1
start local 1 4: aload 0
getfield org.bouncycastle.mime.BoundaryLimitedInputStream.index:I
aload 0
getfield org.bouncycastle.mime.BoundaryLimitedInputStream.bufOff:I
if_icmpge 6
5: iload 1
ireturn
6: StackMap locals: int
StackMap stack:
aload 0
aload 0
iconst_0
dup_x1
putfield org.bouncycastle.mime.BoundaryLimitedInputStream.bufOff:I
putfield org.bouncycastle.mime.BoundaryLimitedInputStream.index:I
7: goto 9
end local 1 8: StackMap locals:
StackMap stack:
aload 0
getfield org.bouncycastle.mime.BoundaryLimitedInputStream.src:Ljava/io/InputStream;
invokevirtual java.io.InputStream.read:()I
istore 1
start local 1 9: StackMap locals: int
StackMap stack:
aload 0
iload 1
putfield org.bouncycastle.mime.BoundaryLimitedInputStream.lastI:I
10: iload 1
ifge 12
11: iconst_m1
ireturn
12: StackMap locals:
StackMap stack:
iload 1
bipush 13
if_icmpeq 13
iload 1
bipush 10
if_icmpne 40
13: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield org.bouncycastle.mime.BoundaryLimitedInputStream.index:I
14: iload 1
bipush 13
if_icmpne 20
15: aload 0
getfield org.bouncycastle.mime.BoundaryLimitedInputStream.src:Ljava/io/InputStream;
invokevirtual java.io.InputStream.read:()I
istore 2
start local 2 16: iload 2
bipush 10
if_icmpne 21
17: aload 0
getfield org.bouncycastle.mime.BoundaryLimitedInputStream.buf:[B
aload 0
dup
getfield org.bouncycastle.mime.BoundaryLimitedInputStream.bufOff:I
dup_x1
iconst_1
iadd
putfield org.bouncycastle.mime.BoundaryLimitedInputStream.bufOff:I
bipush 10
bastore
18: aload 0
getfield org.bouncycastle.mime.BoundaryLimitedInputStream.src:Ljava/io/InputStream;
invokevirtual java.io.InputStream.read:()I
istore 2
19: goto 21
end local 2 20: StackMap locals:
StackMap stack:
aload 0
getfield org.bouncycastle.mime.BoundaryLimitedInputStream.src:Ljava/io/InputStream;
invokevirtual java.io.InputStream.read:()I
istore 2
start local 2 21: StackMap locals: int
StackMap stack:
iload 2
bipush 45
if_icmpne 24
22: aload 0
getfield org.bouncycastle.mime.BoundaryLimitedInputStream.buf:[B
aload 0
dup
getfield org.bouncycastle.mime.BoundaryLimitedInputStream.bufOff:I
dup_x1
iconst_1
iadd
putfield org.bouncycastle.mime.BoundaryLimitedInputStream.bufOff:I
bipush 45
bastore
23: aload 0
getfield org.bouncycastle.mime.BoundaryLimitedInputStream.src:Ljava/io/InputStream;
invokevirtual java.io.InputStream.read:()I
istore 2
24: StackMap locals:
StackMap stack:
iload 2
bipush 45
if_icmpne 38
25: aload 0
getfield org.bouncycastle.mime.BoundaryLimitedInputStream.buf:[B
aload 0
dup
getfield org.bouncycastle.mime.BoundaryLimitedInputStream.bufOff:I
dup_x1
iconst_1
iadd
putfield org.bouncycastle.mime.BoundaryLimitedInputStream.bufOff:I
bipush 45
bastore
26: aload 0
getfield org.bouncycastle.mime.BoundaryLimitedInputStream.bufOff:I
istore 3
start local 3 27: goto 33
start local 4 28: StackMap locals: int int
StackMap stack:
aload 0
getfield org.bouncycastle.mime.BoundaryLimitedInputStream.buf:[B
aload 0
getfield org.bouncycastle.mime.BoundaryLimitedInputStream.bufOff:I
iload 4
i2b
bastore
29: aload 0
getfield org.bouncycastle.mime.BoundaryLimitedInputStream.buf:[B
aload 0
getfield org.bouncycastle.mime.BoundaryLimitedInputStream.bufOff:I
baload
aload 0
getfield org.bouncycastle.mime.BoundaryLimitedInputStream.boundary:[B
aload 0
getfield org.bouncycastle.mime.BoundaryLimitedInputStream.bufOff:I
iload 3
isub
baload
if_icmpeq 32
30: aload 0
dup
getfield org.bouncycastle.mime.BoundaryLimitedInputStream.bufOff:I
iconst_1
iadd
putfield org.bouncycastle.mime.BoundaryLimitedInputStream.bufOff:I
31: goto 35
32: StackMap locals:
StackMap stack:
aload 0
dup
getfield org.bouncycastle.mime.BoundaryLimitedInputStream.bufOff:I
iconst_1
iadd
putfield org.bouncycastle.mime.BoundaryLimitedInputStream.bufOff:I
end local 4 33: StackMap locals:
StackMap stack:
aload 0
getfield org.bouncycastle.mime.BoundaryLimitedInputStream.bufOff:I
iload 3
isub
aload 0
getfield org.bouncycastle.mime.BoundaryLimitedInputStream.boundary:[B
arraylength
if_icmpeq 35
aload 0
getfield org.bouncycastle.mime.BoundaryLimitedInputStream.src:Ljava/io/InputStream;
invokevirtual java.io.InputStream.read:()I
dup
istore 4
start local 4 34: ifge 28
end local 4 35: StackMap locals:
StackMap stack:
aload 0
getfield org.bouncycastle.mime.BoundaryLimitedInputStream.bufOff:I
iload 3
isub
aload 0
getfield org.bouncycastle.mime.BoundaryLimitedInputStream.boundary:[B
arraylength
if_icmpne 40
36: aload 0
iconst_1
putfield org.bouncycastle.mime.BoundaryLimitedInputStream.ended:Z
37: iconst_m1
ireturn
end local 3 38: StackMap locals:
StackMap stack:
iload 2
iflt 40
39: aload 0
getfield org.bouncycastle.mime.BoundaryLimitedInputStream.buf:[B
aload 0
dup
getfield org.bouncycastle.mime.BoundaryLimitedInputStream.bufOff:I
dup_x1
iconst_1
iadd
putfield org.bouncycastle.mime.BoundaryLimitedInputStream.bufOff:I
iload 2
i2b
bastore
end local 2 40: StackMap locals:
StackMap stack:
iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 41 0 this Lorg/bouncycastle/mime/BoundaryLimitedInputStream;
4 8 1 i I
9 41 1 i I
16 20 2 ch I
21 40 2 ch I
27 38 3 base I
28 33 4 c I
34 35 4 c I
Exceptions:
throws java.io.IOException
}
SourceFile: "BoundaryLimitedInputStream.java"