public final class com.oracle.truffle.llvm.tests.pipe.CaptureNativeOutput implements com.oracle.truffle.llvm.tests.pipe.CaptureOutput
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.oracle.truffle.llvm.tests.pipe.CaptureNativeOutput
super_class: java.lang.Object
{
private static final int STDOUT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final int STDERR;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private final java.io.File stdoutFile;
descriptor: Ljava/io/File;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int oldStdout;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.io.File stderrFile;
descriptor: Ljava/io/File;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int oldStderr;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private java.lang.String stdout;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String stderr;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=0
0: ldc "test.pipe.lib"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 0
start local 0 1: aload 0
ifnonnull 4
2: ldc "pipe"
invokestatic java.lang.System.loadLibrary:(Ljava/lang/String;)V
3: goto 5
4: StackMap locals: java.lang.String
StackMap stack:
aload 0
invokestatic java.lang.System.load:(Ljava/lang/String;)V
end local 0 5: StackMap locals:
StackMap stack:
return
LocalVariableTable:
Start End Slot Name Signature
1 5 0 pipeLib Ljava/lang/String;
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
ldc "stdout"
ldc ".log"
invokestatic java.io.File.createTempFile:(Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
putfield com.oracle.truffle.llvm.tests.pipe.CaptureNativeOutput.stdoutFile:Ljava/io/File;
2: aload 0
getfield com.oracle.truffle.llvm.tests.pipe.CaptureNativeOutput.stdoutFile:Ljava/io/File;
invokevirtual java.io.File.deleteOnExit:()V
3: aload 0
ldc "stderr"
ldc ".log"
invokestatic java.io.File.createTempFile:(Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
putfield com.oracle.truffle.llvm.tests.pipe.CaptureNativeOutput.stderrFile:Ljava/io/File;
4: aload 0
getfield com.oracle.truffle.llvm.tests.pipe.CaptureNativeOutput.stderrFile:Ljava/io/File;
invokevirtual java.io.File.deleteOnExit:()V
5: aload 0
iconst_1
aload 0
getfield com.oracle.truffle.llvm.tests.pipe.CaptureNativeOutput.stdoutFile:Ljava/io/File;
invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
invokestatic com.oracle.truffle.llvm.tests.pipe.CaptureNativeOutput.startCapturing:(ILjava/lang/String;)I
putfield com.oracle.truffle.llvm.tests.pipe.CaptureNativeOutput.oldStdout:I
6: aload 0
iconst_2
aload 0
getfield com.oracle.truffle.llvm.tests.pipe.CaptureNativeOutput.stderrFile:Ljava/io/File;
invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
invokestatic com.oracle.truffle.llvm.tests.pipe.CaptureNativeOutput.startCapturing:(ILjava/lang/String;)I
putfield com.oracle.truffle.llvm.tests.pipe.CaptureNativeOutput.oldStderr:I
7: goto 13
StackMap locals: com.oracle.truffle.llvm.tests.pipe.CaptureNativeOutput
StackMap stack: java.io.IOException
8: astore 1
start local 1 9: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "Error while initializing output capture:"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
10: aload 1
invokevirtual java.io.IOException.printStackTrace:()V
11: bipush -99
invokestatic java.lang.System.exit:(I)V
12: new java.lang.IllegalStateException
dup
invokespecial java.lang.IllegalStateException.<init>:()V
athrow
end local 1 13: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield com.oracle.truffle.llvm.tests.pipe.CaptureNativeOutput.stdout:Ljava/lang/String;
14: aload 0
aconst_null
putfield com.oracle.truffle.llvm.tests.pipe.CaptureNativeOutput.stderr:Ljava/lang/String;
15: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lcom/oracle/truffle/llvm/tests/pipe/CaptureNativeOutput;
9 13 1 e Ljava/io/IOException;
Exception table:
from to target type
1 7 8 Class java.io.IOException
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: getstatic java.lang.System.out:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.flush:()V
1: getstatic java.lang.System.err:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.flush:()V
2: aload 0
getfield com.oracle.truffle.llvm.tests.pipe.CaptureNativeOutput.stdout:Ljava/lang/String;
ifnonnull 8
3: aload 0
getfield com.oracle.truffle.llvm.tests.pipe.CaptureNativeOutput.oldStdout:I
aload 0
getfield com.oracle.truffle.llvm.tests.pipe.CaptureNativeOutput.oldStderr:I
invokestatic com.oracle.truffle.llvm.tests.pipe.CaptureNativeOutput.stopCapturing:(II)V
4: aload 0
new java.lang.String
dup
aload 0
getfield com.oracle.truffle.llvm.tests.pipe.CaptureNativeOutput.stdoutFile:Ljava/io/File;
invokevirtual java.io.File.toPath:()Ljava/nio/file/Path;
invokestatic java.nio.file.Files.readAllBytes:(Ljava/nio/file/Path;)[B
invokespecial java.lang.String.<init>:([B)V
putfield com.oracle.truffle.llvm.tests.pipe.CaptureNativeOutput.stdout:Ljava/lang/String;
5: aload 0
getfield com.oracle.truffle.llvm.tests.pipe.CaptureNativeOutput.stdoutFile:Ljava/io/File;
invokevirtual java.io.File.delete:()Z
pop
6: aload 0
new java.lang.String
dup
aload 0
getfield com.oracle.truffle.llvm.tests.pipe.CaptureNativeOutput.stderrFile:Ljava/io/File;
invokevirtual java.io.File.toPath:()Ljava/nio/file/Path;
invokestatic java.nio.file.Files.readAllBytes:(Ljava/nio/file/Path;)[B
invokespecial java.lang.String.<init>:([B)V
putfield com.oracle.truffle.llvm.tests.pipe.CaptureNativeOutput.stderr:Ljava/lang/String;
7: aload 0
getfield com.oracle.truffle.llvm.tests.pipe.CaptureNativeOutput.stderrFile:Ljava/io/File;
invokevirtual java.io.File.delete:()Z
pop
8: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/oracle/truffle/llvm/tests/pipe/CaptureNativeOutput;
Exceptions:
throws java.io.IOException
public java.lang.String getStdOut();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.llvm.tests.pipe.CaptureNativeOutput.close:()V
1: aload 0
getfield com.oracle.truffle.llvm.tests.pipe.CaptureNativeOutput.stdout:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/llvm/tests/pipe/CaptureNativeOutput;
Exceptions:
throws java.io.IOException
public java.lang.String getStdErr();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.llvm.tests.pipe.CaptureNativeOutput.close:()V
1: aload 0
getfield com.oracle.truffle.llvm.tests.pipe.CaptureNativeOutput.stderr:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/llvm/tests/pipe/CaptureNativeOutput;
Exceptions:
throws java.io.IOException
private static native int startCapturing(int, java.lang.String);
descriptor: (ILjava/lang/String;)I
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
fd
tempFilename
private static native void stopCapturing(int, int);
descriptor: (II)V
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
oldStdout
oldStderr
}
SourceFile: "CaptureNativeOutput.java"