public final class com.oracle.truffle.api.io.TruffleProcessBuilder
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.oracle.truffle.api.io.TruffleProcessBuilder
super_class: java.lang.Object
{
private final java.lang.Object polyglotLanguageContext;
descriptor: Ljava/lang/Object;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.graalvm.polyglot.io.FileSystem fileSystem;
descriptor: Lorg/graalvm/polyglot/io/FileSystem;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private java.util.List<java.lang.String> cmd;
descriptor: Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/List<Ljava/lang/String;>;
private com.oracle.truffle.api.TruffleFile cwd;
descriptor: Lcom/oracle/truffle/api/TruffleFile;
flags: (0x0002) ACC_PRIVATE
private boolean inheritIO;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean clearEnvironment;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private java.util.Map<java.lang.String, java.lang.String> env;
descriptor: Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
private boolean redirectErrorStream;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private org.graalvm.polyglot.io.ProcessHandler$Redirect inputRedirect;
descriptor: Lorg/graalvm/polyglot/io/ProcessHandler$Redirect;
flags: (0x0002) ACC_PRIVATE
private org.graalvm.polyglot.io.ProcessHandler$Redirect outputRedirect;
descriptor: Lorg/graalvm/polyglot/io/ProcessHandler$Redirect;
flags: (0x0002) ACC_PRIVATE
private org.graalvm.polyglot.io.ProcessHandler$Redirect errorRedirect;
descriptor: Lorg/graalvm/polyglot/io/ProcessHandler$Redirect;
flags: (0x0002) ACC_PRIVATE
void <init>(, org.graalvm.polyglot.io.FileSystem, java.util.List<java.lang.String>);
descriptor: (Ljava/lang/Object;Lorg/graalvm/polyglot/io/FileSystem;Ljava/util/List;)V
flags: (0x0000)
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 1
ldc "PolylgotLanguageContext must be non null."
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
2: aload 2
ldc "FileSystem must be non null."
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
3: aload 3
ldc "Command must be non null."
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
4: aload 0
aload 1
putfield com.oracle.truffle.api.io.TruffleProcessBuilder.polyglotLanguageContext:Ljava/lang/Object;
5: aload 0
aload 2
putfield com.oracle.truffle.api.io.TruffleProcessBuilder.fileSystem:Lorg/graalvm/polyglot/io/FileSystem;
6: aload 0
aload 3
putfield com.oracle.truffle.api.io.TruffleProcessBuilder.cmd:Ljava/util/List;
7: aload 0
getstatic org.graalvm.polyglot.io.ProcessHandler$Redirect.PIPE:Lorg/graalvm/polyglot/io/ProcessHandler$Redirect;
putfield com.oracle.truffle.api.io.TruffleProcessBuilder.inputRedirect:Lorg/graalvm/polyglot/io/ProcessHandler$Redirect;
8: aload 0
getstatic org.graalvm.polyglot.io.ProcessHandler$Redirect.PIPE:Lorg/graalvm/polyglot/io/ProcessHandler$Redirect;
putfield com.oracle.truffle.api.io.TruffleProcessBuilder.outputRedirect:Lorg/graalvm/polyglot/io/ProcessHandler$Redirect;
9: aload 0
getstatic org.graalvm.polyglot.io.ProcessHandler$Redirect.PIPE:Lorg/graalvm/polyglot/io/ProcessHandler$Redirect;
putfield com.oracle.truffle.api.io.TruffleProcessBuilder.errorRedirect:Lorg/graalvm/polyglot/io/ProcessHandler$Redirect;
10: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/oracle/truffle/api/io/TruffleProcessBuilder;
0 11 1 polyglotLanguageContext Ljava/lang/Object;
0 11 2 fileSystem Lorg/graalvm/polyglot/io/FileSystem;
0 11 3 command Ljava/util/List<Ljava/lang/String;>;
Signature: (Ljava/lang/Object;Lorg/graalvm/polyglot/io/FileSystem;Ljava/util/List<Ljava/lang/String;>;)V
MethodParameters:
Name Flags
polyglotLanguageContext
fileSystem
command
public com.oracle.truffle.api.io.TruffleProcessBuilder command(java.util.List<java.lang.String>);
descriptor: (Ljava/util/List;)Lcom/oracle/truffle/api/io/TruffleProcessBuilder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ldc "Command must be non null."
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
1: aload 0
new java.util.ArrayList
dup
aload 1
invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
putfield com.oracle.truffle.api.io.TruffleProcessBuilder.cmd:Ljava/util/List;
2: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/api/io/TruffleProcessBuilder;
0 3 1 command Ljava/util/List<Ljava/lang/String;>;
Signature: (Ljava/util/List<Ljava/lang/String;>;)Lcom/oracle/truffle/api/io/TruffleProcessBuilder;
MethodParameters:
Name Flags
command
public com.oracle.truffle.api.io.TruffleProcessBuilder command(java.lang.String[]);
descriptor: ([Ljava/lang/String;)Lcom/oracle/truffle/api/io/TruffleProcessBuilder;
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ldc "Command must be non null."
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
1: aload 0
new java.util.ArrayList
dup
aload 1
arraylength
invokespecial java.util.ArrayList.<init>:(I)V
putfield com.oracle.truffle.api.io.TruffleProcessBuilder.cmd:Ljava/util/List;
2: aload 0
getfield com.oracle.truffle.api.io.TruffleProcessBuilder.cmd:Ljava/util/List;
aload 1
invokestatic java.util.Collections.addAll:(Ljava/util/Collection;[Ljava/lang/Object;)Z
pop
3: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/api/io/TruffleProcessBuilder;
0 4 1 command [Ljava/lang/String;
MethodParameters:
Name Flags
command
public com.oracle.truffle.api.io.TruffleProcessBuilder directory(com.oracle.truffle.api.TruffleFile);
descriptor: (Lcom/oracle/truffle/api/TruffleFile;)Lcom/oracle/truffle/api/io/TruffleProcessBuilder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield com.oracle.truffle.api.io.TruffleProcessBuilder.cwd:Lcom/oracle/truffle/api/TruffleFile;
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/api/io/TruffleProcessBuilder;
0 2 1 currentWorkingDirectory Lcom/oracle/truffle/api/TruffleFile;
MethodParameters:
Name Flags
currentWorkingDirectory
public com.oracle.truffle.api.io.TruffleProcessBuilder redirectErrorStream(boolean);
descriptor: (Z)Lcom/oracle/truffle/api/io/TruffleProcessBuilder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield com.oracle.truffle.api.io.TruffleProcessBuilder.redirectErrorStream:Z
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/api/io/TruffleProcessBuilder;
0 2 1 enabled Z
MethodParameters:
Name Flags
enabled
public com.oracle.truffle.api.io.TruffleProcessBuilder redirectInput(org.graalvm.polyglot.io.ProcessHandler$Redirect);
descriptor: (Lorg/graalvm/polyglot/io/ProcessHandler$Redirect;)Lcom/oracle/truffle/api/io/TruffleProcessBuilder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ldc "Source must be non null."
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
1: aload 0
aload 1
putfield com.oracle.truffle.api.io.TruffleProcessBuilder.inputRedirect:Lorg/graalvm/polyglot/io/ProcessHandler$Redirect;
2: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/api/io/TruffleProcessBuilder;
0 3 1 source Lorg/graalvm/polyglot/io/ProcessHandler$Redirect;
MethodParameters:
Name Flags
source
public com.oracle.truffle.api.io.TruffleProcessBuilder redirectOutput(org.graalvm.polyglot.io.ProcessHandler$Redirect);
descriptor: (Lorg/graalvm/polyglot/io/ProcessHandler$Redirect;)Lcom/oracle/truffle/api/io/TruffleProcessBuilder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ldc "Destination must be non null."
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
1: aload 0
aload 1
putfield com.oracle.truffle.api.io.TruffleProcessBuilder.outputRedirect:Lorg/graalvm/polyglot/io/ProcessHandler$Redirect;
2: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/api/io/TruffleProcessBuilder;
0 3 1 destination Lorg/graalvm/polyglot/io/ProcessHandler$Redirect;
MethodParameters:
Name Flags
destination
public com.oracle.truffle.api.io.TruffleProcessBuilder redirectError(org.graalvm.polyglot.io.ProcessHandler$Redirect);
descriptor: (Lorg/graalvm/polyglot/io/ProcessHandler$Redirect;)Lcom/oracle/truffle/api/io/TruffleProcessBuilder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ldc "Destination must be non null."
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
1: aload 0
aload 1
putfield com.oracle.truffle.api.io.TruffleProcessBuilder.errorRedirect:Lorg/graalvm/polyglot/io/ProcessHandler$Redirect;
2: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/api/io/TruffleProcessBuilder;
0 3 1 destination Lorg/graalvm/polyglot/io/ProcessHandler$Redirect;
MethodParameters:
Name Flags
destination
public com.oracle.truffle.api.io.TruffleProcessBuilder inheritIO(boolean);
descriptor: (Z)Lcom/oracle/truffle/api/io/TruffleProcessBuilder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield com.oracle.truffle.api.io.TruffleProcessBuilder.inheritIO:Z
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/api/io/TruffleProcessBuilder;
0 2 1 enabled Z
MethodParameters:
Name Flags
enabled
public com.oracle.truffle.api.io.TruffleProcessBuilder clearEnvironment(boolean);
descriptor: (Z)Lcom/oracle/truffle/api/io/TruffleProcessBuilder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield com.oracle.truffle.api.io.TruffleProcessBuilder.clearEnvironment:Z
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/api/io/TruffleProcessBuilder;
0 2 1 clear Z
MethodParameters:
Name Flags
clear
public com.oracle.truffle.api.io.TruffleProcessBuilder environment(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Lcom/oracle/truffle/api/io/TruffleProcessBuilder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ldc "Name must be non null."
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
1: aload 2
ldc "Value must be non null."
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
2: aload 0
getfield com.oracle.truffle.api.io.TruffleProcessBuilder.env:Ljava/util/Map;
ifnonnull 4
3: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield com.oracle.truffle.api.io.TruffleProcessBuilder.env:Ljava/util/Map;
4: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.api.io.TruffleProcessBuilder.env:Ljava/util/Map;
aload 1
aload 2
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
5: aload 0
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/api/io/TruffleProcessBuilder;
0 6 1 name Ljava/lang/String;
0 6 2 value Ljava/lang/String;
MethodParameters:
Name Flags
name
value
public com.oracle.truffle.api.io.TruffleProcessBuilder environment(java.util.Map<java.lang.String, java.lang.String>);
descriptor: (Ljava/util/Map;)Lcom/oracle/truffle/api/io/TruffleProcessBuilder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 3
goto 3
StackMap locals: com.oracle.truffle.api.io.TruffleProcessBuilder java.util.Map top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 2
start local 2 2: aload 0
aload 2
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.String
aload 2
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.lang.String
invokevirtual com.oracle.truffle.api.io.TruffleProcessBuilder.environment:(Ljava/lang/String;Ljava/lang/String;)Lcom/oracle/truffle/api/io/TruffleProcessBuilder;
pop
end local 2 3: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
4: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/api/io/TruffleProcessBuilder;
0 5 1 environment Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
2 3 2 e Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/String;>;
Signature: (Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)Lcom/oracle/truffle/api/io/TruffleProcessBuilder;
MethodParameters:
Name Flags
environment
public org.graalvm.polyglot.io.ProcessHandler$Redirect createRedirectToStream(java.io.OutputStream);
descriptor: (Ljava/io/OutputStream;)Lorg/graalvm/polyglot/io/ProcessHandler$Redirect;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: invokestatic com.oracle.truffle.api.io.IOAccessor.engineAccess:()Lcom/oracle/truffle/api/impl/Accessor$EngineSupport;
aload 0
getfield com.oracle.truffle.api.io.TruffleProcessBuilder.polyglotLanguageContext:Ljava/lang/Object;
aload 1
invokevirtual com.oracle.truffle.api.impl.Accessor$EngineSupport.createRedirectToOutputStream:(Ljava/lang/Object;Ljava/io/OutputStream;)Lorg/graalvm/polyglot/io/ProcessHandler$Redirect;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/io/TruffleProcessBuilder;
0 1 1 stream Ljava/io/OutputStream;
MethodParameters:
Name Flags
stream
public java.lang.Process start();
descriptor: ()Ljava/lang/Process;
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=4, args_size=1
start local 0 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 1
start local 1 1: aload 0
getfield com.oracle.truffle.api.io.TruffleProcessBuilder.cmd:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 6
StackMap locals: com.oracle.truffle.api.io.TruffleProcessBuilder java.util.List top java.util.Iterator
StackMap stack:
2: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 2
start local 2 3: aload 2
ifnonnull 5
4: new java.lang.NullPointerException
dup
ldc "Command contains null."
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals: com.oracle.truffle.api.io.TruffleProcessBuilder java.util.List java.lang.String java.util.Iterator
StackMap stack:
aload 1
aload 2
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 2 6: StackMap locals: com.oracle.truffle.api.io.TruffleProcessBuilder java.util.List top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
7: aload 1
invokeinterface java.util.List.isEmpty:()Z
ifeq 9
8: new java.lang.IndexOutOfBoundsException
dup
ldc "Command is empty"
invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals: com.oracle.truffle.api.io.TruffleProcessBuilder java.util.List
StackMap stack:
aload 0
getfield com.oracle.truffle.api.io.TruffleProcessBuilder.cmd:Ljava/util/List;
invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
astore 1
10: aload 0
getfield com.oracle.truffle.api.io.TruffleProcessBuilder.inheritIO:Z
ifeq 14
11: aload 0
getstatic org.graalvm.polyglot.io.ProcessHandler$Redirect.INHERIT:Lorg/graalvm/polyglot/io/ProcessHandler$Redirect;
putfield com.oracle.truffle.api.io.TruffleProcessBuilder.inputRedirect:Lorg/graalvm/polyglot/io/ProcessHandler$Redirect;
12: aload 0
getstatic org.graalvm.polyglot.io.ProcessHandler$Redirect.INHERIT:Lorg/graalvm/polyglot/io/ProcessHandler$Redirect;
putfield com.oracle.truffle.api.io.TruffleProcessBuilder.outputRedirect:Lorg/graalvm/polyglot/io/ProcessHandler$Redirect;
13: aload 0
getstatic org.graalvm.polyglot.io.ProcessHandler$Redirect.INHERIT:Lorg/graalvm/polyglot/io/ProcessHandler$Redirect;
putfield com.oracle.truffle.api.io.TruffleProcessBuilder.errorRedirect:Lorg/graalvm/polyglot/io/ProcessHandler$Redirect;
14: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.api.io.TruffleProcessBuilder.clearEnvironment:Z
ifeq 19
15: aload 0
getfield com.oracle.truffle.api.io.TruffleProcessBuilder.env:Ljava/util/Map;
ifnonnull 16
invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
goto 17
StackMap locals:
StackMap stack:
16: aload 0
getfield com.oracle.truffle.api.io.TruffleProcessBuilder.env:Ljava/util/Map;
invokestatic java.util.Collections.unmodifiableMap:(Ljava/util/Map;)Ljava/util/Map;
StackMap locals:
StackMap stack: java.util.Map
17: astore 2
start local 2 18: goto 24
end local 2 19: StackMap locals:
StackMap stack:
invokestatic com.oracle.truffle.api.io.IOAccessor.engineAccess:()Lcom/oracle/truffle/api/impl/Accessor$EngineSupport;
aload 0
getfield com.oracle.truffle.api.io.TruffleProcessBuilder.polyglotLanguageContext:Ljava/lang/Object;
invokevirtual com.oracle.truffle.api.impl.Accessor$EngineSupport.getProcessEnvironment:(Ljava/lang/Object;)Ljava/util/Map;
astore 2
start local 2 20: aload 0
getfield com.oracle.truffle.api.io.TruffleProcessBuilder.env:Ljava/util/Map;
ifnull 24
21: new java.util.HashMap
dup
aload 2
invokespecial java.util.HashMap.<init>:(Ljava/util/Map;)V
astore 2
22: aload 2
aload 0
getfield com.oracle.truffle.api.io.TruffleProcessBuilder.env:Ljava/util/Map;
invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
23: aload 2
invokestatic java.util.Collections.unmodifiableMap:(Ljava/util/Map;)Ljava/util/Map;
astore 2
24: StackMap locals: java.util.Map
StackMap stack:
aload 0
getfield com.oracle.truffle.api.io.TruffleProcessBuilder.cwd:Lcom/oracle/truffle/api/TruffleFile;
ifnull 27
25: aload 0
getfield com.oracle.truffle.api.io.TruffleProcessBuilder.cwd:Lcom/oracle/truffle/api/TruffleFile;
invokevirtual com.oracle.truffle.api.TruffleFile.getPath:()Ljava/lang/String;
astore 3
start local 3 26: goto 28
end local 3 27: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.api.io.TruffleProcessBuilder.fileSystem:Lorg/graalvm/polyglot/io/FileSystem;
aload 0
getfield com.oracle.truffle.api.io.TruffleProcessBuilder.fileSystem:Lorg/graalvm/polyglot/io/FileSystem;
ldc ""
invokeinterface org.graalvm.polyglot.io.FileSystem.parsePath:(Ljava/lang/String;)Ljava/nio/file/Path;
invokeinterface org.graalvm.polyglot.io.FileSystem.toAbsolutePath:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
astore 3
start local 3 28: StackMap locals: java.lang.String
StackMap stack:
invokestatic com.oracle.truffle.api.io.IOAccessor.engineAccess:()Lcom/oracle/truffle/api/impl/Accessor$EngineSupport;
29: aload 0
getfield com.oracle.truffle.api.io.TruffleProcessBuilder.polyglotLanguageContext:Ljava/lang/Object;
30: aload 1
31: aload 3
32: aload 2
33: aload 0
getfield com.oracle.truffle.api.io.TruffleProcessBuilder.redirectErrorStream:Z
34: aload 0
getfield com.oracle.truffle.api.io.TruffleProcessBuilder.inputRedirect:Lorg/graalvm/polyglot/io/ProcessHandler$Redirect;
35: aload 0
getfield com.oracle.truffle.api.io.TruffleProcessBuilder.outputRedirect:Lorg/graalvm/polyglot/io/ProcessHandler$Redirect;
36: aload 0
getfield com.oracle.truffle.api.io.TruffleProcessBuilder.errorRedirect:Lorg/graalvm/polyglot/io/ProcessHandler$Redirect;
37: invokevirtual com.oracle.truffle.api.impl.Accessor$EngineSupport.createSubProcess:(Ljava/lang/Object;Ljava/util/List;Ljava/lang/String;Ljava/util/Map;ZLorg/graalvm/polyglot/io/ProcessHandler$Redirect;Lorg/graalvm/polyglot/io/ProcessHandler$Redirect;Lorg/graalvm/polyglot/io/ProcessHandler$Redirect;)Ljava/lang/Process;
38: areturn
end local 3 39: StackMap locals: com.oracle.truffle.api.io.TruffleProcessBuilder java.util.List java.util.Map
StackMap stack: java.lang.Exception
astore 3
start local 3 40: aload 3
athrow
end local 3 41: StackMap locals:
StackMap stack: java.lang.Throwable
astore 3
start local 3 42: aload 0
aload 3
invokevirtual com.oracle.truffle.api.io.TruffleProcessBuilder.wrapHostException:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 43 0 this Lcom/oracle/truffle/api/io/TruffleProcessBuilder;
1 43 1 useCmd Ljava/util/List<Ljava/lang/String;>;
3 6 2 item Ljava/lang/String;
18 19 2 useEnv Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
20 43 2 useEnv Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
26 27 3 useCwd Ljava/lang/String;
28 39 3 useCwd Ljava/lang/String;
40 41 3 ioe Ljava/lang/Exception;
42 43 3 t Ljava/lang/Throwable;
Exception table:
from to target type
24 38 39 Class java.io.IOException
24 38 39 Class java.lang.SecurityException
24 38 41 Class java.lang.Throwable
Exceptions:
throws java.io.IOException
private <T extends java.lang.Throwable> java.lang.RuntimeException wrapHostException(T);
descriptor: (Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: invokestatic com.oracle.truffle.api.io.IOAccessor.engineAccess:()Lcom/oracle/truffle/api/impl/Accessor$EngineSupport;
aload 0
getfield com.oracle.truffle.api.io.TruffleProcessBuilder.polyglotLanguageContext:Ljava/lang/Object;
invokevirtual com.oracle.truffle.api.impl.Accessor$EngineSupport.hasDefaultProcessHandler:(Ljava/lang/Object;)Z
ifeq 2
1: ldc Ljava/lang/RuntimeException;
aload 1
invokestatic com.oracle.truffle.api.io.TruffleProcessBuilder.sthrow:(Ljava/lang/Class;Ljava/lang/Throwable;)Ljava/lang/Throwable;
checkcast java.lang.RuntimeException
athrow
2: StackMap locals:
StackMap stack:
invokestatic com.oracle.truffle.api.io.IOAccessor.engineAccess:()Lcom/oracle/truffle/api/impl/Accessor$EngineSupport;
aconst_null
aload 0
getfield com.oracle.truffle.api.io.TruffleProcessBuilder.polyglotLanguageContext:Ljava/lang/Object;
aload 1
invokevirtual com.oracle.truffle.api.impl.Accessor$EngineSupport.wrapHostException:(Lcom/oracle/truffle/api/nodes/Node;Ljava/lang/Object;Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/api/io/TruffleProcessBuilder;
0 3 1 t TT;
Signature: <T:Ljava/lang/Throwable;>(TT;)Ljava/lang/RuntimeException;
MethodParameters:
Name Flags
t
private static <T extends java.lang.Throwable> T sthrow(java.lang.Class<T>, java.lang.Throwable) throws T;
descriptor: (Ljava/lang/Class;Ljava/lang/Throwable;)Ljava/lang/Throwable;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 type Ljava/lang/Class<TT;>;
0 1 1 t Ljava/lang/Throwable;
Exceptions:
throws java.lang.Throwable
Signature: <T:Ljava/lang/Throwable;>(Ljava/lang/Class<TT;>;Ljava/lang/Throwable;)TT;^TT;
MethodParameters:
Name Flags
type
t
}
SourceFile: "TruffleProcessBuilder.java"
InnerClasses:
public abstract EngineSupport = com.oracle.truffle.api.impl.Accessor$EngineSupport of com.oracle.truffle.api.impl.Accessor
public abstract Entry = java.util.Map$Entry of java.util.Map
public final Redirect = org.graalvm.polyglot.io.ProcessHandler$Redirect of org.graalvm.polyglot.io.ProcessHandler