public class com.oracle.truffle.js.test.builtins.ImportWithCustomFsTest
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.oracle.truffle.js.test.builtins.ImportWithCustomFsTest
  super_class: java.lang.Object
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.test.builtins.ImportWithCustomFsTest this
         0: .line 75
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // com.oracle.truffle.js.test.builtins.ImportWithCustomFsTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/js/test/builtins/ImportWithCustomFsTest;

  public void testHttp();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // com.oracle.truffle.js.test.builtins.ImportWithCustomFsTest this
         0: .line 82
            new com.oracle.truffle.js.test.builtins.ImportWithCustomFsTest$TestFS
            dup
            ldc "https://unpkg.com/@esm/ms"
            ldc "export const foo = 41;"
            invokespecial com.oracle.truffle.js.test.builtins.ImportWithCustomFsTest$TestFS.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            astore 1 /* fs */
        start local 1 // com.oracle.truffle.js.test.builtins.ImportWithCustomFsTest$TestFS fs
         1: .line 83
            aload 1 /* fs */
            ldc "import {foo} from 'https://unpkg.com/@esm/ms'; foo;"
            invokestatic com.oracle.truffle.js.test.builtins.ImportWithCustomFsTest.assertFsLoads:(Lcom/oracle/truffle/js/test/builtins/ImportWithCustomFsTest$TestFS;Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
            astore 2 /* v */
        start local 2 // org.graalvm.polyglot.Value v
         2: .line 84
            ldc 41
            aload 2 /* v */
            invokevirtual org.graalvm.polyglot.Value.asInt:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         3: .line 85
            aload 1 /* fs */
            getfield com.oracle.truffle.js.test.builtins.ImportWithCustomFsTest$TestFS.uriSpecifiers:Ljava/util/Set;
            ldc "https://unpkg.com/@esm/ms"
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
         4: .line 86
            aload 1 /* fs */
            getfield com.oracle.truffle.js.test.builtins.ImportWithCustomFsTest$TestFS.stringSpecifiers:Ljava/util/Set;
            ldc "https://unpkg.com/@esm/ms"
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            invokestatic org.junit.Assert.assertFalse:(Z)V
         5: .line 87
            return
        end local 2 // org.graalvm.polyglot.Value v
        end local 1 // com.oracle.truffle.js.test.builtins.ImportWithCustomFsTest$TestFS fs
        end local 0 // com.oracle.truffle.js.test.builtins.ImportWithCustomFsTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lcom/oracle/truffle/js/test/builtins/ImportWithCustomFsTest;
            1    6     1    fs  Lcom/oracle/truffle/js/test/builtins/ImportWithCustomFsTest$TestFS;
            2    6     2     v  Lorg/graalvm/polyglot/Value;
    Exceptions:
      throws java.io.IOException
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testFile();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // com.oracle.truffle.js.test.builtins.ImportWithCustomFsTest this
         0: .line 94
            new com.oracle.truffle.js.test.builtins.ImportWithCustomFsTest$TestFS
            dup
            ldc "file://path-to-something"
            ldc "export const foo = 42;"
            invokespecial com.oracle.truffle.js.test.builtins.ImportWithCustomFsTest$TestFS.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            astore 1 /* fs */
        start local 1 // com.oracle.truffle.js.test.builtins.ImportWithCustomFsTest$TestFS fs
         1: .line 95
            aload 1 /* fs */
            ldc "import {foo} from 'file://path-to-something'; foo;"
            invokestatic com.oracle.truffle.js.test.builtins.ImportWithCustomFsTest.assertFsLoads:(Lcom/oracle/truffle/js/test/builtins/ImportWithCustomFsTest$TestFS;Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
            astore 2 /* v */
        start local 2 // org.graalvm.polyglot.Value v
         2: .line 96
            ldc 42
            aload 2 /* v */
            invokevirtual org.graalvm.polyglot.Value.asInt:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         3: .line 97
            aload 1 /* fs */
            getfield com.oracle.truffle.js.test.builtins.ImportWithCustomFsTest$TestFS.uriSpecifiers:Ljava/util/Set;
            ldc "file://path-to-something"
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
         4: .line 98
            aload 1 /* fs */
            getfield com.oracle.truffle.js.test.builtins.ImportWithCustomFsTest$TestFS.stringSpecifiers:Ljava/util/Set;
            ldc "file://path-to-something"
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            invokestatic org.junit.Assert.assertFalse:(Z)V
         5: .line 99
            return
        end local 2 // org.graalvm.polyglot.Value v
        end local 1 // com.oracle.truffle.js.test.builtins.ImportWithCustomFsTest$TestFS fs
        end local 0 // com.oracle.truffle.js.test.builtins.ImportWithCustomFsTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lcom/oracle/truffle/js/test/builtins/ImportWithCustomFsTest;
            1    6     1    fs  Lcom/oracle/truffle/js/test/builtins/ImportWithCustomFsTest$TestFS;
            2    6     2     v  Lorg/graalvm/polyglot/Value;
    Exceptions:
      throws java.io.IOException
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testPath();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // com.oracle.truffle.js.test.builtins.ImportWithCustomFsTest this
         0: .line 106
            new com.oracle.truffle.js.test.builtins.ImportWithCustomFsTest$TestFS
            dup
            ldc "/path"
            ldc "export const foo = 43;"
            invokespecial com.oracle.truffle.js.test.builtins.ImportWithCustomFsTest$TestFS.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            astore 1 /* fs */
        start local 1 // com.oracle.truffle.js.test.builtins.ImportWithCustomFsTest$TestFS fs
         1: .line 107
            aload 1 /* fs */
            ldc "import {foo} from '/path'; foo;"
            invokestatic com.oracle.truffle.js.test.builtins.ImportWithCustomFsTest.assertFsLoads:(Lcom/oracle/truffle/js/test/builtins/ImportWithCustomFsTest$TestFS;Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
            astore 2 /* v */
        start local 2 // org.graalvm.polyglot.Value v
         2: .line 108
            ldc 43
            aload 2 /* v */
            invokevirtual org.graalvm.polyglot.Value.asInt:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         3: .line 109
            aload 1 /* fs */
            getfield com.oracle.truffle.js.test.builtins.ImportWithCustomFsTest$TestFS.stringSpecifiers:Ljava/util/Set;
            ldc "/path"
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
         4: .line 110
            aload 1 /* fs */
            getfield com.oracle.truffle.js.test.builtins.ImportWithCustomFsTest$TestFS.uriSpecifiers:Ljava/util/Set;
            ldc "/path"
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            invokestatic org.junit.Assert.assertFalse:(Z)V
         5: .line 111
            return
        end local 2 // org.graalvm.polyglot.Value v
        end local 1 // com.oracle.truffle.js.test.builtins.ImportWithCustomFsTest$TestFS fs
        end local 0 // com.oracle.truffle.js.test.builtins.ImportWithCustomFsTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lcom/oracle/truffle/js/test/builtins/ImportWithCustomFsTest;
            1    6     1    fs  Lcom/oracle/truffle/js/test/builtins/ImportWithCustomFsTest$TestFS;
            2    6     2     v  Lorg/graalvm/polyglot/Value;
    Exceptions:
      throws java.io.IOException
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testBareModuleSpecifier();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // com.oracle.truffle.js.test.builtins.ImportWithCustomFsTest this
         0: .line 118
            new com.oracle.truffle.js.test.builtins.ImportWithCustomFsTest$TestFS
            dup
            ldc "foobar"
            ldc "export const foo = 43;"
            invokespecial com.oracle.truffle.js.test.builtins.ImportWithCustomFsTest$TestFS.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            astore 1 /* fs */
        start local 1 // com.oracle.truffle.js.test.builtins.ImportWithCustomFsTest$TestFS fs
         1: .line 119
            aload 1 /* fs */
            ldc "import {foo} from 'foobar'; foo;"
            invokestatic com.oracle.truffle.js.test.builtins.ImportWithCustomFsTest.assertFsLoads:(Lcom/oracle/truffle/js/test/builtins/ImportWithCustomFsTest$TestFS;Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
            astore 2 /* v */
        start local 2 // org.graalvm.polyglot.Value v
         2: .line 120
            ldc 43
            aload 2 /* v */
            invokevirtual org.graalvm.polyglot.Value.asInt:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         3: .line 121
            aload 1 /* fs */
            getfield com.oracle.truffle.js.test.builtins.ImportWithCustomFsTest$TestFS.stringSpecifiers:Ljava/util/Set;
            ldc "foobar"
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
         4: .line 122
            aload 1 /* fs */
            getfield com.oracle.truffle.js.test.builtins.ImportWithCustomFsTest$TestFS.uriSpecifiers:Ljava/util/Set;
            ldc "foobar"
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            invokestatic org.junit.Assert.assertFalse:(Z)V
         5: .line 123
            return
        end local 2 // org.graalvm.polyglot.Value v
        end local 1 // com.oracle.truffle.js.test.builtins.ImportWithCustomFsTest$TestFS fs
        end local 0 // com.oracle.truffle.js.test.builtins.ImportWithCustomFsTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lcom/oracle/truffle/js/test/builtins/ImportWithCustomFsTest;
            1    6     1    fs  Lcom/oracle/truffle/js/test/builtins/ImportWithCustomFsTest$TestFS;
            2    6     2     v  Lorg/graalvm/polyglot/Value;
    Exceptions:
      throws java.io.IOException
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testWithUriSpecifierAndReferrer();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // com.oracle.truffle.js.test.builtins.ImportWithCustomFsTest this
         0: .line 130
            new com.oracle.truffle.js.test.builtins.ImportWithCustomFsTest$TestFS
            dup
            ldc "https://unpkg.com/@esm/ms"
            ldc "export const foo = 41;"
            invokespecial com.oracle.truffle.js.test.builtins.ImportWithCustomFsTest$TestFS.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            astore 1 /* fs */
        start local 1 // com.oracle.truffle.js.test.builtins.ImportWithCustomFsTest$TestFS fs
         1: .line 131
            ldc "tmp-test"
            ldc ".mjs"
            iconst_0
            anewarray java.nio.file.attribute.FileAttribute
            invokestatic java.nio.file.Files.createTempFile:(Ljava/lang/String;Ljava/lang/String;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/file/Path;
            astore 2 /* sourceFile */
        start local 2 // java.nio.file.Path sourceFile
         2: .line 132
            aload 2 /* sourceFile */
            ldc "import {foo} from 'https://unpkg.com/@esm/ms'; foo;"
            invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
            iconst_0
            anewarray java.nio.file.OpenOption
            invokestatic java.nio.file.Files.write:(Ljava/nio/file/Path;Ljava/lang/Iterable;[Ljava/nio/file/OpenOption;)Ljava/nio/file/Path;
            pop
         3: .line 133
            aload 1 /* fs */
            aload 2 /* sourceFile */
            invokeinterface java.nio.file.Path.toFile:()Ljava/io/File;
            invokestatic com.oracle.truffle.js.test.builtins.ImportWithCustomFsTest.assertFsLoads:(Lcom/oracle/truffle/js/test/builtins/ImportWithCustomFsTest$TestFS;Ljava/io/File;)Lorg/graalvm/polyglot/Value;
            astore 3 /* v */
        start local 3 // org.graalvm.polyglot.Value v
         4: .line 134
            ldc 41
            aload 3 /* v */
            invokevirtual org.graalvm.polyglot.Value.asInt:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         5: .line 135
            aload 1 /* fs */
            getfield com.oracle.truffle.js.test.builtins.ImportWithCustomFsTest$TestFS.uriSpecifiers:Ljava/util/Set;
            ldc "https://unpkg.com/@esm/ms"
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
         6: .line 136
            aload 1 /* fs */
            getfield com.oracle.truffle.js.test.builtins.ImportWithCustomFsTest$TestFS.stringSpecifiers:Ljava/util/Set;
            ldc "https://unpkg.com/@esm/ms"
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            invokestatic org.junit.Assert.assertFalse:(Z)V
         7: .line 137
            return
        end local 3 // org.graalvm.polyglot.Value v
        end local 2 // java.nio.file.Path sourceFile
        end local 1 // com.oracle.truffle.js.test.builtins.ImportWithCustomFsTest$TestFS fs
        end local 0 // com.oracle.truffle.js.test.builtins.ImportWithCustomFsTest this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    8     0        this  Lcom/oracle/truffle/js/test/builtins/ImportWithCustomFsTest;
            1    8     1          fs  Lcom/oracle/truffle/js/test/builtins/ImportWithCustomFsTest$TestFS;
            2    8     2  sourceFile  Ljava/nio/file/Path;
            4    8     3           v  Lorg/graalvm/polyglot/Value;
    Exceptions:
      throws java.io.IOException
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testBareModuleCommonJsEmulation();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // com.oracle.truffle.js.test.builtins.ImportWithCustomFsTest this
         0: .line 144
            new com.oracle.truffle.js.test.builtins.ImportWithCustomFsTest$CommonJsTracingTestFs
            dup
            ldc "foobar"
            ldc "export const foo = 43;"
            invokespecial com.oracle.truffle.js.test.builtins.ImportWithCustomFsTest$CommonJsTracingTestFs.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            astore 1 /* fs */
        start local 1 // com.oracle.truffle.js.test.builtins.ImportWithCustomFsTest$CommonJsTracingTestFs fs
         1: .line 146
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 2 /* options */
        start local 2 // java.util.Map options
         2: .line 147
            aload 2 /* options */
            ldc "js.commonjs-require"
            ldc "true"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 148
            aload 2 /* options */
            ldc "js.commonjs-require-cwd"
            ldc "/some/user/folder"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 150
            iconst_0
            anewarray java.lang.String
            invokestatic com.oracle.truffle.js.test.JSTest.newContextBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
            getstatic org.graalvm.polyglot.PolyglotAccess.ALL:Lorg/graalvm/polyglot/PolyglotAccess;
            invokevirtual org.graalvm.polyglot.Context$Builder.allowPolyglotAccess:(Lorg/graalvm/polyglot/PolyglotAccess;)Lorg/graalvm/polyglot/Context$Builder;
            iconst_1
            invokevirtual org.graalvm.polyglot.Context$Builder.allowIO:(Z)Lorg/graalvm/polyglot/Context$Builder;
            aload 1 /* fs */
            invokevirtual org.graalvm.polyglot.Context$Builder.fileSystem:(Lorg/graalvm/polyglot/io/FileSystem;)Lorg/graalvm/polyglot/Context$Builder;
            iconst_1
            invokevirtual org.graalvm.polyglot.Context$Builder.allowExperimentalOptions:(Z)Lorg/graalvm/polyglot/Context$Builder;
            aload 2 /* options */
            invokevirtual org.graalvm.polyglot.Context$Builder.options:(Ljava/util/Map;)Lorg/graalvm/polyglot/Context$Builder;
            invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
            astore 3 /* cx */
        start local 3 // org.graalvm.polyglot.Context cx
         5: .line 151
            aload 3 /* cx */
            ldc "js"
            ldc "import {foo} from 'foobar'; foo;"
            ldc "test.mjs"
            invokestatic org.graalvm.polyglot.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lorg/graalvm/polyglot/Source$Builder;
            invokevirtual org.graalvm.polyglot.Source$Builder.build:()Lorg/graalvm/polyglot/Source;
            invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
            astore 4 /* v */
        start local 4 // org.graalvm.polyglot.Value v
         6: .line 152
            ldc 43
            aload 4 /* v */
            invokevirtual org.graalvm.polyglot.Value.asInt:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         7: .line 153
            aload 1 /* fs */
            getfield com.oracle.truffle.js.test.builtins.ImportWithCustomFsTest$CommonJsTracingTestFs.stringSpecifiers:Ljava/util/Set;
            ldc "foobar"
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
         8: .line 154
            aload 1 /* fs */
            getfield com.oracle.truffle.js.test.builtins.ImportWithCustomFsTest$CommonJsTracingTestFs.uriSpecifiers:Ljava/util/Set;
            ldc "foobar"
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            invokestatic org.junit.Assert.assertFalse:(Z)V
         9: .line 155
            aload 1 /* fs */
            getfield com.oracle.truffle.js.test.builtins.ImportWithCustomFsTest$CommonJsTracingTestFs.paths:Ljava/util/List;
            ldc "foobar"
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        10: .line 156
            return
        end local 4 // org.graalvm.polyglot.Value v
        end local 3 // org.graalvm.polyglot.Context cx
        end local 2 // java.util.Map options
        end local 1 // com.oracle.truffle.js.test.builtins.ImportWithCustomFsTest$CommonJsTracingTestFs fs
        end local 0 // com.oracle.truffle.js.test.builtins.ImportWithCustomFsTest this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0     this  Lcom/oracle/truffle/js/test/builtins/ImportWithCustomFsTest;
            1   11     1       fs  Lcom/oracle/truffle/js/test/builtins/ImportWithCustomFsTest$CommonJsTracingTestFs;
            2   11     2  options  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            5   11     3       cx  Lorg/graalvm/polyglot/Context;
            6   11     4        v  Lorg/graalvm/polyglot/Value;
    Exceptions:
      throws java.io.IOException
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  private static org.graalvm.polyglot.Value assertFsLoads(com.oracle.truffle.js.test.builtins.ImportWithCustomFsTest$TestFS, java.io.File);
    descriptor: (Lcom/oracle/truffle/js/test/builtins/ImportWithCustomFsTest$TestFS;Ljava/io/File;)Lorg/graalvm/polyglot/Value;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.oracle.truffle.js.test.builtins.ImportWithCustomFsTest$TestFS fs
        start local 1 // java.io.File file
         0: .line 159
            iconst_0
            anewarray java.lang.String
            invokestatic com.oracle.truffle.js.test.JSTest.newContextBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
            iconst_1
            invokevirtual org.graalvm.polyglot.Context$Builder.allowIO:(Z)Lorg/graalvm/polyglot/Context$Builder;
            aload 0 /* fs */
            invokevirtual org.graalvm.polyglot.Context$Builder.fileSystem:(Lorg/graalvm/polyglot/io/FileSystem;)Lorg/graalvm/polyglot/Context$Builder;
            invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
            astore 2 /* cx */
        start local 2 // org.graalvm.polyglot.Context cx
         1: .line 160
            aload 2 /* cx */
            ldc "js"
            aload 1 /* file */
            invokestatic org.graalvm.polyglot.Source.newBuilder:(Ljava/lang/String;Ljava/io/File;)Lorg/graalvm/polyglot/Source$Builder;
            invokevirtual org.graalvm.polyglot.Source$Builder.build:()Lorg/graalvm/polyglot/Source;
            invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
            areturn
        end local 2 // org.graalvm.polyglot.Context cx
        end local 1 // java.io.File file
        end local 0 // com.oracle.truffle.js.test.builtins.ImportWithCustomFsTest$TestFS fs
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0    fs  Lcom/oracle/truffle/js/test/builtins/ImportWithCustomFsTest$TestFS;
            0    2     1  file  Ljava/io/File;
            1    2     2    cx  Lorg/graalvm/polyglot/Context;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      fs    
      file  

  private static org.graalvm.polyglot.Value assertFsLoads(com.oracle.truffle.js.test.builtins.ImportWithCustomFsTest$TestFS, java.lang.String);
    descriptor: (Lcom/oracle/truffle/js/test/builtins/ImportWithCustomFsTest$TestFS;Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // com.oracle.truffle.js.test.builtins.ImportWithCustomFsTest$TestFS fs
        start local 1 // java.lang.String testSrc
         0: .line 164
            iconst_0
            anewarray java.lang.String
            invokestatic com.oracle.truffle.js.test.JSTest.newContextBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
            iconst_1
            invokevirtual org.graalvm.polyglot.Context$Builder.allowIO:(Z)Lorg/graalvm/polyglot/Context$Builder;
            aload 0 /* fs */
            invokevirtual org.graalvm.polyglot.Context$Builder.fileSystem:(Lorg/graalvm/polyglot/io/FileSystem;)Lorg/graalvm/polyglot/Context$Builder;
            invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
            astore 2 /* cx */
        start local 2 // org.graalvm.polyglot.Context cx
         1: .line 165
            aload 2 /* cx */
            ldc "js"
            aload 1 /* testSrc */
            ldc "test.mjs"
            invokestatic org.graalvm.polyglot.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lorg/graalvm/polyglot/Source$Builder;
            invokevirtual org.graalvm.polyglot.Source$Builder.build:()Lorg/graalvm/polyglot/Source;
            invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
            areturn
        end local 2 // org.graalvm.polyglot.Context cx
        end local 1 // java.lang.String testSrc
        end local 0 // com.oracle.truffle.js.test.builtins.ImportWithCustomFsTest$TestFS fs
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0       fs  Lcom/oracle/truffle/js/test/builtins/ImportWithCustomFsTest$TestFS;
            0    2     1  testSrc  Ljava/lang/String;
            1    2     2       cx  Lorg/graalvm/polyglot/Context;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      fs       
      testSrc  
}
SourceFile: "ImportWithCustomFsTest.java"
NestMembers:
  com.oracle.truffle.js.test.builtins.ImportWithCustomFsTest$CommonJsTracingTestFs  com.oracle.truffle.js.test.builtins.ImportWithCustomFsTest$TestFS
InnerClasses:
  private CommonJsTracingTestFs = com.oracle.truffle.js.test.builtins.ImportWithCustomFsTest$CommonJsTracingTestFs of com.oracle.truffle.js.test.builtins.ImportWithCustomFsTest
  protected TestFS = com.oracle.truffle.js.test.builtins.ImportWithCustomFsTest$TestFS of com.oracle.truffle.js.test.builtins.ImportWithCustomFsTest
  public final Builder = org.graalvm.polyglot.Context$Builder of org.graalvm.polyglot.Context
  public Builder = org.graalvm.polyglot.Source$Builder of org.graalvm.polyglot.Source