public class net.bytebuddy.utility.StreamDrainer
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: net.bytebuddy.utility.StreamDrainer
super_class: java.lang.Object
{
public static final int DEFAULT_BUFFER_SIZE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1024
public static final net.bytebuddy.utility.StreamDrainer DEFAULT;
descriptor: Lnet/bytebuddy/utility/StreamDrainer;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
private static final int END_OF_STREAM;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -1
private static final int FROM_BEGINNING;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private final int bufferSize;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new net.bytebuddy.utility.StreamDrainer
dup
invokespecial net.bytebuddy.utility.StreamDrainer.<init>:()V
putstatic net.bytebuddy.utility.StreamDrainer.DEFAULT:Lnet/bytebuddy/utility/StreamDrainer;
1: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
sipush 1024
invokespecial net.bytebuddy.utility.StreamDrainer.<init>:(I)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lnet/bytebuddy/utility/StreamDrainer;
public void <init>(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
invokespecial java.lang.Object.<init>:()V
1: aload 0
iload 1
putfield net.bytebuddy.utility.StreamDrainer.bufferSize:I
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lnet/bytebuddy/utility/StreamDrainer;
0 3 1 bufferSize I
MethodParameters:
Name Flags
bufferSize
public byte[] drain(java.io.InputStream);
descriptor: (Ljava/io/InputStream;)[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=10, args_size=2
start local 0 start local 1 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 2
start local 2 1: aload 0
getfield net.bytebuddy.utility.StreamDrainer.bufferSize:I
newarray 8
astore 3
start local 3 2: iconst_0
istore 4
start local 4 3: StackMap locals: java.util.List byte[] int
StackMap stack:
aload 1
aload 3
iload 4
aload 0
getfield net.bytebuddy.utility.StreamDrainer.bufferSize:I
iload 4
isub
invokevirtual java.io.InputStream.read:([BII)I
istore 5
start local 5 4: iload 4
iload 5
ifle 5
iload 5
goto 6
StackMap locals: net.bytebuddy.utility.StreamDrainer java.io.InputStream java.util.List byte[] int int
StackMap stack: int
5: iconst_0
StackMap locals: net.bytebuddy.utility.StreamDrainer java.io.InputStream java.util.List byte[] int int
StackMap stack: int int
6: iadd
istore 4
7: iload 4
aload 0
getfield net.bytebuddy.utility.StreamDrainer.bufferSize:I
if_icmpne 11
8: aload 2
aload 3
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
9: aload 0
getfield net.bytebuddy.utility.StreamDrainer.bufferSize:I
newarray 8
astore 3
10: iconst_0
istore 4
11: StackMap locals:
StackMap stack:
iload 5
iconst_m1
if_icmpne 3
12: aload 2
invokeinterface java.util.List.size:()I
aload 0
getfield net.bytebuddy.utility.StreamDrainer.bufferSize:I
imul
iload 4
iadd
newarray 8
astore 6
start local 6 13: iconst_0
istore 7
start local 7 14: aload 2
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 9
goto 17
StackMap locals: net.bytebuddy.utility.StreamDrainer java.io.InputStream java.util.List byte[] int int byte[] int top java.util.Iterator
StackMap stack:
15: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast byte[]
astore 8
start local 8 16: aload 8
iconst_0
aload 6
iload 7
iinc 7 1
aload 0
getfield net.bytebuddy.utility.StreamDrainer.bufferSize:I
imul
aload 0
getfield net.bytebuddy.utility.StreamDrainer.bufferSize:I
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
end local 8 17: StackMap locals:
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 15
18: aload 3
iconst_0
aload 6
iload 7
aload 0
getfield net.bytebuddy.utility.StreamDrainer.bufferSize:I
imul
iload 4
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
19: aload 6
areturn
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 20 0 this Lnet/bytebuddy/utility/StreamDrainer;
0 20 1 inputStream Ljava/io/InputStream;
1 20 2 previousBytes Ljava/util/List<[B>;
2 20 3 currentArray [B
3 20 4 currentIndex I
4 20 5 currentRead I
13 20 6 result [B
14 20 7 arrayIndex I
16 17 8 previousByte [B
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
inputStream
}
SourceFile: "StreamDrainer.java"
InnerClasses:
public abstract Enhance = net.bytebuddy.build.HashCodeAndEqualsPlugin$Enhance of net.bytebuddy.build.HashCodeAndEqualsPlugin
RuntimeVisibleAnnotations:
net.bytebuddy.build.HashCodeAndEqualsPlugin$Enhance()