class sun.tools.jconsole.OutputViewer$PipeListener extends java.lang.Thread
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: sun.tools.jconsole.OutputViewer$PipeListener
super_class: java.lang.Thread
{
public java.io.PrintStream ps;
descriptor: Ljava/io/PrintStream;
flags: (0x0001) ACC_PUBLIC
private java.lang.String name;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.io.PipedInputStream inPipe;
descriptor: Ljava/io/PipedInputStream;
flags: (0x0002) ACC_PRIVATE
private java.io.BufferedReader br;
descriptor: Ljava/io/BufferedReader;
flags: (0x0002) ACC_PRIVATE
public static java.io.PrintStream create(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/io/PrintStream;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 // java.lang.String name
0: .line 90
new sun.tools.jconsole.OutputViewer$PipeListener
dup
aload 0 /* name */
invokespecial sun.tools.jconsole.OutputViewer$PipeListener.<init>:(Ljava/lang/String;)V
getfield sun.tools.jconsole.OutputViewer$PipeListener.ps:Ljava/io/PrintStream;
areturn
end local 0 // java.lang.String name
LocalVariableTable:
Start End Slot Name Signature
0 1 0 name Ljava/lang/String;
MethodParameters:
Name Flags
name
private void <init>(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=3, args_size=2
start local 0 // sun.tools.jconsole.OutputViewer$PipeListener this
start local 1 // java.lang.String name
0: .line 93
aload 0 /* this */
invokespecial java.lang.Thread.<init>:()V
1: .line 94
aload 0 /* this */
aload 1 /* name */
putfield sun.tools.jconsole.OutputViewer$PipeListener.name:Ljava/lang/String;
2: .line 97
aload 0 /* this */
new java.io.PipedInputStream
dup
invokespecial java.io.PipedInputStream.<init>:()V
putfield sun.tools.jconsole.OutputViewer$PipeListener.inPipe:Ljava/io/PipedInputStream;
3: .line 98
aload 0 /* this */
new java.io.PrintStream
dup
new java.io.PipedOutputStream
dup
aload 0 /* this */
getfield sun.tools.jconsole.OutputViewer$PipeListener.inPipe:Ljava/io/PipedInputStream;
invokespecial java.io.PipedOutputStream.<init>:(Ljava/io/PipedInputStream;)V
invokespecial java.io.PrintStream.<init>:(Ljava/io/OutputStream;)V
putfield sun.tools.jconsole.OutputViewer$PipeListener.ps:Ljava/io/PrintStream;
4: .line 99
aload 0 /* this */
new java.io.BufferedReader
dup
new java.io.InputStreamReader
dup
aload 0 /* this */
getfield sun.tools.jconsole.OutputViewer$PipeListener.inPipe:Ljava/io/PipedInputStream;
invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;)V
invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
putfield sun.tools.jconsole.OutputViewer$PipeListener.br:Ljava/io/BufferedReader;
5: .line 100
goto 8
StackMap locals: sun.tools.jconsole.OutputViewer$PipeListener java.lang.String
StackMap stack: java.io.IOException
6: astore 2 /* e */
start local 2 // java.io.IOException e
7: .line 101
new java.lang.StringBuilder
dup
ldc "PipeListener<init>("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1 /* name */
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "): "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2 /* e */
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic sun.tools.jconsole.OutputViewer.appendln:(Ljava/lang/String;)V
end local 2 // java.io.IOException e
8: .line 103
StackMap locals:
StackMap stack:
aload 0 /* this */
invokevirtual sun.tools.jconsole.OutputViewer$PipeListener.start:()V
9: .line 104
return
end local 1 // java.lang.String name
end local 0 // sun.tools.jconsole.OutputViewer$PipeListener this
LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lsun/tools/jconsole/OutputViewer$PipeListener;
0 10 1 name Ljava/lang/String;
7 8 2 e Ljava/io/IOException;
Exception table:
from to target type
2 5 6 Class java.io.IOException
MethodParameters:
Name Flags
name
public void run();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=1
start local 0 // sun.tools.jconsole.OutputViewer$PipeListener this
0: .line 109
goto 9
start local 1 // java.lang.String str
1: .line 110
StackMap locals: java.lang.String
StackMap stack:
aload 1 /* str */
invokestatic sun.tools.jconsole.OutputViewer.appendln:(Ljava/lang/String;)V
2: .line 117
ldc Ljava/io/PipedInputStream;
ldc "writeSide"
invokevirtual java.lang.Class.getDeclaredField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
3: .line 116
astore 2 /* f */
start local 2 // java.lang.reflect.Field f
4: .line 118
aload 2 /* f */
iconst_1
invokevirtual java.lang.reflect.Field.setAccessible:(Z)V
5: .line 119
aload 2 /* f */
aload 0 /* this */
getfield sun.tools.jconsole.OutputViewer$PipeListener.inPipe:Ljava/io/PipedInputStream;
aload 0 /* this */
invokevirtual java.lang.reflect.Field.set:(Ljava/lang/Object;Ljava/lang/Object;)V
end local 2 // java.lang.reflect.Field f
6: .line 120
goto 9
StackMap locals:
StackMap stack: java.lang.Exception
7: astore 2 /* e */
start local 2 // java.lang.Exception e
8: .line 121
new java.lang.StringBuilder
dup
ldc "PipeListener("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0 /* this */
getfield sun.tools.jconsole.OutputViewer$PipeListener.name:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ").run: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2 /* e */
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic sun.tools.jconsole.OutputViewer.appendln:(Ljava/lang/String;)V
end local 2 // java.lang.Exception e
end local 1 // java.lang.String str
9: .line 109
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.tools.jconsole.OutputViewer$PipeListener.br:Ljava/io/BufferedReader;
invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
dup
astore 1 /* str */
start local 1 // java.lang.String str
10: ifnonnull 1
11: .line 124
new java.lang.StringBuilder
dup
ldc "-- "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0 /* this */
getfield sun.tools.jconsole.OutputViewer$PipeListener.name:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " closed --"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic sun.tools.jconsole.OutputViewer.appendln:(Ljava/lang/String;)V
12: .line 125
aload 0 /* this */
getfield sun.tools.jconsole.OutputViewer$PipeListener.br:Ljava/io/BufferedReader;
invokevirtual java.io.BufferedReader.close:()V
end local 1 // java.lang.String str
13: .line 126
goto 16
StackMap locals:
StackMap stack: java.io.IOException
14: astore 1 /* e */
start local 1 // java.io.IOException e
15: .line 127
new java.lang.StringBuilder
dup
ldc "PipeListener("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0 /* this */
getfield sun.tools.jconsole.OutputViewer$PipeListener.name:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ").run: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1 /* e */
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic sun.tools.jconsole.OutputViewer.appendln:(Ljava/lang/String;)V
end local 1 // java.io.IOException e
16: .line 129
StackMap locals:
StackMap stack:
return
end local 0 // sun.tools.jconsole.OutputViewer$PipeListener this
LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lsun/tools/jconsole/OutputViewer$PipeListener;
1 9 1 str Ljava/lang/String;
10 13 1 str Ljava/lang/String;
4 6 2 f Ljava/lang/reflect/Field;
8 9 2 e Ljava/lang/Exception;
15 16 1 e Ljava/io/IOException;
Exception table:
from to target type
2 6 7 Class java.lang.Exception
0 13 14 Class java.io.IOException
}
SourceFile: "OutputViewer.java"
NestHost: sun.tools.jconsole.OutputViewer
InnerClasses:
private PipeListener = sun.tools.jconsole.OutputViewer$PipeListener of sun.tools.jconsole.OutputViewer