public final class com.oracle.truffle.api.TruffleFile
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.oracle.truffle.api.TruffleFile
super_class: java.lang.Object
{
public static final com.oracle.truffle.api.TruffleFile$AttributeDescriptor<java.nio.file.attribute.FileTime> LAST_MODIFIED_TIME;
descriptor: Lcom/oracle/truffle/api/TruffleFile$AttributeDescriptor;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Signature: Lcom/oracle/truffle/api/TruffleFile$AttributeDescriptor<Ljava/nio/file/attribute/FileTime;>;
public static final com.oracle.truffle.api.TruffleFile$AttributeDescriptor<java.nio.file.attribute.FileTime> LAST_ACCESS_TIME;
descriptor: Lcom/oracle/truffle/api/TruffleFile$AttributeDescriptor;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Signature: Lcom/oracle/truffle/api/TruffleFile$AttributeDescriptor<Ljava/nio/file/attribute/FileTime;>;
public static final com.oracle.truffle.api.TruffleFile$AttributeDescriptor<java.nio.file.attribute.FileTime> CREATION_TIME;
descriptor: Lcom/oracle/truffle/api/TruffleFile$AttributeDescriptor;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Signature: Lcom/oracle/truffle/api/TruffleFile$AttributeDescriptor<Ljava/nio/file/attribute/FileTime;>;
public static final com.oracle.truffle.api.TruffleFile$AttributeDescriptor<java.lang.Boolean> IS_REGULAR_FILE;
descriptor: Lcom/oracle/truffle/api/TruffleFile$AttributeDescriptor;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Signature: Lcom/oracle/truffle/api/TruffleFile$AttributeDescriptor<Ljava/lang/Boolean;>;
public static final com.oracle.truffle.api.TruffleFile$AttributeDescriptor<java.lang.Boolean> IS_DIRECTORY;
descriptor: Lcom/oracle/truffle/api/TruffleFile$AttributeDescriptor;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Signature: Lcom/oracle/truffle/api/TruffleFile$AttributeDescriptor<Ljava/lang/Boolean;>;
public static final com.oracle.truffle.api.TruffleFile$AttributeDescriptor<java.lang.Boolean> IS_SYMBOLIC_LINK;
descriptor: Lcom/oracle/truffle/api/TruffleFile$AttributeDescriptor;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Signature: Lcom/oracle/truffle/api/TruffleFile$AttributeDescriptor<Ljava/lang/Boolean;>;
public static final com.oracle.truffle.api.TruffleFile$AttributeDescriptor<java.lang.Boolean> IS_OTHER;
descriptor: Lcom/oracle/truffle/api/TruffleFile$AttributeDescriptor;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Signature: Lcom/oracle/truffle/api/TruffleFile$AttributeDescriptor<Ljava/lang/Boolean;>;
public static final com.oracle.truffle.api.TruffleFile$AttributeDescriptor<java.lang.Long> SIZE;
descriptor: Lcom/oracle/truffle/api/TruffleFile$AttributeDescriptor;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Signature: Lcom/oracle/truffle/api/TruffleFile$AttributeDescriptor<Ljava/lang/Long;>;
public static final com.oracle.truffle.api.TruffleFile$AttributeDescriptor<java.nio.file.attribute.UserPrincipal> UNIX_OWNER;
descriptor: Lcom/oracle/truffle/api/TruffleFile$AttributeDescriptor;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Signature: Lcom/oracle/truffle/api/TruffleFile$AttributeDescriptor<Ljava/nio/file/attribute/UserPrincipal;>;
public static final com.oracle.truffle.api.TruffleFile$AttributeDescriptor<java.nio.file.attribute.GroupPrincipal> UNIX_GROUP;
descriptor: Lcom/oracle/truffle/api/TruffleFile$AttributeDescriptor;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Signature: Lcom/oracle/truffle/api/TruffleFile$AttributeDescriptor<Ljava/nio/file/attribute/GroupPrincipal;>;
public static final com.oracle.truffle.api.TruffleFile$AttributeDescriptor<java.util.Set<java.nio.file.attribute.PosixFilePermission>> UNIX_PERMISSIONS;
descriptor: Lcom/oracle/truffle/api/TruffleFile$AttributeDescriptor;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Signature: Lcom/oracle/truffle/api/TruffleFile$AttributeDescriptor<Ljava/util/Set<Ljava/nio/file/attribute/PosixFilePermission;>;>;
public static final com.oracle.truffle.api.TruffleFile$AttributeDescriptor<java.lang.Integer> UNIX_MODE;
descriptor: Lcom/oracle/truffle/api/TruffleFile$AttributeDescriptor;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Signature: Lcom/oracle/truffle/api/TruffleFile$AttributeDescriptor<Ljava/lang/Integer;>;
public static final com.oracle.truffle.api.TruffleFile$AttributeDescriptor<java.lang.Long> UNIX_INODE;
descriptor: Lcom/oracle/truffle/api/TruffleFile$AttributeDescriptor;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Signature: Lcom/oracle/truffle/api/TruffleFile$AttributeDescriptor<Ljava/lang/Long;>;
public static final com.oracle.truffle.api.TruffleFile$AttributeDescriptor<java.lang.Long> UNIX_DEV;
descriptor: Lcom/oracle/truffle/api/TruffleFile$AttributeDescriptor;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Signature: Lcom/oracle/truffle/api/TruffleFile$AttributeDescriptor<Ljava/lang/Long;>;
public static final com.oracle.truffle.api.TruffleFile$AttributeDescriptor<java.lang.Long> UNIX_RDEV;
descriptor: Lcom/oracle/truffle/api/TruffleFile$AttributeDescriptor;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Signature: Lcom/oracle/truffle/api/TruffleFile$AttributeDescriptor<Ljava/lang/Long;>;
public static final com.oracle.truffle.api.TruffleFile$AttributeDescriptor<java.lang.Integer> UNIX_NLINK;
descriptor: Lcom/oracle/truffle/api/TruffleFile$AttributeDescriptor;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Signature: Lcom/oracle/truffle/api/TruffleFile$AttributeDescriptor<Ljava/lang/Integer;>;
public static final com.oracle.truffle.api.TruffleFile$AttributeDescriptor<java.lang.Integer> UNIX_UID;
descriptor: Lcom/oracle/truffle/api/TruffleFile$AttributeDescriptor;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Signature: Lcom/oracle/truffle/api/TruffleFile$AttributeDescriptor<Ljava/lang/Integer;>;
public static final com.oracle.truffle.api.TruffleFile$AttributeDescriptor<java.lang.Integer> UNIX_GID;
descriptor: Lcom/oracle/truffle/api/TruffleFile$AttributeDescriptor;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Signature: Lcom/oracle/truffle/api/TruffleFile$AttributeDescriptor<Ljava/lang/Integer;>;
public static final com.oracle.truffle.api.TruffleFile$AttributeDescriptor<java.nio.file.attribute.FileTime> UNIX_CTIME;
descriptor: Lcom/oracle/truffle/api/TruffleFile$AttributeDescriptor;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Signature: Lcom/oracle/truffle/api/TruffleFile$AttributeDescriptor<Ljava/nio/file/attribute/FileTime;>;
private static final int MAX_BUFFER_SIZE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2147483639
private static final int BUFFER_SIZE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 8192
private final com.oracle.truffle.api.TruffleFile$FileSystemContext fileSystemContext;
descriptor: Lcom/oracle/truffle/api/TruffleFile$FileSystemContext;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.nio.file.Path path;
descriptor: Ljava/nio/file/Path;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.nio.file.Path normalizedPath;
descriptor: Ljava/nio/file/Path;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean isEmptyPath;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private static volatile int[] $SWITCH_TABLE$com$oracle$truffle$api$TruffleFile$Walker$Event$Type;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
private static volatile int[] $SWITCH_TABLE$java$nio$file$FileVisitResult;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=0, args_size=0
0: ldc Lcom/oracle/truffle/api/TruffleFile;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic com.oracle.truffle.api.TruffleFile.$assertionsDisabled:Z
3: new com.oracle.truffle.api.TruffleFile$AttributeDescriptor
dup
getstatic com.oracle.truffle.api.TruffleFile$AttributeGroup.BASIC:Lcom/oracle/truffle/api/TruffleFile$AttributeGroup;
ldc "lastModifiedTime"
ldc Ljava/nio/file/attribute/FileTime;
invokespecial com.oracle.truffle.api.TruffleFile$AttributeDescriptor.<init>:(Lcom/oracle/truffle/api/TruffleFile$AttributeGroup;Ljava/lang/String;Ljava/lang/Class;)V
putstatic com.oracle.truffle.api.TruffleFile.LAST_MODIFIED_TIME:Lcom/oracle/truffle/api/TruffleFile$AttributeDescriptor;
4: new com.oracle.truffle.api.TruffleFile$AttributeDescriptor
dup
getstatic com.oracle.truffle.api.TruffleFile$AttributeGroup.BASIC:Lcom/oracle/truffle/api/TruffleFile$AttributeGroup;
ldc "lastAccessTime"
ldc Ljava/nio/file/attribute/FileTime;
invokespecial com.oracle.truffle.api.TruffleFile$AttributeDescriptor.<init>:(Lcom/oracle/truffle/api/TruffleFile$AttributeGroup;Ljava/lang/String;Ljava/lang/Class;)V
putstatic com.oracle.truffle.api.TruffleFile.LAST_ACCESS_TIME:Lcom/oracle/truffle/api/TruffleFile$AttributeDescriptor;
5: new com.oracle.truffle.api.TruffleFile$AttributeDescriptor
dup
getstatic com.oracle.truffle.api.TruffleFile$AttributeGroup.BASIC:Lcom/oracle/truffle/api/TruffleFile$AttributeGroup;
ldc "creationTime"
ldc Ljava/nio/file/attribute/FileTime;
invokespecial com.oracle.truffle.api.TruffleFile$AttributeDescriptor.<init>:(Lcom/oracle/truffle/api/TruffleFile$AttributeGroup;Ljava/lang/String;Ljava/lang/Class;)V
putstatic com.oracle.truffle.api.TruffleFile.CREATION_TIME:Lcom/oracle/truffle/api/TruffleFile$AttributeDescriptor;
6: new com.oracle.truffle.api.TruffleFile$AttributeDescriptor
dup
getstatic com.oracle.truffle.api.TruffleFile$AttributeGroup.BASIC:Lcom/oracle/truffle/api/TruffleFile$AttributeGroup;
ldc "isRegularFile"
ldc Ljava/lang/Boolean;
invokespecial com.oracle.truffle.api.TruffleFile$AttributeDescriptor.<init>:(Lcom/oracle/truffle/api/TruffleFile$AttributeGroup;Ljava/lang/String;Ljava/lang/Class;)V
putstatic com.oracle.truffle.api.TruffleFile.IS_REGULAR_FILE:Lcom/oracle/truffle/api/TruffleFile$AttributeDescriptor;
7: new com.oracle.truffle.api.TruffleFile$AttributeDescriptor
dup
getstatic com.oracle.truffle.api.TruffleFile$AttributeGroup.BASIC:Lcom/oracle/truffle/api/TruffleFile$AttributeGroup;
ldc "isDirectory"
ldc Ljava/lang/Boolean;
invokespecial com.oracle.truffle.api.TruffleFile$AttributeDescriptor.<init>:(Lcom/oracle/truffle/api/TruffleFile$AttributeGroup;Ljava/lang/String;Ljava/lang/Class;)V
putstatic com.oracle.truffle.api.TruffleFile.IS_DIRECTORY:Lcom/oracle/truffle/api/TruffleFile$AttributeDescriptor;
8: new com.oracle.truffle.api.TruffleFile$AttributeDescriptor
dup
getstatic com.oracle.truffle.api.TruffleFile$AttributeGroup.BASIC:Lcom/oracle/truffle/api/TruffleFile$AttributeGroup;
ldc "isSymbolicLink"
ldc Ljava/lang/Boolean;
invokespecial com.oracle.truffle.api.TruffleFile$AttributeDescriptor.<init>:(Lcom/oracle/truffle/api/TruffleFile$AttributeGroup;Ljava/lang/String;Ljava/lang/Class;)V
putstatic com.oracle.truffle.api.TruffleFile.IS_SYMBOLIC_LINK:Lcom/oracle/truffle/api/TruffleFile$AttributeDescriptor;
9: new com.oracle.truffle.api.TruffleFile$AttributeDescriptor
dup
getstatic com.oracle.truffle.api.TruffleFile$AttributeGroup.BASIC:Lcom/oracle/truffle/api/TruffleFile$AttributeGroup;
ldc "isOther"
ldc Ljava/lang/Boolean;
invokespecial com.oracle.truffle.api.TruffleFile$AttributeDescriptor.<init>:(Lcom/oracle/truffle/api/TruffleFile$AttributeGroup;Ljava/lang/String;Ljava/lang/Class;)V
putstatic com.oracle.truffle.api.TruffleFile.IS_OTHER:Lcom/oracle/truffle/api/TruffleFile$AttributeDescriptor;
10: new com.oracle.truffle.api.TruffleFile$AttributeDescriptor
dup
getstatic com.oracle.truffle.api.TruffleFile$AttributeGroup.BASIC:Lcom/oracle/truffle/api/TruffleFile$AttributeGroup;
ldc "size"
ldc Ljava/lang/Long;
invokespecial com.oracle.truffle.api.TruffleFile$AttributeDescriptor.<init>:(Lcom/oracle/truffle/api/TruffleFile$AttributeGroup;Ljava/lang/String;Ljava/lang/Class;)V
putstatic com.oracle.truffle.api.TruffleFile.SIZE:Lcom/oracle/truffle/api/TruffleFile$AttributeDescriptor;
11: new com.oracle.truffle.api.TruffleFile$AttributeDescriptor
dup
getstatic com.oracle.truffle.api.TruffleFile$AttributeGroup.POSIX:Lcom/oracle/truffle/api/TruffleFile$AttributeGroup;
ldc "owner"
ldc Ljava/nio/file/attribute/UserPrincipal;
invokespecial com.oracle.truffle.api.TruffleFile$AttributeDescriptor.<init>:(Lcom/oracle/truffle/api/TruffleFile$AttributeGroup;Ljava/lang/String;Ljava/lang/Class;)V
putstatic com.oracle.truffle.api.TruffleFile.UNIX_OWNER:Lcom/oracle/truffle/api/TruffleFile$AttributeDescriptor;
12: new com.oracle.truffle.api.TruffleFile$AttributeDescriptor
dup
getstatic com.oracle.truffle.api.TruffleFile$AttributeGroup.POSIX:Lcom/oracle/truffle/api/TruffleFile$AttributeGroup;
ldc "group"
ldc Ljava/nio/file/attribute/GroupPrincipal;
invokespecial com.oracle.truffle.api.TruffleFile$AttributeDescriptor.<init>:(Lcom/oracle/truffle/api/TruffleFile$AttributeGroup;Ljava/lang/String;Ljava/lang/Class;)V
putstatic com.oracle.truffle.api.TruffleFile.UNIX_GROUP:Lcom/oracle/truffle/api/TruffleFile$AttributeDescriptor;
13: new com.oracle.truffle.api.TruffleFile$AttributeDescriptor
dup
getstatic com.oracle.truffle.api.TruffleFile$AttributeGroup.POSIX:Lcom/oracle/truffle/api/TruffleFile$AttributeGroup;
ldc Ljava/util/Set;
ldc "permissions"
invokespecial com.oracle.truffle.api.TruffleFile$AttributeDescriptor.<init>:(Lcom/oracle/truffle/api/TruffleFile$AttributeGroup;Ljava/lang/Class;Ljava/lang/String;)V
putstatic com.oracle.truffle.api.TruffleFile.UNIX_PERMISSIONS:Lcom/oracle/truffle/api/TruffleFile$AttributeDescriptor;
14: new com.oracle.truffle.api.TruffleFile$AttributeDescriptor
dup
getstatic com.oracle.truffle.api.TruffleFile$AttributeGroup.UNIX:Lcom/oracle/truffle/api/TruffleFile$AttributeGroup;
ldc "mode"
ldc Ljava/lang/Integer;
invokespecial com.oracle.truffle.api.TruffleFile$AttributeDescriptor.<init>:(Lcom/oracle/truffle/api/TruffleFile$AttributeGroup;Ljava/lang/String;Ljava/lang/Class;)V
putstatic com.oracle.truffle.api.TruffleFile.UNIX_MODE:Lcom/oracle/truffle/api/TruffleFile$AttributeDescriptor;
15: new com.oracle.truffle.api.TruffleFile$AttributeDescriptor
dup
getstatic com.oracle.truffle.api.TruffleFile$AttributeGroup.UNIX:Lcom/oracle/truffle/api/TruffleFile$AttributeGroup;
ldc "ino"
ldc Ljava/lang/Long;
invokespecial com.oracle.truffle.api.TruffleFile$AttributeDescriptor.<init>:(Lcom/oracle/truffle/api/TruffleFile$AttributeGroup;Ljava/lang/String;Ljava/lang/Class;)V
putstatic com.oracle.truffle.api.TruffleFile.UNIX_INODE:Lcom/oracle/truffle/api/TruffleFile$AttributeDescriptor;
16: new com.oracle.truffle.api.TruffleFile$AttributeDescriptor
dup
getstatic com.oracle.truffle.api.TruffleFile$AttributeGroup.UNIX:Lcom/oracle/truffle/api/TruffleFile$AttributeGroup;
ldc "dev"
ldc Ljava/lang/Long;
invokespecial com.oracle.truffle.api.TruffleFile$AttributeDescriptor.<init>:(Lcom/oracle/truffle/api/TruffleFile$AttributeGroup;Ljava/lang/String;Ljava/lang/Class;)V
putstatic com.oracle.truffle.api.TruffleFile.UNIX_DEV:Lcom/oracle/truffle/api/TruffleFile$AttributeDescriptor;
17: new com.oracle.truffle.api.TruffleFile$AttributeDescriptor
dup
getstatic com.oracle.truffle.api.TruffleFile$AttributeGroup.UNIX:Lcom/oracle/truffle/api/TruffleFile$AttributeGroup;
ldc "rdev"
ldc Ljava/lang/Long;
invokespecial com.oracle.truffle.api.TruffleFile$AttributeDescriptor.<init>:(Lcom/oracle/truffle/api/TruffleFile$AttributeGroup;Ljava/lang/String;Ljava/lang/Class;)V
putstatic com.oracle.truffle.api.TruffleFile.UNIX_RDEV:Lcom/oracle/truffle/api/TruffleFile$AttributeDescriptor;
18: new com.oracle.truffle.api.TruffleFile$AttributeDescriptor
dup
getstatic com.oracle.truffle.api.TruffleFile$AttributeGroup.UNIX:Lcom/oracle/truffle/api/TruffleFile$AttributeGroup;
ldc "nlink"
ldc Ljava/lang/Integer;
invokespecial com.oracle.truffle.api.TruffleFile$AttributeDescriptor.<init>:(Lcom/oracle/truffle/api/TruffleFile$AttributeGroup;Ljava/lang/String;Ljava/lang/Class;)V
putstatic com.oracle.truffle.api.TruffleFile.UNIX_NLINK:Lcom/oracle/truffle/api/TruffleFile$AttributeDescriptor;
19: new com.oracle.truffle.api.TruffleFile$AttributeDescriptor
dup
getstatic com.oracle.truffle.api.TruffleFile$AttributeGroup.UNIX:Lcom/oracle/truffle/api/TruffleFile$AttributeGroup;
ldc "uid"
ldc Ljava/lang/Integer;
invokespecial com.oracle.truffle.api.TruffleFile$AttributeDescriptor.<init>:(Lcom/oracle/truffle/api/TruffleFile$AttributeGroup;Ljava/lang/String;Ljava/lang/Class;)V
putstatic com.oracle.truffle.api.TruffleFile.UNIX_UID:Lcom/oracle/truffle/api/TruffleFile$AttributeDescriptor;
20: new com.oracle.truffle.api.TruffleFile$AttributeDescriptor
dup
getstatic com.oracle.truffle.api.TruffleFile$AttributeGroup.UNIX:Lcom/oracle/truffle/api/TruffleFile$AttributeGroup;
ldc "gid"
ldc Ljava/lang/Integer;
invokespecial com.oracle.truffle.api.TruffleFile$AttributeDescriptor.<init>:(Lcom/oracle/truffle/api/TruffleFile$AttributeGroup;Ljava/lang/String;Ljava/lang/Class;)V
putstatic com.oracle.truffle.api.TruffleFile.UNIX_GID:Lcom/oracle/truffle/api/TruffleFile$AttributeDescriptor;
21: new com.oracle.truffle.api.TruffleFile$AttributeDescriptor
dup
getstatic com.oracle.truffle.api.TruffleFile$AttributeGroup.UNIX:Lcom/oracle/truffle/api/TruffleFile$AttributeGroup;
ldc "ctime"
ldc Ljava/nio/file/attribute/FileTime;
invokespecial com.oracle.truffle.api.TruffleFile$AttributeDescriptor.<init>:(Lcom/oracle/truffle/api/TruffleFile$AttributeGroup;Ljava/lang/String;Ljava/lang/Class;)V
putstatic com.oracle.truffle.api.TruffleFile.UNIX_CTIME:Lcom/oracle/truffle/api/TruffleFile$AttributeDescriptor;
22: return
LocalVariableTable:
Start End Slot Name Signature
void <init>(com.oracle.truffle.api.TruffleFile$FileSystemContext, java.nio.file.Path);
descriptor: (Lcom/oracle/truffle/api/TruffleFile$FileSystemContext;Ljava/nio/file/Path;)V
flags: (0x0000)
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
aload 2
invokeinterface java.nio.file.Path.normalize:()Ljava/nio/file/Path;
aload 2
invokestatic com.oracle.truffle.api.TruffleFile.isEmptyPath:(Ljava/nio/file/Path;)Z
invokespecial com.oracle.truffle.api.TruffleFile.<init>:(Lcom/oracle/truffle/api/TruffleFile$FileSystemContext;Ljava/nio/file/Path;Ljava/nio/file/Path;Z)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/api/TruffleFile;
0 2 1 fileSystemContext Lcom/oracle/truffle/api/TruffleFile$FileSystemContext;
0 2 2 path Ljava/nio/file/Path;
MethodParameters:
Name Flags
fileSystemContext final
path final
void <init>(com.oracle.truffle.api.TruffleFile$FileSystemContext, java.nio.file.Path, java.nio.file.Path, boolean);
descriptor: (Lcom/oracle/truffle/api/TruffleFile$FileSystemContext;Ljava/nio/file/Path;Ljava/nio/file/Path;Z)V
flags: (0x0000)
Code:
stack=2, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 1
ldc "FileSystemContext must not be null."
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
2: aload 2
ldc "Path must not be null."
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
3: aload 3
ldc "NormalizedPath must not be 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.TruffleFile.fileSystemContext:Lcom/oracle/truffle/api/TruffleFile$FileSystemContext;
5: aload 0
aload 2
putfield com.oracle.truffle.api.TruffleFile.path:Ljava/nio/file/Path;
6: aload 0
aload 3
putfield com.oracle.truffle.api.TruffleFile.normalizedPath:Ljava/nio/file/Path;
7: aload 0
iload 4
putfield com.oracle.truffle.api.TruffleFile.isEmptyPath:Z
8: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/oracle/truffle/api/TruffleFile;
0 9 1 fileSystemContext Lcom/oracle/truffle/api/TruffleFile$FileSystemContext;
0 9 2 path Ljava/nio/file/Path;
0 9 3 normalizedPath Ljava/nio/file/Path;
0 9 4 isEmptyPath Z
MethodParameters:
Name Flags
fileSystemContext final
path final
normalizedPath final
isEmptyPath
java.nio.file.Path getSPIPath();
descriptor: ()Ljava/nio/file/Path;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.api.TruffleFile.normalizedPath:Ljava/nio/file/Path;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/TruffleFile;
com.oracle.truffle.api.TruffleFile$FileSystemContext getFileSystemContext();
descriptor: ()Lcom/oracle/truffle/api/TruffleFile$FileSystemContext;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.api.TruffleFile.fileSystemContext:Lcom/oracle/truffle/api/TruffleFile$FileSystemContext;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/TruffleFile;
org.graalvm.polyglot.io.FileSystem getSPIFileSystem();
descriptor: ()Lorg/graalvm/polyglot/io/FileSystem;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.api.TruffleFile.fileSystemContext:Lcom/oracle/truffle/api/TruffleFile$FileSystemContext;
getfield com.oracle.truffle.api.TruffleFile$FileSystemContext.fileSystem:Lorg/graalvm/polyglot/io/FileSystem;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/TruffleFile;
public boolean exists(java.nio.file.LinkOption[]);
descriptor: ([Ljava/nio/file/LinkOption;)Z
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
ldc Ljava/nio/file/AccessMode;
invokestatic java.util.EnumSet.noneOf:(Ljava/lang/Class;)Ljava/util/EnumSet;
aload 1
invokevirtual com.oracle.truffle.api.TruffleFile.checkAccess:(Ljava/util/Set;[Ljava/nio/file/LinkOption;)Z
1: ireturn
2: StackMap locals:
StackMap stack: java.lang.SecurityException
astore 2
start local 2 3: aload 2
athrow
end local 2 4: StackMap locals:
StackMap stack: java.lang.Throwable
astore 2
start local 2 5: aload 0
aload 2
invokevirtual com.oracle.truffle.api.TruffleFile.wrapHostException:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/api/TruffleFile;
0 6 1 options [Ljava/nio/file/LinkOption;
3 4 2 se Ljava/lang/SecurityException;
5 6 2 t Ljava/lang/Throwable;
Exception table:
from to target type
0 1 2 Class java.lang.SecurityException
0 1 4 Class java.lang.Throwable
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
options
public boolean isReadable();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
iconst_1
anewarray java.nio.file.AccessMode
dup
iconst_0
getstatic java.nio.file.AccessMode.READ:Ljava/nio/file/AccessMode;
aastore
invokevirtual com.oracle.truffle.api.TruffleFile.checkAccess:([Ljava/nio/file/AccessMode;)Z
1: ireturn
2: StackMap locals:
StackMap stack: java.lang.SecurityException
astore 1
start local 1 3: aload 1
athrow
end local 1 4: StackMap locals:
StackMap stack: java.lang.Throwable
astore 1
start local 1 5: aload 0
aload 1
invokevirtual com.oracle.truffle.api.TruffleFile.wrapHostException:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/api/TruffleFile;
3 4 1 se Ljava/lang/SecurityException;
5 6 1 t Ljava/lang/Throwable;
Exception table:
from to target type
0 1 2 Class java.lang.SecurityException
0 1 4 Class java.lang.Throwable
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
public boolean isWritable();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
iconst_1
anewarray java.nio.file.AccessMode
dup
iconst_0
getstatic java.nio.file.AccessMode.WRITE:Ljava/nio/file/AccessMode;
aastore
invokevirtual com.oracle.truffle.api.TruffleFile.checkAccess:([Ljava/nio/file/AccessMode;)Z
1: ireturn
2: StackMap locals:
StackMap stack: java.lang.SecurityException
astore 1
start local 1 3: aload 1
athrow
end local 1 4: StackMap locals:
StackMap stack: java.lang.Throwable
astore 1
start local 1 5: aload 0
aload 1
invokevirtual com.oracle.truffle.api.TruffleFile.wrapHostException:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/api/TruffleFile;
3 4 1 se Ljava/lang/SecurityException;
5 6 1 t Ljava/lang/Throwable;
Exception table:
from to target type
0 1 2 Class java.lang.SecurityException
0 1 4 Class java.lang.Throwable
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
public boolean isExecutable();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
iconst_1
anewarray java.nio.file.AccessMode
dup
iconst_0
getstatic java.nio.file.AccessMode.EXECUTE:Ljava/nio/file/AccessMode;
aastore
invokevirtual com.oracle.truffle.api.TruffleFile.checkAccess:([Ljava/nio/file/AccessMode;)Z
1: ireturn
2: StackMap locals:
StackMap stack: java.lang.SecurityException
astore 1
start local 1 3: aload 1
athrow
end local 1 4: StackMap locals:
StackMap stack: java.lang.Throwable
astore 1
start local 1 5: aload 0
aload 1
invokevirtual com.oracle.truffle.api.TruffleFile.wrapHostException:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/api/TruffleFile;
3 4 1 se Ljava/lang/SecurityException;
5 6 1 t Ljava/lang/Throwable;
Exception table:
from to target type
0 1 2 Class java.lang.SecurityException
0 1 4 Class java.lang.Throwable
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
public boolean isDirectory(java.nio.file.LinkOption[]);
descriptor: ([Ljava/nio/file/LinkOption;)Z
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
ldc "isDirectory"
ldc Ljava/lang/Boolean;
aload 1
invokevirtual com.oracle.truffle.api.TruffleFile.getAttributeImpl:(Ljava/lang/String;Ljava/lang/Class;[Ljava/nio/file/LinkOption;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
1: ireturn
2: StackMap locals:
StackMap stack: java.io.IOException
pop
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack: java.lang.SecurityException
astore 2
start local 2 5: aload 2
athrow
end local 2 6: StackMap locals:
StackMap stack: java.lang.Throwable
astore 2
start local 2 7: aload 0
aload 2
invokevirtual com.oracle.truffle.api.TruffleFile.wrapHostException:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/truffle/api/TruffleFile;
0 8 1 options [Ljava/nio/file/LinkOption;
5 6 2 se Ljava/lang/SecurityException;
7 8 2 t Ljava/lang/Throwable;
Exception table:
from to target type
0 1 2 Class java.io.IOException
0 1 4 Class java.lang.SecurityException
0 1 6 Class java.lang.Throwable
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
options
public boolean isRegularFile(java.nio.file.LinkOption[]);
descriptor: ([Ljava/nio/file/LinkOption;)Z
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
ldc "isRegularFile"
ldc Ljava/lang/Boolean;
aload 1
invokevirtual com.oracle.truffle.api.TruffleFile.getAttributeImpl:(Ljava/lang/String;Ljava/lang/Class;[Ljava/nio/file/LinkOption;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
1: ireturn
2: StackMap locals:
StackMap stack: java.io.IOException
pop
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack: java.lang.SecurityException
astore 2
start local 2 5: aload 2
athrow
end local 2 6: StackMap locals:
StackMap stack: java.lang.Throwable
astore 2
start local 2 7: aload 0
aload 2
invokevirtual com.oracle.truffle.api.TruffleFile.wrapHostException:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/truffle/api/TruffleFile;
0 8 1 options [Ljava/nio/file/LinkOption;
5 6 2 se Ljava/lang/SecurityException;
7 8 2 t Ljava/lang/Throwable;
Exception table:
from to target type
0 1 2 Class java.io.IOException
0 1 4 Class java.lang.SecurityException
0 1 6 Class java.lang.Throwable
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
options
public boolean isSymbolicLink();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=2, args_size=1
start local 0 0: aload 0
ldc "isSymbolicLink"
ldc Ljava/lang/Boolean;
iconst_1
anewarray java.nio.file.LinkOption
dup
iconst_0
getstatic java.nio.file.LinkOption.NOFOLLOW_LINKS:Ljava/nio/file/LinkOption;
aastore
invokevirtual com.oracle.truffle.api.TruffleFile.getAttributeImpl:(Ljava/lang/String;Ljava/lang/Class;[Ljava/nio/file/LinkOption;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
1: ireturn
2: StackMap locals:
StackMap stack: java.io.IOException
pop
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack: java.lang.SecurityException
astore 1
start local 1 5: aload 1
athrow
end local 1 6: StackMap locals:
StackMap stack: java.lang.Throwable
astore 1
start local 1 7: aload 0
aload 1
invokevirtual com.oracle.truffle.api.TruffleFile.wrapHostException:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/truffle/api/TruffleFile;
5 6 1 se Ljava/lang/SecurityException;
7 8 1 t Ljava/lang/Throwable;
Exception table:
from to target type
0 1 2 Class java.io.IOException
0 1 4 Class java.lang.SecurityException
0 1 6 Class java.lang.Throwable
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
public boolean isAbsolute();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.api.TruffleFile.path:Ljava/nio/file/Path;
invokeinterface java.nio.file.Path.isAbsolute:()Z
1: ireturn
2: StackMap locals:
StackMap stack: java.lang.Throwable
astore 1
start local 1 3: aload 0
aload 1
invokevirtual com.oracle.truffle.api.TruffleFile.wrapHostException:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/api/TruffleFile;
3 4 1 t Ljava/lang/Throwable;
Exception table:
from to target type
0 1 2 Class java.lang.Throwable
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
public java.lang.String getName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.api.TruffleFile.path:Ljava/nio/file/Path;
invokeinterface java.nio.file.Path.getFileName:()Ljava/nio/file/Path;
astore 1
start local 1 1: aload 1
ifnonnull 2
aconst_null
goto 3
StackMap locals: java.nio.file.Path
StackMap stack:
2: aload 1
invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
StackMap locals:
StackMap stack: java.lang.String
3: areturn
end local 1 4: StackMap locals: com.oracle.truffle.api.TruffleFile
StackMap stack: java.lang.Throwable
astore 1
start local 1 5: aload 0
aload 1
invokevirtual com.oracle.truffle.api.TruffleFile.wrapHostException:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/api/TruffleFile;
1 4 1 fileName Ljava/nio/file/Path;
5 6 1 t Ljava/lang/Throwable;
Exception table:
from to target type
0 3 4 Class java.lang.Throwable
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
public java.lang.String getPath();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.api.TruffleFile.path:Ljava/nio/file/Path;
invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
1: areturn
2: StackMap locals:
StackMap stack: java.lang.Throwable
astore 1
start local 1 3: aload 0
aload 1
invokevirtual com.oracle.truffle.api.TruffleFile.wrapHostException:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/api/TruffleFile;
3 4 1 t Ljava/lang/Throwable;
Exception table:
from to target type
0 1 2 Class java.lang.Throwable
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
public java.net.URI toUri();
descriptor: ()Ljava/net/URI;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.api.TruffleFile.path:Ljava/nio/file/Path;
invokeinterface java.nio.file.Path.isAbsolute:()Z
ifeq 1
aload 0
getfield com.oracle.truffle.api.TruffleFile.path:Ljava/nio/file/Path;
goto 2
StackMap locals:
StackMap stack:
1: aload 0
invokevirtual com.oracle.truffle.api.TruffleFile.toAbsolutePathImpl:()[Ljava/nio/file/Path;
iconst_0
aaload
StackMap locals:
StackMap stack: java.nio.file.Path
2: astore 1
start local 1 3: aload 1
invokeinterface java.nio.file.Path.toUri:()Ljava/net/URI;
4: areturn
end local 1 5: StackMap locals:
StackMap stack: java.lang.SecurityException
astore 1
start local 1 6: aload 1
athrow
end local 1 7: StackMap locals:
StackMap stack: java.lang.Throwable
astore 1
start local 1 8: aload 0
aload 1
invokevirtual com.oracle.truffle.api.TruffleFile.wrapHostException:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/oracle/truffle/api/TruffleFile;
3 5 1 absolutePath Ljava/nio/file/Path;
6 7 1 se Ljava/lang/SecurityException;
8 9 1 t Ljava/lang/Throwable;
Exception table:
from to target type
0 4 5 Class java.lang.SecurityException
0 4 7 Class java.lang.Throwable
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
public java.net.URI toRelativeUri();
descriptor: ()Ljava/net/URI;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.api.TruffleFile.isAbsolute:()Z
ifeq 2
1: aload 0
invokevirtual com.oracle.truffle.api.TruffleFile.toUri:()Ljava/net/URI;
areturn
2: StackMap locals:
StackMap stack:
ldc "/"
aload 0
getfield com.oracle.truffle.api.TruffleFile.fileSystemContext:Lcom/oracle/truffle/api/TruffleFile$FileSystemContext;
getfield com.oracle.truffle.api.TruffleFile$FileSystemContext.fileSystem:Lorg/graalvm/polyglot/io/FileSystem;
invokeinterface org.graalvm.polyglot.io.FileSystem.getSeparator:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 3
aload 0
getfield com.oracle.truffle.api.TruffleFile.path:Ljava/nio/file/Path;
invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
goto 4
StackMap locals:
StackMap stack:
3: aload 0
getfield com.oracle.truffle.api.TruffleFile.path:Ljava/nio/file/Path;
invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
aload 0
getfield com.oracle.truffle.api.TruffleFile.fileSystemContext:Lcom/oracle/truffle/api/TruffleFile$FileSystemContext;
getfield com.oracle.truffle.api.TruffleFile$FileSystemContext.fileSystem:Lorg/graalvm/polyglot/io/FileSystem;
invokeinterface org.graalvm.polyglot.io.FileSystem.getSeparator:()Ljava/lang/String;
ldc "/"
invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
StackMap locals:
StackMap stack: java.lang.String
4: astore 1
start local 1 5: new java.net.URI
dup
aconst_null
aconst_null
aload 1
aconst_null
invokespecial java.net.URI.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
6: areturn
end local 1 7: StackMap locals:
StackMap stack: java.lang.Throwable
astore 1
start local 1 8: aload 0
aload 1
invokevirtual com.oracle.truffle.api.TruffleFile.wrapHostException:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/oracle/truffle/api/TruffleFile;
5 7 1 strPath Ljava/lang/String;
8 9 1 t Ljava/lang/Throwable;
Exception table:
from to target type
2 6 7 Class java.lang.Throwable
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
public com.oracle.truffle.api.TruffleFile getAbsoluteFile();
descriptor: ()Lcom/oracle/truffle/api/TruffleFile;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=2, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.api.TruffleFile.path:Ljava/nio/file/Path;
invokeinterface java.nio.file.Path.isAbsolute:()Z
ifeq 2
1: aload 0
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.api.TruffleFile.toAbsolutePathImpl:()[Ljava/nio/file/Path;
astore 1
start local 1 3: new com.oracle.truffle.api.TruffleFile
dup
aload 0
getfield com.oracle.truffle.api.TruffleFile.fileSystemContext:Lcom/oracle/truffle/api/TruffleFile$FileSystemContext;
aload 1
iconst_0
aaload
aload 1
iconst_1
aaload
iconst_0
invokespecial com.oracle.truffle.api.TruffleFile.<init>:(Lcom/oracle/truffle/api/TruffleFile$FileSystemContext;Ljava/nio/file/Path;Ljava/nio/file/Path;Z)V
4: areturn
end local 1 5: StackMap locals:
StackMap stack: java.lang.SecurityException
astore 1
start local 1 6: aload 1
athrow
end local 1 7: StackMap locals:
StackMap stack: java.lang.Throwable
astore 1
start local 1 8: aload 0
aload 1
invokevirtual com.oracle.truffle.api.TruffleFile.wrapHostException:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/oracle/truffle/api/TruffleFile;
3 5 1 absolutePaths [Ljava/nio/file/Path;
6 7 1 se Ljava/lang/SecurityException;
8 9 1 t Ljava/lang/Throwable;
Exception table:
from to target type
2 4 5 Class java.lang.SecurityException
2 4 7 Class java.lang.Throwable
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
public com.oracle.truffle.api.TruffleFile getCanonicalFile(java.nio.file.LinkOption[]);
descriptor: ([Ljava/nio/file/LinkOption;)Lcom/oracle/truffle/api/TruffleFile;
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.api.TruffleFile.fileSystemContext:Lcom/oracle/truffle/api/TruffleFile$FileSystemContext;
getfield com.oracle.truffle.api.TruffleFile$FileSystemContext.fileSystem:Lorg/graalvm/polyglot/io/FileSystem;
aload 0
getfield com.oracle.truffle.api.TruffleFile.normalizedPath:Ljava/nio/file/Path;
aload 1
invokeinterface org.graalvm.polyglot.io.FileSystem.toRealPath:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Ljava/nio/file/Path;
astore 2
start local 2 1: new com.oracle.truffle.api.TruffleFile
dup
aload 0
getfield com.oracle.truffle.api.TruffleFile.fileSystemContext:Lcom/oracle/truffle/api/TruffleFile$FileSystemContext;
aload 2
aload 2
iconst_0
invokespecial com.oracle.truffle.api.TruffleFile.<init>:(Lcom/oracle/truffle/api/TruffleFile$FileSystemContext;Ljava/nio/file/Path;Ljava/nio/file/Path;Z)V
2: areturn
end local 2 3: StackMap locals:
StackMap stack: java.lang.Exception
astore 2
start local 2 4: aload 2
athrow
end local 2 5: StackMap locals:
StackMap stack: java.lang.Throwable
astore 2
start local 2 6: aload 0
aload 2
invokevirtual com.oracle.truffle.api.TruffleFile.wrapHostException:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/truffle/api/TruffleFile;
0 7 1 options [Ljava/nio/file/LinkOption;
1 3 2 realPath Ljava/nio/file/Path;
4 5 2 e Ljava/lang/Exception;
6 7 2 t Ljava/lang/Throwable;
Exception table:
from to target type
0 2 3 Class java.io.IOException
0 2 3 Class java.lang.SecurityException
0 2 5 Class java.lang.Throwable
Exceptions:
throws java.io.IOException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
options
public com.oracle.truffle.api.TruffleFile getParent();
descriptor: ()Lcom/oracle/truffle/api/TruffleFile;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.api.TruffleFile.path:Ljava/nio/file/Path;
invokeinterface java.nio.file.Path.getParent:()Ljava/nio/file/Path;
astore 1
start local 1 1: aload 1
ifnonnull 2
aconst_null
goto 3
StackMap locals: java.nio.file.Path
StackMap stack:
2: new com.oracle.truffle.api.TruffleFile
dup
aload 0
getfield com.oracle.truffle.api.TruffleFile.fileSystemContext:Lcom/oracle/truffle/api/TruffleFile$FileSystemContext;
aload 1
invokespecial com.oracle.truffle.api.TruffleFile.<init>:(Lcom/oracle/truffle/api/TruffleFile$FileSystemContext;Ljava/nio/file/Path;)V
StackMap locals:
StackMap stack: com.oracle.truffle.api.TruffleFile
3: areturn
end local 1 4: StackMap locals: com.oracle.truffle.api.TruffleFile
StackMap stack: java.lang.Throwable
astore 1
start local 1 5: aload 0
aload 1
invokevirtual com.oracle.truffle.api.TruffleFile.wrapHostException:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/api/TruffleFile;
1 4 1 parent Ljava/nio/file/Path;
5 6 1 t Ljava/lang/Throwable;
Exception table:
from to target type
0 3 4 Class java.lang.Throwable
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
public com.oracle.truffle.api.TruffleFile resolve(java.lang.String);
descriptor: (Ljava/lang/String;)Lcom/oracle/truffle/api/TruffleFile;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: new com.oracle.truffle.api.TruffleFile
dup
aload 0
getfield com.oracle.truffle.api.TruffleFile.fileSystemContext:Lcom/oracle/truffle/api/TruffleFile$FileSystemContext;
aload 0
getfield com.oracle.truffle.api.TruffleFile.path:Ljava/nio/file/Path;
aload 1
invokeinterface java.nio.file.Path.resolve:(Ljava/lang/String;)Ljava/nio/file/Path;
invokespecial com.oracle.truffle.api.TruffleFile.<init>:(Lcom/oracle/truffle/api/TruffleFile$FileSystemContext;Ljava/nio/file/Path;)V
1: areturn
2: StackMap locals:
StackMap stack: java.nio.file.InvalidPathException
astore 2
start local 2 3: aload 2
athrow
end local 2 4: StackMap locals:
StackMap stack: java.lang.Throwable
astore 2
start local 2 5: aload 0
aload 2
invokevirtual com.oracle.truffle.api.TruffleFile.wrapHostException:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/api/TruffleFile;
0 6 1 name Ljava/lang/String;
3 4 2 ip Ljava/nio/file/InvalidPathException;
5 6 2 t Ljava/lang/Throwable;
Exception table:
from to target type
0 1 2 Class java.nio.file.InvalidPathException
0 1 4 Class java.lang.Throwable
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
name
public com.oracle.truffle.api.TruffleFile resolveSibling(java.lang.String);
descriptor: (Ljava/lang/String;)Lcom/oracle/truffle/api/TruffleFile;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: new com.oracle.truffle.api.TruffleFile
dup
aload 0
getfield com.oracle.truffle.api.TruffleFile.fileSystemContext:Lcom/oracle/truffle/api/TruffleFile$FileSystemContext;
aload 0
getfield com.oracle.truffle.api.TruffleFile.path:Ljava/nio/file/Path;
aload 1
invokeinterface java.nio.file.Path.resolveSibling:(Ljava/lang/String;)Ljava/nio/file/Path;
invokespecial com.oracle.truffle.api.TruffleFile.<init>:(Lcom/oracle/truffle/api/TruffleFile$FileSystemContext;Ljava/nio/file/Path;)V
1: areturn
2: StackMap locals:
StackMap stack: java.nio.file.InvalidPathException
astore 2
start local 2 3: aload 2
athrow
end local 2 4: StackMap locals:
StackMap stack: java.lang.Throwable
astore 2
start local 2 5: aload 0
aload 2
invokevirtual com.oracle.truffle.api.TruffleFile.wrapHostException:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/api/TruffleFile;
0 6 1 name Ljava/lang/String;
3 4 2 ip Ljava/nio/file/InvalidPathException;
5 6 2 t Ljava/lang/Throwable;
Exception table:
from to target type
0 1 2 Class java.nio.file.InvalidPathException
0 1 4 Class java.lang.Throwable
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
name
public long size(java.nio.file.LinkOption[]);
descriptor: ([Ljava/nio/file/LinkOption;)J
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
ldc "size"
ldc Ljava/lang/Long;
aload 1
invokevirtual com.oracle.truffle.api.TruffleFile.getAttributeImpl:(Ljava/lang/String;Ljava/lang/Class;[Ljava/nio/file/LinkOption;)Ljava/lang/Object;
checkcast java.lang.Long
invokevirtual java.lang.Long.longValue:()J
1: lreturn
2: StackMap locals:
StackMap stack: java.lang.Exception
astore 2
start local 2 3: aload 2
athrow
end local 2 4: StackMap locals:
StackMap stack: java.lang.Throwable
astore 2
start local 2 5: aload 0
aload 2
invokevirtual com.oracle.truffle.api.TruffleFile.wrapHostException:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/api/TruffleFile;
0 6 1 options [Ljava/nio/file/LinkOption;
3 4 2 e Ljava/lang/Exception;
5 6 2 t Ljava/lang/Throwable;
Exception table:
from to target type
0 1 2 Class java.io.IOException
0 1 2 Class java.lang.SecurityException
0 1 4 Class java.lang.Throwable
Exceptions:
throws java.io.IOException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
options
public java.nio.file.attribute.FileTime getLastModifiedTime(java.nio.file.LinkOption[]);
descriptor: ([Ljava/nio/file/LinkOption;)Ljava/nio/file/attribute/FileTime;
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
ldc "lastModifiedTime"
ldc Ljava/nio/file/attribute/FileTime;
aload 1
invokevirtual com.oracle.truffle.api.TruffleFile.getAttributeImpl:(Ljava/lang/String;Ljava/lang/Class;[Ljava/nio/file/LinkOption;)Ljava/lang/Object;
checkcast java.nio.file.attribute.FileTime
1: areturn
2: StackMap locals:
StackMap stack: java.lang.Exception
astore 2
start local 2 3: aload 2
athrow
end local 2 4: StackMap locals:
StackMap stack: java.lang.Throwable
astore 2
start local 2 5: aload 0
aload 2
invokevirtual com.oracle.truffle.api.TruffleFile.wrapHostException:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/api/TruffleFile;
0 6 1 options [Ljava/nio/file/LinkOption;
3 4 2 e Ljava/lang/Exception;
5 6 2 t Ljava/lang/Throwable;
Exception table:
from to target type
0 1 2 Class java.io.IOException
0 1 2 Class java.lang.SecurityException
0 1 4 Class java.lang.Throwable
Exceptions:
throws java.io.IOException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
options
public void setLastModifiedTime(java.nio.file.attribute.FileTime, java.nio.file.LinkOption[]);
descriptor: (Ljava/nio/file/attribute/FileTime;[Ljava/nio/file/LinkOption;)V
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual com.oracle.truffle.api.TruffleFile.checkFileOperationPreconditions:()V
1: aload 0
getfield com.oracle.truffle.api.TruffleFile.fileSystemContext:Lcom/oracle/truffle/api/TruffleFile$FileSystemContext;
getfield com.oracle.truffle.api.TruffleFile$FileSystemContext.fileSystem:Lorg/graalvm/polyglot/io/FileSystem;
aload 0
getfield com.oracle.truffle.api.TruffleFile.normalizedPath:Ljava/nio/file/Path;
ldc "lastModifiedTime"
aload 1
aload 2
invokeinterface org.graalvm.polyglot.io.FileSystem.setAttribute:(Ljava/nio/file/Path;Ljava/lang/String;Ljava/lang/Object;[Ljava/nio/file/LinkOption;)V
2: goto 7
StackMap locals:
StackMap stack: java.lang.Exception
3: astore 3
start local 3 4: aload 3
athrow
end local 3 5: StackMap locals:
StackMap stack: java.lang.Throwable
astore 3
start local 3 6: aload 0
aload 3
invokevirtual com.oracle.truffle.api.TruffleFile.wrapHostException:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 3 7: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/truffle/api/TruffleFile;
0 8 1 time Ljava/nio/file/attribute/FileTime;
0 8 2 options [Ljava/nio/file/LinkOption;
4 5 3 e Ljava/lang/Exception;
6 7 3 t Ljava/lang/Throwable;
Exception table:
from to target type
0 2 3 Class java.io.IOException
0 2 3 Class java.lang.SecurityException
0 2 5 Class java.lang.Throwable
Exceptions:
throws java.io.IOException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
time
options
public java.nio.file.attribute.FileTime getLastAccessTime(java.nio.file.LinkOption[]);
descriptor: ([Ljava/nio/file/LinkOption;)Ljava/nio/file/attribute/FileTime;
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
ldc "lastAccessTime"
ldc Ljava/nio/file/attribute/FileTime;
aload 1
invokevirtual com.oracle.truffle.api.TruffleFile.getAttributeImpl:(Ljava/lang/String;Ljava/lang/Class;[Ljava/nio/file/LinkOption;)Ljava/lang/Object;
checkcast java.nio.file.attribute.FileTime
1: areturn
2: StackMap locals:
StackMap stack: java.lang.Exception
astore 2
start local 2 3: aload 2
athrow
end local 2 4: StackMap locals:
StackMap stack: java.lang.Throwable
astore 2
start local 2 5: aload 0
aload 2
invokevirtual com.oracle.truffle.api.TruffleFile.wrapHostException:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/api/TruffleFile;
0 6 1 options [Ljava/nio/file/LinkOption;
3 4 2 e Ljava/lang/Exception;
5 6 2 t Ljava/lang/Throwable;
Exception table:
from to target type
0 1 2 Class java.io.IOException
0 1 2 Class java.lang.SecurityException
0 1 4 Class java.lang.Throwable
Exceptions:
throws java.io.IOException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
options
public void setLastAccessTime(java.nio.file.attribute.FileTime, java.nio.file.LinkOption[]);
descriptor: (Ljava/nio/file/attribute/FileTime;[Ljava/nio/file/LinkOption;)V
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual com.oracle.truffle.api.TruffleFile.checkFileOperationPreconditions:()V
1: aload 0
getfield com.oracle.truffle.api.TruffleFile.fileSystemContext:Lcom/oracle/truffle/api/TruffleFile$FileSystemContext;
getfield com.oracle.truffle.api.TruffleFile$FileSystemContext.fileSystem:Lorg/graalvm/polyglot/io/FileSystem;
aload 0
getfield com.oracle.truffle.api.TruffleFile.normalizedPath:Ljava/nio/file/Path;
ldc "lastAccessTime"
aload 1
aload 2
invokeinterface org.graalvm.polyglot.io.FileSystem.setAttribute:(Ljava/nio/file/Path;Ljava/lang/String;Ljava/lang/Object;[Ljava/nio/file/LinkOption;)V
2: goto 7
StackMap locals:
StackMap stack: java.lang.Exception
3: astore 3
start local 3 4: aload 3
athrow
end local 3 5: StackMap locals:
StackMap stack: java.lang.Throwable
astore 3
start local 3 6: aload 0
aload 3
invokevirtual com.oracle.truffle.api.TruffleFile.wrapHostException:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 3 7: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/truffle/api/TruffleFile;
0 8 1 time Ljava/nio/file/attribute/FileTime;
0 8 2 options [Ljava/nio/file/LinkOption;
4 5 3 e Ljava/lang/Exception;
6 7 3 t Ljava/lang/Throwable;
Exception table:
from to target type
0 2 3 Class java.io.IOException
0 2 3 Class java.lang.SecurityException
0 2 5 Class java.lang.Throwable
Exceptions:
throws java.io.IOException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
time
options
public java.nio.file.attribute.FileTime getCreationTime(java.nio.file.LinkOption[]);
descriptor: ([Ljava/nio/file/LinkOption;)Ljava/nio/file/attribute/FileTime;
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
ldc "creationTime"
ldc Ljava/nio/file/attribute/FileTime;
aload 1
invokevirtual com.oracle.truffle.api.TruffleFile.getAttributeImpl:(Ljava/lang/String;Ljava/lang/Class;[Ljava/nio/file/LinkOption;)Ljava/lang/Object;
checkcast java.nio.file.attribute.FileTime
1: areturn
2: StackMap locals:
StackMap stack: java.lang.Exception
astore 2
start local 2 3: aload 2
athrow
end local 2 4: StackMap locals:
StackMap stack: java.lang.Throwable
astore 2
start local 2 5: aload 0
aload 2
invokevirtual com.oracle.truffle.api.TruffleFile.wrapHostException:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/api/TruffleFile;
0 6 1 options [Ljava/nio/file/LinkOption;
3 4 2 e Ljava/lang/Exception;
5 6 2 t Ljava/lang/Throwable;
Exception table:
from to target type
0 1 2 Class java.io.IOException
0 1 2 Class java.lang.SecurityException
0 1 4 Class java.lang.Throwable
Exceptions:
throws java.io.IOException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
options
public void setCreationTime(java.nio.file.attribute.FileTime, java.nio.file.LinkOption[]);
descriptor: (Ljava/nio/file/attribute/FileTime;[Ljava/nio/file/LinkOption;)V
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual com.oracle.truffle.api.TruffleFile.checkFileOperationPreconditions:()V
1: aload 0
getfield com.oracle.truffle.api.TruffleFile.fileSystemContext:Lcom/oracle/truffle/api/TruffleFile$FileSystemContext;
getfield com.oracle.truffle.api.TruffleFile$FileSystemContext.fileSystem:Lorg/graalvm/polyglot/io/FileSystem;
aload 0
getfield com.oracle.truffle.api.TruffleFile.normalizedPath:Ljava/nio/file/Path;
ldc "creationTime"
aload 1
aload 2
invokeinterface org.graalvm.polyglot.io.FileSystem.setAttribute:(Ljava/nio/file/Path;Ljava/lang/String;Ljava/lang/Object;[Ljava/nio/file/LinkOption;)V
2: goto 7
StackMap locals:
StackMap stack: java.lang.Exception
3: astore 3
start local 3 4: aload 3
athrow
end local 3 5: StackMap locals:
StackMap stack: java.lang.Throwable
astore 3
start local 3 6: aload 0
aload 3
invokevirtual com.oracle.truffle.api.TruffleFile.wrapHostException:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 3 7: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/truffle/api/TruffleFile;
0 8 1 time Ljava/nio/file/attribute/FileTime;
0 8 2 options [Ljava/nio/file/LinkOption;
4 5 3 e Ljava/lang/Exception;
6 7 3 t Ljava/lang/Throwable;
Exception table:
from to target type
0 2 3 Class java.io.IOException
0 2 3 Class java.lang.SecurityException
0 2 5 Class java.lang.Throwable
Exceptions:
throws java.io.IOException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
time
options
public java.util.Collection<com.oracle.truffle.api.TruffleFile> list();
descriptor: ()Ljava/util/Collection;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=8, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.api.TruffleFile.checkFileOperationPreconditions:()V
1: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 1
start local 1 2: aload 0
invokevirtual com.oracle.truffle.api.TruffleFile.isNormalized:()Z
istore 2
start local 2 3: aconst_null
astore 3
aconst_null
astore 4
4: aload 0
getfield com.oracle.truffle.api.TruffleFile.fileSystemContext:Lcom/oracle/truffle/api/TruffleFile$FileSystemContext;
getfield com.oracle.truffle.api.TruffleFile$FileSystemContext.fileSystem:Lorg/graalvm/polyglot/io/FileSystem;
aload 0
getfield com.oracle.truffle.api.TruffleFile.normalizedPath:Ljava/nio/file/Path;
getstatic com.oracle.truffle.api.TruffleFile$AllFiles.INSTANCE:Ljava/nio/file/DirectoryStream$Filter;
invokeinterface org.graalvm.polyglot.io.FileSystem.newDirectoryStream:(Ljava/nio/file/Path;Ljava/nio/file/DirectoryStream$Filter;)Ljava/nio/file/DirectoryStream;
astore 5
start local 5 5: aload 5
invokeinterface java.nio.file.DirectoryStream.iterator:()Ljava/util/Iterator;
astore 7
goto 16
StackMap locals: com.oracle.truffle.api.TruffleFile java.util.Collection int java.lang.Throwable java.lang.Throwable java.nio.file.DirectoryStream top java.util.Iterator
StackMap stack:
6: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.nio.file.Path
astore 6
start local 6 7: aload 1
8: new com.oracle.truffle.api.TruffleFile
dup
9: aload 0
getfield com.oracle.truffle.api.TruffleFile.fileSystemContext:Lcom/oracle/truffle/api/TruffleFile$FileSystemContext;
10: iload 2
ifeq 11
aload 6
goto 12
StackMap locals: com.oracle.truffle.api.TruffleFile java.util.Collection int java.lang.Throwable java.lang.Throwable java.nio.file.DirectoryStream java.nio.file.Path java.util.Iterator
StackMap stack: java.util.Collection new 8 new 8 com.oracle.truffle.api.TruffleFile$FileSystemContext
11: aload 0
getfield com.oracle.truffle.api.TruffleFile.path:Ljava/nio/file/Path;
aload 6
invokeinterface java.nio.file.Path.getFileName:()Ljava/nio/file/Path;
invokeinterface java.nio.file.Path.resolve:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
12: StackMap locals: com.oracle.truffle.api.TruffleFile java.util.Collection int java.lang.Throwable java.lang.Throwable java.nio.file.DirectoryStream java.nio.file.Path java.util.Iterator
StackMap stack: java.util.Collection new 8 new 8 com.oracle.truffle.api.TruffleFile$FileSystemContext java.nio.file.Path
iload 2
ifeq 13
aload 6
goto 14
StackMap locals: com.oracle.truffle.api.TruffleFile java.util.Collection int java.lang.Throwable java.lang.Throwable java.nio.file.DirectoryStream java.nio.file.Path java.util.Iterator
StackMap stack: java.util.Collection new 8 new 8 com.oracle.truffle.api.TruffleFile$FileSystemContext java.nio.file.Path
13: aload 0
getfield com.oracle.truffle.api.TruffleFile.normalizedPath:Ljava/nio/file/Path;
aload 6
invokeinterface java.nio.file.Path.getFileName:()Ljava/nio/file/Path;
invokeinterface java.nio.file.Path.resolve:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
14: StackMap locals: com.oracle.truffle.api.TruffleFile java.util.Collection int java.lang.Throwable java.lang.Throwable java.nio.file.DirectoryStream java.nio.file.Path java.util.Iterator
StackMap stack: java.util.Collection new 8 new 8 com.oracle.truffle.api.TruffleFile$FileSystemContext java.nio.file.Path java.nio.file.Path
iconst_0
invokespecial com.oracle.truffle.api.TruffleFile.<init>:(Lcom/oracle/truffle/api/TruffleFile$FileSystemContext;Ljava/nio/file/Path;Ljava/nio/file/Path;Z)V
15: invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
pop
end local 6 16: StackMap locals: com.oracle.truffle.api.TruffleFile java.util.Collection int java.lang.Throwable java.lang.Throwable java.nio.file.DirectoryStream top java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
17: aload 5
ifnull 23
aload 5
invokeinterface java.nio.file.DirectoryStream.close:()V
goto 23
StackMap locals: com.oracle.truffle.api.TruffleFile java.util.Collection int java.lang.Throwable java.lang.Throwable java.nio.file.DirectoryStream
StackMap stack: java.lang.Throwable
18: astore 3
aload 5
ifnull 19
aload 5
invokeinterface java.nio.file.DirectoryStream.close:()V
end local 5 StackMap locals:
StackMap stack:
19: aload 3
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
20: astore 4
aload 3
ifnonnull 21
aload 4
astore 3
goto 22
StackMap locals:
StackMap stack:
21: aload 3
aload 4
if_acmpeq 22
aload 3
aload 4
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
22: aload 3
athrow
23: StackMap locals:
StackMap stack:
aload 1
24: areturn
end local 2 end local 1 25: StackMap locals: com.oracle.truffle.api.TruffleFile
StackMap stack: java.lang.Exception
astore 1
start local 1 26: aload 1
athrow
end local 1 27: StackMap locals:
StackMap stack: java.lang.Throwable
astore 1
start local 1 28: aload 0
aload 1
invokevirtual com.oracle.truffle.api.TruffleFile.wrapHostException:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Lcom/oracle/truffle/api/TruffleFile;
2 25 1 result Ljava/util/Collection<Lcom/oracle/truffle/api/TruffleFile;>;
3 25 2 normalized Z
5 19 5 stream Ljava/nio/file/DirectoryStream<Ljava/nio/file/Path;>;
7 16 6 p Ljava/nio/file/Path;
26 27 1 e Ljava/lang/Exception;
28 29 1 t Ljava/lang/Throwable;
Exception table:
from to target type
5 17 18 any
4 20 20 any
0 24 25 Class java.io.IOException
0 24 25 Class java.lang.SecurityException
0 24 27 Class java.lang.Throwable
Exceptions:
throws java.io.IOException
Signature: ()Ljava/util/Collection<Lcom/oracle/truffle/api/TruffleFile;>;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
public java.nio.channels.SeekableByteChannel newByteChannel(java.util.Set<? extends java.nio.file.OpenOption>, java.nio.file.attribute.FileAttribute<?>[]);
descriptor: (Ljava/util/Set;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/channels/SeekableByteChannel;
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual com.oracle.truffle.api.TruffleFile.checkFileOperationPreconditions:()V
1: aload 0
getfield com.oracle.truffle.api.TruffleFile.fileSystemContext:Lcom/oracle/truffle/api/TruffleFile$FileSystemContext;
getfield com.oracle.truffle.api.TruffleFile$FileSystemContext.fileSystem:Lorg/graalvm/polyglot/io/FileSystem;
aload 0
getfield com.oracle.truffle.api.TruffleFile.normalizedPath:Ljava/nio/file/Path;
aload 1
aload 2
invokeinterface org.graalvm.polyglot.io.FileSystem.newByteChannel:(Ljava/nio/file/Path;Ljava/util/Set;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/channels/SeekableByteChannel;
invokestatic com.oracle.truffle.api.TruffleFile$ByteChannelDecorator.create:(Ljava/nio/channels/SeekableByteChannel;)Ljava/nio/channels/SeekableByteChannel;
2: areturn
3: StackMap locals:
StackMap stack: java.lang.Exception
astore 3
start local 3 4: aload 3
athrow
end local 3 5: StackMap locals:
StackMap stack: java.lang.Throwable
astore 3
start local 3 6: aload 0
aload 3
invokevirtual com.oracle.truffle.api.TruffleFile.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 7 0 this Lcom/oracle/truffle/api/TruffleFile;
0 7 1 options Ljava/util/Set<+Ljava/nio/file/OpenOption;>;
0 7 2 attributes [Ljava/nio/file/attribute/FileAttribute;
4 5 3 e Ljava/lang/Exception;
6 7 3 t Ljava/lang/Throwable;
Exception table:
from to target type
0 2 3 Class java.io.IOException
0 2 3 Class java.lang.UnsupportedOperationException
0 2 3 Class java.lang.IllegalArgumentException
0 2 3 Class java.lang.SecurityException
0 2 5 Class java.lang.Throwable
Exceptions:
throws java.io.IOException
Signature: (Ljava/util/Set<+Ljava/nio/file/OpenOption;>;[Ljava/nio/file/attribute/FileAttribute<*>;)Ljava/nio/channels/SeekableByteChannel;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
options
attributes
public java.io.InputStream newInputStream(java.nio.file.OpenOption[]);
descriptor: ([Ljava/nio/file/OpenOption;)Ljava/io/InputStream;
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=7, locals=7, args_size=2
start local 0 start local 1 0: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 2
start local 2 1: aload 1
arraylength
ifle 9
2: aload 1
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 8
StackMap locals: com.oracle.truffle.api.TruffleFile java.nio.file.OpenOption[] java.util.Set top int int java.nio.file.OpenOption[]
StackMap stack:
3: aload 6
iload 4
aaload
astore 3
start local 3 4: aload 3
getstatic java.nio.file.StandardOpenOption.APPEND:Ljava/nio/file/StandardOpenOption;
if_acmpeq 5
aload 3
getstatic java.nio.file.StandardOpenOption.WRITE:Ljava/nio/file/StandardOpenOption;
if_acmpne 6
5: StackMap locals: com.oracle.truffle.api.TruffleFile java.nio.file.OpenOption[] java.util.Set java.nio.file.OpenOption int int java.nio.file.OpenOption[]
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "Option %s is not allowed."
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 3
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
aload 2
aload 3
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 3 7: iinc 4 1
StackMap locals: com.oracle.truffle.api.TruffleFile java.nio.file.OpenOption[] java.util.Set top int int java.nio.file.OpenOption[]
StackMap stack:
8: iload 4
iload 5
if_icmplt 3
9: StackMap locals: com.oracle.truffle.api.TruffleFile java.nio.file.OpenOption[] java.util.Set
StackMap stack:
aload 0
aload 2
iconst_0
anewarray java.nio.file.attribute.FileAttribute
invokevirtual com.oracle.truffle.api.TruffleFile.newByteChannel:(Ljava/util/Set;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/channels/SeekableByteChannel;
invokestatic java.nio.channels.Channels.newInputStream:(Ljava/nio/channels/ReadableByteChannel;)Ljava/io/InputStream;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/oracle/truffle/api/TruffleFile;
0 10 1 options [Ljava/nio/file/OpenOption;
1 10 2 openOptions Ljava/util/Set<Ljava/nio/file/OpenOption;>;
4 7 3 option Ljava/nio/file/OpenOption;
Exceptions:
throws java.io.IOException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
options
public java.io.BufferedReader newBufferedReader(java.nio.charset.Charset);
descriptor: (Ljava/nio/charset/Charset;)Ljava/io/BufferedReader;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: new java.io.BufferedReader
dup
new java.io.InputStreamReader
dup
aload 0
iconst_0
anewarray java.nio.file.OpenOption
invokevirtual com.oracle.truffle.api.TruffleFile.newInputStream:([Ljava/nio/file/OpenOption;)Ljava/io/InputStream;
aload 1
invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;Ljava/nio/charset/Charset;)V
invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/TruffleFile;
0 1 1 charset Ljava/nio/charset/Charset;
Exceptions:
throws java.io.IOException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
charset
public java.io.BufferedReader newBufferedReader();
descriptor: ()Ljava/io/BufferedReader;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
invokevirtual com.oracle.truffle.api.TruffleFile.newBufferedReader:(Ljava/nio/charset/Charset;)Ljava/io/BufferedReader;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/TruffleFile;
Exceptions:
throws java.io.IOException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
public byte[] readAllBytes();
descriptor: ()[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=13, args_size=1
start local 0 0: aconst_null
astore 1
aconst_null
astore 2
1: aload 0
invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
iconst_0
anewarray java.nio.file.attribute.FileAttribute
invokevirtual com.oracle.truffle.api.TruffleFile.newByteChannel:(Ljava/util/Set;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/channels/SeekableByteChannel;
astore 3
start local 3 2: aload 3
invokeinterface java.nio.channels.SeekableByteChannel.size:()J
lstore 4
start local 4 3: lload 4
ldc 2147483639
lcmp
ifle 5
4: new java.lang.OutOfMemoryError
dup
ldc "File size is too large."
invokespecial java.lang.OutOfMemoryError.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals: com.oracle.truffle.api.TruffleFile java.lang.Throwable java.lang.Throwable java.nio.channels.SeekableByteChannel long
StackMap stack:
aconst_null
astore 6
aconst_null
astore 7
6: aload 3
invokestatic java.nio.channels.Channels.newInputStream:(Ljava/nio/channels/ReadableByteChannel;)Ljava/io/InputStream;
astore 8
start local 8 7: lload 4
l2i
istore 9
start local 9 8: iload 9
newarray 8
astore 10
start local 10 9: iconst_0
istore 11
start local 11 10: goto 12
start local 12 11: StackMap locals: com.oracle.truffle.api.TruffleFile java.lang.Throwable java.lang.Throwable java.nio.channels.SeekableByteChannel long java.lang.Throwable java.lang.Throwable java.io.InputStream int byte[] int int
StackMap stack:
iload 11
iload 12
iadd
istore 11
end local 12 12: StackMap locals:
StackMap stack:
aload 8
aload 10
iload 11
iload 9
iload 11
isub
invokevirtual java.io.InputStream.read:([BII)I
dup
istore 12
start local 12 13: ifgt 11
14: iload 12
iflt 25
aload 8
invokevirtual java.io.InputStream.read:()I
dup
istore 12
ifge 16
15: goto 25
16: StackMap locals: int
StackMap stack:
iload 9
iconst_1
ishl
ldc 2147483639
if_icmpgt 19
17: iload 9
iconst_1
ishl
sipush 8192
invokestatic java.lang.Math.max:(II)I
istore 9
18: goto 22
StackMap locals:
StackMap stack:
19: iload 9
ldc 2147483639
if_icmpne 21
20: new java.lang.OutOfMemoryError
dup
ldc "Required array size too large"
invokespecial java.lang.OutOfMemoryError.<init>:(Ljava/lang/String;)V
athrow
21: StackMap locals:
StackMap stack:
ldc 2147483639
istore 9
22: StackMap locals:
StackMap stack:
aload 10
iload 9
invokestatic java.util.Arrays.copyOf:([BI)[B
astore 10
23: aload 10
iload 11
iinc 11 1
iload 12
i2b
bastore
end local 12 24: goto 12
25: StackMap locals:
StackMap stack:
iload 9
iload 11
if_icmpne 26
aload 10
goto 27
StackMap locals:
StackMap stack:
26: aload 10
iload 11
invokestatic java.util.Arrays.copyOf:([BI)[B
27: StackMap locals:
StackMap stack: byte[]
aload 8
ifnull 28
aload 8
invokevirtual java.io.InputStream.close:()V
28: StackMap locals:
StackMap stack: byte[]
aload 3
ifnull 29
aload 3
invokeinterface java.nio.channels.SeekableByteChannel.close:()V
29: StackMap locals:
StackMap stack: byte[]
areturn
end local 11 end local 10 end local 9 StackMap locals: com.oracle.truffle.api.TruffleFile java.lang.Throwable java.lang.Throwable java.nio.channels.SeekableByteChannel long java.lang.Throwable java.lang.Throwable java.io.InputStream
StackMap stack: java.lang.Throwable
30: astore 6
31: aload 8
ifnull 32
aload 8
invokevirtual java.io.InputStream.close:()V
end local 8 StackMap locals:
StackMap stack:
32: aload 6
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
33: astore 7
aload 6
ifnonnull 34
aload 7
astore 6
goto 35
StackMap locals:
StackMap stack:
34: aload 6
aload 7
if_acmpeq 35
aload 6
aload 7
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
35: aload 6
athrow
end local 4 StackMap locals: com.oracle.truffle.api.TruffleFile java.lang.Throwable java.lang.Throwable java.nio.channels.SeekableByteChannel
StackMap stack: java.lang.Throwable
36: astore 1
37: aload 3
ifnull 38
aload 3
invokeinterface java.nio.channels.SeekableByteChannel.close:()V
end local 3 StackMap locals:
StackMap stack:
38: aload 1
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
39: astore 2
aload 1
ifnonnull 40
aload 2
astore 1
goto 41
StackMap locals:
StackMap stack:
40: aload 1
aload 2
if_acmpeq 41
aload 1
aload 2
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
41: aload 1
athrow
StackMap locals: com.oracle.truffle.api.TruffleFile
StackMap stack: java.lang.Throwable
42: astore 1
start local 1 43: aload 1
athrow
end local 1 44: StackMap locals:
StackMap stack: java.lang.Throwable
astore 1
start local 1 45: aload 0
aload 1
invokevirtual com.oracle.truffle.api.TruffleFile.wrapHostException:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 46 0 this Lcom/oracle/truffle/api/TruffleFile;
2 38 3 channel Ljava/nio/channels/SeekableByteChannel;
3 36 4 sizel J
7 32 8 in Ljava/io/InputStream;
8 30 9 size I
9 30 10 buf [B
10 30 11 read I
11 12 12 n I
13 24 12 n I
43 44 1 e Ljava/lang/Throwable;
45 46 1 t Ljava/lang/Throwable;
Exception table:
from to target type
7 27 30 any
6 28 33 any
30 33 33 any
2 28 36 any
30 36 36 any
1 29 39 any
30 39 39 any
0 29 42 Class java.io.IOException
30 42 42 Class java.io.IOException
0 29 42 Class java.lang.OutOfMemoryError
30 42 42 Class java.lang.OutOfMemoryError
0 29 42 Class java.lang.SecurityException
30 42 42 Class java.lang.SecurityException
0 29 44 Class java.lang.Throwable
30 42 44 Class java.lang.Throwable
Exceptions:
throws java.io.IOException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
public java.io.OutputStream newOutputStream(java.nio.file.OpenOption[]);
descriptor: ([Ljava/nio/file/OpenOption;)Ljava/io/OutputStream;
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=7, locals=7, args_size=2
start local 0 start local 1 0: new java.util.HashSet
dup
aload 1
arraylength
iconst_2
invokestatic java.lang.Math.max:(II)I
iconst_1
iadd
invokespecial java.util.HashSet.<init>:(I)V
astore 2
start local 2 1: aload 2
getstatic java.nio.file.StandardOpenOption.WRITE:Ljava/nio/file/StandardOpenOption;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
2: aload 1
arraylength
ifne 6
3: aload 2
getstatic java.nio.file.StandardOpenOption.CREATE:Ljava/nio/file/StandardOpenOption;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
4: aload 2
getstatic java.nio.file.StandardOpenOption.TRUNCATE_EXISTING:Ljava/nio/file/StandardOpenOption;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
5: goto 13
6: StackMap locals: java.util.Set
StackMap stack:
aload 1
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 12
StackMap locals: com.oracle.truffle.api.TruffleFile java.nio.file.OpenOption[] java.util.Set top int int java.nio.file.OpenOption[]
StackMap stack:
7: aload 6
iload 4
aaload
astore 3
start local 3 8: aload 3
getstatic java.nio.file.StandardOpenOption.READ:Ljava/nio/file/StandardOpenOption;
if_acmpne 10
9: new java.lang.IllegalArgumentException
dup
ldc "Option %s is not allowed."
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 3
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
10: StackMap locals: com.oracle.truffle.api.TruffleFile java.nio.file.OpenOption[] java.util.Set java.nio.file.OpenOption int int java.nio.file.OpenOption[]
StackMap stack:
aload 2
aload 3
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 3 11: iinc 4 1
StackMap locals: com.oracle.truffle.api.TruffleFile java.nio.file.OpenOption[] java.util.Set top int int java.nio.file.OpenOption[]
StackMap stack:
12: iload 4
iload 5
if_icmplt 7
13: StackMap locals: com.oracle.truffle.api.TruffleFile java.nio.file.OpenOption[] java.util.Set
StackMap stack:
aload 0
aload 2
iconst_0
anewarray java.nio.file.attribute.FileAttribute
invokevirtual com.oracle.truffle.api.TruffleFile.newByteChannel:(Ljava/util/Set;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/channels/SeekableByteChannel;
invokestatic java.nio.channels.Channels.newOutputStream:(Ljava/nio/channels/WritableByteChannel;)Ljava/io/OutputStream;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/oracle/truffle/api/TruffleFile;
0 14 1 options [Ljava/nio/file/OpenOption;
1 14 2 openOptions Ljava/util/Set<Ljava/nio/file/OpenOption;>;
8 11 3 option Ljava/nio/file/OpenOption;
Exceptions:
throws java.io.IOException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
options
public java.io.BufferedWriter newBufferedWriter(java.nio.charset.Charset, java.nio.file.OpenOption[]);
descriptor: (Ljava/nio/charset/Charset;[Ljava/nio/file/OpenOption;)Ljava/io/BufferedWriter;
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: new java.io.BufferedWriter
dup
new java.io.OutputStreamWriter
dup
aload 0
aload 2
invokevirtual com.oracle.truffle.api.TruffleFile.newOutputStream:([Ljava/nio/file/OpenOption;)Ljava/io/OutputStream;
aload 1
invokespecial java.io.OutputStreamWriter.<init>:(Ljava/io/OutputStream;Ljava/nio/charset/Charset;)V
invokespecial java.io.BufferedWriter.<init>:(Ljava/io/Writer;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/TruffleFile;
0 1 1 charset Ljava/nio/charset/Charset;
0 1 2 options [Ljava/nio/file/OpenOption;
Exceptions:
throws java.io.IOException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
charset
options
public java.io.BufferedWriter newBufferedWriter(java.nio.file.OpenOption[]);
descriptor: ([Ljava/nio/file/OpenOption;)Ljava/io/BufferedWriter;
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
aload 1
invokevirtual com.oracle.truffle.api.TruffleFile.newBufferedWriter:(Ljava/nio/charset/Charset;[Ljava/nio/file/OpenOption;)Ljava/io/BufferedWriter;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/TruffleFile;
0 1 1 options [Ljava/nio/file/OpenOption;
Exceptions:
throws java.io.IOException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
options
public void createFile(java.nio.file.attribute.FileAttribute<?>[]);
descriptor: ([Ljava/nio/file/attribute/FileAttribute;)V
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
1: getstatic java.nio.file.StandardOpenOption.WRITE:Ljava/nio/file/StandardOpenOption;
getstatic java.nio.file.StandardOpenOption.CREATE_NEW:Ljava/nio/file/StandardOpenOption;
invokestatic java.util.EnumSet.of:(Ljava/lang/Enum;Ljava/lang/Enum;)Ljava/util/EnumSet;
2: aload 1
3: invokevirtual com.oracle.truffle.api.TruffleFile.newByteChannel:(Ljava/util/Set;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/channels/SeekableByteChannel;
4: invokeinterface java.nio.channels.SeekableByteChannel.close:()V
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/api/TruffleFile;
0 6 1 attributes [Ljava/nio/file/attribute/FileAttribute;
Exceptions:
throws java.io.IOException
Signature: ([Ljava/nio/file/attribute/FileAttribute<*>;)V
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
attributes
public void createDirectory(java.nio.file.attribute.FileAttribute<?>[]);
descriptor: ([Ljava/nio/file/attribute/FileAttribute;)V
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.truffle.api.TruffleFile.checkFileOperationPreconditions:()V
1: aload 0
aload 0
getfield com.oracle.truffle.api.TruffleFile.normalizedPath:Ljava/nio/file/Path;
aload 1
invokevirtual com.oracle.truffle.api.TruffleFile.createDirectoryImpl:(Ljava/nio/file/Path;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/file/Path;
pop
2: goto 7
StackMap locals:
StackMap stack: java.lang.Exception
3: astore 2
start local 2 4: aload 2
athrow
end local 2 5: StackMap locals:
StackMap stack: java.lang.Throwable
astore 2
start local 2 6: aload 0
aload 2
invokevirtual com.oracle.truffle.api.TruffleFile.wrapHostException:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 2 7: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/truffle/api/TruffleFile;
0 8 1 attributes [Ljava/nio/file/attribute/FileAttribute;
4 5 2 e Ljava/lang/Exception;
6 7 2 t Ljava/lang/Throwable;
Exception table:
from to target type
0 2 3 Class java.io.IOException
0 2 3 Class java.lang.UnsupportedOperationException
0 2 3 Class java.lang.SecurityException
0 2 5 Class java.lang.Throwable
Exceptions:
throws java.io.IOException
Signature: ([Ljava/nio/file/attribute/FileAttribute<*>;)V
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
attributes
public void createDirectories(java.nio.file.attribute.FileAttribute<?>[]);
descriptor: ([Ljava/nio/file/attribute/FileAttribute;)V
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=5, locals=7, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.truffle.api.TruffleFile.checkFileOperationPreconditions:()V
1: aload 0
aload 0
getfield com.oracle.truffle.api.TruffleFile.normalizedPath:Ljava/nio/file/Path;
aload 1
invokevirtual com.oracle.truffle.api.TruffleFile.createDirAndCheck:(Ljava/nio/file/Path;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/file/Path;
pop
2: return
3: StackMap locals:
StackMap stack: java.nio.file.FileAlreadyExistsException
astore 2
start local 2 4: aload 2
athrow
end local 2 5: StackMap locals:
StackMap stack: java.io.IOException
pop
6: aconst_null
astore 2
start local 2 7: aload 0
getfield com.oracle.truffle.api.TruffleFile.normalizedPath:Ljava/nio/file/Path;
astore 3
start local 3 8: aload 0
getfield com.oracle.truffle.api.TruffleFile.fileSystemContext:Lcom/oracle/truffle/api/TruffleFile$FileSystemContext;
getfield com.oracle.truffle.api.TruffleFile$FileSystemContext.fileSystem:Lorg/graalvm/polyglot/io/FileSystem;
aload 3
invokeinterface org.graalvm.polyglot.io.FileSystem.toAbsolutePath:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
astore 3
9: goto 12
StackMap locals: com.oracle.truffle.api.TruffleFile java.nio.file.attribute.FileAttribute[] java.lang.SecurityException java.nio.file.Path
StackMap stack: java.lang.SecurityException
10: astore 4
start local 4 11: aload 4
astore 2
end local 4 12: StackMap locals:
StackMap stack:
aload 0
aload 3
invokevirtual com.oracle.truffle.api.TruffleFile.findExisting:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
astore 4
start local 4 13: aload 4
ifnonnull 17
14: aload 2
ifnull 16
15: aload 2
athrow
16: StackMap locals: java.nio.file.Path
StackMap stack:
new java.nio.file.FileSystemException
dup
aload 0
getfield com.oracle.truffle.api.TruffleFile.path:Ljava/nio/file/Path;
invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
aconst_null
ldc "Cannot determine root"
invokespecial java.nio.file.FileSystemException.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
athrow
17: StackMap locals:
StackMap stack:
aload 4
aload 3
invokeinterface java.nio.file.Path.relativize:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
invokeinterface java.nio.file.Path.iterator:()Ljava/util/Iterator;
astore 6
goto 21
StackMap locals: com.oracle.truffle.api.TruffleFile java.nio.file.attribute.FileAttribute[] java.lang.SecurityException java.nio.file.Path java.nio.file.Path top java.util.Iterator
StackMap stack:
18: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.nio.file.Path
astore 5
start local 5 19: aload 4
aload 5
invokeinterface java.nio.file.Path.resolve:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
astore 4
20: aload 0
aload 4
aload 1
invokevirtual com.oracle.truffle.api.TruffleFile.createDirAndCheck:(Ljava/nio/file/Path;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/file/Path;
pop
end local 5 21: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 18
end local 4 end local 3 end local 2 22: goto 27
StackMap locals: com.oracle.truffle.api.TruffleFile java.nio.file.attribute.FileAttribute[]
StackMap stack: java.lang.Exception
23: astore 2
start local 2 24: aload 2
athrow
end local 2 25: StackMap locals:
StackMap stack: java.lang.Throwable
astore 2
start local 2 26: aload 0
aload 2
invokevirtual com.oracle.truffle.api.TruffleFile.wrapHostException:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 2 27: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Lcom/oracle/truffle/api/TruffleFile;
0 28 1 attributes [Ljava/nio/file/attribute/FileAttribute;
4 5 2 faee Ljava/nio/file/FileAlreadyExistsException;
7 22 2 notAllowed Ljava/lang/SecurityException;
8 22 3 absolutePath Ljava/nio/file/Path;
11 12 4 se Ljava/lang/SecurityException;
13 22 4 lastExisting Ljava/nio/file/Path;
19 21 5 pathElement Ljava/nio/file/Path;
24 25 2 e Ljava/lang/Exception;
26 27 2 t Ljava/lang/Throwable;
Exception table:
from to target type
1 2 3 Class java.nio.file.FileAlreadyExistsException
1 2 5 Class java.io.IOException
8 9 10 Class java.lang.SecurityException
0 2 23 Class java.io.IOException
3 22 23 Class java.io.IOException
0 2 23 Class java.lang.UnsupportedOperationException
3 22 23 Class java.lang.UnsupportedOperationException
0 2 23 Class java.lang.SecurityException
3 22 23 Class java.lang.SecurityException
0 2 25 Class java.lang.Throwable
3 22 25 Class java.lang.Throwable
Exceptions:
throws java.io.IOException
Signature: ([Ljava/nio/file/attribute/FileAttribute<*>;)V
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
attributes
public void delete();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.api.TruffleFile.checkFileOperationPreconditions:()V
1: aload 0
getfield com.oracle.truffle.api.TruffleFile.fileSystemContext:Lcom/oracle/truffle/api/TruffleFile$FileSystemContext;
getfield com.oracle.truffle.api.TruffleFile$FileSystemContext.fileSystem:Lorg/graalvm/polyglot/io/FileSystem;
aload 0
getfield com.oracle.truffle.api.TruffleFile.normalizedPath:Ljava/nio/file/Path;
invokeinterface org.graalvm.polyglot.io.FileSystem.delete:(Ljava/nio/file/Path;)V
2: goto 7
StackMap locals:
StackMap stack: java.lang.Exception
3: astore 1
start local 1 4: aload 1
athrow
end local 1 5: StackMap locals:
StackMap stack: java.lang.Throwable
astore 1
start local 1 6: aload 0
aload 1
invokevirtual com.oracle.truffle.api.TruffleFile.wrapHostException:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 1 7: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/truffle/api/TruffleFile;
4 5 1 e Ljava/lang/Exception;
6 7 1 t Ljava/lang/Throwable;
Exception table:
from to target type
0 2 3 Class java.io.IOException
0 2 3 Class java.lang.SecurityException
0 2 5 Class java.lang.Throwable
Exceptions:
throws java.io.IOException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
public void move(com.oracle.truffle.api.TruffleFile, java.nio.file.CopyOption[]);
descriptor: (Lcom/oracle/truffle/api/TruffleFile;[Ljava/nio/file/CopyOption;)V
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual com.oracle.truffle.api.TruffleFile.checkFileOperationPreconditions:()V
1: aload 1
invokevirtual com.oracle.truffle.api.TruffleFile.checkFileOperationPreconditions:()V
2: aload 0
getfield com.oracle.truffle.api.TruffleFile.fileSystemContext:Lcom/oracle/truffle/api/TruffleFile$FileSystemContext;
getfield com.oracle.truffle.api.TruffleFile$FileSystemContext.fileSystem:Lorg/graalvm/polyglot/io/FileSystem;
aload 0
getfield com.oracle.truffle.api.TruffleFile.normalizedPath:Ljava/nio/file/Path;
aload 1
getfield com.oracle.truffle.api.TruffleFile.normalizedPath:Ljava/nio/file/Path;
aload 2
invokeinterface org.graalvm.polyglot.io.FileSystem.move:(Ljava/nio/file/Path;Ljava/nio/file/Path;[Ljava/nio/file/CopyOption;)V
3: goto 8
StackMap locals:
StackMap stack: java.lang.Exception
4: astore 3
start local 3 5: aload 3
athrow
end local 3 6: StackMap locals:
StackMap stack: java.lang.Throwable
astore 3
start local 3 7: aload 0
aload 3
invokevirtual com.oracle.truffle.api.TruffleFile.wrapHostException:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 3 8: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/oracle/truffle/api/TruffleFile;
0 9 1 target Lcom/oracle/truffle/api/TruffleFile;
0 9 2 options [Ljava/nio/file/CopyOption;
5 6 3 e Ljava/lang/Exception;
7 8 3 t Ljava/lang/Throwable;
Exception table:
from to target type
0 3 4 Class java.io.IOException
0 3 4 Class java.lang.UnsupportedOperationException
0 3 4 Class java.lang.SecurityException
0 3 6 Class java.lang.Throwable
Exceptions:
throws java.io.IOException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
target
options
public java.util.Set<java.nio.file.attribute.PosixFilePermission> getPosixPermissions(java.nio.file.LinkOption[]);
descriptor: ([Ljava/nio/file/LinkOption;)Ljava/util/Set;
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 0
getfield com.oracle.truffle.api.TruffleFile.normalizedPath:Ljava/nio/file/Path;
ldc "posix:permissions"
aload 1
invokevirtual com.oracle.truffle.api.TruffleFile.getAttributeImpl:(Ljava/nio/file/Path;Ljava/lang/String;[Ljava/nio/file/LinkOption;)Ljava/lang/Object;
checkcast java.util.Set
1: areturn
2: StackMap locals:
StackMap stack: java.lang.Exception
astore 2
start local 2 3: aload 2
athrow
end local 2 4: StackMap locals:
StackMap stack: java.lang.Throwable
astore 2
start local 2 5: aload 0
aload 2
invokevirtual com.oracle.truffle.api.TruffleFile.wrapHostException:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/api/TruffleFile;
0 6 1 linkOptions [Ljava/nio/file/LinkOption;
3 4 2 e Ljava/lang/Exception;
5 6 2 t Ljava/lang/Throwable;
Exception table:
from to target type
0 1 2 Class java.io.IOException
0 1 2 Class java.lang.SecurityException
0 1 2 Class java.lang.UnsupportedOperationException
0 1 4 Class java.lang.Throwable
Exceptions:
throws java.io.IOException
Signature: ([Ljava/nio/file/LinkOption;)Ljava/util/Set<Ljava/nio/file/attribute/PosixFilePermission;>;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
linkOptions
public void setPosixPermissions(java.util.Set<? extends java.nio.file.attribute.PosixFilePermission>, java.nio.file.LinkOption[]);
descriptor: (Ljava/util/Set;[Ljava/nio/file/LinkOption;)V
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual com.oracle.truffle.api.TruffleFile.checkFileOperationPreconditions:()V
1: aload 0
getfield com.oracle.truffle.api.TruffleFile.fileSystemContext:Lcom/oracle/truffle/api/TruffleFile$FileSystemContext;
getfield com.oracle.truffle.api.TruffleFile$FileSystemContext.fileSystem:Lorg/graalvm/polyglot/io/FileSystem;
aload 0
getfield com.oracle.truffle.api.TruffleFile.normalizedPath:Ljava/nio/file/Path;
ldc "posix:permissions"
aload 1
aload 2
invokeinterface org.graalvm.polyglot.io.FileSystem.setAttribute:(Ljava/nio/file/Path;Ljava/lang/String;Ljava/lang/Object;[Ljava/nio/file/LinkOption;)V
2: goto 7
StackMap locals:
StackMap stack: java.lang.Exception
3: astore 3
start local 3 4: aload 3
athrow
end local 3 5: StackMap locals:
StackMap stack: java.lang.Throwable
astore 3
start local 3 6: aload 0
aload 3
invokevirtual com.oracle.truffle.api.TruffleFile.wrapHostException:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 3 7: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/truffle/api/TruffleFile;
0 8 1 permissions Ljava/util/Set<+Ljava/nio/file/attribute/PosixFilePermission;>;
0 8 2 linkOptions [Ljava/nio/file/LinkOption;
4 5 3 e Ljava/lang/Exception;
6 7 3 t Ljava/lang/Throwable;
Exception table:
from to target type
0 2 3 Class java.io.IOException
0 2 3 Class java.lang.SecurityException
0 2 3 Class java.lang.UnsupportedOperationException
0 2 5 Class java.lang.Throwable
Exceptions:
throws java.io.IOException
Signature: (Ljava/util/Set<+Ljava/nio/file/attribute/PosixFilePermission;>;[Ljava/nio/file/LinkOption;)V
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
permissions
linkOptions
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.api.TruffleFile.path:Ljava/nio/file/Path;
invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/TruffleFile;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: bipush 17
istore 1
start local 1 1: iload 1
bipush 31
imul
aload 0
getfield com.oracle.truffle.api.TruffleFile.fileSystemContext:Lcom/oracle/truffle/api/TruffleFile$FileSystemContext;
invokevirtual java.lang.Object.hashCode:()I
iadd
istore 1
2: iload 1
bipush 31
imul
aload 0
getfield com.oracle.truffle.api.TruffleFile.path:Ljava/nio/file/Path;
invokeinterface java.nio.file.Path.hashCode:()I
iadd
istore 1
3: iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/api/TruffleFile;
1 4 1 res I
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
if_acmpne 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 1
ifnull 3
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
ldc Lcom/oracle/truffle/api/TruffleFile;
if_acmpeq 4
3: StackMap locals:
StackMap stack:
iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 1
checkcast com.oracle.truffle.api.TruffleFile
astore 2
start local 2 5: aload 0
getfield com.oracle.truffle.api.TruffleFile.path:Ljava/nio/file/Path;
aload 2
getfield com.oracle.truffle.api.TruffleFile.path:Ljava/nio/file/Path;
invokeinterface java.nio.file.Path.equals:(Ljava/lang/Object;)Z
ifeq 6
aload 0
getfield com.oracle.truffle.api.TruffleFile.fileSystemContext:Lcom/oracle/truffle/api/TruffleFile$FileSystemContext;
aload 2
getfield com.oracle.truffle.api.TruffleFile.fileSystemContext:Lcom/oracle/truffle/api/TruffleFile$FileSystemContext;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 6
iconst_1
ireturn
StackMap locals: com.oracle.truffle.api.TruffleFile
StackMap stack:
6: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/truffle/api/TruffleFile;
0 7 1 other Ljava/lang/Object;
5 7 2 otherFile Lcom/oracle/truffle/api/TruffleFile;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
other final
public com.oracle.truffle.api.TruffleFile normalize();
descriptor: ()Lcom/oracle/truffle/api/TruffleFile;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.api.TruffleFile.isNormalized:()Z
ifeq 2
1: aload 0
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.api.TruffleFile.isEmptyPath:Z
ifne 5
aload 0
getfield com.oracle.truffle.api.TruffleFile.normalizedPath:Ljava/nio/file/Path;
invokestatic com.oracle.truffle.api.TruffleFile.isEmptyPath:(Ljava/nio/file/Path;)Z
ifeq 5
3: aload 0
getfield com.oracle.truffle.api.TruffleFile.fileSystemContext:Lcom/oracle/truffle/api/TruffleFile$FileSystemContext;
getfield com.oracle.truffle.api.TruffleFile$FileSystemContext.fileSystem:Lorg/graalvm/polyglot/io/FileSystem;
ldc "."
invokeinterface org.graalvm.polyglot.io.FileSystem.parsePath:(Ljava/lang/String;)Ljava/nio/file/Path;
astore 1
start local 1 4: goto 6
end local 1 5: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.api.TruffleFile.normalizedPath:Ljava/nio/file/Path;
astore 1
start local 1 6: StackMap locals: java.nio.file.Path
StackMap stack:
new com.oracle.truffle.api.TruffleFile
dup
aload 0
getfield com.oracle.truffle.api.TruffleFile.fileSystemContext:Lcom/oracle/truffle/api/TruffleFile$FileSystemContext;
aload 1
aload 0
getfield com.oracle.truffle.api.TruffleFile.normalizedPath:Ljava/nio/file/Path;
aload 0
getfield com.oracle.truffle.api.TruffleFile.isEmptyPath:Z
invokespecial com.oracle.truffle.api.TruffleFile.<init>:(Lcom/oracle/truffle/api/TruffleFile$FileSystemContext;Ljava/nio/file/Path;Ljava/nio/file/Path;Z)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/truffle/api/TruffleFile;
4 5 1 newPath Ljava/nio/file/Path;
6 7 1 newPath Ljava/nio/file/Path;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
public com.oracle.truffle.api.TruffleFile relativize(com.oracle.truffle.api.TruffleFile);
descriptor: (Lcom/oracle/truffle/api/TruffleFile;)Lcom/oracle/truffle/api/TruffleFile;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: new com.oracle.truffle.api.TruffleFile
dup
aload 0
getfield com.oracle.truffle.api.TruffleFile.fileSystemContext:Lcom/oracle/truffle/api/TruffleFile$FileSystemContext;
aload 0
getfield com.oracle.truffle.api.TruffleFile.path:Ljava/nio/file/Path;
aload 1
getfield com.oracle.truffle.api.TruffleFile.path:Ljava/nio/file/Path;
invokeinterface java.nio.file.Path.relativize:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
invokespecial com.oracle.truffle.api.TruffleFile.<init>:(Lcom/oracle/truffle/api/TruffleFile$FileSystemContext;Ljava/nio/file/Path;)V
1: areturn
2: StackMap locals:
StackMap stack: java.lang.IllegalArgumentException
astore 2
start local 2 3: aload 2
athrow
end local 2 4: StackMap locals:
StackMap stack: java.lang.Throwable
astore 2
start local 2 5: aload 0
aload 2
invokevirtual com.oracle.truffle.api.TruffleFile.wrapHostException:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/api/TruffleFile;
0 6 1 other Lcom/oracle/truffle/api/TruffleFile;
3 4 2 e Ljava/lang/IllegalArgumentException;
5 6 2 t Ljava/lang/Throwable;
Exception table:
from to target type
0 1 2 Class java.lang.IllegalArgumentException
0 1 4 Class java.lang.Throwable
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
other
public boolean startsWith(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.api.TruffleFile.path:Ljava/nio/file/Path;
aload 1
invokeinterface java.nio.file.Path.startsWith:(Ljava/lang/String;)Z
1: ireturn
2: StackMap locals:
StackMap stack: java.lang.IllegalArgumentException
astore 2
start local 2 3: aload 2
athrow
end local 2 4: StackMap locals:
StackMap stack: java.lang.Throwable
astore 2
start local 2 5: aload 0
aload 2
invokevirtual com.oracle.truffle.api.TruffleFile.wrapHostException:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/api/TruffleFile;
0 6 1 other Ljava/lang/String;
3 4 2 e Ljava/lang/IllegalArgumentException;
5 6 2 t Ljava/lang/Throwable;
Exception table:
from to target type
0 1 2 Class java.lang.IllegalArgumentException
0 1 4 Class java.lang.Throwable
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
other
public boolean startsWith(com.oracle.truffle.api.TruffleFile);
descriptor: (Lcom/oracle/truffle/api/TruffleFile;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.api.TruffleFile.path:Ljava/nio/file/Path;
aload 1
getfield com.oracle.truffle.api.TruffleFile.path:Ljava/nio/file/Path;
invokeinterface java.nio.file.Path.startsWith:(Ljava/nio/file/Path;)Z
1: ireturn
2: StackMap locals:
StackMap stack: java.lang.Throwable
astore 2
start local 2 3: aload 0
aload 2
invokevirtual com.oracle.truffle.api.TruffleFile.wrapHostException:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/api/TruffleFile;
0 4 1 other Lcom/oracle/truffle/api/TruffleFile;
3 4 2 t Ljava/lang/Throwable;
Exception table:
from to target type
0 1 2 Class java.lang.Throwable
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
other
public boolean endsWith(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.api.TruffleFile.path:Ljava/nio/file/Path;
aload 1
invokeinterface java.nio.file.Path.endsWith:(Ljava/lang/String;)Z
1: ireturn
2: StackMap locals:
StackMap stack: java.lang.IllegalArgumentException
astore 2
start local 2 3: aload 2
athrow
end local 2 4: StackMap locals:
StackMap stack: java.lang.Throwable
astore 2
start local 2 5: aload 0
aload 2
invokevirtual com.oracle.truffle.api.TruffleFile.wrapHostException:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/api/TruffleFile;
0 6 1 other Ljava/lang/String;
3 4 2 e Ljava/lang/IllegalArgumentException;
5 6 2 t Ljava/lang/Throwable;
Exception table:
from to target type
0 1 2 Class java.lang.IllegalArgumentException
0 1 4 Class java.lang.Throwable
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
other
public boolean endsWith(com.oracle.truffle.api.TruffleFile);
descriptor: (Lcom/oracle/truffle/api/TruffleFile;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.api.TruffleFile.path:Ljava/nio/file/Path;
aload 1
getfield com.oracle.truffle.api.TruffleFile.path:Ljava/nio/file/Path;
invokeinterface java.nio.file.Path.endsWith:(Ljava/nio/file/Path;)Z
1: ireturn
2: StackMap locals:
StackMap stack: java.lang.Throwable
astore 2
start local 2 3: aload 0
aload 2
invokevirtual com.oracle.truffle.api.TruffleFile.wrapHostException:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/api/TruffleFile;
0 4 1 other Lcom/oracle/truffle/api/TruffleFile;
3 4 2 t Ljava/lang/Throwable;
Exception table:
from to target type
0 1 2 Class java.lang.Throwable
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
other
public void createLink(com.oracle.truffle.api.TruffleFile);
descriptor: (Lcom/oracle/truffle/api/TruffleFile;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.truffle.api.TruffleFile.checkFileOperationPreconditions:()V
1: aload 0
getfield com.oracle.truffle.api.TruffleFile.fileSystemContext:Lcom/oracle/truffle/api/TruffleFile$FileSystemContext;
getfield com.oracle.truffle.api.TruffleFile$FileSystemContext.fileSystem:Lorg/graalvm/polyglot/io/FileSystem;
aload 0
getfield com.oracle.truffle.api.TruffleFile.normalizedPath:Ljava/nio/file/Path;
aload 1
getfield com.oracle.truffle.api.TruffleFile.normalizedPath:Ljava/nio/file/Path;
invokeinterface org.graalvm.polyglot.io.FileSystem.createLink:(Ljava/nio/file/Path;Ljava/nio/file/Path;)V
2: goto 7
StackMap locals:
StackMap stack: java.lang.Exception
3: astore 2
start local 2 4: aload 2
athrow
end local 2 5: StackMap locals:
StackMap stack: java.lang.Throwable
astore 2
start local 2 6: aload 0
aload 2
invokevirtual com.oracle.truffle.api.TruffleFile.wrapHostException:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 2 7: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/truffle/api/TruffleFile;
0 8 1 target Lcom/oracle/truffle/api/TruffleFile;
4 5 2 e Ljava/lang/Exception;
6 7 2 t Ljava/lang/Throwable;
Exception table:
from to target type
0 2 3 Class java.io.IOException
0 2 3 Class java.lang.SecurityException
0 2 3 Class java.lang.UnsupportedOperationException
0 2 5 Class java.lang.Throwable
Exceptions:
throws java.io.IOException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
target
public void createSymbolicLink(com.oracle.truffle.api.TruffleFile, java.nio.file.attribute.FileAttribute<?>[]);
descriptor: (Lcom/oracle/truffle/api/TruffleFile;[Ljava/nio/file/attribute/FileAttribute;)V
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual com.oracle.truffle.api.TruffleFile.checkFileOperationPreconditions:()V
1: aload 0
getfield com.oracle.truffle.api.TruffleFile.fileSystemContext:Lcom/oracle/truffle/api/TruffleFile$FileSystemContext;
getfield com.oracle.truffle.api.TruffleFile$FileSystemContext.fileSystem:Lorg/graalvm/polyglot/io/FileSystem;
aload 0
getfield com.oracle.truffle.api.TruffleFile.normalizedPath:Ljava/nio/file/Path;
aload 1
getfield com.oracle.truffle.api.TruffleFile.path:Ljava/nio/file/Path;
aload 2
invokeinterface org.graalvm.polyglot.io.FileSystem.createSymbolicLink:(Ljava/nio/file/Path;Ljava/nio/file/Path;[Ljava/nio/file/attribute/FileAttribute;)V
2: goto 7
StackMap locals:
StackMap stack: java.lang.Exception
3: astore 3
start local 3 4: aload 3
athrow
end local 3 5: StackMap locals:
StackMap stack: java.lang.Throwable
astore 3
start local 3 6: aload 0
aload 3
invokevirtual com.oracle.truffle.api.TruffleFile.wrapHostException:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 3 7: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/truffle/api/TruffleFile;
0 8 1 target Lcom/oracle/truffle/api/TruffleFile;
0 8 2 attrs [Ljava/nio/file/attribute/FileAttribute;
4 5 3 e Ljava/lang/Exception;
6 7 3 t Ljava/lang/Throwable;
Exception table:
from to target type
0 2 3 Class java.io.IOException
0 2 3 Class java.lang.SecurityException
0 2 3 Class java.lang.UnsupportedOperationException
0 2 5 Class java.lang.Throwable
Exceptions:
throws java.io.IOException
Signature: (Lcom/oracle/truffle/api/TruffleFile;[Ljava/nio/file/attribute/FileAttribute<*>;)V
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
target
attrs
public com.oracle.truffle.api.TruffleFile readSymbolicLink();
descriptor: ()Lcom/oracle/truffle/api/TruffleFile;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.api.TruffleFile.checkFileOperationPreconditions:()V
1: new com.oracle.truffle.api.TruffleFile
dup
aload 0
getfield com.oracle.truffle.api.TruffleFile.fileSystemContext:Lcom/oracle/truffle/api/TruffleFile$FileSystemContext;
aload 0
getfield com.oracle.truffle.api.TruffleFile.fileSystemContext:Lcom/oracle/truffle/api/TruffleFile$FileSystemContext;
getfield com.oracle.truffle.api.TruffleFile$FileSystemContext.fileSystem:Lorg/graalvm/polyglot/io/FileSystem;
aload 0
getfield com.oracle.truffle.api.TruffleFile.normalizedPath:Ljava/nio/file/Path;
invokeinterface org.graalvm.polyglot.io.FileSystem.readSymbolicLink:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
invokespecial com.oracle.truffle.api.TruffleFile.<init>:(Lcom/oracle/truffle/api/TruffleFile$FileSystemContext;Ljava/nio/file/Path;)V
2: areturn
3: StackMap locals:
StackMap stack: java.lang.Exception
astore 1
start local 1 4: aload 1
athrow
end local 1 5: StackMap locals:
StackMap stack: java.lang.Throwable
astore 1
start local 1 6: aload 0
aload 1
invokevirtual com.oracle.truffle.api.TruffleFile.wrapHostException:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/truffle/api/TruffleFile;
4 5 1 e Ljava/lang/Exception;
6 7 1 t Ljava/lang/Throwable;
Exception table:
from to target type
0 2 3 Class java.io.IOException
0 2 3 Class java.lang.SecurityException
0 2 3 Class java.lang.UnsupportedOperationException
0 2 5 Class java.lang.Throwable
Exceptions:
throws java.io.IOException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
public java.nio.file.attribute.UserPrincipal getOwner(java.nio.file.LinkOption[]);
descriptor: ([Ljava/nio/file/LinkOption;)Ljava/nio/file/attribute/UserPrincipal;
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
ldc "posix:owner"
ldc Ljava/nio/file/attribute/UserPrincipal;
aload 1
invokevirtual com.oracle.truffle.api.TruffleFile.getAttributeImpl:(Ljava/lang/String;Ljava/lang/Class;[Ljava/nio/file/LinkOption;)Ljava/lang/Object;
checkcast java.nio.file.attribute.UserPrincipal
1: areturn
2: StackMap locals:
StackMap stack: java.lang.Exception
astore 2
start local 2 3: aload 2
athrow
end local 2 4: StackMap locals:
StackMap stack: java.lang.Throwable
astore 2
start local 2 5: aload 0
aload 2
invokevirtual com.oracle.truffle.api.TruffleFile.wrapHostException:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/api/TruffleFile;
0 6 1 options [Ljava/nio/file/LinkOption;
3 4 2 e Ljava/lang/Exception;
5 6 2 t Ljava/lang/Throwable;
Exception table:
from to target type
0 1 2 Class java.io.IOException
0 1 2 Class java.lang.SecurityException
0 1 2 Class java.lang.UnsupportedOperationException
0 1 4 Class java.lang.Throwable
Exceptions:
throws java.io.IOException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
options
public java.nio.file.attribute.GroupPrincipal getGroup(java.nio.file.LinkOption[]);
descriptor: ([Ljava/nio/file/LinkOption;)Ljava/nio/file/attribute/GroupPrincipal;
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
ldc "posix:group"
ldc Ljava/nio/file/attribute/GroupPrincipal;
aload 1
invokevirtual com.oracle.truffle.api.TruffleFile.getAttributeImpl:(Ljava/lang/String;Ljava/lang/Class;[Ljava/nio/file/LinkOption;)Ljava/lang/Object;
checkcast java.nio.file.attribute.GroupPrincipal
1: areturn
2: StackMap locals:
StackMap stack: java.lang.Exception
astore 2
start local 2 3: aload 2
athrow
end local 2 4: StackMap locals:
StackMap stack: java.lang.Throwable
astore 2
start local 2 5: aload 0
aload 2
invokevirtual com.oracle.truffle.api.TruffleFile.wrapHostException:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/api/TruffleFile;
0 6 1 options [Ljava/nio/file/LinkOption;
3 4 2 e Ljava/lang/Exception;
5 6 2 t Ljava/lang/Throwable;
Exception table:
from to target type
0 1 2 Class java.io.IOException
0 1 2 Class java.lang.SecurityException
0 1 2 Class java.lang.UnsupportedOperationException
0 1 4 Class java.lang.Throwable
Exceptions:
throws java.io.IOException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
options
public java.nio.file.DirectoryStream<com.oracle.truffle.api.TruffleFile> newDirectoryStream();
descriptor: ()Ljava/nio/file/DirectoryStream;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.api.TruffleFile.checkFileOperationPreconditions:()V
1: new com.oracle.truffle.api.TruffleFile$TruffleFileDirectoryStream
dup
aload 0
aload 0
getfield com.oracle.truffle.api.TruffleFile.fileSystemContext:Lcom/oracle/truffle/api/TruffleFile$FileSystemContext;
getfield com.oracle.truffle.api.TruffleFile$FileSystemContext.fileSystem:Lorg/graalvm/polyglot/io/FileSystem;
aload 0
getfield com.oracle.truffle.api.TruffleFile.normalizedPath:Ljava/nio/file/Path;
getstatic com.oracle.truffle.api.TruffleFile$AllFiles.INSTANCE:Ljava/nio/file/DirectoryStream$Filter;
invokeinterface org.graalvm.polyglot.io.FileSystem.newDirectoryStream:(Ljava/nio/file/Path;Ljava/nio/file/DirectoryStream$Filter;)Ljava/nio/file/DirectoryStream;
invokespecial com.oracle.truffle.api.TruffleFile$TruffleFileDirectoryStream.<init>:(Lcom/oracle/truffle/api/TruffleFile;Ljava/nio/file/DirectoryStream;)V
2: areturn
3: StackMap locals:
StackMap stack: java.lang.Exception
astore 1
start local 1 4: aload 1
athrow
end local 1 5: StackMap locals:
StackMap stack: java.lang.Throwable
astore 1
start local 1 6: aload 0
aload 1
invokevirtual com.oracle.truffle.api.TruffleFile.wrapHostException:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/truffle/api/TruffleFile;
4 5 1 e Ljava/lang/Exception;
6 7 1 t Ljava/lang/Throwable;
Exception table:
from to target type
0 2 3 Class java.io.IOException
0 2 3 Class java.lang.SecurityException
0 2 5 Class java.lang.Throwable
Exceptions:
throws java.io.IOException
Signature: ()Ljava/nio/file/DirectoryStream<Lcom/oracle/truffle/api/TruffleFile;>;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
public void visit(java.nio.file.FileVisitor<com.oracle.truffle.api.TruffleFile>, int, java.nio.file.FileVisitOption[]);
descriptor: (Ljava/nio/file/FileVisitor;I[Ljava/nio/file/FileVisitOption;)V
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=5, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 2
ifge 2
1: new java.lang.IllegalArgumentException
dup
ldc "The maxDepth must be >= 0"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.api.TruffleFile.checkFileOperationPreconditions:()V
3: new com.oracle.truffle.api.TruffleFile$Walker
dup
aload 0
iload 2
aload 3
invokespecial com.oracle.truffle.api.TruffleFile$Walker.<init>:(Lcom/oracle/truffle/api/TruffleFile;I[Ljava/nio/file/FileVisitOption;)V
astore 4
start local 4 4: aload 4
invokevirtual com.oracle.truffle.api.TruffleFile$Walker.iterator:()Ljava/util/Iterator;
astore 6
goto 25
StackMap locals: com.oracle.truffle.api.TruffleFile java.nio.file.FileVisitor int java.nio.file.FileVisitOption[] com.oracle.truffle.api.TruffleFile$Walker top java.util.Iterator
StackMap stack:
5: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.api.TruffleFile$Walker$Event
astore 5
start local 5 6: invokestatic com.oracle.truffle.api.TruffleFile.$SWITCH_TABLE$com$oracle$truffle$api$TruffleFile$Walker$Event$Type:()[I
aload 5
getfield com.oracle.truffle.api.TruffleFile$Walker$Event.type:Lcom/oracle/truffle/api/TruffleFile$Walker$Event$Type;
invokevirtual com.oracle.truffle.api.TruffleFile$Walker$Event$Type.ordinal:()I
iaload
tableswitch { // 1 - 3
1: 7
2: 11
3: 17
default: 19
}
7: StackMap locals: com.oracle.truffle.api.TruffleFile java.nio.file.FileVisitor int java.nio.file.FileVisitOption[] com.oracle.truffle.api.TruffleFile$Walker com.oracle.truffle.api.TruffleFile$Walker$Event java.util.Iterator
StackMap stack:
aload 1
aload 5
getfield com.oracle.truffle.api.TruffleFile$Walker$Event.file:Lcom/oracle/truffle/api/TruffleFile;
aload 5
getfield com.oracle.truffle.api.TruffleFile$Walker$Event.attrs:Ljava/nio/file/attribute/BasicFileAttributes;
invokeinterface java.nio.file.FileVisitor.preVisitDirectory:(Ljava/lang/Object;Ljava/nio/file/attribute/BasicFileAttributes;)Ljava/nio/file/FileVisitResult;
astore 7
start local 7 8: aload 7
getstatic java.nio.file.FileVisitResult.SKIP_SUBTREE:Ljava/nio/file/FileVisitResult;
if_acmpeq 9
aload 7
getstatic java.nio.file.FileVisitResult.SKIP_SIBLINGS:Ljava/nio/file/FileVisitResult;
if_acmpne 20
9: StackMap locals: java.nio.file.FileVisitResult
StackMap stack:
aload 4
invokevirtual com.oracle.truffle.api.TruffleFile$Walker.pop:()V
10: goto 20
end local 7 11: StackMap locals:
StackMap stack:
aload 5
getfield com.oracle.truffle.api.TruffleFile$Walker$Event.ioe:Ljava/io/IOException;
astore 8
start local 8 12: aload 8
ifnonnull 15
13: aload 1
aload 5
getfield com.oracle.truffle.api.TruffleFile$Walker$Event.file:Lcom/oracle/truffle/api/TruffleFile;
aload 5
getfield com.oracle.truffle.api.TruffleFile$Walker$Event.attrs:Ljava/nio/file/attribute/BasicFileAttributes;
invokeinterface java.nio.file.FileVisitor.visitFile:(Ljava/lang/Object;Ljava/nio/file/attribute/BasicFileAttributes;)Ljava/nio/file/FileVisitResult;
astore 7
start local 7 14: goto 20
end local 7 15: StackMap locals: com.oracle.truffle.api.TruffleFile java.nio.file.FileVisitor int java.nio.file.FileVisitOption[] com.oracle.truffle.api.TruffleFile$Walker com.oracle.truffle.api.TruffleFile$Walker$Event java.util.Iterator top java.io.IOException
StackMap stack:
aload 1
aload 5
getfield com.oracle.truffle.api.TruffleFile$Walker$Event.file:Lcom/oracle/truffle/api/TruffleFile;
aload 8
invokeinterface java.nio.file.FileVisitor.visitFileFailed:(Ljava/lang/Object;Ljava/io/IOException;)Ljava/nio/file/FileVisitResult;
astore 7
start local 7 16: goto 20
end local 8 end local 7 17: StackMap locals: com.oracle.truffle.api.TruffleFile java.nio.file.FileVisitor int java.nio.file.FileVisitOption[] com.oracle.truffle.api.TruffleFile$Walker com.oracle.truffle.api.TruffleFile$Walker$Event java.util.Iterator
StackMap stack:
aload 1
aload 5
getfield com.oracle.truffle.api.TruffleFile$Walker$Event.file:Lcom/oracle/truffle/api/TruffleFile;
aload 5
getfield com.oracle.truffle.api.TruffleFile$Walker$Event.ioe:Ljava/io/IOException;
invokeinterface java.nio.file.FileVisitor.postVisitDirectory:(Ljava/lang/Object;Ljava/io/IOException;)Ljava/nio/file/FileVisitResult;
astore 7
start local 7 18: goto 20
end local 7 19: StackMap locals:
StackMap stack:
new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "Unexpected event type: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
getfield com.oracle.truffle.api.TruffleFile$Walker$Event.type:Lcom/oracle/truffle/api/TruffleFile$Walker$Event$Type;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
start local 7 20: StackMap locals: java.nio.file.FileVisitResult
StackMap stack:
aload 7
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
getstatic java.nio.file.FileVisitResult.CONTINUE:Ljava/nio/file/FileVisitResult;
if_acmpeq 25
21: invokestatic com.oracle.truffle.api.TruffleFile.$SWITCH_TABLE$java$nio$file$FileVisitResult:()[I
aload 7
invokevirtual java.nio.file.FileVisitResult.ordinal:()I
iaload
tableswitch { // 2 - 4
2: 24
3: 25
4: 22
default: 25
}
22: StackMap locals:
StackMap stack:
aload 4
invokevirtual com.oracle.truffle.api.TruffleFile$Walker.skipRemainingSiblings:()V
23: goto 25
24: StackMap locals:
StackMap stack:
return
end local 7 end local 5 25: StackMap locals: com.oracle.truffle.api.TruffleFile java.nio.file.FileVisitor int java.nio.file.FileVisitOption[] com.oracle.truffle.api.TruffleFile$Walker top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
end local 4 26: goto 31
StackMap locals: com.oracle.truffle.api.TruffleFile java.nio.file.FileVisitor int java.nio.file.FileVisitOption[]
StackMap stack: java.lang.Exception
27: astore 4
start local 4 28: aload 4
athrow
end local 4 29: StackMap locals:
StackMap stack: java.lang.Throwable
astore 4
start local 4 30: aload 0
aload 4
invokevirtual com.oracle.truffle.api.TruffleFile.wrapHostException:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 4 31: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 32 0 this Lcom/oracle/truffle/api/TruffleFile;
0 32 1 visitor Ljava/nio/file/FileVisitor<Lcom/oracle/truffle/api/TruffleFile;>;
0 32 2 maxDepth I
0 32 3 options [Ljava/nio/file/FileVisitOption;
4 26 4 walker Lcom/oracle/truffle/api/TruffleFile$Walker;
6 25 5 event Lcom/oracle/truffle/api/TruffleFile$Walker$Event;
8 11 7 result Ljava/nio/file/FileVisitResult;
14 15 7 result Ljava/nio/file/FileVisitResult;
16 17 7 result Ljava/nio/file/FileVisitResult;
18 19 7 result Ljava/nio/file/FileVisitResult;
20 25 7 result Ljava/nio/file/FileVisitResult;
12 17 8 ioe Ljava/io/IOException;
28 29 4 e Ljava/lang/Exception;
30 31 4 t Ljava/lang/Throwable;
Exception table:
from to target type
2 24 27 Class java.io.IOException
25 26 27 Class java.io.IOException
2 24 27 Class java.lang.SecurityException
25 26 27 Class java.lang.SecurityException
2 24 29 Class java.lang.Throwable
25 26 29 Class java.lang.Throwable
Exceptions:
throws java.io.IOException
Signature: (Ljava/nio/file/FileVisitor<Lcom/oracle/truffle/api/TruffleFile;>;I[Ljava/nio/file/FileVisitOption;)V
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
visitor
maxDepth
options
public void copy(com.oracle.truffle.api.TruffleFile, java.nio.file.CopyOption[]);
descriptor: (Lcom/oracle/truffle/api/TruffleFile;[Ljava/nio/file/CopyOption;)V
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual com.oracle.truffle.api.TruffleFile.checkFileOperationPreconditions:()V
1: aload 1
invokevirtual com.oracle.truffle.api.TruffleFile.checkFileOperationPreconditions:()V
2: aload 0
getfield com.oracle.truffle.api.TruffleFile.fileSystemContext:Lcom/oracle/truffle/api/TruffleFile$FileSystemContext;
getfield com.oracle.truffle.api.TruffleFile$FileSystemContext.fileSystem:Lorg/graalvm/polyglot/io/FileSystem;
aload 0
getfield com.oracle.truffle.api.TruffleFile.normalizedPath:Ljava/nio/file/Path;
aload 1
getfield com.oracle.truffle.api.TruffleFile.normalizedPath:Ljava/nio/file/Path;
aload 2
invokeinterface org.graalvm.polyglot.io.FileSystem.copy:(Ljava/nio/file/Path;Ljava/nio/file/Path;[Ljava/nio/file/CopyOption;)V
3: goto 8
StackMap locals:
StackMap stack: java.lang.Exception
4: astore 3
start local 3 5: aload 3
athrow
end local 3 6: StackMap locals:
StackMap stack: java.lang.Throwable
astore 3
start local 3 7: aload 0
aload 3
invokevirtual com.oracle.truffle.api.TruffleFile.wrapHostException:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 3 8: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/oracle/truffle/api/TruffleFile;
0 9 1 target Lcom/oracle/truffle/api/TruffleFile;
0 9 2 options [Ljava/nio/file/CopyOption;
5 6 3 e Ljava/lang/Exception;
7 8 3 t Ljava/lang/Throwable;
Exception table:
from to target type
0 3 4 Class java.io.IOException
0 3 4 Class java.lang.UnsupportedOperationException
0 3 4 Class java.lang.SecurityException
0 3 6 Class java.lang.Throwable
Exceptions:
throws java.io.IOException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
target
options
public java.lang.String getMimeType();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aconst_null
invokevirtual com.oracle.truffle.api.TruffleFile.detectMimeType:(Ljava/util/Set;)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/TruffleFile;
Exceptions:
throws java.io.IOException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
java.lang.Deprecated()
public java.lang.String detectMimeType();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aconst_null
invokevirtual com.oracle.truffle.api.TruffleFile.detectMimeType:(Ljava/util/Set;)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/TruffleFile;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
public boolean isSameFile(com.oracle.truffle.api.TruffleFile, java.nio.file.LinkOption[]);
descriptor: (Lcom/oracle/truffle/api/TruffleFile;[Ljava/nio/file/LinkOption;)Z
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual com.oracle.truffle.api.TruffleFile.checkFileOperationPreconditions:()V
1: aload 1
invokevirtual com.oracle.truffle.api.TruffleFile.checkFileOperationPreconditions:()V
2: aload 0
aload 1
invokevirtual com.oracle.truffle.api.TruffleFile.equals:(Ljava/lang/Object;)Z
ifeq 4
3: iconst_1
ireturn
4: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.api.TruffleFile.fileSystemContext:Lcom/oracle/truffle/api/TruffleFile$FileSystemContext;
getfield com.oracle.truffle.api.TruffleFile$FileSystemContext.fileSystem:Lorg/graalvm/polyglot/io/FileSystem;
aload 1
getfield com.oracle.truffle.api.TruffleFile.fileSystemContext:Lcom/oracle/truffle/api/TruffleFile$FileSystemContext;
getfield com.oracle.truffle.api.TruffleFile$FileSystemContext.fileSystem:Lorg/graalvm/polyglot/io/FileSystem;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 6
5: iconst_0
ireturn
6: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.api.TruffleFile.fileSystemContext:Lcom/oracle/truffle/api/TruffleFile$FileSystemContext;
getfield com.oracle.truffle.api.TruffleFile$FileSystemContext.fileSystem:Lorg/graalvm/polyglot/io/FileSystem;
aload 0
getfield com.oracle.truffle.api.TruffleFile.normalizedPath:Ljava/nio/file/Path;
aload 1
getfield com.oracle.truffle.api.TruffleFile.normalizedPath:Ljava/nio/file/Path;
aload 2
invokeinterface org.graalvm.polyglot.io.FileSystem.isSameFile:(Ljava/nio/file/Path;Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
7: ireturn
8: StackMap locals:
StackMap stack: java.lang.Exception
astore 3
start local 3 9: aload 3
athrow
end local 3 10: StackMap locals:
StackMap stack: java.lang.Throwable
astore 3
start local 3 11: aload 0
aload 3
invokevirtual com.oracle.truffle.api.TruffleFile.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 12 0 this Lcom/oracle/truffle/api/TruffleFile;
0 12 1 other Lcom/oracle/truffle/api/TruffleFile;
0 12 2 options [Ljava/nio/file/LinkOption;
9 10 3 e Ljava/lang/Exception;
11 12 3 t Ljava/lang/Throwable;
Exception table:
from to target type
0 3 8 Class java.io.IOException
4 5 8 Class java.io.IOException
6 7 8 Class java.io.IOException
0 3 8 Class java.lang.SecurityException
4 5 8 Class java.lang.SecurityException
6 7 8 Class java.lang.SecurityException
0 3 10 Class java.lang.Throwable
4 5 10 Class java.lang.Throwable
6 7 10 Class java.lang.Throwable
Exceptions:
throws java.io.IOException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
other
options
java.lang.String detectMimeType(java.util.Set<java.lang.String>);
descriptor: (Ljava/util/Set;)Ljava/lang/String;
flags: (0x0000)
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: aload 1
ifnull 2
aload 1
invokeinterface java.util.Set.isEmpty:()Z
ifeq 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.api.TruffleFile.checkFileOperationPreconditions:()V
3: aload 0
getfield com.oracle.truffle.api.TruffleFile.fileSystemContext:Lcom/oracle/truffle/api/TruffleFile$FileSystemContext;
getfield com.oracle.truffle.api.TruffleFile$FileSystemContext.fileSystem:Lorg/graalvm/polyglot/io/FileSystem;
aload 0
getfield com.oracle.truffle.api.TruffleFile.normalizedPath:Ljava/nio/file/Path;
invokeinterface org.graalvm.polyglot.io.FileSystem.getMimeType:(Ljava/nio/file/Path;)Ljava/lang/String;
astore 2
start local 2 4: aload 2
ifnull 7
aload 1
ifnull 5
aload 1
aload 2
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 7
5: StackMap locals: java.lang.String
StackMap stack:
aload 2
6: areturn
7: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.api.TruffleFile.fileSystemContext:Lcom/oracle/truffle/api/TruffleFile$FileSystemContext;
aload 1
invokevirtual com.oracle.truffle.api.TruffleFile$FileSystemContext.getFileTypeDetectors:(Ljava/util/Set;)Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 4
goto 14
StackMap locals: com.oracle.truffle.api.TruffleFile java.util.Set java.lang.String top java.util.Iterator
StackMap stack:
8: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.api.TruffleFile$FileTypeDetector
astore 3
start local 3 9: aload 3
aload 0
invokeinterface com.oracle.truffle.api.TruffleFile$FileTypeDetector.findMimeType:(Lcom/oracle/truffle/api/TruffleFile;)Ljava/lang/String;
astore 2
10: aload 2
ifnull 14
aload 1
ifnull 11
aload 1
aload 2
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 14
11: StackMap locals: com.oracle.truffle.api.TruffleFile java.util.Set java.lang.String com.oracle.truffle.api.TruffleFile$FileTypeDetector java.util.Iterator
StackMap stack:
aload 2
12: areturn
13: StackMap locals:
StackMap stack: java.io.IOException
pop
end local 3 14: StackMap locals: com.oracle.truffle.api.TruffleFile java.util.Set java.lang.String top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 8
15: aconst_null
areturn
end local 2 16: StackMap locals: com.oracle.truffle.api.TruffleFile java.util.Set
StackMap stack: java.io.IOException
pop
17: aconst_null
areturn
18: StackMap locals:
StackMap stack: java.lang.SecurityException
astore 2
start local 2 19: aload 2
athrow
end local 2 20: StackMap locals:
StackMap stack: java.lang.Throwable
astore 2
start local 2 21: aload 0
aload 2
invokevirtual com.oracle.truffle.api.TruffleFile.wrapHostException:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lcom/oracle/truffle/api/TruffleFile;
0 22 1 validMimeTypes Ljava/util/Set<Ljava/lang/String;>;
4 16 2 result Ljava/lang/String;
9 14 3 detector Lcom/oracle/truffle/api/TruffleFile$FileTypeDetector;
19 20 2 e Ljava/lang/SecurityException;
21 22 2 t Ljava/lang/Throwable;
Exception table:
from to target type
9 12 13 Class java.io.IOException
0 1 16 Class java.io.IOException
2 6 16 Class java.io.IOException
7 12 16 Class java.io.IOException
13 15 16 Class java.io.IOException
0 1 18 Class java.lang.SecurityException
2 6 18 Class java.lang.SecurityException
7 12 18 Class java.lang.SecurityException
13 15 18 Class java.lang.SecurityException
0 1 20 Class java.lang.Throwable
2 6 20 Class java.lang.Throwable
7 12 20 Class java.lang.Throwable
13 15 20 Class java.lang.Throwable
Signature: (Ljava/util/Set<Ljava/lang/String;>;)Ljava/lang/String;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
validMimeTypes
java.nio.charset.Charset detectEncoding(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/nio/charset/Charset;
flags: (0x0000)
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: getstatic com.oracle.truffle.api.TruffleFile.$assertionsDisabled:Z
ifne 1
aload 1
ifnonnull 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.api.TruffleFile.checkFileOperationPreconditions:()V
2: aload 0
getfield com.oracle.truffle.api.TruffleFile.fileSystemContext:Lcom/oracle/truffle/api/TruffleFile$FileSystemContext;
getfield com.oracle.truffle.api.TruffleFile$FileSystemContext.fileSystem:Lorg/graalvm/polyglot/io/FileSystem;
aload 0
getfield com.oracle.truffle.api.TruffleFile.normalizedPath:Ljava/nio/file/Path;
invokeinterface org.graalvm.polyglot.io.FileSystem.getEncoding:(Ljava/nio/file/Path;)Ljava/nio/charset/Charset;
astore 2
start local 2 3: aload 2
ifnull 6
4: aload 2
5: areturn
6: StackMap locals: java.nio.charset.Charset
StackMap stack:
aload 0
getfield com.oracle.truffle.api.TruffleFile.fileSystemContext:Lcom/oracle/truffle/api/TruffleFile$FileSystemContext;
aload 1
invokestatic java.util.Collections.singleton:(Ljava/lang/Object;)Ljava/util/Set;
invokevirtual com.oracle.truffle.api.TruffleFile$FileSystemContext.getFileTypeDetectors:(Ljava/util/Set;)Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 4
goto 13
StackMap locals: com.oracle.truffle.api.TruffleFile java.lang.String java.nio.charset.Charset top java.util.Iterator
StackMap stack:
7: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.api.TruffleFile$FileTypeDetector
astore 3
start local 3 8: aload 3
aload 0
invokeinterface com.oracle.truffle.api.TruffleFile$FileTypeDetector.findEncoding:(Lcom/oracle/truffle/api/TruffleFile;)Ljava/nio/charset/Charset;
astore 2
9: aload 2
ifnull 13
10: aload 2
11: areturn
12: StackMap locals: com.oracle.truffle.api.TruffleFile java.lang.String java.nio.charset.Charset com.oracle.truffle.api.TruffleFile$FileTypeDetector java.util.Iterator
StackMap stack: java.io.IOException
pop
end local 3 13: StackMap locals: com.oracle.truffle.api.TruffleFile java.lang.String java.nio.charset.Charset top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 7
14: aconst_null
areturn
end local 2 15: StackMap locals: com.oracle.truffle.api.TruffleFile java.lang.String
StackMap stack: java.io.IOException
pop
16: aconst_null
areturn
17: StackMap locals:
StackMap stack: java.lang.RuntimeException
astore 2
start local 2 18: aload 2
athrow
end local 2 19: StackMap locals:
StackMap stack: java.lang.Throwable
astore 2
start local 2 20: aload 0
aload 2
invokevirtual com.oracle.truffle.api.TruffleFile.wrapHostException:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lcom/oracle/truffle/api/TruffleFile;
0 21 1 mimeType Ljava/lang/String;
3 15 2 result Ljava/nio/charset/Charset;
8 13 3 detector Lcom/oracle/truffle/api/TruffleFile$FileTypeDetector;
18 19 2 e Ljava/lang/RuntimeException;
20 21 2 t Ljava/lang/Throwable;
Exception table:
from to target type
8 11 12 Class java.io.IOException
0 5 15 Class java.io.IOException
6 11 15 Class java.io.IOException
12 14 15 Class java.io.IOException
0 5 17 Class java.lang.UnsupportedOperationException
6 11 17 Class java.lang.UnsupportedOperationException
12 14 17 Class java.lang.UnsupportedOperationException
0 5 17 Class java.lang.SecurityException
6 11 17 Class java.lang.SecurityException
12 14 17 Class java.lang.SecurityException
0 5 19 Class java.lang.Throwable
6 11 19 Class java.lang.Throwable
12 14 19 Class java.lang.Throwable
MethodParameters:
Name Flags
mimeType
static com.oracle.truffle.api.TruffleFile createTempFile(com.oracle.truffle.api.TruffleFile, java.lang.String, java.lang.String, boolean, java.nio.file.attribute.FileAttribute<?>[]);
descriptor: (Lcom/oracle/truffle/api/TruffleFile;Ljava/lang/String;Ljava/lang/String;Z[Ljava/nio/file/attribute/FileAttribute;)Lcom/oracle/truffle/api/TruffleFile;
flags: (0x0088) ACC_STATIC, ACC_VARARGS
Code:
stack=5, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
ldc "TargetDirectory must be non null."
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
1: aload 0
invokevirtual com.oracle.truffle.api.TruffleFile.checkFileOperationPreconditions:()V
2: aload 1
ifnull 3
aload 1
goto 4
StackMap locals:
StackMap stack:
3: ldc ""
StackMap locals:
StackMap stack: java.lang.String
4: astore 5
start local 5 5: aload 2
ifnull 6
aload 2
goto 8
StackMap locals: java.lang.String
StackMap stack:
6: iload 3
ifeq 7
ldc ""
goto 8
StackMap locals:
StackMap stack:
7: ldc ".tmp"
StackMap locals:
StackMap stack: java.lang.String
8: astore 6
start local 6 9: StackMap locals: java.lang.String
StackMap stack:
aload 0
aload 5
aload 6
invokestatic com.oracle.truffle.api.TruffleFile.createUniquePath:(Lcom/oracle/truffle/api/TruffleFile;Ljava/lang/String;Ljava/lang/String;)Lcom/oracle/truffle/api/TruffleFile;
astore 7
start local 7 10: aload 7
iconst_0
anewarray java.nio.file.LinkOption
invokevirtual com.oracle.truffle.api.TruffleFile.exists:([Ljava/nio/file/LinkOption;)Z
ifne 9
11: iload 3
ifeq 14
12: aload 7
aload 4
invokevirtual com.oracle.truffle.api.TruffleFile.createDirectory:([Ljava/nio/file/attribute/FileAttribute;)V
13: goto 15
14: StackMap locals: com.oracle.truffle.api.TruffleFile
StackMap stack:
aload 7
aload 4
invokevirtual com.oracle.truffle.api.TruffleFile.createFile:([Ljava/nio/file/attribute/FileAttribute;)V
15: StackMap locals:
StackMap stack:
aload 7
16: areturn
end local 7 17: StackMap locals: com.oracle.truffle.api.TruffleFile java.lang.String java.lang.String int java.nio.file.attribute.FileAttribute[] java.lang.String java.lang.String
StackMap stack: java.nio.file.InvalidPathException
pop
18: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Prefix ("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ") or suffix ("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ") are not valid file name components"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
19: StackMap locals:
StackMap stack: java.nio.file.FileAlreadyExistsException
pop
20: goto 9
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 21 0 targetDirectory Lcom/oracle/truffle/api/TruffleFile;
0 21 1 prefix Ljava/lang/String;
0 21 2 suffix Ljava/lang/String;
0 21 3 dir Z
0 21 4 attrs [Ljava/nio/file/attribute/FileAttribute;
5 21 5 usePrefix Ljava/lang/String;
9 21 6 useSuffix Ljava/lang/String;
10 17 7 target Lcom/oracle/truffle/api/TruffleFile;
Exception table:
from to target type
9 16 17 Class java.nio.file.InvalidPathException
9 16 19 Class java.nio.file.FileAlreadyExistsException
Exceptions:
throws java.io.IOException
Signature: (Lcom/oracle/truffle/api/TruffleFile;Ljava/lang/String;Ljava/lang/String;Z[Ljava/nio/file/attribute/FileAttribute<*>;)Lcom/oracle/truffle/api/TruffleFile;
MethodParameters:
Name Flags
targetDirectory
prefix
suffix
dir
attrs
private void checkFileOperationPreconditions();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.api.TruffleFile.isEmptyPath:Z
ifeq 2
1: new java.nio.file.NoSuchFileException
dup
ldc ""
invokespecial java.nio.file.NoSuchFileException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/api/TruffleFile;
Exceptions:
throws java.io.IOException
private static com.oracle.truffle.api.TruffleFile createUniquePath(com.oracle.truffle.api.TruffleFile, java.lang.String, java.lang.String);
descriptor: (Lcom/oracle/truffle/api/TruffleFile;Ljava/lang/String;Ljava/lang/String;)Lcom/oracle/truffle/api/TruffleFile;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=7, args_size=3
start local 0 start local 1 start local 2 0: invokestatic com.oracle.truffle.api.TruffleFile$TempFileRandomHolder.getRandom:()Ljava/util/Random;
invokevirtual java.util.Random.nextLong:()J
lstore 3
start local 3 1: lload 3
ldc -9223372036854775808
lcmp
ifne 2
ldc 9223372036854775807
goto 3
StackMap locals: long
StackMap stack:
2: lload 3
invokestatic java.lang.Math.abs:(J)J
StackMap locals:
StackMap stack: long
3: lstore 3
4: new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 3
invokestatic java.lang.Long.toString:(J)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 5
start local 5 5: aload 0
aload 5
invokevirtual com.oracle.truffle.api.TruffleFile.resolve:(Ljava/lang/String;)Lcom/oracle/truffle/api/TruffleFile;
astore 6
start local 6 6: aload 0
aload 6
invokevirtual com.oracle.truffle.api.TruffleFile.getParent:()Lcom/oracle/truffle/api/TruffleFile;
invokevirtual com.oracle.truffle.api.TruffleFile.equals:(Ljava/lang/Object;)Z
ifne 8
7: new java.nio.file.InvalidPathException
dup
aload 5
ldc "Must be a simple name"
invokespecial java.nio.file.InvalidPathException.<init>:(Ljava/lang/String;Ljava/lang/String;)V
athrow
8: StackMap locals: java.lang.String com.oracle.truffle.api.TruffleFile
StackMap stack:
aload 6
areturn
end local 6 end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 targetDirectory Lcom/oracle/truffle/api/TruffleFile;
0 9 1 prefix Ljava/lang/String;
0 9 2 suffix Ljava/lang/String;
1 9 3 n J
5 9 5 name Ljava/lang/String;
6 9 6 result Lcom/oracle/truffle/api/TruffleFile;
MethodParameters:
Name Flags
targetDirectory
prefix
suffix
private static boolean isEmptyPath(java.nio.file.Path);
descriptor: (Ljava/nio/file/Path;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokeinterface java.nio.file.Path.isAbsolute:()Z
ifeq 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
invokeinterface java.nio.file.Path.getNameCount:()I
tableswitch { // 0 - 1
0: 3
1: 4
default: 5
}
3: StackMap locals:
StackMap stack:
iconst_1
ireturn
4: StackMap locals:
StackMap stack:
aload 0
iconst_0
invokeinterface java.nio.file.Path.getName:(I)Ljava/nio/file/Path;
invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
invokevirtual java.lang.String.isEmpty:()Z
ireturn
5: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 path Ljava/nio/file/Path;
MethodParameters:
Name Flags
path
public <T> T getAttribute(com.oracle.truffle.api.TruffleFile$AttributeDescriptor<T>, java.nio.file.LinkOption[]);
descriptor: (Lcom/oracle/truffle/api/TruffleFile$AttributeDescriptor;[Ljava/nio/file/LinkOption;)Ljava/lang/Object;
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
getfield com.oracle.truffle.api.TruffleFile$AttributeDescriptor.group:Lcom/oracle/truffle/api/TruffleFile$AttributeGroup;
aload 1
getfield com.oracle.truffle.api.TruffleFile$AttributeDescriptor.name:Ljava/lang/String;
invokestatic java.util.Collections.singleton:(Ljava/lang/Object;)Ljava/util/Set;
invokestatic com.oracle.truffle.api.TruffleFile.createAttributeString:(Lcom/oracle/truffle/api/TruffleFile$AttributeGroup;Ljava/lang/Iterable;)Ljava/lang/String;
aload 1
getfield com.oracle.truffle.api.TruffleFile$AttributeDescriptor.clazz:Ljava/lang/Class;
aload 2
invokevirtual com.oracle.truffle.api.TruffleFile.getAttributeImpl:(Ljava/lang/String;Ljava/lang/Class;[Ljava/nio/file/LinkOption;)Ljava/lang/Object;
1: areturn
2: StackMap locals:
StackMap stack: java.lang.Exception
astore 3
start local 3 3: aload 3
athrow
end local 3 4: StackMap locals:
StackMap stack: java.lang.Throwable
astore 3
start local 3 5: aload 0
aload 3
invokevirtual com.oracle.truffle.api.TruffleFile.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 6 0 this Lcom/oracle/truffle/api/TruffleFile;
0 6 1 attribute Lcom/oracle/truffle/api/TruffleFile$AttributeDescriptor<TT;>;
0 6 2 linkOptions [Ljava/nio/file/LinkOption;
3 4 3 e Ljava/lang/Exception;
5 6 3 t Ljava/lang/Throwable;
Exception table:
from to target type
0 1 2 Class java.io.IOException
0 1 2 Class java.lang.UnsupportedOperationException
0 1 2 Class java.lang.SecurityException
0 1 4 Class java.lang.Throwable
Exceptions:
throws java.io.IOException
Signature: <T:Ljava/lang/Object;>(Lcom/oracle/truffle/api/TruffleFile$AttributeDescriptor<TT;>;[Ljava/nio/file/LinkOption;)TT;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
attribute
linkOptions
public <T> void setAttribute(com.oracle.truffle.api.TruffleFile$AttributeDescriptor<T>, T, java.nio.file.LinkOption[]);
descriptor: (Lcom/oracle/truffle/api/TruffleFile$AttributeDescriptor;Ljava/lang/Object;[Ljava/nio/file/LinkOption;)V
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual com.oracle.truffle.api.TruffleFile.checkFileOperationPreconditions:()V
1: aload 0
getfield com.oracle.truffle.api.TruffleFile.fileSystemContext:Lcom/oracle/truffle/api/TruffleFile$FileSystemContext;
getfield com.oracle.truffle.api.TruffleFile$FileSystemContext.fileSystem:Lorg/graalvm/polyglot/io/FileSystem;
2: aload 0
getfield com.oracle.truffle.api.TruffleFile.normalizedPath:Ljava/nio/file/Path;
3: aload 1
getfield com.oracle.truffle.api.TruffleFile$AttributeDescriptor.group:Lcom/oracle/truffle/api/TruffleFile$AttributeGroup;
aload 1
getfield com.oracle.truffle.api.TruffleFile$AttributeDescriptor.name:Ljava/lang/String;
invokestatic java.util.Collections.singleton:(Ljava/lang/Object;)Ljava/util/Set;
invokestatic com.oracle.truffle.api.TruffleFile.createAttributeString:(Lcom/oracle/truffle/api/TruffleFile$AttributeGroup;Ljava/lang/Iterable;)Ljava/lang/String;
4: aload 2
5: aload 3
6: invokeinterface org.graalvm.polyglot.io.FileSystem.setAttribute:(Ljava/nio/file/Path;Ljava/lang/String;Ljava/lang/Object;[Ljava/nio/file/LinkOption;)V
7: goto 12
StackMap locals:
StackMap stack: java.lang.Exception
8: astore 4
start local 4 9: aload 4
athrow
end local 4 10: StackMap locals:
StackMap stack: java.lang.Throwable
astore 4
start local 4 11: aload 0
aload 4
invokevirtual com.oracle.truffle.api.TruffleFile.wrapHostException:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 4 12: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/oracle/truffle/api/TruffleFile;
0 13 1 attribute Lcom/oracle/truffle/api/TruffleFile$AttributeDescriptor<TT;>;
0 13 2 value TT;
0 13 3 linkOptions [Ljava/nio/file/LinkOption;
9 10 4 e Ljava/lang/Exception;
11 12 4 t Ljava/lang/Throwable;
Exception table:
from to target type
0 7 8 Class java.io.IOException
0 7 8 Class java.lang.UnsupportedOperationException
0 7 8 Class java.lang.SecurityException
0 7 10 Class java.lang.Throwable
Exceptions:
throws java.io.IOException
Signature: <T:Ljava/lang/Object;>(Lcom/oracle/truffle/api/TruffleFile$AttributeDescriptor<TT;>;TT;[Ljava/nio/file/LinkOption;)V
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
attribute
value
linkOptions
public com.oracle.truffle.api.TruffleFile$Attributes getAttributes(java.util.Collection<? extends com.oracle.truffle.api.TruffleFile$AttributeDescriptor<?>>, java.nio.file.LinkOption[]);
descriptor: (Ljava/util/Collection;[Ljava/nio/file/LinkOption;)Lcom/oracle/truffle/api/TruffleFile$Attributes;
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=4, locals=8, args_size=3
start local 0 start local 1 start local 2 0: new java.util.HashSet
dup
aload 1
invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
astore 3
start local 3 1: aload 3
invokeinterface java.util.Set.isEmpty:()Z
ifeq 3
2: new java.lang.IllegalArgumentException
dup
ldc "No descriptors given."
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: java.util.Set
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.api.TruffleFile.checkFileOperationPreconditions:()V
4: aconst_null
astore 4
start local 4 5: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 5
start local 5 6: aload 3
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 7
goto 11
StackMap locals: com.oracle.truffle.api.TruffleFile java.util.Collection java.nio.file.LinkOption[] java.util.Set com.oracle.truffle.api.TruffleFile$AttributeGroup java.util.List top java.util.Iterator
StackMap stack:
7: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.api.TruffleFile$AttributeDescriptor
astore 6
start local 6 8: aload 4
ifnull 9
aload 4
aload 6
getfield com.oracle.truffle.api.TruffleFile$AttributeDescriptor.group:Lcom/oracle/truffle/api/TruffleFile$AttributeGroup;
invokevirtual com.oracle.truffle.api.TruffleFile$AttributeGroup.contains:(Lcom/oracle/truffle/api/TruffleFile$AttributeGroup;)Z
ifne 10
9: StackMap locals: com.oracle.truffle.api.TruffleFile java.util.Collection java.nio.file.LinkOption[] java.util.Set com.oracle.truffle.api.TruffleFile$AttributeGroup java.util.List com.oracle.truffle.api.TruffleFile$AttributeDescriptor java.util.Iterator
StackMap stack:
aload 6
getfield com.oracle.truffle.api.TruffleFile$AttributeDescriptor.group:Lcom/oracle/truffle/api/TruffleFile$AttributeGroup;
astore 4
10: StackMap locals:
StackMap stack:
aload 5
aload 6
getfield com.oracle.truffle.api.TruffleFile$AttributeDescriptor.name:Ljava/lang/String;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 6 11: StackMap locals: com.oracle.truffle.api.TruffleFile java.util.Collection java.nio.file.LinkOption[] java.util.Set com.oracle.truffle.api.TruffleFile$AttributeGroup java.util.List top java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 7
12: aload 0
getfield com.oracle.truffle.api.TruffleFile.fileSystemContext:Lcom/oracle/truffle/api/TruffleFile$FileSystemContext;
getfield com.oracle.truffle.api.TruffleFile$FileSystemContext.fileSystem:Lorg/graalvm/polyglot/io/FileSystem;
aload 0
getfield com.oracle.truffle.api.TruffleFile.normalizedPath:Ljava/nio/file/Path;
aload 4
aload 5
invokestatic com.oracle.truffle.api.TruffleFile.createAttributeString:(Lcom/oracle/truffle/api/TruffleFile$AttributeGroup;Ljava/lang/Iterable;)Ljava/lang/String;
aload 2
invokeinterface org.graalvm.polyglot.io.FileSystem.readAttributes:(Ljava/nio/file/Path;Ljava/lang/String;[Ljava/nio/file/LinkOption;)Ljava/util/Map;
astore 6
start local 6 13: new com.oracle.truffle.api.TruffleFile$Attributes
dup
aload 3
aload 6
invokespecial com.oracle.truffle.api.TruffleFile$Attributes.<init>:(Ljava/util/Set;Ljava/util/Map;)V
14: areturn
end local 6 end local 5 end local 4 15: StackMap locals: com.oracle.truffle.api.TruffleFile java.util.Collection java.nio.file.LinkOption[] java.util.Set
StackMap stack: java.lang.Exception
astore 4
start local 4 16: aload 4
athrow
end local 4 17: StackMap locals:
StackMap stack: java.lang.Throwable
astore 4
start local 4 18: aload 0
aload 4
invokevirtual com.oracle.truffle.api.TruffleFile.wrapHostException:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
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 Lcom/oracle/truffle/api/TruffleFile;
0 19 1 attributes Ljava/util/Collection<+Lcom/oracle/truffle/api/TruffleFile$AttributeDescriptor<*>;>;
0 19 2 linkOptions [Ljava/nio/file/LinkOption;
1 19 3 useAttributes Ljava/util/Set<Lcom/oracle/truffle/api/TruffleFile$AttributeDescriptor<*>;>;
5 15 4 group Lcom/oracle/truffle/api/TruffleFile$AttributeGroup;
6 15 5 attributeNames Ljava/util/List<Ljava/lang/String;>;
8 11 6 descriptor Lcom/oracle/truffle/api/TruffleFile$AttributeDescriptor<*>;
13 15 6 map Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
16 17 4 e Ljava/lang/Exception;
18 19 4 t Ljava/lang/Throwable;
Exception table:
from to target type
3 14 15 Class java.io.IOException
3 14 15 Class java.lang.UnsupportedOperationException
3 14 15 Class java.lang.SecurityException
3 14 17 Class java.lang.Throwable
Exceptions:
throws java.io.IOException
Signature: (Ljava/util/Collection<+Lcom/oracle/truffle/api/TruffleFile$AttributeDescriptor<*>;>;[Ljava/nio/file/LinkOption;)Lcom/oracle/truffle/api/TruffleFile$Attributes;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
attributes
linkOptions
private static java.lang.String createAttributeString(com.oracle.truffle.api.TruffleFile$AttributeGroup, java.lang.Iterable<java.lang.String>);
descriptor: (Lcom/oracle/truffle/api/TruffleFile$AttributeGroup;Ljava/lang/Iterable;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: ldc ","
aload 1
invokestatic java.lang.String.join:(Ljava/lang/CharSequence;Ljava/lang/Iterable;)Ljava/lang/String;
astore 2
start local 2 1: aload 0
getstatic com.oracle.truffle.api.TruffleFile$AttributeGroup.BASIC:Lcom/oracle/truffle/api/TruffleFile$AttributeGroup;
if_acmpne 2
aload 2
goto 3
StackMap locals: java.lang.String
StackMap stack:
2: new java.lang.StringBuilder
dup
aload 0
getfield com.oracle.truffle.api.TruffleFile$AttributeGroup.name:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
bipush 58
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
StackMap locals:
StackMap stack: java.lang.String
3: areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 group Lcom/oracle/truffle/api/TruffleFile$AttributeGroup;
0 4 1 attributeNames Ljava/lang/Iterable<Ljava/lang/String;>;
1 4 2 joinedNames Ljava/lang/String;
Signature: (Lcom/oracle/truffle/api/TruffleFile$AttributeGroup;Ljava/lang/Iterable<Ljava/lang/String;>;)Ljava/lang/String;
MethodParameters:
Name Flags
group
attributeNames
private boolean isNormalized();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.api.TruffleFile.path:Ljava/nio/file/Path;
aload 0
getfield com.oracle.truffle.api.TruffleFile.normalizedPath:Ljava/nio/file/Path;
if_acmpeq 1
aload 0
getfield com.oracle.truffle.api.TruffleFile.path:Ljava/nio/file/Path;
aload 0
getfield com.oracle.truffle.api.TruffleFile.normalizedPath:Ljava/nio/file/Path;
invokeinterface java.nio.file.Path.equals:(Ljava/lang/Object;)Z
ifne 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/api/TruffleFile;
private java.nio.file.Path[] toAbsolutePathImpl();
descriptor: ()[Ljava/nio/file/Path;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.api.TruffleFile.fileSystemContext:Lcom/oracle/truffle/api/TruffleFile$FileSystemContext;
getfield com.oracle.truffle.api.TruffleFile$FileSystemContext.fileSystem:Lorg/graalvm/polyglot/io/FileSystem;
aload 0
getfield com.oracle.truffle.api.TruffleFile.path:Ljava/nio/file/Path;
invokeinterface org.graalvm.polyglot.io.FileSystem.toAbsolutePath:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
astore 1
start local 1 1: aload 0
getfield com.oracle.truffle.api.TruffleFile.fileSystemContext:Lcom/oracle/truffle/api/TruffleFile$FileSystemContext;
getfield com.oracle.truffle.api.TruffleFile$FileSystemContext.fileSystem:Lorg/graalvm/polyglot/io/FileSystem;
aload 0
getfield com.oracle.truffle.api.TruffleFile.normalizedPath:Ljava/nio/file/Path;
invokeinterface org.graalvm.polyglot.io.FileSystem.toAbsolutePath:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
invokeinterface java.nio.file.Path.normalize:()Ljava/nio/file/Path;
astore 2
start local 2 2: iconst_2
anewarray java.nio.file.Path
dup
iconst_0
aload 1
aastore
dup
iconst_1
aload 2
aastore
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/api/TruffleFile;
1 3 1 absolute Ljava/nio/file/Path;
2 3 2 normalizedAbsolute Ljava/nio/file/Path;
private boolean checkAccess(java.nio.file.AccessMode[]);
descriptor: ([Ljava/nio/file/AccessMode;)Z
flags: (0x0082) ACC_PRIVATE, ACC_VARARGS
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: ldc Ljava/nio/file/AccessMode;
invokestatic java.util.EnumSet.noneOf:(Ljava/lang/Class;)Ljava/util/EnumSet;
astore 2
start local 2 1: aload 2
aload 1
invokestatic java.util.Collections.addAll:(Ljava/util/Collection;[Ljava/lang/Object;)Z
pop
2: aload 0
aload 2
iconst_0
anewarray java.nio.file.LinkOption
invokevirtual com.oracle.truffle.api.TruffleFile.checkAccess:(Ljava/util/Set;[Ljava/nio/file/LinkOption;)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/api/TruffleFile;
0 3 1 modes [Ljava/nio/file/AccessMode;
1 3 2 modesSet Ljava/util/Set<Ljava/nio/file/AccessMode;>;
MethodParameters:
Name Flags
modes
private boolean checkAccess(java.util.Set<? extends java.nio.file.AccessMode>, java.nio.file.LinkOption[]);
descriptor: (Ljava/util/Set;[Ljava/nio/file/LinkOption;)Z
flags: (0x0082) ACC_PRIVATE, ACC_VARARGS
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual com.oracle.truffle.api.TruffleFile.checkFileOperationPreconditions:()V
1: aload 0
getfield com.oracle.truffle.api.TruffleFile.fileSystemContext:Lcom/oracle/truffle/api/TruffleFile$FileSystemContext;
getfield com.oracle.truffle.api.TruffleFile$FileSystemContext.fileSystem:Lorg/graalvm/polyglot/io/FileSystem;
aload 0
getfield com.oracle.truffle.api.TruffleFile.normalizedPath:Ljava/nio/file/Path;
aload 1
aload 2
invokeinterface org.graalvm.polyglot.io.FileSystem.checkAccess:(Ljava/nio/file/Path;Ljava/util/Set;[Ljava/nio/file/LinkOption;)V
2: iconst_1
ireturn
3: StackMap locals:
StackMap stack: java.io.IOException
pop
4: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/api/TruffleFile;
0 5 1 modes Ljava/util/Set<+Ljava/nio/file/AccessMode;>;
0 5 2 linkOptions [Ljava/nio/file/LinkOption;
Exception table:
from to target type
0 2 3 Class java.io.IOException
Signature: (Ljava/util/Set<+Ljava/nio/file/AccessMode;>;[Ljava/nio/file/LinkOption;)Z
MethodParameters:
Name Flags
modes
linkOptions
private <T> T getAttributeImpl(java.lang.String, java.lang.Class<T>, java.nio.file.LinkOption[]);
descriptor: (Ljava/lang/String;Ljava/lang/Class;[Ljava/nio/file/LinkOption;)Ljava/lang/Object;
flags: (0x0082) ACC_PRIVATE, ACC_VARARGS
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 0
getfield com.oracle.truffle.api.TruffleFile.normalizedPath:Ljava/nio/file/Path;
aload 1
aload 2
aload 3
invokevirtual com.oracle.truffle.api.TruffleFile.getAttributeImpl:(Ljava/nio/file/Path;Ljava/lang/String;Ljava/lang/Class;[Ljava/nio/file/LinkOption;)Ljava/lang/Object;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/TruffleFile;
0 1 1 attribute Ljava/lang/String;
0 1 2 type Ljava/lang/Class<TT;>;
0 1 3 options [Ljava/nio/file/LinkOption;
Exceptions:
throws java.io.IOException
Signature: <T:Ljava/lang/Object;>(Ljava/lang/String;Ljava/lang/Class<TT;>;[Ljava/nio/file/LinkOption;)TT;
MethodParameters:
Name Flags
attribute
type
options
private <T> T getAttributeImpl(java.nio.file.Path, java.lang.String, java.lang.Class<T>, java.nio.file.LinkOption[]);
descriptor: (Ljava/nio/file/Path;Ljava/lang/String;Ljava/lang/Class;[Ljava/nio/file/LinkOption;)Ljava/lang/Object;
flags: (0x0082) ACC_PRIVATE, ACC_VARARGS
Code:
stack=4, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
aload 2
aload 4
invokevirtual com.oracle.truffle.api.TruffleFile.getAttributeImpl:(Ljava/nio/file/Path;Ljava/lang/String;[Ljava/nio/file/LinkOption;)Ljava/lang/Object;
astore 5
start local 5 1: aload 5
ifnonnull 2
aconst_null
goto 3
StackMap locals: java.lang.Object
StackMap stack:
2: aload 3
aload 5
invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
StackMap locals:
StackMap stack: java.lang.Object
3: areturn
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 4 0 this Lcom/oracle/truffle/api/TruffleFile;
0 4 1 forPath Ljava/nio/file/Path;
0 4 2 attribute Ljava/lang/String;
0 4 3 type Ljava/lang/Class<TT;>;
0 4 4 options [Ljava/nio/file/LinkOption;
1 4 5 value Ljava/lang/Object;
Exceptions:
throws java.io.IOException
Signature: <T:Ljava/lang/Object;>(Ljava/nio/file/Path;Ljava/lang/String;Ljava/lang/Class<TT;>;[Ljava/nio/file/LinkOption;)TT;
MethodParameters:
Name Flags
forPath
attribute
type
options
private java.lang.Object getAttributeImpl(java.nio.file.Path, java.lang.String, java.nio.file.LinkOption[]);
descriptor: (Ljava/nio/file/Path;Ljava/lang/String;[Ljava/nio/file/LinkOption;)Ljava/lang/Object;
flags: (0x0082) ACC_PRIVATE, ACC_VARARGS
Code:
stack=4, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual com.oracle.truffle.api.TruffleFile.checkFileOperationPreconditions:()V
1: aload 0
getfield com.oracle.truffle.api.TruffleFile.fileSystemContext:Lcom/oracle/truffle/api/TruffleFile$FileSystemContext;
getfield com.oracle.truffle.api.TruffleFile$FileSystemContext.fileSystem:Lorg/graalvm/polyglot/io/FileSystem;
aload 1
aload 2
aload 3
invokeinterface org.graalvm.polyglot.io.FileSystem.readAttributes:(Ljava/nio/file/Path;Ljava/lang/String;[Ljava/nio/file/LinkOption;)Ljava/util/Map;
astore 4
start local 4 2: aload 2
bipush 58
invokevirtual java.lang.String.indexOf:(I)I
istore 5
start local 5 3: iload 5
ifge 4
aload 2
goto 5
StackMap locals: java.util.Map int
StackMap stack:
4: aload 2
iload 5
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
StackMap locals:
StackMap stack: java.lang.String
5: astore 6
start local 6 6: aload 4
aload 6
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
areturn
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 7 0 this Lcom/oracle/truffle/api/TruffleFile;
0 7 1 forPath Ljava/nio/file/Path;
0 7 2 attribute Ljava/lang/String;
0 7 3 options [Ljava/nio/file/LinkOption;
2 7 4 map Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
3 7 5 index I
6 7 6 key Ljava/lang/String;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
forPath final
attribute final
options final
private java.nio.file.Path createDirectoryImpl(java.nio.file.Path, java.nio.file.attribute.FileAttribute<?>[]);
descriptor: (Ljava/nio/file/Path;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/file/Path;
flags: (0x0082) ACC_PRIVATE, ACC_VARARGS
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.oracle.truffle.api.TruffleFile.fileSystemContext:Lcom/oracle/truffle/api/TruffleFile$FileSystemContext;
getfield com.oracle.truffle.api.TruffleFile$FileSystemContext.fileSystem:Lorg/graalvm/polyglot/io/FileSystem;
aload 1
aload 2
invokeinterface org.graalvm.polyglot.io.FileSystem.createDirectory:(Ljava/nio/file/Path;[Ljava/nio/file/attribute/FileAttribute;)V
1: aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/api/TruffleFile;
0 2 1 dir Ljava/nio/file/Path;
0 2 2 attrs [Ljava/nio/file/attribute/FileAttribute;
Exceptions:
throws java.io.IOException
Signature: (Ljava/nio/file/Path;[Ljava/nio/file/attribute/FileAttribute<*>;)Ljava/nio/file/Path;
MethodParameters:
Name Flags
dir
attrs
private java.nio.file.Path createDirAndCheck(java.nio.file.Path, java.nio.file.attribute.FileAttribute<?>[]);
descriptor: (Ljava/nio/file/Path;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/file/Path;
flags: (0x0082) ACC_PRIVATE, ACC_VARARGS
Code:
stack=8, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokevirtual com.oracle.truffle.api.TruffleFile.createDirectoryImpl:(Ljava/nio/file/Path;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/file/Path;
1: areturn
2: StackMap locals:
StackMap stack: java.nio.file.FileAlreadyExistsException
astore 3
start local 3 3: aload 0
aload 1
ldc "isDirectory"
ldc Ljava/lang/Boolean;
iconst_1
anewarray java.nio.file.LinkOption
dup
iconst_0
getstatic java.nio.file.LinkOption.NOFOLLOW_LINKS:Ljava/nio/file/LinkOption;
aastore
invokevirtual com.oracle.truffle.api.TruffleFile.getAttributeImpl:(Ljava/nio/file/Path;Ljava/lang/String;Ljava/lang/Class;[Ljava/nio/file/LinkOption;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 6
4: aload 1
5: areturn
6: StackMap locals: java.nio.file.FileAlreadyExistsException
StackMap stack:
aload 3
athrow
7: StackMap locals:
StackMap stack: java.io.IOException
pop
8: aload 3
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/oracle/truffle/api/TruffleFile;
0 9 1 dir Ljava/nio/file/Path;
0 9 2 attrs [Ljava/nio/file/attribute/FileAttribute;
3 9 3 faee Ljava/nio/file/FileAlreadyExistsException;
Exception table:
from to target type
0 1 2 Class java.nio.file.FileAlreadyExistsException
3 5 7 Class java.io.IOException
6 7 7 Class java.io.IOException
Exceptions:
throws java.io.IOException
Signature: (Ljava/nio/file/Path;[Ljava/nio/file/attribute/FileAttribute<*>;)Ljava/nio/file/Path;
MethodParameters:
Name Flags
dir
attrs
private java.nio.file.Path findExisting(java.nio.file.Path);
descriptor: (Ljava/nio/file/Path;)Ljava/nio/file/Path;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: ldc Ljava/nio/file/AccessMode;
invokestatic java.util.EnumSet.noneOf:(Ljava/lang/Class;)Ljava/util/EnumSet;
astore 2
start local 2 1: aload 1
invokeinterface java.nio.file.Path.getParent:()Ljava/nio/file/Path;
astore 3
start local 3 2: goto 8
3: StackMap locals: java.util.Set java.nio.file.Path
StackMap stack:
aload 0
getfield com.oracle.truffle.api.TruffleFile.fileSystemContext:Lcom/oracle/truffle/api/TruffleFile$FileSystemContext;
getfield com.oracle.truffle.api.TruffleFile$FileSystemContext.fileSystem:Lorg/graalvm/polyglot/io/FileSystem;
aload 3
aload 2
iconst_0
anewarray java.nio.file.LinkOption
invokeinterface org.graalvm.polyglot.io.FileSystem.checkAccess:(Ljava/nio/file/Path;Ljava/util/Set;[Ljava/nio/file/LinkOption;)V
4: aload 3
5: areturn
6: StackMap locals:
StackMap stack: java.nio.file.NoSuchFileException
pop
7: aload 3
invokeinterface java.nio.file.Path.getParent:()Ljava/nio/file/Path;
astore 3
StackMap locals:
StackMap stack:
8: aload 3
ifnonnull 3
end local 3 9: aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/oracle/truffle/api/TruffleFile;
0 10 1 forPath Ljava/nio/file/Path;
1 10 2 mode Ljava/util/Set<Ljava/nio/file/AccessMode;>;
2 9 3 p Ljava/nio/file/Path;
Exception table:
from to target type
3 5 6 Class java.nio.file.NoSuchFileException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
forPath
private <T extends java.lang.Throwable> java.lang.RuntimeException wrapHostException(T);
descriptor: (Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
getfield com.oracle.truffle.api.TruffleFile.fileSystemContext:Lcom/oracle/truffle/api/TruffleFile$FileSystemContext;
getfield com.oracle.truffle.api.TruffleFile$FileSystemContext.fileSystem:Lorg/graalvm/polyglot/io/FileSystem;
invokestatic com.oracle.truffle.api.TruffleFile.wrapHostException:(Ljava/lang/Throwable;Lorg/graalvm/polyglot/io/FileSystem;)Ljava/lang/RuntimeException;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/TruffleFile;
0 1 1 t TT;
Signature: <T:Ljava/lang/Throwable;>(TT;)Ljava/lang/RuntimeException;
MethodParameters:
Name Flags
t
static <T extends java.lang.Throwable> java.lang.RuntimeException wrapHostException(T, org.graalvm.polyglot.io.FileSystem);
descriptor: (Ljava/lang/Throwable;Lorg/graalvm/polyglot/io/FileSystem;)Ljava/lang/RuntimeException;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: invokestatic com.oracle.truffle.api.LanguageAccessor.engineAccess:()Lcom/oracle/truffle/api/impl/Accessor$EngineSupport;
aload 1
invokevirtual com.oracle.truffle.api.impl.Accessor$EngineSupport.isInternal:(Lorg/graalvm/polyglot/io/FileSystem;)Z
ifeq 2
1: aload 0
invokestatic com.oracle.truffle.api.TruffleLanguage$Env.engineToLanguageException:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
2: StackMap locals:
StackMap stack:
invokestatic com.oracle.truffle.api.LanguageAccessor.engineAccess:()Lcom/oracle/truffle/api/impl/Accessor$EngineSupport;
aconst_null
invokestatic com.oracle.truffle.api.LanguageAccessor.engineAccess:()Lcom/oracle/truffle/api/impl/Accessor$EngineSupport;
invokevirtual com.oracle.truffle.api.impl.Accessor$EngineSupport.getCurrentHostContext:()Ljava/lang/Object;
aload 0
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 t TT;
0 3 1 fs Lorg/graalvm/polyglot/io/FileSystem;
Signature: <T:Ljava/lang/Throwable;>(TT;Lorg/graalvm/polyglot/io/FileSystem;)Ljava/lang/RuntimeException;
MethodParameters:
Name Flags
t
fs
static int[] $SWITCH_TABLE$com$oracle$truffle$api$TruffleFile$Walker$Event$Type();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic com.oracle.truffle.api.TruffleFile.$SWITCH_TABLE$com$oracle$truffle$api$TruffleFile$Walker$Event$Type:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic com.oracle.truffle.api.TruffleFile$Walker$Event$Type.values:()[Lcom/oracle/truffle/api/TruffleFile$Walker$Event$Type;
arraylength
newarray 10
astore 0
2: aload 0
getstatic com.oracle.truffle.api.TruffleFile$Walker$Event$Type.POST_VISIT_DIRECTORY:Lcom/oracle/truffle/api/TruffleFile$Walker$Event$Type;
invokevirtual com.oracle.truffle.api.TruffleFile$Walker$Event$Type.ordinal:()I
iconst_3
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic com.oracle.truffle.api.TruffleFile$Walker$Event$Type.PRE_VISIT_DIRECTORY:Lcom/oracle/truffle/api/TruffleFile$Walker$Event$Type;
invokevirtual com.oracle.truffle.api.TruffleFile$Walker$Event$Type.ordinal:()I
iconst_1
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic com.oracle.truffle.api.TruffleFile$Walker$Event$Type.VISIT:Lcom/oracle/truffle/api/TruffleFile$Walker$Event$Type;
invokevirtual com.oracle.truffle.api.TruffleFile$Walker$Event$Type.ordinal:()I
iconst_2
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
dup
putstatic com.oracle.truffle.api.TruffleFile.$SWITCH_TABLE$com$oracle$truffle$api$TruffleFile$Walker$Event$Type:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
static int[] $SWITCH_TABLE$java$nio$file$FileVisitResult();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic com.oracle.truffle.api.TruffleFile.$SWITCH_TABLE$java$nio$file$FileVisitResult:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic java.nio.file.FileVisitResult.values:()[Ljava/nio/file/FileVisitResult;
arraylength
newarray 10
astore 0
2: aload 0
getstatic java.nio.file.FileVisitResult.CONTINUE:Ljava/nio/file/FileVisitResult;
invokevirtual java.nio.file.FileVisitResult.ordinal:()I
iconst_1
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic java.nio.file.FileVisitResult.SKIP_SIBLINGS:Ljava/nio/file/FileVisitResult;
invokevirtual java.nio.file.FileVisitResult.ordinal:()I
iconst_4
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic java.nio.file.FileVisitResult.SKIP_SUBTREE:Ljava/nio/file/FileVisitResult;
invokevirtual java.nio.file.FileVisitResult.ordinal:()I
iconst_3
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic java.nio.file.FileVisitResult.TERMINATE:Ljava/nio/file/FileVisitResult;
invokevirtual java.nio.file.FileVisitResult.ordinal:()I
iconst_2
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
dup
putstatic com.oracle.truffle.api.TruffleFile.$SWITCH_TABLE$java$nio$file$FileVisitResult:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
11 12 13 Class java.lang.NoSuchFieldError
}
SourceFile: "TruffleFile.java"
NestMembers:
com.oracle.truffle.api.TruffleFile$AllFiles com.oracle.truffle.api.TruffleFile$AttributeDescriptor com.oracle.truffle.api.TruffleFile$AttributeGroup com.oracle.truffle.api.TruffleFile$Attributes com.oracle.truffle.api.TruffleFile$ByteChannelDecorator com.oracle.truffle.api.TruffleFile$FileSystemContext com.oracle.truffle.api.TruffleFile$FileTypeDetector com.oracle.truffle.api.TruffleFile$TempFileRandomHolder com.oracle.truffle.api.TruffleFile$TruffleFileDirectoryStream com.oracle.truffle.api.TruffleFile$TruffleFileDirectoryStream$IteratorImpl com.oracle.truffle.api.TruffleFile$Walker com.oracle.truffle.api.TruffleFile$Walker$Event com.oracle.truffle.api.TruffleFile$Walker$Event$Type com.oracle.truffle.api.TruffleFile$Walker$IteratorImpl com.oracle.truffle.api.TruffleFile$Walker$IteratorImpl$BasicFileAttributesImpl com.oracle.truffle.api.TruffleFile$Walker$IteratorImpl$Dir
InnerClasses:
public abstract TruffleBoundary = com.oracle.truffle.api.CompilerDirectives$TruffleBoundary of com.oracle.truffle.api.CompilerDirectives
private final AllFiles = com.oracle.truffle.api.TruffleFile$AllFiles of com.oracle.truffle.api.TruffleFile
public final AttributeDescriptor = com.oracle.truffle.api.TruffleFile$AttributeDescriptor of com.oracle.truffle.api.TruffleFile
private final AttributeGroup = com.oracle.truffle.api.TruffleFile$AttributeGroup of com.oracle.truffle.api.TruffleFile
public final Attributes = com.oracle.truffle.api.TruffleFile$Attributes of com.oracle.truffle.api.TruffleFile
private final ByteChannelDecorator = com.oracle.truffle.api.TruffleFile$ByteChannelDecorator of com.oracle.truffle.api.TruffleFile
final FileSystemContext = com.oracle.truffle.api.TruffleFile$FileSystemContext of com.oracle.truffle.api.TruffleFile
public abstract FileTypeDetector = com.oracle.truffle.api.TruffleFile$FileTypeDetector of com.oracle.truffle.api.TruffleFile
private final TempFileRandomHolder = com.oracle.truffle.api.TruffleFile$TempFileRandomHolder of com.oracle.truffle.api.TruffleFile
private final TruffleFileDirectoryStream = com.oracle.truffle.api.TruffleFile$TruffleFileDirectoryStream of com.oracle.truffle.api.TruffleFile
private final Walker = com.oracle.truffle.api.TruffleFile$Walker of com.oracle.truffle.api.TruffleFile
Event = com.oracle.truffle.api.TruffleFile$Walker$Event of com.oracle.truffle.api.TruffleFile$Walker
final Type = com.oracle.truffle.api.TruffleFile$Walker$Event$Type of com.oracle.truffle.api.TruffleFile$Walker$Event
public final Env = com.oracle.truffle.api.TruffleLanguage$Env of com.oracle.truffle.api.TruffleLanguage
public abstract EngineSupport = com.oracle.truffle.api.impl.Accessor$EngineSupport of com.oracle.truffle.api.impl.Accessor
public abstract Filter = java.nio.file.DirectoryStream$Filter of java.nio.file.DirectoryStream