final class com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem implements com.oracle.truffle.polyglot.FileSystems$InternalFileSystem
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem
  super_class: java.lang.Object
{
  private org.graalvm.polyglot.io.FileSystem delegate;
    descriptor: Lorg/graalvm/polyglot/io/FileSystem;
    flags: (0x0002) ACC_PRIVATE

  private java.util.function.Function<java.nio.file.Path, com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem$PreInitializePath> factory;
    descriptor: Ljava/util/function/Function;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/function/Function<Ljava/nio/file/Path;Lcom/oracle/truffle/polyglot/FileSystems$PreInitializeContextFileSystem$PreInitializePath;>;

  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem this
         0: .line 233
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 234
            aload 0 /* this */
            invokestatic com.oracle.truffle.polyglot.FileSystems.newDefaultFileSystem:()Lorg/graalvm/polyglot/io/FileSystem;
            putfield com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem.delegate:Lorg/graalvm/polyglot/io/FileSystem;
         2: .line 235
            aload 0 /* this */
            new com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem$ImageBuildTimeFactory
            dup
            aload 0 /* this */
            invokespecial com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem$ImageBuildTimeFactory.<init>:(Lcom/oracle/truffle/polyglot/FileSystems$PreInitializeContextFileSystem;)V
            putfield com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem.factory:Ljava/util/function/Function;
         3: .line 236
            return
        end local 0 // com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/oracle/truffle/polyglot/FileSystems$PreInitializeContextFileSystem;

  void onPreInitializeContextEnd();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem this
         0: .line 239
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem.factory:Ljava/util/function/Function;
            checkcast com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem$ImageBuildTimeFactory
            invokevirtual com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem$ImageBuildTimeFactory.onPreInitializeContextEnd:()V
         1: .line 240
            aload 0 /* this */
            getstatic com.oracle.truffle.polyglot.FileSystems.INVALID_FILESYSTEM:Lorg/graalvm/polyglot/io/FileSystem;
            putfield com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem.delegate:Lorg/graalvm/polyglot/io/FileSystem;
         2: .line 241
            return
        end local 0 // com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/oracle/truffle/polyglot/FileSystems$PreInitializeContextFileSystem;

  void onLoadPreinitializedContext(org.graalvm.polyglot.io.FileSystem);
    descriptor: (Lorg/graalvm/polyglot/io/FileSystem;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem this
        start local 1 // org.graalvm.polyglot.io.FileSystem newDelegate
         0: .line 244
            aload 1 /* newDelegate */
            ldc "NewDelegate must be non null."
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         1: .line 245
            aload 0 /* this */
            aload 1 /* newDelegate */
            putfield com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem.delegate:Lorg/graalvm/polyglot/io/FileSystem;
         2: .line 246
            aload 0 /* this */
            new com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem$ImageExecutionTimeFactory
            dup
            aload 0 /* this */
            invokespecial com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem$ImageExecutionTimeFactory.<init>:(Lcom/oracle/truffle/polyglot/FileSystems$PreInitializeContextFileSystem;)V
            putfield com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem.factory:Ljava/util/function/Function;
         3: .line 247
            return
        end local 1 // org.graalvm.polyglot.io.FileSystem newDelegate
        end local 0 // com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Lcom/oracle/truffle/polyglot/FileSystems$PreInitializeContextFileSystem;
            0    4     1  newDelegate  Lorg/graalvm/polyglot/io/FileSystem;
    MethodParameters:
             Name  Flags
      newDelegate  

  java.lang.String pathToString(java.nio.file.Path);
    descriptor: (Ljava/nio/file/Path;)Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem this
        start local 1 // java.nio.file.Path path
         0: .line 250
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem.delegate:Lorg/graalvm/polyglot/io/FileSystem;
            getstatic com.oracle.truffle.polyglot.FileSystems.INVALID_FILESYSTEM:Lorg/graalvm/polyglot/io/FileSystem;
            if_acmpeq 2
         1: .line 251
            aload 1 /* path */
            invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
            areturn
         2: .line 253
      StackMap locals:
      StackMap stack:
            invokestatic com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem.verifyImageState:()V
         3: .line 254
            aload 1 /* path */
            checkcast com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem$PreInitializePath
            invokestatic com.oracle.truffle.polyglot.FileSystems.newDefaultFileSystem:()Lorg/graalvm/polyglot/io/FileSystem;
            invokevirtual com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem$PreInitializePath.resolve:(Lorg/graalvm/polyglot/io/FileSystem;)Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.nio.file.Path path
        end local 0 // com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/oracle/truffle/polyglot/FileSystems$PreInitializeContextFileSystem;
            0    4     1  path  Ljava/nio/file/Path;
    MethodParameters:
      Name  Flags
      path  

  java.net.URI absolutePathtoURI(java.nio.file.Path);
    descriptor: (Ljava/nio/file/Path;)Ljava/net/URI;
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem this
        start local 1 // java.nio.file.Path path
         0: .line 258
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem.delegate:Lorg/graalvm/polyglot/io/FileSystem;
            getstatic com.oracle.truffle.polyglot.FileSystems.INVALID_FILESYSTEM:Lorg/graalvm/polyglot/io/FileSystem;
            if_acmpeq 2
         1: .line 259
            aload 1 /* path */
            invokeinterface java.nio.file.Path.toUri:()Ljava/net/URI;
            areturn
         2: .line 261
      StackMap locals:
      StackMap stack:
            invokestatic com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem.verifyImageState:()V
         3: .line 262
            aload 1 /* path */
            checkcast com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem$PreInitializePath
            invokestatic com.oracle.truffle.polyglot.FileSystems.newDefaultFileSystem:()Lorg/graalvm/polyglot/io/FileSystem;
            invokevirtual com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem$PreInitializePath.resolve:(Lorg/graalvm/polyglot/io/FileSystem;)Ljava/nio/file/Path;
            astore 2 /* resolved */
        start local 2 // java.nio.file.Path resolved
         4: .line 263
            aload 2 /* resolved */
            invokeinterface java.nio.file.Path.isAbsolute:()Z
            ifne 6
         5: .line 264
            new java.lang.IllegalArgumentException
            dup
            ldc "Path must be absolute."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 266
      StackMap locals: java.nio.file.Path
      StackMap stack:
            aload 2 /* resolved */
            invokeinterface java.nio.file.Path.toUri:()Ljava/net/URI;
            areturn
        end local 2 // java.nio.file.Path resolved
        end local 1 // java.nio.file.Path path
        end local 0 // com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lcom/oracle/truffle/polyglot/FileSystems$PreInitializeContextFileSystem;
            0    7     1      path  Ljava/nio/file/Path;
            4    7     2  resolved  Ljava/nio/file/Path;
    MethodParameters:
      Name  Flags
      path  

  private static void verifyImageState();
    descriptor: ()V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 270
            invokestatic org.graalvm.nativeimage.ImageInfo.inImageBuildtimeCode:()Z
            ifeq 2
         1: .line 271
            new java.lang.IllegalStateException
            dup
            ldc "Reintroducing absolute path into an image heap."
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 273
      StackMap locals:
      StackMap stack:
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public boolean hasAllAccess();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem this
         0: .line 277
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem.delegate:Lorg/graalvm/polyglot/io/FileSystem;
            instanceof com.oracle.truffle.polyglot.FileSystems$InternalFileSystem
            ifeq 1
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem.delegate:Lorg/graalvm/polyglot/io/FileSystem;
            checkcast com.oracle.truffle.polyglot.FileSystems$InternalFileSystem
            invokeinterface com.oracle.truffle.polyglot.FileSystems$InternalFileSystem.hasAllAccess:()Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/polyglot/FileSystems$PreInitializeContextFileSystem;

  public java.nio.file.Path parsePath(java.net.URI);
    descriptor: (Ljava/net/URI;)Ljava/nio/file/Path;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem this
        start local 1 // java.net.URI path
         0: .line 283
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem.delegate:Lorg/graalvm/polyglot/io/FileSystem;
            aload 1 /* path */
            invokeinterface org.graalvm.polyglot.io.FileSystem.parsePath:(Ljava/net/URI;)Ljava/nio/file/Path;
            invokevirtual com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem.wrap:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
         1: areturn
         2: .line 284
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
            astore 2 /* e */
        start local 2 // java.lang.RuntimeException e
         3: .line 285
            new java.lang.UnsupportedOperationException
            dup
            aload 2 /* e */
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.lang.RuntimeException e
        end local 1 // java.net.URI path
        end local 0 // com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/oracle/truffle/polyglot/FileSystems$PreInitializeContextFileSystem;
            0    4     1  path  Ljava/net/URI;
            3    4     2     e  Ljava/lang/RuntimeException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.IllegalArgumentException
           0     1       2  Class java.nio.file.FileSystemNotFoundException
    MethodParameters:
      Name  Flags
      path  

  public java.nio.file.Path parsePath(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/nio/file/Path;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem this
        start local 1 // java.lang.String path
         0: .line 291
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem.delegate:Lorg/graalvm/polyglot/io/FileSystem;
            aload 1 /* path */
            invokeinterface org.graalvm.polyglot.io.FileSystem.parsePath:(Ljava/lang/String;)Ljava/nio/file/Path;
            invokevirtual com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem.wrap:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
            areturn
        end local 1 // java.lang.String path
        end local 0 // com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/polyglot/FileSystems$PreInitializeContextFileSystem;
            0    1     1  path  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      path  

  public void checkAccess(java.nio.file.Path, java.util.Set<? extends java.nio.file.AccessMode>, java.nio.file.LinkOption[]);
    descriptor: (Ljava/nio/file/Path;Ljava/util/Set;[Ljava/nio/file/LinkOption;)V
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem this
        start local 1 // java.nio.file.Path path
        start local 2 // java.util.Set modes
        start local 3 // java.nio.file.LinkOption[] linkOptions
         0: .line 296
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem.delegate:Lorg/graalvm/polyglot/io/FileSystem;
            aload 1 /* path */
            invokestatic com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem.unwrap:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
            aload 2 /* modes */
            aload 3 /* linkOptions */
            invokeinterface org.graalvm.polyglot.io.FileSystem.checkAccess:(Ljava/nio/file/Path;Ljava/util/Set;[Ljava/nio/file/LinkOption;)V
         1: .line 297
            return
        end local 3 // java.nio.file.LinkOption[] linkOptions
        end local 2 // java.util.Set modes
        end local 1 // java.nio.file.Path path
        end local 0 // com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lcom/oracle/truffle/polyglot/FileSystems$PreInitializeContextFileSystem;
            0    2     1         path  Ljava/nio/file/Path;
            0    2     2        modes  Ljava/util/Set<+Ljava/nio/file/AccessMode;>;
            0    2     3  linkOptions  [Ljava/nio/file/LinkOption;
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/nio/file/Path;Ljava/util/Set<+Ljava/nio/file/AccessMode;>;[Ljava/nio/file/LinkOption;)V
    MethodParameters:
             Name  Flags
      path         
      modes        
      linkOptions  

  public void createDirectory(java.nio.file.Path, java.nio.file.attribute.FileAttribute<?>[]);
    descriptor: (Ljava/nio/file/Path;[Ljava/nio/file/attribute/FileAttribute;)V
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem this
        start local 1 // java.nio.file.Path dir
        start local 2 // java.nio.file.attribute.FileAttribute[] attrs
         0: .line 301
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem.delegate:Lorg/graalvm/polyglot/io/FileSystem;
            aload 1 /* dir */
            invokestatic com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem.unwrap:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
            aload 2 /* attrs */
            invokeinterface org.graalvm.polyglot.io.FileSystem.createDirectory:(Ljava/nio/file/Path;[Ljava/nio/file/attribute/FileAttribute;)V
         1: .line 302
            return
        end local 2 // java.nio.file.attribute.FileAttribute[] attrs
        end local 1 // java.nio.file.Path dir
        end local 0 // com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/oracle/truffle/polyglot/FileSystems$PreInitializeContextFileSystem;
            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<*>;)V
    MethodParameters:
       Name  Flags
      dir    
      attrs  

  public void delete(java.nio.file.Path);
    descriptor: (Ljava/nio/file/Path;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem this
        start local 1 // java.nio.file.Path path
         0: .line 306
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem.delegate:Lorg/graalvm/polyglot/io/FileSystem;
            aload 1 /* path */
            invokestatic com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem.unwrap:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
            invokeinterface org.graalvm.polyglot.io.FileSystem.delete:(Ljava/nio/file/Path;)V
         1: .line 307
            return
        end local 1 // java.nio.file.Path path
        end local 0 // com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/polyglot/FileSystems$PreInitializeContextFileSystem;
            0    2     1  path  Ljava/nio/file/Path;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      path  

  public java.nio.channels.SeekableByteChannel newByteChannel(java.nio.file.Path, java.util.Set<? extends java.nio.file.OpenOption>, java.nio.file.attribute.FileAttribute<?>[]);
    descriptor: (Ljava/nio/file/Path;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=4
        start local 0 // com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem this
        start local 1 // java.nio.file.Path path
        start local 2 // java.util.Set options
        start local 3 // java.nio.file.attribute.FileAttribute[] attrs
         0: .line 311
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem.delegate:Lorg/graalvm/polyglot/io/FileSystem;
            aload 1 /* path */
            invokestatic com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem.unwrap:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
            aload 2 /* options */
            aload 3 /* attrs */
            invokeinterface org.graalvm.polyglot.io.FileSystem.newByteChannel:(Ljava/nio/file/Path;Ljava/util/Set;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/channels/SeekableByteChannel;
            areturn
        end local 3 // java.nio.file.attribute.FileAttribute[] attrs
        end local 2 // java.util.Set options
        end local 1 // java.nio.file.Path path
        end local 0 // com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lcom/oracle/truffle/polyglot/FileSystems$PreInitializeContextFileSystem;
            0    1     1     path  Ljava/nio/file/Path;
            0    1     2  options  Ljava/util/Set<+Ljava/nio/file/OpenOption;>;
            0    1     3    attrs  [Ljava/nio/file/attribute/FileAttribute;
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/nio/file/Path;Ljava/util/Set<+Ljava/nio/file/OpenOption;>;[Ljava/nio/file/attribute/FileAttribute<*>;)Ljava/nio/channels/SeekableByteChannel;
    MethodParameters:
         Name  Flags
      path     
      options  
      attrs    

  public java.nio.file.DirectoryStream<java.nio.file.Path> newDirectoryStream(java.nio.file.Path, java.nio.file.DirectoryStream$Filter<? super java.nio.file.Path>);
    descriptor: (Ljava/nio/file/Path;Ljava/nio/file/DirectoryStream$Filter;)Ljava/nio/file/DirectoryStream;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem this
        start local 1 // java.nio.file.Path dir
        start local 2 // java.nio.file.DirectoryStream$Filter filter
         0: .line 316
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem.delegate:Lorg/graalvm/polyglot/io/FileSystem;
            aload 1 /* dir */
            invokestatic com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem.unwrap:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
            aload 2 /* filter */
            invokeinterface org.graalvm.polyglot.io.FileSystem.newDirectoryStream:(Ljava/nio/file/Path;Ljava/nio/file/DirectoryStream$Filter;)Ljava/nio/file/DirectoryStream;
            astore 3 /* delegateStream */
        start local 3 // java.nio.file.DirectoryStream delegateStream
         1: .line 317
            new com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem$1
            dup
            aload 0 /* this */
            aload 3 /* delegateStream */
            invokespecial com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem$1.<init>:(Lcom/oracle/truffle/polyglot/FileSystems$PreInitializeContextFileSystem;Ljava/nio/file/DirectoryStream;)V
            areturn
        end local 3 // java.nio.file.DirectoryStream delegateStream
        end local 2 // java.nio.file.DirectoryStream$Filter filter
        end local 1 // java.nio.file.Path dir
        end local 0 // com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lcom/oracle/truffle/polyglot/FileSystems$PreInitializeContextFileSystem;
            0    2     1             dir  Ljava/nio/file/Path;
            0    2     2          filter  Ljava/nio/file/DirectoryStream$Filter<-Ljava/nio/file/Path;>;
            1    2     3  delegateStream  Ljava/nio/file/DirectoryStream<Ljava/nio/file/Path;>;
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/nio/file/Path;Ljava/nio/file/DirectoryStream$Filter<-Ljava/nio/file/Path;>;)Ljava/nio/file/DirectoryStream<Ljava/nio/file/Path;>;
    MethodParameters:
        Name  Flags
      dir     
      filter  

  public java.nio.file.Path toAbsolutePath(java.nio.file.Path);
    descriptor: (Ljava/nio/file/Path;)Ljava/nio/file/Path;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem this
        start local 1 // java.nio.file.Path path
         0: .line 332
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem.delegate:Lorg/graalvm/polyglot/io/FileSystem;
            aload 1 /* path */
            invokestatic com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem.unwrap:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
            invokeinterface org.graalvm.polyglot.io.FileSystem.toAbsolutePath:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
            invokevirtual com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem.wrap:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
            areturn
        end local 1 // java.nio.file.Path path
        end local 0 // com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/polyglot/FileSystems$PreInitializeContextFileSystem;
            0    1     1  path  Ljava/nio/file/Path;
    MethodParameters:
      Name  Flags
      path  

  public java.nio.file.Path toRealPath(java.nio.file.Path, java.nio.file.LinkOption[]);
    descriptor: (Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Ljava/nio/file/Path;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem this
        start local 1 // java.nio.file.Path path
        start local 2 // java.nio.file.LinkOption[] linkOptions
         0: .line 337
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem.delegate:Lorg/graalvm/polyglot/io/FileSystem;
            aload 1 /* path */
            invokestatic com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem.unwrap:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
            aload 2 /* linkOptions */
            invokeinterface org.graalvm.polyglot.io.FileSystem.toRealPath:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Ljava/nio/file/Path;
            invokevirtual com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem.wrap:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
            areturn
        end local 2 // java.nio.file.LinkOption[] linkOptions
        end local 1 // java.nio.file.Path path
        end local 0 // com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lcom/oracle/truffle/polyglot/FileSystems$PreInitializeContextFileSystem;
            0    1     1         path  Ljava/nio/file/Path;
            0    1     2  linkOptions  [Ljava/nio/file/LinkOption;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
             Name  Flags
      path         
      linkOptions  

  public java.util.Map<java.lang.String, java.lang.Object> readAttributes(java.nio.file.Path, java.lang.String, java.nio.file.LinkOption[]);
    descriptor: (Ljava/nio/file/Path;Ljava/lang/String;[Ljava/nio/file/LinkOption;)Ljava/util/Map;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem this
        start local 1 // java.nio.file.Path path
        start local 2 // java.lang.String attributes
        start local 3 // java.nio.file.LinkOption[] options
         0: .line 342
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem.delegate:Lorg/graalvm/polyglot/io/FileSystem;
            aload 1 /* path */
            invokestatic com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem.unwrap:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
            aload 2 /* attributes */
            aload 3 /* options */
            invokeinterface org.graalvm.polyglot.io.FileSystem.readAttributes:(Ljava/nio/file/Path;Ljava/lang/String;[Ljava/nio/file/LinkOption;)Ljava/util/Map;
            areturn
        end local 3 // java.nio.file.LinkOption[] options
        end local 2 // java.lang.String attributes
        end local 1 // java.nio.file.Path path
        end local 0 // com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lcom/oracle/truffle/polyglot/FileSystems$PreInitializeContextFileSystem;
            0    1     1        path  Ljava/nio/file/Path;
            0    1     2  attributes  Ljava/lang/String;
            0    1     3     options  [Ljava/nio/file/LinkOption;
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/nio/file/Path;Ljava/lang/String;[Ljava/nio/file/LinkOption;)Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
    MethodParameters:
            Name  Flags
      path        
      attributes  
      options     

  public void setAttribute(java.nio.file.Path, java.lang.String, java.lang.Object, java.nio.file.LinkOption[]);
    descriptor: (Ljava/nio/file/Path;Ljava/lang/String;Ljava/lang/Object;[Ljava/nio/file/LinkOption;)V
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem this
        start local 1 // java.nio.file.Path path
        start local 2 // java.lang.String attribute
        start local 3 // java.lang.Object value
        start local 4 // java.nio.file.LinkOption[] options
         0: .line 347
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem.delegate:Lorg/graalvm/polyglot/io/FileSystem;
            aload 1 /* path */
            invokestatic com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem.unwrap:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
            aload 2 /* attribute */
            aload 3 /* value */
            aload 4 /* options */
            invokeinterface org.graalvm.polyglot.io.FileSystem.setAttribute:(Ljava/nio/file/Path;Ljava/lang/String;Ljava/lang/Object;[Ljava/nio/file/LinkOption;)V
         1: .line 348
            return
        end local 4 // java.nio.file.LinkOption[] options
        end local 3 // java.lang.Object value
        end local 2 // java.lang.String attribute
        end local 1 // java.nio.file.Path path
        end local 0 // com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lcom/oracle/truffle/polyglot/FileSystems$PreInitializeContextFileSystem;
            0    2     1       path  Ljava/nio/file/Path;
            0    2     2  attribute  Ljava/lang/String;
            0    2     3      value  Ljava/lang/Object;
            0    2     4    options  [Ljava/nio/file/LinkOption;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
           Name  Flags
      path       
      attribute  
      value      
      options    

  public void copy(java.nio.file.Path, java.nio.file.Path, java.nio.file.CopyOption[]);
    descriptor: (Ljava/nio/file/Path;Ljava/nio/file/Path;[Ljava/nio/file/CopyOption;)V
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem this
        start local 1 // java.nio.file.Path source
        start local 2 // java.nio.file.Path target
        start local 3 // java.nio.file.CopyOption[] options
         0: .line 352
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem.delegate:Lorg/graalvm/polyglot/io/FileSystem;
            aload 1 /* source */
            invokestatic com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem.unwrap:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
            aload 2 /* target */
            invokestatic com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem.unwrap:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
            aload 3 /* options */
            invokeinterface org.graalvm.polyglot.io.FileSystem.copy:(Ljava/nio/file/Path;Ljava/nio/file/Path;[Ljava/nio/file/CopyOption;)V
         1: .line 353
            return
        end local 3 // java.nio.file.CopyOption[] options
        end local 2 // java.nio.file.Path target
        end local 1 // java.nio.file.Path source
        end local 0 // com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lcom/oracle/truffle/polyglot/FileSystems$PreInitializeContextFileSystem;
            0    2     1   source  Ljava/nio/file/Path;
            0    2     2   target  Ljava/nio/file/Path;
            0    2     3  options  [Ljava/nio/file/CopyOption;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      source   
      target   
      options  

  public void move(java.nio.file.Path, java.nio.file.Path, java.nio.file.CopyOption[]);
    descriptor: (Ljava/nio/file/Path;Ljava/nio/file/Path;[Ljava/nio/file/CopyOption;)V
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem this
        start local 1 // java.nio.file.Path source
        start local 2 // java.nio.file.Path target
        start local 3 // java.nio.file.CopyOption[] options
         0: .line 357
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem.delegate:Lorg/graalvm/polyglot/io/FileSystem;
            aload 1 /* source */
            invokestatic com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem.unwrap:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
            aload 2 /* target */
            invokestatic com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem.unwrap:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
            aload 3 /* options */
            invokeinterface org.graalvm.polyglot.io.FileSystem.move:(Ljava/nio/file/Path;Ljava/nio/file/Path;[Ljava/nio/file/CopyOption;)V
         1: .line 358
            return
        end local 3 // java.nio.file.CopyOption[] options
        end local 2 // java.nio.file.Path target
        end local 1 // java.nio.file.Path source
        end local 0 // com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lcom/oracle/truffle/polyglot/FileSystems$PreInitializeContextFileSystem;
            0    2     1   source  Ljava/nio/file/Path;
            0    2     2   target  Ljava/nio/file/Path;
            0    2     3  options  [Ljava/nio/file/CopyOption;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      source   
      target   
      options  

  public void createLink(java.nio.file.Path, java.nio.file.Path);
    descriptor: (Ljava/nio/file/Path;Ljava/nio/file/Path;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem this
        start local 1 // java.nio.file.Path link
        start local 2 // java.nio.file.Path existing
         0: .line 362
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem.delegate:Lorg/graalvm/polyglot/io/FileSystem;
            aload 1 /* link */
            invokestatic com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem.unwrap:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
            aload 2 /* existing */
            invokestatic com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem.unwrap:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
            invokeinterface org.graalvm.polyglot.io.FileSystem.createLink:(Ljava/nio/file/Path;Ljava/nio/file/Path;)V
         1: .line 363
            return
        end local 2 // java.nio.file.Path existing
        end local 1 // java.nio.file.Path link
        end local 0 // com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lcom/oracle/truffle/polyglot/FileSystems$PreInitializeContextFileSystem;
            0    2     1      link  Ljava/nio/file/Path;
            0    2     2  existing  Ljava/nio/file/Path;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      link      
      existing  

  public void createSymbolicLink(java.nio.file.Path, java.nio.file.Path, java.nio.file.attribute.FileAttribute<?>[]);
    descriptor: (Ljava/nio/file/Path;Ljava/nio/file/Path;[Ljava/nio/file/attribute/FileAttribute;)V
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem this
        start local 1 // java.nio.file.Path link
        start local 2 // java.nio.file.Path target
        start local 3 // java.nio.file.attribute.FileAttribute[] attrs
         0: .line 367
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem.delegate:Lorg/graalvm/polyglot/io/FileSystem;
            aload 1 /* link */
            invokestatic com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem.unwrap:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
            aload 2 /* target */
            invokestatic com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem.unwrap:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
            aload 3 /* attrs */
            invokeinterface org.graalvm.polyglot.io.FileSystem.createSymbolicLink:(Ljava/nio/file/Path;Ljava/nio/file/Path;[Ljava/nio/file/attribute/FileAttribute;)V
         1: .line 368
            return
        end local 3 // java.nio.file.attribute.FileAttribute[] attrs
        end local 2 // java.nio.file.Path target
        end local 1 // java.nio.file.Path link
        end local 0 // com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lcom/oracle/truffle/polyglot/FileSystems$PreInitializeContextFileSystem;
            0    2     1    link  Ljava/nio/file/Path;
            0    2     2  target  Ljava/nio/file/Path;
            0    2     3   attrs  [Ljava/nio/file/attribute/FileAttribute;
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/nio/file/Path;Ljava/nio/file/Path;[Ljava/nio/file/attribute/FileAttribute<*>;)V
    MethodParameters:
        Name  Flags
      link    
      target  
      attrs   

  public java.nio.file.Path readSymbolicLink(java.nio.file.Path);
    descriptor: (Ljava/nio/file/Path;)Ljava/nio/file/Path;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem this
        start local 1 // java.nio.file.Path link
         0: .line 372
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem.delegate:Lorg/graalvm/polyglot/io/FileSystem;
            aload 1 /* link */
            invokestatic com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem.unwrap:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
            invokeinterface org.graalvm.polyglot.io.FileSystem.readSymbolicLink:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
            invokevirtual com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem.wrap:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
            areturn
        end local 1 // java.nio.file.Path link
        end local 0 // com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/polyglot/FileSystems$PreInitializeContextFileSystem;
            0    1     1  link  Ljava/nio/file/Path;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      link  

  public void setCurrentWorkingDirectory(java.nio.file.Path);
    descriptor: (Ljava/nio/file/Path;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem this
        start local 1 // java.nio.file.Path currentWorkingDirectory
         0: .line 377
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem.delegate:Lorg/graalvm/polyglot/io/FileSystem;
            aload 1 /* currentWorkingDirectory */
            invokestatic com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem.unwrap:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
            invokeinterface org.graalvm.polyglot.io.FileSystem.setCurrentWorkingDirectory:(Ljava/nio/file/Path;)V
         1: .line 378
            return
        end local 1 // java.nio.file.Path currentWorkingDirectory
        end local 0 // com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0    2     0                     this  Lcom/oracle/truffle/polyglot/FileSystems$PreInitializeContextFileSystem;
            0    2     1  currentWorkingDirectory  Ljava/nio/file/Path;
    MethodParameters:
                         Name  Flags
      currentWorkingDirectory  

  public java.lang.String getSeparator();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem this
         0: .line 382
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem.delegate:Lorg/graalvm/polyglot/io/FileSystem;
            invokeinterface org.graalvm.polyglot.io.FileSystem.getSeparator:()Ljava/lang/String;
            areturn
        end local 0 // com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/polyglot/FileSystems$PreInitializeContextFileSystem;

  public java.nio.charset.Charset getEncoding(java.nio.file.Path);
    descriptor: (Ljava/nio/file/Path;)Ljava/nio/charset/Charset;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem this
        start local 1 // java.nio.file.Path path
         0: .line 387
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem.delegate:Lorg/graalvm/polyglot/io/FileSystem;
            aload 1 /* path */
            invokestatic com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem.unwrap:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
            invokeinterface org.graalvm.polyglot.io.FileSystem.getEncoding:(Ljava/nio/file/Path;)Ljava/nio/charset/Charset;
            areturn
        end local 1 // java.nio.file.Path path
        end local 0 // com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/polyglot/FileSystems$PreInitializeContextFileSystem;
            0    1     1  path  Ljava/nio/file/Path;
    MethodParameters:
      Name  Flags
      path  

  public java.lang.String getMimeType(java.nio.file.Path);
    descriptor: (Ljava/nio/file/Path;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem this
        start local 1 // java.nio.file.Path path
         0: .line 392
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem.delegate:Lorg/graalvm/polyglot/io/FileSystem;
            aload 1 /* path */
            invokestatic com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem.unwrap:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
            invokeinterface org.graalvm.polyglot.io.FileSystem.getMimeType:(Ljava/nio/file/Path;)Ljava/lang/String;
            areturn
        end local 1 // java.nio.file.Path path
        end local 0 // com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/polyglot/FileSystems$PreInitializeContextFileSystem;
            0    1     1  path  Ljava/nio/file/Path;
    MethodParameters:
      Name  Flags
      path  

  public java.nio.file.Path getTempDirectory();
    descriptor: ()Ljava/nio/file/Path;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem this
         0: .line 397
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem.delegate:Lorg/graalvm/polyglot/io/FileSystem;
            invokeinterface org.graalvm.polyglot.io.FileSystem.getTempDirectory:()Ljava/nio/file/Path;
            invokevirtual com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem.wrap:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
            areturn
        end local 0 // com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/polyglot/FileSystems$PreInitializeContextFileSystem;

  public boolean isSameFile(java.nio.file.Path, java.nio.file.Path, java.nio.file.LinkOption[]);
    descriptor: (Ljava/nio/file/Path;Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem this
        start local 1 // java.nio.file.Path path1
        start local 2 // java.nio.file.Path path2
        start local 3 // java.nio.file.LinkOption[] options
         0: .line 402
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem.delegate:Lorg/graalvm/polyglot/io/FileSystem;
            aload 1 /* path1 */
            invokestatic com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem.unwrap:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
            aload 2 /* path2 */
            invokestatic com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem.unwrap:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
            aload 3 /* options */
            invokeinterface org.graalvm.polyglot.io.FileSystem.isSameFile:(Ljava/nio/file/Path;Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
            ireturn
        end local 3 // java.nio.file.LinkOption[] options
        end local 2 // java.nio.file.Path path2
        end local 1 // java.nio.file.Path path1
        end local 0 // com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lcom/oracle/truffle/polyglot/FileSystems$PreInitializeContextFileSystem;
            0    1     1    path1  Ljava/nio/file/Path;
            0    1     2    path2  Ljava/nio/file/Path;
            0    1     3  options  [Ljava/nio/file/LinkOption;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      path1    
      path2    
      options  

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem this
         0: .line 407
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem.delegate:Lorg/graalvm/polyglot/io/FileSystem;
            invokevirtual java.lang.Object.hashCode:()I
            ireturn
        end local 0 // com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/polyglot/FileSystems$PreInitializeContextFileSystem;

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem this
        start local 1 // java.lang.Object other
         0: .line 412
            aload 1 /* other */
            aload 0 /* this */
            if_acmpne 2
         1: .line 413
            iconst_1
            ireturn
         2: .line 415
      StackMap locals:
      StackMap stack:
            aload 1 /* other */
            instanceof com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem
            ifne 4
         3: .line 416
            iconst_0
            ireturn
         4: .line 418
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem.delegate:Lorg/graalvm/polyglot/io/FileSystem;
            aload 1 /* other */
            checkcast com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem
            getfield com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem.delegate:Lorg/graalvm/polyglot/io/FileSystem;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // java.lang.Object other
        end local 0 // com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lcom/oracle/truffle/polyglot/FileSystems$PreInitializeContextFileSystem;
            0    5     1  other  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      other  

  java.nio.file.Path wrap(java.nio.file.Path);
    descriptor: (Ljava/nio/file/Path;)Ljava/nio/file/Path;
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem this
        start local 1 // java.nio.file.Path path
         0: .line 422
            aload 1 /* path */
            ifnonnull 1
            aconst_null
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem.factory:Ljava/util/function/Function;
            aload 1 /* path */
            invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.nio.file.Path
      StackMap locals:
      StackMap stack: java.nio.file.Path
         2: areturn
        end local 1 // java.nio.file.Path path
        end local 0 // com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/oracle/truffle/polyglot/FileSystems$PreInitializeContextFileSystem;
            0    3     1  path  Ljava/nio/file/Path;
    MethodParameters:
      Name  Flags
      path  

  static java.nio.file.Path unwrap(java.nio.file.Path);
    descriptor: (Ljava/nio/file/Path;)Ljava/nio/file/Path;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.nio.file.Path path
         0: .line 426
            aload 0 /* path */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            ldc Lcom/oracle/truffle/polyglot/FileSystems$PreInitializeContextFileSystem$PreInitializePath;
            if_acmpne 1
            aload 0 /* path */
            checkcast com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem$PreInitializePath
            invokevirtual com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem$PreInitializePath.getDelegate:()Ljava/nio/file/Path;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* path */
      StackMap locals:
      StackMap stack: java.nio.file.Path
         2: areturn
        end local 0 // java.nio.file.Path path
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  path  Ljava/nio/file/Path;
    MethodParameters:
      Name  Flags
      path  
}
SourceFile: "FileSystems.java"
NestHost: com.oracle.truffle.polyglot.FileSystems
InnerClasses:
  private abstract InternalFileSystem = com.oracle.truffle.polyglot.FileSystems$InternalFileSystem of com.oracle.truffle.polyglot.FileSystems
  final PreInitializeContextFileSystem = com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem of com.oracle.truffle.polyglot.FileSystems
  com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem$1
  private final ImageBuildTimeFactory = com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem$ImageBuildTimeFactory of com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem
  private ImageExecutionTimeFactory = com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem$ImageExecutionTimeFactory of com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem
  private final ImageHeapPath = com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem$ImageHeapPath of com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem
  private final PreInitializePath = com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem$PreInitializePath of com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem
  private final WrappingPathIterator = com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem$WrappingPathIterator of com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem
  public abstract Filter = java.nio.file.DirectoryStream$Filter of java.nio.file.DirectoryStream