public class org.apache.tools.ant.DemuxOutputStream extends java.io.OutputStream
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.tools.ant.DemuxOutputStream
super_class: java.io.OutputStream
{
private static final int MAX_SIZE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1024
private static final int INITIAL_SIZE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 132
private static final int CR;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 13
private static final int LF;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 10
private java.util.WeakHashMap<java.lang.Thread, org.apache.tools.ant.DemuxOutputStream$BufferInfo> buffers;
descriptor: Ljava/util/WeakHashMap;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/WeakHashMap<Ljava/lang/Thread;Lorg/apache/tools/ant/DemuxOutputStream$BufferInfo;>;
private org.apache.tools.ant.Project project;
descriptor: Lorg/apache/tools/ant/Project;
flags: (0x0002) ACC_PRIVATE
private boolean isErrorStream;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
public void <init>(org.apache.tools.ant.Project, boolean);
descriptor: (Lorg/apache/tools/ant/Project;Z)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.OutputStream.<init>:()V
1: aload 0
new java.util.WeakHashMap
dup
invokespecial java.util.WeakHashMap.<init>:()V
putfield org.apache.tools.ant.DemuxOutputStream.buffers:Ljava/util/WeakHashMap;
2: aload 0
aload 1
putfield org.apache.tools.ant.DemuxOutputStream.project:Lorg/apache/tools/ant/Project;
3: aload 0
iload 2
putfield org.apache.tools.ant.DemuxOutputStream.isErrorStream:Z
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/apache/tools/ant/DemuxOutputStream;
0 5 1 project Lorg/apache/tools/ant/Project;
0 5 2 isErrorStream Z
MethodParameters:
Name Flags
project
isErrorStream
private org.apache.tools.ant.DemuxOutputStream$BufferInfo getBufferInfo();
descriptor: ()Lorg/apache/tools/ant/DemuxOutputStream$BufferInfo;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=1
start local 0 0: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
astore 1
start local 1 1: aload 0
getfield org.apache.tools.ant.DemuxOutputStream.buffers:Ljava/util/WeakHashMap;
aload 1
invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
org/apache/tools/ant/DemuxOutputStream.lambda$0(Ljava/lang/Thread;)Lorg/apache/tools/ant/DemuxOutputStream$BufferInfo; (6)
(Ljava/lang/Thread;)Lorg/apache/tools/ant/DemuxOutputStream$BufferInfo;
invokevirtual java.util.WeakHashMap.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
checkcast org.apache.tools.ant.DemuxOutputStream$BufferInfo
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/tools/ant/DemuxOutputStream;
1 2 1 current Ljava/lang/Thread;
private void resetBufferInfo();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=1
start local 0 0: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
astore 1
start local 1 1: aload 0
getfield org.apache.tools.ant.DemuxOutputStream.buffers:Ljava/util/WeakHashMap;
aload 1
invokevirtual java.util.WeakHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.apache.tools.ant.DemuxOutputStream$BufferInfo
astore 2
start local 2 2: aload 2
getfield org.apache.tools.ant.DemuxOutputStream$BufferInfo.buffer:Ljava/io/ByteArrayOutputStream;
invokestatic org.apache.tools.ant.util.FileUtils.close:(Ljava/io/OutputStream;)V
3: aload 2
new java.io.ByteArrayOutputStream
dup
invokespecial java.io.ByteArrayOutputStream.<init>:()V
putfield org.apache.tools.ant.DemuxOutputStream$BufferInfo.buffer:Ljava/io/ByteArrayOutputStream;
4: aload 2
iconst_0
putfield org.apache.tools.ant.DemuxOutputStream$BufferInfo.crSeen:Z
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/apache/tools/ant/DemuxOutputStream;
1 6 1 current Ljava/lang/Thread;
2 6 2 bufferInfo Lorg/apache/tools/ant/DemuxOutputStream$BufferInfo;
private void removeBuffer();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
astore 1
start local 1 1: aload 0
getfield org.apache.tools.ant.DemuxOutputStream.buffers:Ljava/util/WeakHashMap;
aload 1
invokevirtual java.util.WeakHashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/tools/ant/DemuxOutputStream;
1 3 1 current Ljava/lang/Thread;
public void write(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: iload 1
i2b
istore 2
start local 2 1: aload 0
invokevirtual org.apache.tools.ant.DemuxOutputStream.getBufferInfo:()Lorg/apache/tools/ant/DemuxOutputStream$BufferInfo;
astore 3
start local 3 2: iload 2
bipush 10
if_icmpne 6
3: aload 3
getfield org.apache.tools.ant.DemuxOutputStream$BufferInfo.buffer:Ljava/io/ByteArrayOutputStream;
iload 1
invokevirtual java.io.ByteArrayOutputStream.write:(I)V
4: aload 0
aload 3
getfield org.apache.tools.ant.DemuxOutputStream$BufferInfo.buffer:Ljava/io/ByteArrayOutputStream;
invokevirtual org.apache.tools.ant.DemuxOutputStream.processBuffer:(Ljava/io/ByteArrayOutputStream;)V
5: goto 9
6: StackMap locals: int org.apache.tools.ant.DemuxOutputStream$BufferInfo
StackMap stack:
aload 3
getfield org.apache.tools.ant.DemuxOutputStream$BufferInfo.crSeen:Z
ifeq 8
7: aload 0
aload 3
getfield org.apache.tools.ant.DemuxOutputStream$BufferInfo.buffer:Ljava/io/ByteArrayOutputStream;
invokevirtual org.apache.tools.ant.DemuxOutputStream.processBuffer:(Ljava/io/ByteArrayOutputStream;)V
8: StackMap locals:
StackMap stack:
aload 3
getfield org.apache.tools.ant.DemuxOutputStream$BufferInfo.buffer:Ljava/io/ByteArrayOutputStream;
iload 1
invokevirtual java.io.ByteArrayOutputStream.write:(I)V
9: StackMap locals:
StackMap stack:
aload 3
iload 2
bipush 13
if_icmpne 10
iconst_1
goto 11
StackMap locals:
StackMap stack: org.apache.tools.ant.DemuxOutputStream$BufferInfo
10: iconst_0
StackMap locals: org.apache.tools.ant.DemuxOutputStream int int org.apache.tools.ant.DemuxOutputStream$BufferInfo
StackMap stack: org.apache.tools.ant.DemuxOutputStream$BufferInfo int
11: putfield org.apache.tools.ant.DemuxOutputStream$BufferInfo.crSeen:Z
12: aload 3
getfield org.apache.tools.ant.DemuxOutputStream$BufferInfo.crSeen:Z
ifne 14
aload 3
getfield org.apache.tools.ant.DemuxOutputStream$BufferInfo.buffer:Ljava/io/ByteArrayOutputStream;
invokevirtual java.io.ByteArrayOutputStream.size:()I
sipush 1024
if_icmple 14
13: aload 0
aload 3
getfield org.apache.tools.ant.DemuxOutputStream$BufferInfo.buffer:Ljava/io/ByteArrayOutputStream;
invokevirtual org.apache.tools.ant.DemuxOutputStream.processBuffer:(Ljava/io/ByteArrayOutputStream;)V
14: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/apache/tools/ant/DemuxOutputStream;
0 15 1 cc I
1 15 2 c B
2 15 3 bufferInfo Lorg/apache/tools/ant/DemuxOutputStream$BufferInfo;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
cc
protected void processBuffer(java.io.ByteArrayOutputStream);
descriptor: (Ljava/io/ByteArrayOutputStream;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.io.ByteArrayOutputStream.toString:()Ljava/lang/String;
astore 2
start local 2 1: aload 0
getfield org.apache.tools.ant.DemuxOutputStream.project:Lorg/apache/tools/ant/Project;
aload 2
aload 0
getfield org.apache.tools.ant.DemuxOutputStream.isErrorStream:Z
invokevirtual org.apache.tools.ant.Project.demuxOutput:(Ljava/lang/String;Z)V
2: aload 0
invokevirtual org.apache.tools.ant.DemuxOutputStream.resetBufferInfo:()V
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/tools/ant/DemuxOutputStream;
0 4 1 buffer Ljava/io/ByteArrayOutputStream;
1 4 2 output Ljava/lang/String;
MethodParameters:
Name Flags
buffer
protected void processFlush(java.io.ByteArrayOutputStream);
descriptor: (Ljava/io/ByteArrayOutputStream;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.io.ByteArrayOutputStream.toString:()Ljava/lang/String;
astore 2
start local 2 1: aload 0
getfield org.apache.tools.ant.DemuxOutputStream.project:Lorg/apache/tools/ant/Project;
aload 2
aload 0
getfield org.apache.tools.ant.DemuxOutputStream.isErrorStream:Z
invokevirtual org.apache.tools.ant.Project.demuxFlush:(Ljava/lang/String;Z)V
2: aload 0
invokevirtual org.apache.tools.ant.DemuxOutputStream.resetBufferInfo:()V
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/tools/ant/DemuxOutputStream;
0 4 1 buffer Ljava/io/ByteArrayOutputStream;
1 4 2 output Ljava/lang/String;
MethodParameters:
Name Flags
buffer
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.apache.tools.ant.DemuxOutputStream.flush:()V
1: aload 0
invokevirtual org.apache.tools.ant.DemuxOutputStream.removeBuffer:()V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/tools/ant/DemuxOutputStream;
Exceptions:
throws java.io.IOException
public void flush();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual org.apache.tools.ant.DemuxOutputStream.getBufferInfo:()Lorg/apache/tools/ant/DemuxOutputStream$BufferInfo;
astore 1
start local 1 1: aload 1
getfield org.apache.tools.ant.DemuxOutputStream$BufferInfo.buffer:Ljava/io/ByteArrayOutputStream;
invokevirtual java.io.ByteArrayOutputStream.size:()I
ifle 3
2: aload 0
aload 1
getfield org.apache.tools.ant.DemuxOutputStream$BufferInfo.buffer:Ljava/io/ByteArrayOutputStream;
invokevirtual org.apache.tools.ant.DemuxOutputStream.processFlush:(Ljava/io/ByteArrayOutputStream;)V
3: StackMap locals: org.apache.tools.ant.DemuxOutputStream$BufferInfo
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/tools/ant/DemuxOutputStream;
1 4 1 bufferInfo Lorg/apache/tools/ant/DemuxOutputStream$BufferInfo;
Exceptions:
throws java.io.IOException
public void write(byte[], int, int);
descriptor: ([BII)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 2
istore 4
start local 4 1: iload 4
istore 5
start local 5 2: iload 3
istore 6
start local 6 3: aload 0
invokevirtual org.apache.tools.ant.DemuxOutputStream.getBufferInfo:()Lorg/apache/tools/ant/DemuxOutputStream$BufferInfo;
astore 7
start local 7 4: goto 17
5: StackMap locals: org.apache.tools.ant.DemuxOutputStream byte[] int int int int int org.apache.tools.ant.DemuxOutputStream$BufferInfo
StackMap stack:
iinc 4 1
6: iinc 6 -1
7: StackMap locals:
StackMap stack:
iload 6
ifle 8
aload 1
iload 4
baload
bipush 10
if_icmpeq 8
aload 1
iload 4
baload
bipush 13
if_icmpne 5
8: StackMap locals:
StackMap stack:
iload 4
iload 5
isub
istore 8
start local 8 9: iload 8
ifle 15
10: aload 7
getfield org.apache.tools.ant.DemuxOutputStream$BufferInfo.buffer:Ljava/io/ByteArrayOutputStream;
aload 1
iload 5
iload 8
invokevirtual java.io.ByteArrayOutputStream.write:([BII)V
11: goto 15
12: StackMap locals: int
StackMap stack:
aload 0
aload 1
iload 4
baload
invokevirtual org.apache.tools.ant.DemuxOutputStream.write:(I)V
13: iinc 4 1
14: iinc 6 -1
15: StackMap locals:
StackMap stack:
iload 6
ifle 16
aload 1
iload 4
baload
bipush 10
if_icmpeq 12
aload 1
iload 4
baload
bipush 13
if_icmpeq 12
16: StackMap locals:
StackMap stack:
iload 4
istore 5
end local 8 17: StackMap locals:
StackMap stack:
iload 6
ifgt 7
18: return
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 19 0 this Lorg/apache/tools/ant/DemuxOutputStream;
0 19 1 b [B
0 19 2 off I
0 19 3 len I
1 19 4 offset I
2 19 5 blockStartOffset I
3 19 6 remaining I
4 19 7 bufferInfo Lorg/apache/tools/ant/DemuxOutputStream$BufferInfo;
9 17 8 blockLength I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
b
off
len
private static org.apache.tools.ant.DemuxOutputStream$BufferInfo lambda$0(java.lang.Thread);
descriptor: (Ljava/lang/Thread;)Lorg/apache/tools/ant/DemuxOutputStream$BufferInfo;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: new org.apache.tools.ant.DemuxOutputStream$BufferInfo
dup
invokespecial org.apache.tools.ant.DemuxOutputStream$BufferInfo.<init>:()V
astore 1
start local 1 1: aload 1
new java.io.ByteArrayOutputStream
dup
sipush 132
invokespecial java.io.ByteArrayOutputStream.<init>:(I)V
putfield org.apache.tools.ant.DemuxOutputStream$BufferInfo.buffer:Ljava/io/ByteArrayOutputStream;
2: aload 1
iconst_0
putfield org.apache.tools.ant.DemuxOutputStream$BufferInfo.crSeen:Z
3: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 x Ljava/lang/Thread;
1 4 1 bufferInfo Lorg/apache/tools/ant/DemuxOutputStream$BufferInfo;
}
SourceFile: "DemuxOutputStream.java"
NestMembers:
org.apache.tools.ant.DemuxOutputStream$BufferInfo
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
private BufferInfo = org.apache.tools.ant.DemuxOutputStream$BufferInfo of org.apache.tools.ant.DemuxOutputStream