public class com.oracle.truffle.js.test.builtins.CommonJSRequireTest
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.oracle.truffle.js.test.builtins.CommonJSRequireTest
  super_class: java.lang.Object
{
  private static final java.lang.String PATH_OF_TESTS;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "src/com.oracle.truffle.js.test/commonjs"

  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=1, locals=0, args_size=0
         0: .line 75
            ldc Lcom/oracle/truffle/js/test/builtins/CommonJSRequireTest;
            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.js.test.builtins.CommonJSRequireTest.$assertionsDisabled:Z
         3: .line 77
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  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.CommonJSRequireTest this
         0: .line 75
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/js/test/builtins/CommonJSRequireTest;

  private static org.graalvm.polyglot.Context testContext(java.nio.file.Path);
    descriptor: (Ljava/nio/file/Path;)Lorg/graalvm/polyglot/Context;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.nio.file.Path tempFolder
         0: .line 80
            aload 0 /* tempFolder */
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.testContext:(Ljava/nio/file/Path;Ljava/io/OutputStream;Ljava/io/OutputStream;)Lorg/graalvm/polyglot/Context;
            areturn
        end local 0 // java.nio.file.Path tempFolder
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0  tempFolder  Ljava/nio/file/Path;
    MethodParameters:
            Name  Flags
      tempFolder  

  private static org.graalvm.polyglot.Context testContext(java.util.Map<java.lang.String, java.lang.String>);
    descriptor: (Ljava/util/Map;)Lorg/graalvm/polyglot/Context;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.util.Map options
         0: .line 84
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            aload 0 /* options */
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.testContext:(Ljava/io/OutputStream;Ljava/io/OutputStream;Ljava/util/Map;)Lorg/graalvm/polyglot/Context;
            areturn
        end local 0 // java.util.Map options
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  options  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
    Signature: (Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)Lorg/graalvm/polyglot/Context;
    MethodParameters:
         Name  Flags
      options  

  private static org.graalvm.polyglot.Context testContext(java.io.OutputStream, java.io.OutputStream, java.util.Map<java.lang.String, java.lang.String>);
    descriptor: (Ljava/io/OutputStream;Ljava/io/OutputStream;Ljava/util/Map;)Lorg/graalvm/polyglot/Context;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // java.io.OutputStream out
        start local 1 // java.io.OutputStream err
        start local 2 // java.util.Map options
         0: .line 88
            iconst_0
            anewarray java.lang.String
            invokestatic com.oracle.truffle.js.test.JSTest.newContextBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
         1: .line 89
            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;
         2: .line 90
            getstatic org.graalvm.polyglot.HostAccess.ALL:Lorg/graalvm/polyglot/HostAccess;
            invokevirtual org.graalvm.polyglot.Context$Builder.allowHostAccess:(Lorg/graalvm/polyglot/HostAccess;)Lorg/graalvm/polyglot/Context$Builder;
         3: .line 91
            iconst_1
            invokevirtual org.graalvm.polyglot.Context$Builder.allowHostClassLoading:(Z)Lorg/graalvm/polyglot/Context$Builder;
         4: .line 92
            invokedynamic test()Ljava/util/function/Predicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  com/oracle/truffle/js/test/builtins/CommonJSRequireTest.lambda$0(Ljava/lang/String;)Z (6)
                  (Ljava/lang/String;)Z
            invokevirtual org.graalvm.polyglot.Context$Builder.allowHostClassLookup:(Ljava/util/function/Predicate;)Lorg/graalvm/polyglot/Context$Builder;
         5: .line 93
            aload 2 /* options */
            invokevirtual org.graalvm.polyglot.Context$Builder.options:(Ljava/util/Map;)Lorg/graalvm/polyglot/Context$Builder;
            aload 0 /* out */
            invokevirtual org.graalvm.polyglot.Context$Builder.out:(Ljava/io/OutputStream;)Lorg/graalvm/polyglot/Context$Builder;
         6: .line 94
            aload 1 /* err */
            invokevirtual org.graalvm.polyglot.Context$Builder.err:(Ljava/io/OutputStream;)Lorg/graalvm/polyglot/Context$Builder;
         7: .line 95
            iconst_1
            invokevirtual org.graalvm.polyglot.Context$Builder.allowIO:(Z)Lorg/graalvm/polyglot/Context$Builder;
         8: .line 96
            invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
         9: .line 88
            areturn
        end local 2 // java.util.Map options
        end local 1 // java.io.OutputStream err
        end local 0 // java.io.OutputStream out
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0      out  Ljava/io/OutputStream;
            0   10     1      err  Ljava/io/OutputStream;
            0   10     2  options  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
    Signature: (Ljava/io/OutputStream;Ljava/io/OutputStream;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)Lorg/graalvm/polyglot/Context;
    MethodParameters:
         Name  Flags
      out      
      err      
      options  

  private static org.graalvm.polyglot.Context testContext(java.nio.file.Path, java.io.OutputStream, java.io.OutputStream);
    descriptor: (Ljava/nio/file/Path;Ljava/io/OutputStream;Ljava/io/OutputStream;)Lorg/graalvm/polyglot/Context;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // java.nio.file.Path tempFolder
        start local 1 // java.io.OutputStream out
        start local 2 // java.io.OutputStream err
         0: .line 100
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 3 /* options */
        start local 3 // java.util.Map options
         1: .line 101
            aload 3 /* options */
            ldc "js.ecmascript-version"
            ldc "2020"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 102
            aload 3 /* options */
            ldc "js.commonjs-require"
            ldc "true"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 103
            aload 3 /* options */
            ldc "js.commonjs-require-cwd"
            aload 0 /* tempFolder */
            invokeinterface java.nio.file.Path.toAbsolutePath:()Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 104
            aload 1 /* out */
            aload 2 /* err */
            aload 3 /* options */
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.testContext:(Ljava/io/OutputStream;Ljava/io/OutputStream;Ljava/util/Map;)Lorg/graalvm/polyglot/Context;
            areturn
        end local 3 // java.util.Map options
        end local 2 // java.io.OutputStream err
        end local 1 // java.io.OutputStream out
        end local 0 // java.nio.file.Path tempFolder
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0  tempFolder  Ljava/nio/file/Path;
            0    5     1         out  Ljava/io/OutputStream;
            0    5     2         err  Ljava/io/OutputStream;
            1    5     3     options  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
    MethodParameters:
            Name  Flags
      tempFolder  
      out         
      err         

  private static java.nio.file.Path getTestRootFolder();
    descriptor: ()Ljava/nio/file/Path;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=0
         0: .line 108
            ldc "commonjs.test.path"
            ldc "src/com.oracle.truffle.js.test/commonjs"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 0 /* testPath */
        start local 0 // java.lang.String testPath
         1: .line 109
            invokestatic java.nio.file.FileSystems.getDefault:()Ljava/nio/file/FileSystem;
            aload 0 /* testPath */
            iconst_0
            anewarray java.lang.String
            invokevirtual java.nio.file.FileSystem.getPath:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
            astore 1 /* root */
        start local 1 // java.nio.file.Path root
         2: .line 110
            aload 1 /* root */
            iconst_0
            anewarray java.nio.file.LinkOption
            invokestatic java.nio.file.Files.exists:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
            ifne 4
         3: .line 111
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unable to locate test folder: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* root */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         4: .line 113
      StackMap locals: java.lang.String java.nio.file.Path
      StackMap stack:
            aload 1 /* root */
            invokeinterface java.nio.file.Path.toAbsolutePath:()Ljava/nio/file/Path;
            areturn
        end local 1 // java.nio.file.Path root
        end local 0 // java.lang.String testPath
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            1    5     0  testPath  Ljava/lang/String;
            2    5     1      root  Ljava/nio/file/Path;

  private static org.graalvm.polyglot.Source getSourceFor(java.nio.file.Path);
    descriptor: (Ljava/nio/file/Path;)Lorg/graalvm/polyglot/Source;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.nio.file.Path path
         0: .line 117
            new java.io.File
            dup
            aload 0 /* path */
            invokeinterface java.nio.file.Path.normalize:()Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.toAbsolutePath:()Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 1 /* file */
        start local 1 // java.io.File file
         1: .line 118
            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;
            areturn
        end local 1 // java.io.File file
        end local 0 // java.nio.file.Path path
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  path  Ljava/nio/file/Path;
            1    2     1  file  Ljava/io/File;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      path  

  private static void testBasicPackageJsonRequire(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=6, args_size=1
        start local 0 // java.lang.String moduleName
         0: .line 122
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.getTestRootFolder:()Ljava/nio/file/Path;
            astore 1 /* f */
        start local 1 // java.nio.file.Path f
         1: .line 123
            aconst_null
            astore 2
            aconst_null
            astore 3
         2: aload 1 /* f */
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.testContext:(Ljava/nio/file/Path;)Lorg/graalvm/polyglot/Context;
            astore 4 /* cx */
        start local 4 // org.graalvm.polyglot.Context cx
         3: .line 124
            aload 4 /* cx */
            ldc "js"
            new java.lang.StringBuilder
            dup
            ldc "require("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* moduleName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ").foo;"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            astore 5 /* js */
        start local 5 // org.graalvm.polyglot.Value js
         4: .line 125
            ldc 42
            aload 5 /* js */
            invokevirtual org.graalvm.polyglot.Value.asInt:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        end local 5 // org.graalvm.polyglot.Value js
         5: .line 126
            aload 4 /* cx */
            ifnull 11
            aload 4 /* cx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 11
      StackMap locals: java.lang.String java.nio.file.Path java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
         6: astore 2
            aload 4 /* cx */
            ifnull 7
            aload 4 /* cx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 4 // org.graalvm.polyglot.Context cx
      StackMap locals:
      StackMap stack:
         7: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
         8: astore 3
            aload 2
            ifnonnull 9
            aload 3
            astore 2
            goto 10
      StackMap locals:
      StackMap stack:
         9: aload 2
            aload 3
            if_acmpeq 10
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        10: aload 2
            athrow
        11: .line 127
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.nio.file.Path f
        end local 0 // java.lang.String moduleName
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   12     0  moduleName  Ljava/lang/String;
            1   12     1           f  Ljava/nio/file/Path;
            3    7     4          cx  Lorg/graalvm/polyglot/Context;
            4    5     5          js  Lorg/graalvm/polyglot/Value;
      Exception table:
        from    to  target  type
           3     5       6  any
           2     8       8  any
    MethodParameters:
            Name  Flags
      moduleName  

  private static void testBasicRequire(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=6, args_size=1
        start local 0 // java.lang.String moduleName
         0: .line 130
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.getTestRootFolder:()Ljava/nio/file/Path;
            astore 1 /* f */
        start local 1 // java.nio.file.Path f
         1: .line 131
            aconst_null
            astore 2
            aconst_null
            astore 3
         2: aload 1 /* f */
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.testContext:(Ljava/nio/file/Path;)Lorg/graalvm/polyglot/Context;
            astore 4 /* cx */
        start local 4 // org.graalvm.polyglot.Context cx
         3: .line 132
            aload 4 /* cx */
            ldc "js"
            new java.lang.StringBuilder
            dup
            ldc "require('"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* moduleName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "').foo;"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            astore 5 /* js */
        start local 5 // org.graalvm.polyglot.Value js
         4: .line 133
            ldc 42
            aload 5 /* js */
            invokevirtual org.graalvm.polyglot.Value.asInt:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        end local 5 // org.graalvm.polyglot.Value js
         5: .line 134
            aload 4 /* cx */
            ifnull 11
            aload 4 /* cx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 11
      StackMap locals: java.lang.String java.nio.file.Path java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
         6: astore 2
            aload 4 /* cx */
            ifnull 7
            aload 4 /* cx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 4 // org.graalvm.polyglot.Context cx
      StackMap locals:
      StackMap stack:
         7: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
         8: astore 3
            aload 2
            ifnonnull 9
            aload 3
            astore 2
            goto 10
      StackMap locals:
      StackMap stack:
         9: aload 2
            aload 3
            if_acmpeq 10
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        10: aload 2
            athrow
        11: .line 135
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.nio.file.Path f
        end local 0 // java.lang.String moduleName
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   12     0  moduleName  Ljava/lang/String;
            1   12     1           f  Ljava/nio/file/Path;
            3    7     4          cx  Lorg/graalvm/polyglot/Context;
            4    5     5          js  Lorg/graalvm/polyglot/Value;
      Exception table:
        from    to  target  type
           3     5       6  any
           2     8       8  any
    MethodParameters:
            Name  Flags
      moduleName  

  private static void assertThrows(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // java.lang.String src
        start local 1 // java.lang.String expectedMessage
         0: .line 139
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.getTestRootFolder:()Ljava/nio/file/Path;
            astore 2 /* f */
        start local 2 // java.nio.file.Path f
         1: .line 140
            aconst_null
            astore 3
            aconst_null
            astore 4
         2: aload 2 /* f */
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.testContext:(Ljava/nio/file/Path;)Lorg/graalvm/polyglot/Context;
            astore 5 /* cx */
        start local 5 // org.graalvm.polyglot.Context cx
         3: .line 141
            aload 5 /* cx */
            ldc "js"
            aload 0 /* src */
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
         4: .line 142
            aload 5 /* cx */
            ifnull 10
            aload 5 /* cx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 10
      StackMap locals: java.lang.String java.lang.String java.nio.file.Path java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
         5: astore 3
            aload 5 /* cx */
            ifnull 6
            aload 5 /* cx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 5 // org.graalvm.polyglot.Context cx
      StackMap locals:
      StackMap stack:
         6: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
         7: astore 4
            aload 3
            ifnonnull 8
            aload 4
            astore 3
            goto 9
      StackMap locals:
      StackMap stack:
         8: aload 3
            aload 4
            if_acmpeq 9
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
         9: aload 3
            athrow
        10: .line 143
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.$assertionsDisabled:Z
            ifne 15
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        end local 2 // java.nio.file.Path f
        11: .line 144
      StackMap locals: java.lang.String java.lang.String
      StackMap stack: java.lang.Throwable
            astore 2 /* t */
        start local 2 // java.lang.Throwable t
        12: .line 145
            aload 2 /* t */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            ldc Lorg/graalvm/polyglot/PolyglotException;
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifne 14
        13: .line 146
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unexpected exception "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* t */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        14: .line 148
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 1 /* expectedMessage */
            aload 2 /* t */
            invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 2 // java.lang.Throwable t
        15: .line 150
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String expectedMessage
        end local 0 // java.lang.String src
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   16     0              src  Ljava/lang/String;
            0   16     1  expectedMessage  Ljava/lang/String;
            1   11     2                f  Ljava/nio/file/Path;
            3    6     5               cx  Lorg/graalvm/polyglot/Context;
           12   15     2                t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           3     4       5  any
           2     7       7  any
           0    11      11  Class java.lang.Throwable
    MethodParameters:
                 Name  Flags
      src              
      expectedMessage  

  private static void runAndExpectOutput(org.graalvm.polyglot.Source, java.lang.String, java.util.Map<java.lang.String, java.lang.String>);
    descriptor: (Lorg/graalvm/polyglot/Source;Ljava/lang/String;Ljava/util/Map;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.graalvm.polyglot.Source src
        start local 1 // java.lang.String expectedOutput
        start local 2 // java.util.Map options
         0: .line 153
            aload 0 /* src */
            aload 1 /* expectedOutput */
            ldc ""
            aload 2 /* options */
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.runAndExpectOutput:(Lorg/graalvm/polyglot/Source;Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;)V
         1: .line 154
            return
        end local 2 // java.util.Map options
        end local 1 // java.lang.String expectedOutput
        end local 0 // org.graalvm.polyglot.Source src
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0             src  Lorg/graalvm/polyglot/Source;
            0    2     1  expectedOutput  Ljava/lang/String;
            0    2     2         options  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
    Exceptions:
      throws java.io.IOException
    Signature: (Lorg/graalvm/polyglot/Source;Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)V
    MethodParameters:
                Name  Flags
      src             
      expectedOutput  
      options         

  private static void runAndExpectOutput(java.lang.String, java.lang.String, java.util.Map<java.lang.String, java.lang.String>);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // java.lang.String src
        start local 1 // java.lang.String expectedOutput
        start local 2 // java.util.Map options
         0: .line 157
            ldc "js"
            aload 0 /* src */
            ldc "test.js"
            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;
            aload 1 /* expectedOutput */
            ldc ""
            aload 2 /* options */
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.runAndExpectOutput:(Lorg/graalvm/polyglot/Source;Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;)V
         1: .line 158
            return
        end local 2 // java.util.Map options
        end local 1 // java.lang.String expectedOutput
        end local 0 // java.lang.String src
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0             src  Ljava/lang/String;
            0    2     1  expectedOutput  Ljava/lang/String;
            0    2     2         options  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/lang/String;Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)V
    MethodParameters:
                Name  Flags
      src             
      expectedOutput  
      options         

  private static void runAndExpectOutput(org.graalvm.polyglot.Source, java.lang.String, java.lang.String, java.util.Map<java.lang.String, java.lang.String>);
    descriptor: (Lorg/graalvm/polyglot/Source;Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=11, args_size=4
        start local 0 // org.graalvm.polyglot.Source src
        start local 1 // java.lang.String expectedOutput
        start local 2 // java.lang.String expectedErr
        start local 3 // java.util.Map options
         0: .line 161
            new java.io.ByteArrayOutputStream
            dup
            invokespecial java.io.ByteArrayOutputStream.<init>:()V
            astore 4 /* out */
        start local 4 // java.io.ByteArrayOutputStream out
         1: .line 162
            new java.io.ByteArrayOutputStream
            dup
            invokespecial java.io.ByteArrayOutputStream.<init>:()V
            astore 5 /* err */
        start local 5 // java.io.ByteArrayOutputStream err
         2: .line 163
            aconst_null
            astore 6
            aconst_null
            astore 7
         3: aload 4 /* out */
            aload 5 /* err */
            aload 3 /* options */
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.testContext:(Ljava/io/OutputStream;Ljava/io/OutputStream;Ljava/util/Map;)Lorg/graalvm/polyglot/Context;
            astore 8 /* cx */
        start local 8 // org.graalvm.polyglot.Context cx
         4: .line 164
            aload 8 /* cx */
            aload 0 /* src */
            invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
            pop
         5: .line 165
            aload 4 /* out */
            invokevirtual java.io.ByteArrayOutputStream.flush:()V
         6: .line 166
            aload 5 /* err */
            invokevirtual java.io.ByteArrayOutputStream.flush:()V
         7: .line 167
            new java.lang.String
            dup
            aload 4 /* out */
            invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
            invokespecial java.lang.String.<init>:([B)V
            astore 9 /* outPrint */
        start local 9 // java.lang.String outPrint
         8: .line 168
            new java.lang.String
            dup
            aload 5 /* err */
            invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
            invokespecial java.lang.String.<init>:([B)V
            astore 10 /* errPrint */
        start local 10 // java.lang.String errPrint
         9: .line 169
            aload 1 /* expectedOutput */
            aload 9 /* outPrint */
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        10: .line 170
            aload 2 /* expectedErr */
            aload 10 /* errPrint */
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 10 // java.lang.String errPrint
        end local 9 // java.lang.String outPrint
        11: .line 171
            aload 8 /* cx */
            ifnull 17
            aload 8 /* cx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 17
      StackMap locals: org.graalvm.polyglot.Source java.lang.String java.lang.String java.util.Map java.io.ByteArrayOutputStream java.io.ByteArrayOutputStream java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
        12: astore 6
            aload 8 /* cx */
            ifnull 13
            aload 8 /* cx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 8 // org.graalvm.polyglot.Context cx
      StackMap locals:
      StackMap stack:
        13: aload 6
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        14: astore 7
            aload 6
            ifnonnull 15
            aload 7
            astore 6
            goto 16
      StackMap locals:
      StackMap stack:
        15: aload 6
            aload 7
            if_acmpeq 16
            aload 6
            aload 7
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        16: aload 6
            athrow
        17: .line 172
      StackMap locals:
      StackMap stack:
            return
        end local 5 // java.io.ByteArrayOutputStream err
        end local 4 // java.io.ByteArrayOutputStream out
        end local 3 // java.util.Map options
        end local 2 // java.lang.String expectedErr
        end local 1 // java.lang.String expectedOutput
        end local 0 // org.graalvm.polyglot.Source src
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   18     0             src  Lorg/graalvm/polyglot/Source;
            0   18     1  expectedOutput  Ljava/lang/String;
            0   18     2     expectedErr  Ljava/lang/String;
            0   18     3         options  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            1   18     4             out  Ljava/io/ByteArrayOutputStream;
            2   18     5             err  Ljava/io/ByteArrayOutputStream;
            4   13     8              cx  Lorg/graalvm/polyglot/Context;
            8   11     9        outPrint  Ljava/lang/String;
            9   11    10        errPrint  Ljava/lang/String;
      Exception table:
        from    to  target  type
           4    11      12  any
           3    14      14  any
    Exceptions:
      throws java.io.IOException
    Signature: (Lorg/graalvm/polyglot/Source;Ljava/lang/String;Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)V
    MethodParameters:
                Name  Flags
      src             
      expectedOutput  
      expectedErr     
      options         

  private static void runAndExpectOutput(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.lang.String src
        start local 1 // java.lang.String expectedOutput
         0: .line 175
            ldc "js"
            aload 0 /* src */
            ldc "test.js"
            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;
            aload 1 /* expectedOutput */
            ldc ""
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.getDefaultOptions:()Ljava/util/Map;
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.runAndExpectOutput:(Lorg/graalvm/polyglot/Source;Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;)V
         1: .line 176
            return
        end local 1 // java.lang.String expectedOutput
        end local 0 // java.lang.String src
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0             src  Ljava/lang/String;
            0    2     1  expectedOutput  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                Name  Flags
      src             
      expectedOutput  

  private static java.util.Map<java.lang.String, java.lang.String> getDefaultOptions();
    descriptor: ()Ljava/util/Map;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=0
         0: .line 179
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.getTestRootFolder:()Ljava/nio/file/Path;
            astore 0 /* root */
        start local 0 // java.nio.file.Path root
         1: .line 180
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 1 /* options */
        start local 1 // java.util.Map options
         2: .line 181
            aload 1 /* options */
            ldc "js.commonjs-require"
            ldc "true"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 182
            aload 1 /* options */
            ldc "js.commonjs-require-cwd"
            aload 0 /* root */
            invokeinterface java.nio.file.Path.toAbsolutePath:()Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 183
            aload 1 /* options */
            ldc "js.ecmascript-version"
            ldc "2020"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 184
            aload 1 /* options */
            areturn
        end local 1 // java.util.Map options
        end local 0 // java.nio.file.Path root
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            1    6     0     root  Ljava/nio/file/Path;
            2    6     1  options  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;

  private static java.lang.String logicalAbsolutePath(java.nio.file.Path);
    descriptor: (Ljava/nio/file/Path;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // java.nio.file.Path path
         0: .line 188
            aload 0 /* path */
            invokeinterface java.nio.file.Path.toAbsolutePath:()Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
            astore 1 /* pathStr */
        start local 1 // java.lang.String pathStr
         1: .line 189
            ldc "os.name"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            ldc "Windows"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 4
         2: .line 191
            aload 1 /* pathStr */
            new java.lang.StringBuilder
            dup
            aload 0 /* path */
            invokeinterface java.nio.file.Path.getRoot:()Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "\\"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            ldc "/"
            invokevirtual java.lang.String.replaceFirst:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* pathStr */
         3: .line 192
            aload 1 /* pathStr */
            ldc "\\"
            ldc "/"
            invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
            astore 1 /* pathStr */
         4: .line 194
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* pathStr */
            areturn
        end local 1 // java.lang.String pathStr
        end local 0 // java.nio.file.Path path
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     path  Ljava/nio/file/Path;
            1    5     1  pathStr  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      path  

  public void absoluteFilename();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=1
        start local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
         0: .line 201
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.getTestRootFolder:()Ljava/nio/file/Path;
            astore 1 /* f */
        start local 1 // java.nio.file.Path f
         1: .line 202
            aconst_null
            astore 2
            aconst_null
            astore 3
         2: aload 1 /* f */
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.testContext:(Ljava/nio/file/Path;)Lorg/graalvm/polyglot/Context;
            astore 4 /* cx */
        start local 4 // org.graalvm.polyglot.Context cx
         3: .line 203
            new java.lang.StringBuilder
            dup
            aload 1 /* f */
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.logicalAbsolutePath:(Ljava/nio/file/Path;)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "/module.js"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 5 /* logicalAbsolutePath */
        start local 5 // java.lang.String logicalAbsolutePath
         4: .line 204
            aload 4 /* cx */
            ldc "js"
            new java.lang.StringBuilder
            dup
            ldc "require('"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* logicalAbsolutePath */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "').foo;"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            astore 6 /* js */
        start local 6 // org.graalvm.polyglot.Value js
         5: .line 205
            ldc 42
            aload 6 /* js */
            invokevirtual org.graalvm.polyglot.Value.asInt:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        end local 6 // org.graalvm.polyglot.Value js
        end local 5 // java.lang.String logicalAbsolutePath
         6: .line 206
            aload 4 /* cx */
            ifnull 12
            aload 4 /* cx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 12
      StackMap locals: com.oracle.truffle.js.test.builtins.CommonJSRequireTest java.nio.file.Path java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
         7: astore 2
            aload 4 /* cx */
            ifnull 8
            aload 4 /* cx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 4 // org.graalvm.polyglot.Context cx
      StackMap locals:
      StackMap stack:
         8: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
         9: astore 3
            aload 2
            ifnonnull 10
            aload 3
            astore 2
            goto 11
      StackMap locals:
      StackMap stack:
        10: aload 2
            aload 3
            if_acmpeq 11
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        11: aload 2
            athrow
        12: .line 207
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.nio.file.Path f
        end local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   13     0                 this  Lcom/oracle/truffle/js/test/builtins/CommonJSRequireTest;
            1   13     1                    f  Ljava/nio/file/Path;
            3    8     4                   cx  Lorg/graalvm/polyglot/Context;
            4    6     5  logicalAbsolutePath  Ljava/lang/String;
            5    6     6                   js  Lorg/graalvm/polyglot/Value;
      Exception table:
        from    to  target  type
           3     6       7  any
           2     9       9  any
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void relativeFilename();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
         0: .line 211
            ldc "./module.js"
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.testBasicRequire:(Ljava/lang/String;)V
         1: .line 212
            return
        end local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/js/test/builtins/CommonJSRequireTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void relativeNoExtFilename();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
         0: .line 216
            ldc "./module"
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.testBasicRequire:(Ljava/lang/String;)V
         1: .line 217
            return
        end local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/js/test/builtins/CommonJSRequireTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void nodeModulesFolderWithPackageJson();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
         0: .line 221
            ldc "'with-package'"
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.testBasicPackageJsonRequire:(Ljava/lang/String;)V
         1: .line 222
            return
        end local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/js/test/builtins/CommonJSRequireTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void nodeModulesFolderWithPackageJson2();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
         0: .line 226
            ldc "'./with-package'"
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.testBasicPackageJsonRequire:(Ljava/lang/String;)V
         1: .line 227
            return
        end local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/js/test/builtins/CommonJSRequireTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void nodeModulesFolderWithPackageJson3();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
         0: .line 231
            ldc "'././with-package'"
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.testBasicPackageJsonRequire:(Ljava/lang/String;)V
         1: .line 232
            return
        end local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/js/test/builtins/CommonJSRequireTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void nodeModulesFolderWithPackageJsonNoMain();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
         0: .line 236
            ldc "'wrong-package'"
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.testBasicPackageJsonRequire:(Ljava/lang/String;)V
         1: .line 237
            return
        end local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/js/test/builtins/CommonJSRequireTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void nodeModulesFolderWithPackageJsonNoMain2();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
         0: .line 241
            ldc "'./wrong-package'"
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.testBasicPackageJsonRequire:(Ljava/lang/String;)V
         1: .line 242
            return
        end local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/js/test/builtins/CommonJSRequireTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testMissingPackageJson();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
         0: .line 246
            ldc "'no-package'"
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.testBasicPackageJsonRequire:(Ljava/lang/String;)V
         1: .line 247
            return
        end local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/js/test/builtins/CommonJSRequireTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testMissingPackageJson2();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
         0: .line 251
            ldc "'no-package'"
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.testBasicPackageJsonRequire:(Ljava/lang/String;)V
         1: .line 252
            return
        end local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/js/test/builtins/CommonJSRequireTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void nestedRequire();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
         0: .line 256
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.getTestRootFolder:()Ljava/nio/file/Path;
            astore 1 /* f */
        start local 1 // java.nio.file.Path f
         1: .line 257
            aconst_null
            astore 2
            aconst_null
            astore 3
         2: aload 1 /* f */
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.testContext:(Ljava/nio/file/Path;)Lorg/graalvm/polyglot/Context;
            astore 4 /* cx */
        start local 4 // org.graalvm.polyglot.Context cx
         3: .line 258
            aload 4 /* cx */
            ldc "js"
            ldc "require('./nested.js').foo;"
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            astore 5 /* js */
        start local 5 // org.graalvm.polyglot.Value js
         4: .line 259
            ldc 42
            aload 5 /* js */
            invokevirtual org.graalvm.polyglot.Value.asInt:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        end local 5 // org.graalvm.polyglot.Value js
         5: .line 260
            aload 4 /* cx */
            ifnull 11
            aload 4 /* cx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 11
      StackMap locals: com.oracle.truffle.js.test.builtins.CommonJSRequireTest java.nio.file.Path java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
         6: astore 2
            aload 4 /* cx */
            ifnull 7
            aload 4 /* cx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 4 // org.graalvm.polyglot.Context cx
      StackMap locals:
      StackMap stack:
         7: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
         8: astore 3
            aload 2
            ifnonnull 9
            aload 3
            astore 2
            goto 10
      StackMap locals:
      StackMap stack:
         9: aload 2
            aload 3
            if_acmpeq 10
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        10: aload 2
            athrow
        11: .line 261
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.nio.file.Path f
        end local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lcom/oracle/truffle/js/test/builtins/CommonJSRequireTest;
            1   12     1     f  Ljava/nio/file/Path;
            3    7     4    cx  Lorg/graalvm/polyglot/Context;
            4    5     5    js  Lorg/graalvm/polyglot/Value;
      Exception table:
        from    to  target  type
           3     5       6  any
           2     8       8  any
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void cyclicRequireFromMain();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=12, args_size=1
        start local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
         0: .line 265
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.getTestRootFolder:()Ljava/nio/file/Path;
            astore 1 /* root */
        start local 1 // java.nio.file.Path root
         1: .line 266
            aload 1 /* root */
            invokeinterface java.nio.file.Path.normalize:()Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "cycle_main.js"
            aastore
            invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
            astore 2 /* testCase */
        start local 2 // java.nio.file.Path testCase
         2: .line 267
            new java.io.ByteArrayOutputStream
            dup
            invokespecial java.io.ByteArrayOutputStream.<init>:()V
            astore 3 /* out */
        start local 3 // java.io.ByteArrayOutputStream out
         3: .line 268
            new java.io.ByteArrayOutputStream
            dup
            invokespecial java.io.ByteArrayOutputStream.<init>:()V
            astore 4 /* err */
        start local 4 // java.io.ByteArrayOutputStream err
         4: .line 269
            aconst_null
            astore 5
            aconst_null
            astore 6
         5: aload 1 /* root */
            aload 3 /* out */
            aload 4 /* err */
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.testContext:(Ljava/nio/file/Path;Ljava/io/OutputStream;Ljava/io/OutputStream;)Lorg/graalvm/polyglot/Context;
            astore 7 /* cx */
        start local 7 // org.graalvm.polyglot.Context cx
         6: .line 270
            aload 7 /* cx */
            aload 2 /* testCase */
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.getSourceFor:(Ljava/nio/file/Path;)Lorg/graalvm/polyglot/Source;
            invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
            astore 8 /* js */
        start local 8 // org.graalvm.polyglot.Value js
         7: .line 272
            aload 3 /* out */
            invokevirtual java.io.ByteArrayOutputStream.flush:()V
         8: .line 273
            aload 4 /* err */
            invokevirtual java.io.ByteArrayOutputStream.flush:()V
         9: .line 274
            new java.lang.String
            dup
            aload 3 /* out */
            invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
            invokespecial java.lang.String.<init>:([B)V
            astore 9 /* outPrint */
        start local 9 // java.lang.String outPrint
        10: .line 275
            new java.lang.String
            dup
            aload 4 /* err */
            invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
            invokespecial java.lang.String.<init>:([B)V
            astore 10 /* errPrint */
        start local 10 // java.lang.String errPrint
        11: .line 277
            new java.lang.StringBuilder
            dup
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.getTestRootFolder:()Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* testCase */
            invokeinterface java.nio.file.Path.getFileSystem:()Ljava/nio/file/FileSystem;
            invokevirtual java.nio.file.FileSystem.getSeparator:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 11 /* dirName */
        start local 11 // java.lang.String dirName
        12: .line 279
            new java.lang.StringBuilder
            dup
            ldc "main starting at "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 11 /* dirName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "cycle_main.js\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        13: .line 280
            ldc "other starting at "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 11 /* dirName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "cycle_other.js\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        14: .line 281
            ldc "main.done = false\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        15: .line 282
            ldc "other done\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        16: .line 283
            ldc "other.done = true\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        17: .line 284
            ldc "main done\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        18: .line 279
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        19: .line 284
            aload 9 /* outPrint */
        20: .line 279
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        21: .line 285
            ldc ""
            aload 10 /* errPrint */
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        22: .line 286
            ldc 84
            aload 8 /* js */
            invokevirtual org.graalvm.polyglot.Value.asInt:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        end local 11 // java.lang.String dirName
        end local 10 // java.lang.String errPrint
        end local 9 // java.lang.String outPrint
        end local 8 // org.graalvm.polyglot.Value js
        23: .line 287
            aload 7 /* cx */
            ifnull 29
            aload 7 /* cx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 29
      StackMap locals: com.oracle.truffle.js.test.builtins.CommonJSRequireTest java.nio.file.Path java.nio.file.Path java.io.ByteArrayOutputStream java.io.ByteArrayOutputStream java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
        24: astore 5
            aload 7 /* cx */
            ifnull 25
            aload 7 /* cx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 7 // org.graalvm.polyglot.Context cx
      StackMap locals:
      StackMap stack:
        25: aload 5
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        26: astore 6
            aload 5
            ifnonnull 27
            aload 6
            astore 5
            goto 28
      StackMap locals:
      StackMap stack:
        27: aload 5
            aload 6
            if_acmpeq 28
            aload 5
            aload 6
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        28: aload 5
            athrow
        29: .line 288
      StackMap locals:
      StackMap stack:
            return
        end local 4 // java.io.ByteArrayOutputStream err
        end local 3 // java.io.ByteArrayOutputStream out
        end local 2 // java.nio.file.Path testCase
        end local 1 // java.nio.file.Path root
        end local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   30     0      this  Lcom/oracle/truffle/js/test/builtins/CommonJSRequireTest;
            1   30     1      root  Ljava/nio/file/Path;
            2   30     2  testCase  Ljava/nio/file/Path;
            3   30     3       out  Ljava/io/ByteArrayOutputStream;
            4   30     4       err  Ljava/io/ByteArrayOutputStream;
            6   25     7        cx  Lorg/graalvm/polyglot/Context;
            7   23     8        js  Lorg/graalvm/polyglot/Value;
           10   23     9  outPrint  Ljava/lang/String;
           11   23    10  errPrint  Ljava/lang/String;
           12   23    11   dirName  Ljava/lang/String;
      Exception table:
        from    to  target  type
           6    23      24  any
           5    26      26  any
    Exceptions:
      throws java.io.IOException
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void cyclicRequire();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=10, args_size=1
        start local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
         0: .line 292
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.getTestRootFolder:()Ljava/nio/file/Path;
            astore 1 /* f */
        start local 1 // java.nio.file.Path f
         1: .line 293
            new java.io.ByteArrayOutputStream
            dup
            invokespecial java.io.ByteArrayOutputStream.<init>:()V
            astore 2 /* out */
        start local 2 // java.io.ByteArrayOutputStream out
         2: .line 294
            new java.io.ByteArrayOutputStream
            dup
            invokespecial java.io.ByteArrayOutputStream.<init>:()V
            astore 3 /* err */
        start local 3 // java.io.ByteArrayOutputStream err
         3: .line 295
            aconst_null
            astore 4
            aconst_null
            astore 5
         4: aload 1 /* f */
            aload 2 /* out */
            aload 3 /* err */
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.testContext:(Ljava/nio/file/Path;Ljava/io/OutputStream;Ljava/io/OutputStream;)Lorg/graalvm/polyglot/Context;
            astore 6 /* cx */
        start local 6 // org.graalvm.polyglot.Context cx
         5: .line 296
            aload 6 /* cx */
            ldc "js"
            ldc "console.log('main starting');const a = require('./a.js');const b = require('./b.js');console.log('in main, a.done = ' + a.done + ', b.done = ' + b.done);42;"
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            astore 7 /* js */
        start local 7 // org.graalvm.polyglot.Value js
         6: .line 301
            aload 2 /* out */
            invokevirtual java.io.ByteArrayOutputStream.flush:()V
         7: .line 302
            aload 3 /* err */
            invokevirtual java.io.ByteArrayOutputStream.flush:()V
         8: .line 303
            new java.lang.String
            dup
            aload 2 /* out */
            invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
            invokespecial java.lang.String.<init>:([B)V
            astore 8 /* outPrint */
        start local 8 // java.lang.String outPrint
         9: .line 304
            new java.lang.String
            dup
            aload 3 /* err */
            invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
            invokespecial java.lang.String.<init>:([B)V
            astore 9 /* errPrint */
        start local 9 // java.lang.String errPrint
        10: .line 306
            ldc "main starting\na starting\nb starting\nin b, a.done = false\nb done\nin a, b.done = true\na done\nin main, a.done = true, b.done = true\n"
        11: .line 313
            aload 8 /* outPrint */
        12: .line 306
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        13: .line 314
            ldc ""
            aload 9 /* errPrint */
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        14: .line 315
            ldc 42
            aload 7 /* js */
            invokevirtual org.graalvm.polyglot.Value.asInt:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        end local 9 // java.lang.String errPrint
        end local 8 // java.lang.String outPrint
        end local 7 // org.graalvm.polyglot.Value js
        15: .line 316
            aload 6 /* cx */
            ifnull 21
            aload 6 /* cx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 21
      StackMap locals: com.oracle.truffle.js.test.builtins.CommonJSRequireTest java.nio.file.Path java.io.ByteArrayOutputStream java.io.ByteArrayOutputStream java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
        16: astore 4
            aload 6 /* cx */
            ifnull 17
            aload 6 /* cx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 6 // org.graalvm.polyglot.Context cx
      StackMap locals:
      StackMap stack:
        17: aload 4
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        18: astore 5
            aload 4
            ifnonnull 19
            aload 5
            astore 4
            goto 20
      StackMap locals:
      StackMap stack:
        19: aload 4
            aload 5
            if_acmpeq 20
            aload 4
            aload 5
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        20: aload 4
            athrow
        21: .line 317
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.io.ByteArrayOutputStream err
        end local 2 // java.io.ByteArrayOutputStream out
        end local 1 // java.nio.file.Path f
        end local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   22     0      this  Lcom/oracle/truffle/js/test/builtins/CommonJSRequireTest;
            1   22     1         f  Ljava/nio/file/Path;
            2   22     2       out  Ljava/io/ByteArrayOutputStream;
            3   22     3       err  Ljava/io/ByteArrayOutputStream;
            5   17     6        cx  Lorg/graalvm/polyglot/Context;
            6   15     7        js  Lorg/graalvm/polyglot/Value;
            9   15     8  outPrint  Ljava/lang/String;
           10   15     9  errPrint  Ljava/lang/String;
      Exception table:
        from    to  target  type
           5    15      16  any
           4    18      18  any
    Exceptions:
      throws java.io.IOException
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void unknownModule();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
         0: .line 321
            ldc "require('unknown')"
            ldc "TypeError: Cannot load CommonJS module: 'unknown'"
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.assertThrows:(Ljava/lang/String;Ljava/lang/String;)V
         1: .line 322
            return
        end local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/js/test/builtins/CommonJSRequireTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void unknownFile();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
         0: .line 326
            ldc "require('./unknown')"
            ldc "TypeError: Cannot load CommonJS module: './unknown'"
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.assertThrows:(Ljava/lang/String;Ljava/lang/String;)V
         1: .line 327
            return
        end local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/js/test/builtins/CommonJSRequireTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void unknownFileWithExt();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
         0: .line 331
            ldc "require('./unknown.js')"
            ldc "TypeError: Cannot load CommonJS module: './unknown.js'"
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.assertThrows:(Ljava/lang/String;Ljava/lang/String;)V
         1: .line 332
            return
        end local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/js/test/builtins/CommonJSRequireTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void unknownAbsolute();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
         0: .line 336
            ldc "require('/path/to/unknown.js')"
            ldc "TypeError: Cannot load CommonJS module: '/path/to/unknown.js'"
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.assertThrows:(Ljava/lang/String;Ljava/lang/String;)V
         1: .line 337
            return
        end local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/js/test/builtins/CommonJSRequireTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testLoadJson();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
         0: .line 341
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.getTestRootFolder:()Ljava/nio/file/Path;
            astore 1 /* f */
        start local 1 // java.nio.file.Path f
         1: .line 342
            aconst_null
            astore 2
            aconst_null
            astore 3
         2: aload 1 /* f */
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.testContext:(Ljava/nio/file/Path;)Lorg/graalvm/polyglot/Context;
            astore 4 /* cx */
        start local 4 // org.graalvm.polyglot.Context cx
         3: .line 343
            aload 4 /* cx */
            ldc "js"
            ldc "require('./valid.json').foo;"
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            astore 5 /* js */
        start local 5 // org.graalvm.polyglot.Value js
         4: .line 344
            ldc 42
            aload 5 /* js */
            invokevirtual org.graalvm.polyglot.Value.asInt:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        end local 5 // org.graalvm.polyglot.Value js
         5: .line 345
            aload 4 /* cx */
            ifnull 11
            aload 4 /* cx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 11
      StackMap locals: com.oracle.truffle.js.test.builtins.CommonJSRequireTest java.nio.file.Path java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
         6: astore 2
            aload 4 /* cx */
            ifnull 7
            aload 4 /* cx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 4 // org.graalvm.polyglot.Context cx
      StackMap locals:
      StackMap stack:
         7: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
         8: astore 3
            aload 2
            ifnonnull 9
            aload 3
            astore 2
            goto 10
      StackMap locals:
      StackMap stack:
         9: aload 2
            aload 3
            if_acmpeq 10
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        10: aload 2
            athrow
        11: .line 346
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.nio.file.Path f
        end local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lcom/oracle/truffle/js/test/builtins/CommonJSRequireTest;
            1   12     1     f  Ljava/nio/file/Path;
            3    7     4    cx  Lorg/graalvm/polyglot/Context;
            4    5     5    js  Lorg/graalvm/polyglot/Value;
      Exception table:
        from    to  target  type
           3     5       6  any
           2     8       8  any
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testLoadBrokenJson();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=1
        start local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
         0: .line 350
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.getTestRootFolder:()Ljava/nio/file/Path;
            astore 1 /* f */
        start local 1 // java.nio.file.Path f
         1: .line 351
            aconst_null
            astore 2
            aconst_null
            astore 3
         2: aload 1 /* f */
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.testContext:(Ljava/nio/file/Path;)Lorg/graalvm/polyglot/Context;
            astore 4 /* cx */
        start local 4 // org.graalvm.polyglot.Context cx
         3: .line 352
            aload 4 /* cx */
            ldc "js"
            ldc "require('./invalid.json').foo;"
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
         4: .line 353
            getstatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.$assertionsDisabled:Z
            ifne 5
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         5: .line 354
      StackMap locals: com.oracle.truffle.js.test.builtins.CommonJSRequireTest java.nio.file.Path java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack:
            aload 4 /* cx */
            ifnull 15
            aload 4 /* cx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 15
      StackMap locals:
      StackMap stack: java.lang.Throwable
         6: astore 2
            aload 4 /* cx */
            ifnull 7
            aload 4 /* cx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 4 // org.graalvm.polyglot.Context cx
      StackMap locals:
      StackMap stack:
         7: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
         8: astore 3
            aload 2
            ifnonnull 9
            aload 3
            astore 2
            goto 10
      StackMap locals:
      StackMap stack:
         9: aload 2
            aload 3
            if_acmpeq 10
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        10: aload 2
            athrow
      StackMap locals: com.oracle.truffle.js.test.builtins.CommonJSRequireTest java.nio.file.Path
      StackMap stack: java.lang.Throwable
        11: astore 2 /* t */
        start local 2 // java.lang.Throwable t
        12: .line 355
            aload 2 /* t */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            ldc Lorg/graalvm/polyglot/PolyglotException;
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifne 14
        13: .line 356
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unexpected exception "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* t */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        14: .line 358
      StackMap locals: java.lang.Throwable
      StackMap stack:
            ldc "SyntaxError: Unexpected token n in JSON at position 1"
            aload 2 /* t */
            invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 2 // java.lang.Throwable t
        15: .line 360
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.nio.file.Path f
        end local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   16     0  this  Lcom/oracle/truffle/js/test/builtins/CommonJSRequireTest;
            1   16     1     f  Ljava/nio/file/Path;
            3    7     4    cx  Lorg/graalvm/polyglot/Context;
           12   15     2     t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           3     5       6  any
           2     8       8  any
           1    11      11  Class java.lang.Throwable
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testHasGlobals();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=9, args_size=1
        start local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
         0: .line 364
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.getTestRootFolder:()Ljava/nio/file/Path;
            astore 1 /* f */
        start local 1 // java.nio.file.Path f
         1: .line 365
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
            ldc "require"
            aastore
            dup
            iconst_1
            ldc "__dirname"
            aastore
            dup
            iconst_2
            ldc "__filename"
            aastore
            astore 2 /* builtins */
        start local 2 // java.lang.String[] builtins
         2: .line 366
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
            ldc "function"
            aastore
            dup
            iconst_1
            ldc "string"
            aastore
            dup
            iconst_2
            ldc "string"
            aastore
            astore 3 /* types */
        start local 3 // java.lang.String[] types
         3: .line 367
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         4: goto 16
         5: .line 368
      StackMap locals: com.oracle.truffle.js.test.builtins.CommonJSRequireTest java.nio.file.Path java.lang.String[] java.lang.String[] int
      StackMap stack:
            aconst_null
            astore 5
            aconst_null
            astore 6
         6: aload 1 /* f */
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.testContext:(Ljava/nio/file/Path;)Lorg/graalvm/polyglot/Context;
            astore 7 /* cx */
        start local 7 // org.graalvm.polyglot.Context cx
         7: .line 369
            aload 7 /* cx */
            ldc "js"
            new java.lang.StringBuilder
            dup
            ldc "(typeof "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* builtins */
            iload 4 /* i */
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ");"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            astore 8 /* val */
        start local 8 // org.graalvm.polyglot.Value val
         8: .line 370
            aload 3 /* types */
            iload 4 /* i */
            aaload
            aload 8 /* val */
            invokevirtual org.graalvm.polyglot.Value.asString:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 8 // org.graalvm.polyglot.Value val
         9: .line 371
            aload 7 /* cx */
            ifnull 15
            aload 7 /* cx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 15
      StackMap locals: com.oracle.truffle.js.test.builtins.CommonJSRequireTest java.nio.file.Path java.lang.String[] java.lang.String[] int java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
        10: astore 5
            aload 7 /* cx */
            ifnull 11
            aload 7 /* cx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 7 // org.graalvm.polyglot.Context cx
      StackMap locals:
      StackMap stack:
        11: aload 5
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        12: astore 6
            aload 5
            ifnonnull 13
            aload 6
            astore 5
            goto 14
      StackMap locals:
      StackMap stack:
        13: aload 5
            aload 6
            if_acmpeq 14
            aload 5
            aload 6
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        14: aload 5
            athrow
        15: .line 367
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 4 /* i */
            aload 2 /* builtins */
            arraylength
            if_icmplt 5
        end local 4 // int i
        17: .line 373
            return
        end local 3 // java.lang.String[] types
        end local 2 // java.lang.String[] builtins
        end local 1 // java.nio.file.Path f
        end local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   18     0      this  Lcom/oracle/truffle/js/test/builtins/CommonJSRequireTest;
            1   18     1         f  Ljava/nio/file/Path;
            2   18     2  builtins  [Ljava/lang/String;
            3   18     3     types  [Ljava/lang/String;
            4   17     4         i  I
            7   11     7        cx  Lorg/graalvm/polyglot/Context;
            8    9     8       val  Lorg/graalvm/polyglot/Value;
      Exception table:
        from    to  target  type
           7     9      10  any
           6    12      12  any
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testDirnameFilenameInModule();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=9, args_size=1
        start local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
         0: .line 377
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.getTestRootFolder:()Ljava/nio/file/Path;
            astore 1 /* root */
        start local 1 // java.nio.file.Path root
         1: .line 378
            aload 1 /* root */
            invokeinterface java.nio.file.Path.toAbsolutePath:()Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "foo"
            aastore
            dup
            iconst_1
            ldc "bar"
            aastore
            invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
            astore 2 /* subFolder */
        start local 2 // java.nio.file.Path subFolder
         2: .line 379
            aload 1 /* root */
            invokeinterface java.nio.file.Path.toAbsolutePath:()Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
            ldc "foo"
            aastore
            dup
            iconst_1
            ldc "bar"
            aastore
            dup
            iconst_2
            ldc "testFile.js"
            aastore
            invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.toFile:()Ljava/io/File;
            astore 3 /* file */
        start local 3 // java.io.File file
         3: .line 380
            aconst_null
            astore 4
            aconst_null
            astore 5
         4: aload 1 /* root */
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.testContext:(Ljava/nio/file/Path;)Lorg/graalvm/polyglot/Context;
            astore 6 /* cx */
        start local 6 // org.graalvm.polyglot.Context cx
         5: .line 381
            aload 6 /* cx */
            ldc "js"
            ldc "require('./foo/bar/testDir.js').dir;"
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            astore 7 /* dir */
        start local 7 // org.graalvm.polyglot.Value dir
         6: .line 382
            aload 2 /* subFolder */
            invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
            aload 7 /* dir */
            invokevirtual org.graalvm.polyglot.Value.asString:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         7: .line 383
            aload 6 /* cx */
            ldc "js"
            ldc "require('./foo/bar/testFile.js').file;"
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            astore 8 /* fil */
        start local 8 // org.graalvm.polyglot.Value fil
         8: .line 384
            aload 3 /* file */
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            aload 8 /* fil */
            invokevirtual org.graalvm.polyglot.Value.asString:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 8 // org.graalvm.polyglot.Value fil
        end local 7 // org.graalvm.polyglot.Value dir
         9: .line 385
            aload 6 /* cx */
            ifnull 15
            aload 6 /* cx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 15
      StackMap locals: com.oracle.truffle.js.test.builtins.CommonJSRequireTest java.nio.file.Path java.nio.file.Path java.io.File java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
        10: astore 4
            aload 6 /* cx */
            ifnull 11
            aload 6 /* cx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 6 // org.graalvm.polyglot.Context cx
      StackMap locals:
      StackMap stack:
        11: aload 4
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        12: astore 5
            aload 4
            ifnonnull 13
            aload 5
            astore 4
            goto 14
      StackMap locals:
      StackMap stack:
        13: aload 4
            aload 5
            if_acmpeq 14
            aload 4
            aload 5
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        14: aload 4
            athrow
        15: .line 386
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.io.File file
        end local 2 // java.nio.file.Path subFolder
        end local 1 // java.nio.file.Path root
        end local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   16     0       this  Lcom/oracle/truffle/js/test/builtins/CommonJSRequireTest;
            1   16     1       root  Ljava/nio/file/Path;
            2   16     2  subFolder  Ljava/nio/file/Path;
            3   16     3       file  Ljava/io/File;
            5   11     6         cx  Lorg/graalvm/polyglot/Context;
            6    9     7        dir  Lorg/graalvm/polyglot/Value;
            8    9     8        fil  Lorg/graalvm/polyglot/Value;
      Exception table:
        from    to  target  type
           5     9      10  any
           4    12      12  any
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testGlobalDirnameFilename();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=10, args_size=1
        start local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
         0: .line 390
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.getTestRootFolder:()Ljava/nio/file/Path;
            astore 1 /* root */
        start local 1 // java.nio.file.Path root
         1: .line 391
            aload 1 /* root */
            invokeinterface java.nio.file.Path.toAbsolutePath:()Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
            ldc "foo"
            aastore
            dup
            iconst_1
            ldc "bar"
            aastore
            dup
            iconst_2
            ldc "dirName.js"
            aastore
            invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
            astore 2 /* dirFile */
        start local 2 // java.nio.file.Path dirFile
         2: .line 392
            aload 1 /* root */
            invokeinterface java.nio.file.Path.toAbsolutePath:()Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "foo"
            aastore
            dup
            iconst_1
            ldc "bar"
            aastore
            invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
            astore 3 /* dirName */
        start local 3 // java.nio.file.Path dirName
         3: .line 393
            aload 1 /* root */
            invokeinterface java.nio.file.Path.toAbsolutePath:()Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
            ldc "foo"
            aastore
            dup
            iconst_1
            ldc "bar"
            aastore
            dup
            iconst_2
            ldc "fileName.js"
            aastore
            invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
            astore 4 /* fileName */
        start local 4 // java.nio.file.Path fileName
         4: .line 394
            aconst_null
            astore 5
            aconst_null
            astore 6
         5: aload 1 /* root */
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.testContext:(Ljava/nio/file/Path;)Lorg/graalvm/polyglot/Context;
            astore 7 /* cx */
        start local 7 // org.graalvm.polyglot.Context cx
         6: .line 395
            aload 7 /* cx */
            aload 2 /* dirFile */
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.getSourceFor:(Ljava/nio/file/Path;)Lorg/graalvm/polyglot/Source;
            invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
            astore 8 /* dir */
        start local 8 // org.graalvm.polyglot.Value dir
         7: .line 396
            aload 3 /* dirName */
            invokeinterface java.nio.file.Path.toAbsolutePath:()Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
            aload 8 /* dir */
            invokevirtual org.graalvm.polyglot.Value.asString:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         8: .line 397
            aload 7 /* cx */
            aload 4 /* fileName */
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.getSourceFor:(Ljava/nio/file/Path;)Lorg/graalvm/polyglot/Source;
            invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
            astore 9 /* fil */
        start local 9 // org.graalvm.polyglot.Value fil
         9: .line 398
            aload 4 /* fileName */
            invokeinterface java.nio.file.Path.toAbsolutePath:()Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
            aload 9 /* fil */
            invokevirtual org.graalvm.polyglot.Value.asString:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 9 // org.graalvm.polyglot.Value fil
        end local 8 // org.graalvm.polyglot.Value dir
        10: .line 399
            aload 7 /* cx */
            ifnull 16
            aload 7 /* cx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 16
      StackMap locals: com.oracle.truffle.js.test.builtins.CommonJSRequireTest java.nio.file.Path java.nio.file.Path java.nio.file.Path java.nio.file.Path java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
        11: astore 5
            aload 7 /* cx */
            ifnull 12
            aload 7 /* cx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 7 // org.graalvm.polyglot.Context cx
      StackMap locals:
      StackMap stack:
        12: aload 5
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        13: astore 6
            aload 5
            ifnonnull 14
            aload 6
            astore 5
            goto 15
      StackMap locals:
      StackMap stack:
        14: aload 5
            aload 6
            if_acmpeq 15
            aload 5
            aload 6
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        15: aload 5
            athrow
        16: .line 400
      StackMap locals:
      StackMap stack:
            return
        end local 4 // java.nio.file.Path fileName
        end local 3 // java.nio.file.Path dirName
        end local 2 // java.nio.file.Path dirFile
        end local 1 // java.nio.file.Path root
        end local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   17     0      this  Lcom/oracle/truffle/js/test/builtins/CommonJSRequireTest;
            1   17     1      root  Ljava/nio/file/Path;
            2   17     2   dirFile  Ljava/nio/file/Path;
            3   17     3   dirName  Ljava/nio/file/Path;
            4   17     4  fileName  Ljava/nio/file/Path;
            6   12     7        cx  Lorg/graalvm/polyglot/Context;
            7   10     8       dir  Lorg/graalvm/polyglot/Value;
            9   10     9       fil  Lorg/graalvm/polyglot/Value;
      Exception table:
        from    to  target  type
           6    10      11  any
           5    13      13  any
    Exceptions:
      throws java.io.IOException
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testCwd();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=1
        start local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
         0: .line 404
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.getTestRootFolder:()Ljava/nio/file/Path;
            astore 1 /* root */
        start local 1 // java.nio.file.Path root
         1: .line 405
            aconst_null
            astore 2
            aconst_null
            astore 3
         2: aload 1 /* root */
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.testContext:(Ljava/nio/file/Path;)Lorg/graalvm/polyglot/Context;
            astore 4 /* cx */
        start local 4 // org.graalvm.polyglot.Context cx
         3: .line 406
            aload 4 /* cx */
            ldc "js"
            ldc "__dirname"
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            astore 5 /* val */
        start local 5 // org.graalvm.polyglot.Value val
         4: .line 407
            aload 1 /* root */
            invokeinterface java.nio.file.Path.toAbsolutePath:()Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
            aload 5 /* val */
            invokevirtual org.graalvm.polyglot.Value.toString:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 5 // org.graalvm.polyglot.Value val
         5: .line 408
            aload 4 /* cx */
            ifnull 11
            aload 4 /* cx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 11
      StackMap locals: com.oracle.truffle.js.test.builtins.CommonJSRequireTest java.nio.file.Path java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
         6: astore 2
            aload 4 /* cx */
            ifnull 7
            aload 4 /* cx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 4 // org.graalvm.polyglot.Context cx
      StackMap locals:
      StackMap stack:
         7: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
         8: astore 3
            aload 2
            ifnonnull 9
            aload 3
            astore 2
            goto 10
      StackMap locals:
      StackMap stack:
         9: aload 2
            aload 3
            if_acmpeq 10
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        10: aload 2
            athrow
        11: .line 409
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.nio.file.Path root
        end local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lcom/oracle/truffle/js/test/builtins/CommonJSRequireTest;
            1   12     1  root  Ljava/nio/file/Path;
            3    7     4    cx  Lorg/graalvm/polyglot/Context;
            4    5     5   val  Lorg/graalvm/polyglot/Value;
      Exception table:
        from    to  target  type
           3     5       6  any
           2     8       8  any
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testWrongCwd();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
         0: .line 413
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 1 /* options */
        start local 1 // java.util.Map options
         1: .line 414
            aload 1 /* options */
            ldc "js.commonjs-require"
            ldc "true"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 415
            aload 1 /* options */
            ldc "js.commonjs-require-cwd"
            ldc "/wrong/or/not/existing/folder"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 416
            aconst_null
            astore 2
            aconst_null
            astore 3
         4: aload 1 /* options */
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.testContext:(Ljava/util/Map;)Lorg/graalvm/polyglot/Context;
            astore 4 /* cx */
        start local 4 // org.graalvm.polyglot.Context cx
         5: .line 417
            aload 4 /* cx */
            ldc "js"
            ldc "__dirname"
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
         6: .line 418
            getstatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.$assertionsDisabled:Z
            ifne 7
            new java.lang.AssertionError
            dup
            ldc "Should throw"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         7: .line 419
      StackMap locals: com.oracle.truffle.js.test.builtins.CommonJSRequireTest java.util.Map java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack:
            aload 4 /* cx */
            ifnull 15
            aload 4 /* cx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 15
      StackMap locals:
      StackMap stack: java.lang.Throwable
         8: astore 2
            aload 4 /* cx */
            ifnull 9
            aload 4 /* cx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 4 // org.graalvm.polyglot.Context cx
      StackMap locals:
      StackMap stack:
         9: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        10: astore 3
            aload 2
            ifnonnull 11
            aload 3
            astore 2
            goto 12
      StackMap locals:
      StackMap stack:
        11: aload 2
            aload 3
            if_acmpeq 12
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        12: aload 2
            athrow
      StackMap locals: com.oracle.truffle.js.test.builtins.CommonJSRequireTest java.util.Map
      StackMap stack: org.graalvm.polyglot.PolyglotException
        13: astore 2 /* e */
        start local 2 // org.graalvm.polyglot.PolyglotException e
        14: .line 420
            ldc "Error: Invalid CommonJS root folder: /wrong/or/not/existing/folder"
            aload 2 /* e */
            invokevirtual org.graalvm.polyglot.PolyglotException.getMessage:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 2 // org.graalvm.polyglot.PolyglotException e
        15: .line 422
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.util.Map options
        end local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   16     0     this  Lcom/oracle/truffle/js/test/builtins/CommonJSRequireTest;
            1   16     1  options  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            5    9     4       cx  Lorg/graalvm/polyglot/Context;
           14   15     2        e  Lorg/graalvm/polyglot/PolyglotException;
      Exception table:
        from    to  target  type
           5     7       8  any
           4    10      10  any
           3    13      13  Class org.graalvm.polyglot.PolyglotException
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testResolve();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=1
        start local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
         0: .line 426
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.getTestRootFolder:()Ljava/nio/file/Path;
            astore 1 /* root */
        start local 1 // java.nio.file.Path root
         1: .line 427
            aload 1 /* root */
            invokeinterface java.nio.file.Path.normalize:()Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
            ldc "foo"
            aastore
            dup
            iconst_1
            ldc "bar"
            aastore
            dup
            iconst_2
            ldc "foo.js"
            aastore
            invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
            astore 2 /* testCase */
        start local 2 // java.nio.file.Path testCase
         2: .line 428
            aload 1 /* root */
            invokeinterface java.nio.file.Path.normalize:()Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "index.js"
            aastore
            invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
            astore 3 /* expected */
        start local 3 // java.nio.file.Path expected
         3: .line 429
            aconst_null
            astore 4
            aconst_null
            astore 5
         4: aload 1 /* root */
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.testContext:(Ljava/nio/file/Path;)Lorg/graalvm/polyglot/Context;
            astore 6 /* cx */
        start local 6 // org.graalvm.polyglot.Context cx
         5: .line 430
            aload 6 /* cx */
            aload 2 /* testCase */
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.getSourceFor:(Ljava/nio/file/Path;)Lorg/graalvm/polyglot/Source;
            invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
            astore 7 /* js */
        start local 7 // org.graalvm.polyglot.Value js
         6: .line 431
            aload 3 /* expected */
            invokeinterface java.nio.file.Path.toAbsolutePath:()Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
            aload 7 /* js */
            invokevirtual org.graalvm.polyglot.Value.asString:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 7 // org.graalvm.polyglot.Value js
         7: .line 432
            aload 6 /* cx */
            ifnull 13
            aload 6 /* cx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 13
      StackMap locals: com.oracle.truffle.js.test.builtins.CommonJSRequireTest java.nio.file.Path java.nio.file.Path java.nio.file.Path java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
         8: astore 4
            aload 6 /* cx */
            ifnull 9
            aload 6 /* cx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 6 // org.graalvm.polyglot.Context cx
      StackMap locals:
      StackMap stack:
         9: aload 4
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        10: astore 5
            aload 4
            ifnonnull 11
            aload 5
            astore 4
            goto 12
      StackMap locals:
      StackMap stack:
        11: aload 4
            aload 5
            if_acmpeq 12
            aload 4
            aload 5
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        12: aload 4
            athrow
        13: .line 433
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.nio.file.Path expected
        end local 2 // java.nio.file.Path testCase
        end local 1 // java.nio.file.Path root
        end local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   14     0      this  Lcom/oracle/truffle/js/test/builtins/CommonJSRequireTest;
            1   14     1      root  Ljava/nio/file/Path;
            2   14     2  testCase  Ljava/nio/file/Path;
            3   14     3  expected  Ljava/nio/file/Path;
            5    9     6        cx  Lorg/graalvm/polyglot/Context;
            6    7     7        js  Lorg/graalvm/polyglot/Value;
      Exception table:
        from    to  target  type
           5     7       8  any
           4    10      10  any
    Exceptions:
      throws java.io.IOException
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testCustomNodeBuiltin();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=1
        start local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
         0: .line 437
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.getTestRootFolder:()Ljava/nio/file/Path;
            astore 1 /* root */
        start local 1 // java.nio.file.Path root
         1: .line 438
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 2 /* options */
        start local 2 // java.util.Map options
         2: .line 439
            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 440
            aload 2 /* options */
            ldc "js.commonjs-require-cwd"
            aload 1 /* root */
            invokeinterface java.nio.file.Path.toAbsolutePath:()Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 442
            aload 2 /* options */
            ldc "js.commonjs-core-modules-replacements"
            ldc "path:./module,fs:./module.js"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 443
            aconst_null
            astore 3
            aconst_null
            astore 4
         6: aload 2 /* options */
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.testContext:(Ljava/util/Map;)Lorg/graalvm/polyglot/Context;
            astore 5 /* cx */
        start local 5 // org.graalvm.polyglot.Context cx
         7: .line 444
            aload 5 /* cx */
            ldc "js"
            ldc "require('path').foo + require('fs').foo;"
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            astore 6 /* js */
        start local 6 // org.graalvm.polyglot.Value js
         8: .line 445
            ldc 84
            aload 6 /* js */
            invokevirtual org.graalvm.polyglot.Value.asInt:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        end local 6 // org.graalvm.polyglot.Value js
         9: .line 446
            aload 5 /* cx */
            ifnull 15
            aload 5 /* cx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 15
      StackMap locals: com.oracle.truffle.js.test.builtins.CommonJSRequireTest java.nio.file.Path java.util.Map java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
        10: astore 3
            aload 5 /* cx */
            ifnull 11
            aload 5 /* cx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 5 // org.graalvm.polyglot.Context cx
      StackMap locals:
      StackMap stack:
        11: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        12: astore 4
            aload 3
            ifnonnull 13
            aload 4
            astore 3
            goto 14
      StackMap locals:
      StackMap stack:
        13: aload 3
            aload 4
            if_acmpeq 14
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        14: aload 3
            athrow
        15: .line 447
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.util.Map options
        end local 1 // java.nio.file.Path root
        end local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   16     0     this  Lcom/oracle/truffle/js/test/builtins/CommonJSRequireTest;
            1   16     1     root  Ljava/nio/file/Path;
            2   16     2  options  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            7   11     5       cx  Lorg/graalvm/polyglot/Context;
            8    9     6       js  Lorg/graalvm/polyglot/Value;
      Exception table:
        from    to  target  type
           7     9      10  any
           6    12      12  any
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testCustomNodeBuiltinJavaInterop();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=1
        start local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
         0: .line 451
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.getTestRootFolder:()Ljava/nio/file/Path;
            astore 1 /* root */
        start local 1 // java.nio.file.Path root
         1: .line 452
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 2 /* options */
        start local 2 // java.util.Map options
         2: .line 453
            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 454
            aload 2 /* options */
            ldc "js.commonjs-require-cwd"
            aload 1 /* root */
            invokeinterface java.nio.file.Path.toAbsolutePath:()Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 456
            aload 2 /* options */
            ldc "js.commonjs-core-modules-replacements"
            ldc "util:java-interop-replacement"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 457
            aconst_null
            astore 3
            aconst_null
            astore 4
         6: aload 2 /* options */
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.testContext:(Ljava/util/Map;)Lorg/graalvm/polyglot/Context;
            astore 5 /* cx */
        start local 5 // org.graalvm.polyglot.Context cx
         7: .line 458
            aload 5 /* cx */
            ldc "js"
            ldc "const m1 = Java.type('java.lang.Math').max(21, 42);const m2 = require('util').min(82, m1);const m3 = require('util').max(21, m2);const {max, min} = require('util');min(max(m3, m3), m3);"
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            astore 6 /* max */
        start local 6 // org.graalvm.polyglot.Value max
         8: .line 463
            aload 6 /* max */
            invokevirtual org.graalvm.polyglot.Value.fitsInInt:()Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
         9: .line 464
            ldc 42
            aload 6 /* max */
            invokevirtual org.graalvm.polyglot.Value.asInt:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        end local 6 // org.graalvm.polyglot.Value max
        10: .line 465
            aload 5 /* cx */
            ifnull 16
            aload 5 /* cx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 16
      StackMap locals: com.oracle.truffle.js.test.builtins.CommonJSRequireTest java.nio.file.Path java.util.Map java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
        11: astore 3
            aload 5 /* cx */
            ifnull 12
            aload 5 /* cx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 5 // org.graalvm.polyglot.Context cx
      StackMap locals:
      StackMap stack:
        12: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        13: astore 4
            aload 3
            ifnonnull 14
            aload 4
            astore 3
            goto 15
      StackMap locals:
      StackMap stack:
        14: aload 3
            aload 4
            if_acmpeq 15
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        15: aload 3
            athrow
        16: .line 466
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.util.Map options
        end local 1 // java.nio.file.Path root
        end local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   17     0     this  Lcom/oracle/truffle/js/test/builtins/CommonJSRequireTest;
            1   17     1     root  Ljava/nio/file/Path;
            2   17     2  options  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            7   12     5       cx  Lorg/graalvm/polyglot/Context;
            8   10     6      max  Lorg/graalvm/polyglot/Value;
      Exception table:
        from    to  target  type
           7    10      11  any
           6    13      13  any
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testJavaBuiltinInModule();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=1
        start local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
         0: .line 470
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.getTestRootFolder:()Ljava/nio/file/Path;
            astore 1 /* root */
        start local 1 // java.nio.file.Path root
         1: .line 471
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 2 /* options */
        start local 2 // java.util.Map options
         2: .line 472
            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 473
            aload 2 /* options */
            ldc "js.commonjs-require-cwd"
            aload 1 /* root */
            invokeinterface java.nio.file.Path.toAbsolutePath:()Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 474
            aconst_null
            astore 3
            aconst_null
            astore 4
         5: aload 2 /* options */
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.testContext:(Ljava/util/Map;)Lorg/graalvm/polyglot/Context;
            astore 5 /* cx */
        start local 5 // org.graalvm.polyglot.Context cx
         6: .line 475
            aload 5 /* cx */
            ldc "js"
            ldc "const {max, min} = require('java-interop-replacement');min(max(21, 42), 84);"
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            astore 6 /* max */
        start local 6 // org.graalvm.polyglot.Value max
         7: .line 477
            aload 6 /* max */
            invokevirtual org.graalvm.polyglot.Value.fitsInInt:()Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
         8: .line 478
            ldc 42
            aload 6 /* max */
            invokevirtual org.graalvm.polyglot.Value.asInt:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        end local 6 // org.graalvm.polyglot.Value max
         9: .line 479
            aload 5 /* cx */
            ifnull 15
            aload 5 /* cx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 15
      StackMap locals: com.oracle.truffle.js.test.builtins.CommonJSRequireTest java.nio.file.Path java.util.Map java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
        10: astore 3
            aload 5 /* cx */
            ifnull 11
            aload 5 /* cx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 5 // org.graalvm.polyglot.Context cx
      StackMap locals:
      StackMap stack:
        11: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        12: astore 4
            aload 3
            ifnonnull 13
            aload 4
            astore 3
            goto 14
      StackMap locals:
      StackMap stack:
        13: aload 3
            aload 4
            if_acmpeq 14
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        14: aload 3
            athrow
        15: .line 480
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.util.Map options
        end local 1 // java.nio.file.Path root
        end local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   16     0     this  Lcom/oracle/truffle/js/test/builtins/CommonJSRequireTest;
            1   16     1     root  Ljava/nio/file/Path;
            2   16     2  options  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            6   11     5       cx  Lorg/graalvm/polyglot/Context;
            7    9     6      max  Lorg/graalvm/polyglot/Value;
      Exception table:
        from    to  target  type
           6     9      10  any
           5    12      12  any
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testExportedNumber();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=1
        start local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
         0: .line 484
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.getTestRootFolder:()Ljava/nio/file/Path;
            astore 1 /* root */
        start local 1 // java.nio.file.Path root
         1: .line 485
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 2 /* options */
        start local 2 // java.util.Map options
         2: .line 486
            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 487
            aload 2 /* options */
            ldc "js.commonjs-require-cwd"
            aload 1 /* root */
            invokeinterface java.nio.file.Path.toAbsolutePath:()Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 488
            aconst_null
            astore 3
            aconst_null
            astore 4
         5: aload 2 /* options */
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.testContext:(Ljava/util/Map;)Lorg/graalvm/polyglot/Context;
            astore 5 /* cx */
        start local 5 // org.graalvm.polyglot.Context cx
         6: .line 489
            aload 5 /* cx */
            ldc "js"
            ldc "require('exports-number');"
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            astore 6 /* max */
        start local 6 // org.graalvm.polyglot.Value max
         7: .line 490
            aload 6 /* max */
            invokevirtual org.graalvm.polyglot.Value.fitsInInt:()Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
         8: .line 491
            ldc 42
            aload 6 /* max */
            invokevirtual org.graalvm.polyglot.Value.asInt:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        end local 6 // org.graalvm.polyglot.Value max
         9: .line 492
            aload 5 /* cx */
            ifnull 15
            aload 5 /* cx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 15
      StackMap locals: com.oracle.truffle.js.test.builtins.CommonJSRequireTest java.nio.file.Path java.util.Map java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
        10: astore 3
            aload 5 /* cx */
            ifnull 11
            aload 5 /* cx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 5 // org.graalvm.polyglot.Context cx
      StackMap locals:
      StackMap stack:
        11: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        12: astore 4
            aload 3
            ifnonnull 13
            aload 4
            astore 3
            goto 14
      StackMap locals:
      StackMap stack:
        13: aload 3
            aload 4
            if_acmpeq 14
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        14: aload 3
            athrow
        15: .line 493
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.util.Map options
        end local 1 // java.nio.file.Path root
        end local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   16     0     this  Lcom/oracle/truffle/js/test/builtins/CommonJSRequireTest;
            1   16     1     root  Ljava/nio/file/Path;
            2   16     2  options  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            6   11     5       cx  Lorg/graalvm/polyglot/Context;
            7    9     6      max  Lorg/graalvm/polyglot/Value;
      Exception table:
        from    to  target  type
           6     9      10  any
           5    12      12  any
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testGlobals();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=1
        start local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
         0: .line 497
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.getTestRootFolder:()Ljava/nio/file/Path;
            astore 1 /* root */
        start local 1 // java.nio.file.Path root
         1: .line 498
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 2 /* options */
        start local 2 // java.util.Map options
         2: .line 499
            aload 2 /* options */
            ldc "js.global-property"
            ldc "true"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 500
            aload 2 /* options */
            ldc "js.commonjs-require"
            ldc "true"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 501
            aload 2 /* options */
            ldc "js.commonjs-require-cwd"
            aload 1 /* root */
            invokeinterface java.nio.file.Path.toAbsolutePath:()Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 503
            aload 2 /* options */
            ldc "js.commonjs-global-properties"
            ldc "test-globals"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 504
            aconst_null
            astore 3
            aconst_null
            astore 4
         7: aload 2 /* options */
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.testContext:(Ljava/util/Map;)Lorg/graalvm/polyglot/Context;
            astore 5 /* cx */
        start local 5 // org.graalvm.polyglot.Context cx
         8: .line 505
            aload 5 /* cx */
            ldc "js"
            ldc "process.foo;"
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            astore 6 /* js */
        start local 6 // org.graalvm.polyglot.Value js
         9: .line 506
            ldc 42
            aload 6 /* js */
            invokevirtual org.graalvm.polyglot.Value.asInt:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        end local 6 // org.graalvm.polyglot.Value js
        10: .line 507
            aload 5 /* cx */
            ifnull 16
            aload 5 /* cx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 16
      StackMap locals: com.oracle.truffle.js.test.builtins.CommonJSRequireTest java.nio.file.Path java.util.Map java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
        11: astore 3
            aload 5 /* cx */
            ifnull 12
            aload 5 /* cx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 5 // org.graalvm.polyglot.Context cx
      StackMap locals:
      StackMap stack:
        12: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        13: astore 4
            aload 3
            ifnonnull 14
            aload 4
            astore 3
            goto 15
      StackMap locals:
      StackMap stack:
        14: aload 3
            aload 4
            if_acmpeq 15
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        15: aload 3
            athrow
        16: .line 508
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.util.Map options
        end local 1 // java.nio.file.Path root
        end local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   17     0     this  Lcom/oracle/truffle/js/test/builtins/CommonJSRequireTest;
            1   17     1     root  Ljava/nio/file/Path;
            2   17     2  options  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            8   12     5       cx  Lorg/graalvm/polyglot/Context;
            9   10     6       js  Lorg/graalvm/polyglot/Value;
      Exception table:
        from    to  target  type
           8    10      11  any
           7    13      13  any
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testRequireEsModuleCrashed();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
         0: .line 512
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 1 /* options */
        start local 1 // java.util.Map options
         1: .line 513
            aload 1 /* options */
            ldc "js.commonjs-require"
            ldc "true"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 514
            aconst_null
            astore 2
            aconst_null
            astore 3
         3: aload 1 /* options */
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.testContext:(Ljava/util/Map;)Lorg/graalvm/polyglot/Context;
            astore 4 /* cx */
        start local 4 // org.graalvm.polyglot.Context cx
         4: .line 515
            aload 4 /* cx */
            ldc "js"
            ldc "require('./module.mjs');"
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
         5: .line 516
            getstatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.$assertionsDisabled:Z
            ifne 6
            new java.lang.AssertionError
            dup
            ldc "Should throw"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         6: .line 517
      StackMap locals: com.oracle.truffle.js.test.builtins.CommonJSRequireTest java.util.Map java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack:
            aload 4 /* cx */
            ifnull 14
            aload 4 /* cx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 14
      StackMap locals:
      StackMap stack: java.lang.Throwable
         7: astore 2
            aload 4 /* cx */
            ifnull 8
            aload 4 /* cx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 4 // org.graalvm.polyglot.Context cx
      StackMap locals:
      StackMap stack:
         8: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
         9: astore 3
            aload 2
            ifnonnull 10
            aload 3
            astore 2
            goto 11
      StackMap locals:
      StackMap stack:
        10: aload 2
            aload 3
            if_acmpeq 11
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        11: aload 2
            athrow
      StackMap locals: com.oracle.truffle.js.test.builtins.CommonJSRequireTest java.util.Map
      StackMap stack: org.graalvm.polyglot.PolyglotException
        12: astore 2 /* e */
        start local 2 // org.graalvm.polyglot.PolyglotException e
        13: .line 518
            ldc "Error: Invalid CommonJS root folder: "
            aload 2 /* e */
            invokevirtual org.graalvm.polyglot.PolyglotException.getMessage:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 2 // org.graalvm.polyglot.PolyglotException e
        14: .line 520
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.util.Map options
        end local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   15     0     this  Lcom/oracle/truffle/js/test/builtins/CommonJSRequireTest;
            1   15     1  options  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            4    8     4       cx  Lorg/graalvm/polyglot/Context;
           13   14     2        e  Lorg/graalvm/polyglot/PolyglotException;
      Exception table:
        from    to  target  type
           4     6       7  any
           3     9       9  any
           2    12      12  Class org.graalvm.polyglot.PolyglotException
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void requireBuiltinNoReplacementFromFolder();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=1
        start local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
         0: .line 529
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.getTestRootFolder:()Ljava/nio/file/Path;
            astore 1 /* f */
        start local 1 // java.nio.file.Path f
         1: .line 530
            aconst_null
            astore 2
            aconst_null
            astore 3
         2: aload 1 /* f */
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.testContext:(Ljava/nio/file/Path;)Lorg/graalvm/polyglot/Context;
            astore 4 /* cx */
        start local 4 // org.graalvm.polyglot.Context cx
         3: .line 531
            aload 4 /* cx */
            ldc "js"
            ldc "require('util').foo;"
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            astore 5 /* foo */
        start local 5 // org.graalvm.polyglot.Value foo
         4: .line 532
            aload 5 /* foo */
            invokevirtual org.graalvm.polyglot.Value.fitsInInt:()Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
         5: .line 533
            ldc 42
            aload 5 /* foo */
            invokevirtual org.graalvm.polyglot.Value.asInt:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        end local 5 // org.graalvm.polyglot.Value foo
         6: .line 534
            aload 4 /* cx */
            ifnull 14
            aload 4 /* cx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 14
      StackMap locals: com.oracle.truffle.js.test.builtins.CommonJSRequireTest java.nio.file.Path java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
         7: astore 2
            aload 4 /* cx */
            ifnull 8
            aload 4 /* cx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 4 // org.graalvm.polyglot.Context cx
      StackMap locals:
      StackMap stack:
         8: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
         9: astore 3
            aload 2
            ifnonnull 10
            aload 3
            astore 2
            goto 11
      StackMap locals:
      StackMap stack:
        10: aload 2
            aload 3
            if_acmpeq 11
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        11: aload 2
            athrow
      StackMap locals: com.oracle.truffle.js.test.builtins.CommonJSRequireTest java.nio.file.Path
      StackMap stack: java.lang.Throwable
        12: astore 2 /* t */
        start local 2 // java.lang.Throwable t
        13: .line 535
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unexpected exception "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* t */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        end local 2 // java.lang.Throwable t
        14: .line 537
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.nio.file.Path f
        end local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   15     0  this  Lcom/oracle/truffle/js/test/builtins/CommonJSRequireTest;
            1   15     1     f  Ljava/nio/file/Path;
            3    8     4    cx  Lorg/graalvm/polyglot/Context;
            4    6     5   foo  Lorg/graalvm/polyglot/Value;
           13   14     2     t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           3     6       7  any
           2     9       9  any
           1    12      12  Class java.lang.Throwable
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void requireBuiltinNoReplacementNoFolder();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
         0: .line 541
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.getTestRootFolder:()Ljava/nio/file/Path;
            astore 1 /* f */
        start local 1 // java.nio.file.Path f
         1: .line 542
            aconst_null
            astore 2
            aconst_null
            astore 3
         2: aload 1 /* f */
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.testContext:(Ljava/nio/file/Path;)Lorg/graalvm/polyglot/Context;
            astore 4 /* cx */
        start local 4 // org.graalvm.polyglot.Context cx
         3: .line 543
            aload 4 /* cx */
            ldc "js"
            ldc "require('fs').foo;"
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
         4: .line 544
            getstatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.$assertionsDisabled:Z
            ifne 5
            new java.lang.AssertionError
            dup
            ldc "Should throw"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         5: .line 545
      StackMap locals: com.oracle.truffle.js.test.builtins.CommonJSRequireTest java.nio.file.Path java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack:
            aload 4 /* cx */
            ifnull 13
            aload 4 /* cx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 13
      StackMap locals:
      StackMap stack: java.lang.Throwable
         6: astore 2
            aload 4 /* cx */
            ifnull 7
            aload 4 /* cx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 4 // org.graalvm.polyglot.Context cx
      StackMap locals:
      StackMap stack:
         7: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
         8: astore 3
            aload 2
            ifnonnull 9
            aload 3
            astore 2
            goto 10
      StackMap locals:
      StackMap stack:
         9: aload 2
            aload 3
            if_acmpeq 10
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        10: aload 2
            athrow
      StackMap locals: com.oracle.truffle.js.test.builtins.CommonJSRequireTest java.nio.file.Path
      StackMap stack: org.graalvm.polyglot.PolyglotException
        11: astore 2 /* e */
        start local 2 // org.graalvm.polyglot.PolyglotException e
        12: .line 546
            ldc "TypeError: Cannot load CommonJS module: 'fs'"
            aload 2 /* e */
            invokevirtual org.graalvm.polyglot.PolyglotException.getMessage:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 2 // org.graalvm.polyglot.PolyglotException e
        13: .line 548
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.nio.file.Path f
        end local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0  this  Lcom/oracle/truffle/js/test/builtins/CommonJSRequireTest;
            1   14     1     f  Ljava/nio/file/Path;
            3    7     4    cx  Lorg/graalvm/polyglot/Context;
           12   13     2     e  Lorg/graalvm/polyglot/PolyglotException;
      Exception table:
        from    to  target  type
           3     5       6  any
           2     8       8  any
           1    11      11  Class org.graalvm.polyglot.PolyglotException
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void requireEmpty();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
         0: .line 552
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.getTestRootFolder:()Ljava/nio/file/Path;
            astore 1 /* f */
        start local 1 // java.nio.file.Path f
         1: .line 553
            aconst_null
            astore 2
            aconst_null
            astore 3
         2: aload 1 /* f */
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.testContext:(Ljava/nio/file/Path;)Lorg/graalvm/polyglot/Context;
            astore 4 /* cx */
        start local 4 // org.graalvm.polyglot.Context cx
         3: .line 554
            aload 4 /* cx */
            ldc "js"
            ldc "require('').foo;"
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
         4: .line 555
            getstatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.$assertionsDisabled:Z
            ifne 5
            new java.lang.AssertionError
            dup
            ldc "Should throw"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         5: .line 556
      StackMap locals: com.oracle.truffle.js.test.builtins.CommonJSRequireTest java.nio.file.Path java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack:
            aload 4 /* cx */
            ifnull 13
            aload 4 /* cx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 13
      StackMap locals:
      StackMap stack: java.lang.Throwable
         6: astore 2
            aload 4 /* cx */
            ifnull 7
            aload 4 /* cx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 4 // org.graalvm.polyglot.Context cx
      StackMap locals:
      StackMap stack:
         7: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
         8: astore 3
            aload 2
            ifnonnull 9
            aload 3
            astore 2
            goto 10
      StackMap locals:
      StackMap stack:
         9: aload 2
            aload 3
            if_acmpeq 10
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        10: aload 2
            athrow
      StackMap locals: com.oracle.truffle.js.test.builtins.CommonJSRequireTest java.nio.file.Path
      StackMap stack: org.graalvm.polyglot.PolyglotException
        11: astore 2 /* e */
        start local 2 // org.graalvm.polyglot.PolyglotException e
        12: .line 557
            ldc "TypeError: Cannot load CommonJS module: ''"
            aload 2 /* e */
            invokevirtual org.graalvm.polyglot.PolyglotException.getMessage:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 2 // org.graalvm.polyglot.PolyglotException e
        13: .line 559
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.nio.file.Path f
        end local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0  this  Lcom/oracle/truffle/js/test/builtins/CommonJSRequireTest;
            1   14     1     f  Ljava/nio/file/Path;
            3    7     4    cx  Lorg/graalvm/polyglot/Context;
           12   13     2     e  Lorg/graalvm/polyglot/PolyglotException;
      Exception table:
        from    to  target  type
           3     5       6  any
           2     8       8  any
           1    11      11  Class org.graalvm.polyglot.PolyglotException
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testDynamicImportAbsoluteURL();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
         0: .line 565
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.getTestRootFolder:()Ljava/nio/file/Path;
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.logicalAbsolutePath:(Ljava/nio/file/Path;)Ljava/lang/String;
            astore 1 /* logicalAbsolutePath */
        start local 1 // java.lang.String logicalAbsolutePath
         1: .line 566
            new java.io.File
            dup
            aload 1 /* logicalAbsolutePath */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            invokevirtual java.io.File.toURI:()Ljava/net/URI;
            invokevirtual java.net.URI.toString:()Ljava/lang/String;
            astore 2 /* logicalAbsoluteUri */
        start local 2 // java.lang.String logicalAbsoluteUri
         2: .line 567
            new java.lang.StringBuilder
            dup
            ldc "import('"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* logicalAbsoluteUri */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "/a.mjs').then(x => console.log(x.hello)).catch(console.log);"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 3 /* src */
        start local 3 // java.lang.String src
         3: .line 569
            aload 3 /* src */
            ldc "hello module!\n"
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.runAndExpectOutput:(Ljava/lang/String;Ljava/lang/String;)V
         4: .line 570
            return
        end local 3 // java.lang.String src
        end local 2 // java.lang.String logicalAbsoluteUri
        end local 1 // java.lang.String logicalAbsolutePath
        end local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    5     0                 this  Lcom/oracle/truffle/js/test/builtins/CommonJSRequireTest;
            1    5     1  logicalAbsolutePath  Ljava/lang/String;
            2    5     2   logicalAbsoluteUri  Ljava/lang/String;
            3    5     3                  src  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testDynamicImportFile();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
         0: .line 576
            ldc "import('./a.mjs').then(x => console.log(x.hello)).catch(console.log);"
            ldc "hello module!\n"
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.runAndExpectOutput:(Ljava/lang/String;Ljava/lang/String;)V
         1: .line 577
            return
        end local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/js/test/builtins/CommonJSRequireTest;
    Exceptions:
      throws java.io.IOException
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testDynamicImportModule();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
         0: .line 583
            ldc "import('esm-basic').then(x => console.log(x.hello)).catch(console.log);"
            ldc "hello esm-module!\n"
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.runAndExpectOutput:(Ljava/lang/String;Ljava/lang/String;)V
         1: .line 584
            return
        end local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/js/test/builtins/CommonJSRequireTest;
    Exceptions:
      throws java.io.IOException
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testDynamicImportModuleNested();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
         0: .line 590
            ldc "import('esm-nested').then(x => console.log(x.hi)).catch(console.log);"
            ldc "hello esm-nested-module! hello esm-module!\n"
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.runAndExpectOutput:(Ljava/lang/String;Ljava/lang/String;)V
         1: .line 591
            return
        end local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/js/test/builtins/CommonJSRequireTest;
    Exceptions:
      throws java.io.IOException
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void unknownEsModule();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
         0: .line 597
            ldc "import('unknown').then(x => {throw 'unexpected'}).catch(console.log);"
            ldc "TypeError: Cannot load module: 'unknown'\n"
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.runAndExpectOutput:(Ljava/lang/String;Ljava/lang/String;)V
         1: .line 598
            return
        end local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/js/test/builtins/CommonJSRequireTest;
    Exceptions:
      throws java.io.IOException
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void unknownEsFile();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
         0: .line 604
            ldc "import('./unknown.mjs').then(x => {throw 'unexpected'}).catch(console.log);"
            ldc "TypeError: Cannot load module: './unknown.mjs'\n"
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.runAndExpectOutput:(Ljava/lang/String;Ljava/lang/String;)V
         1: .line 605
            return
        end local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/js/test/builtins/CommonJSRequireTest;
    Exceptions:
      throws java.io.IOException
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void unsupportedUrl();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
         0: .line 611
            ldc "import('https://unpkg.com/@esm/ms').then(x => {throw 'unexpected'}).catch(console.log);"
            ldc "TypeError: Only file:// urls are supported: FileSystem for: https scheme is not supported.\n"
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.runAndExpectOutput:(Ljava/lang/String;Ljava/lang/String;)V
         1: .line 612
            return
        end local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/js/test/builtins/CommonJSRequireTest;
    Exceptions:
      throws java.io.IOException
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void dontImportCommonJs();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
         0: .line 618
            ldc "import('with-package').then(x => {throw 'unexpected'}).catch(console.log);"
            ldc "TypeError: do not use import() to load non-ES modules.\n"
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.runAndExpectOutput:(Ljava/lang/String;Ljava/lang/String;)V
         1: .line 619
            return
        end local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/js/test/builtins/CommonJSRequireTest;
    Exceptions:
      throws java.io.IOException
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void badModuleName();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
         0: .line 625
            ldc "import('__foo__ + /some/garbage.js').then(x => {throw 'unexpected'}).catch(console.log);"
            ldc "TypeError: Cannot load module: '__foo__ + /some/garbage.js'\n"
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.runAndExpectOutput:(Ljava/lang/String;Ljava/lang/String;)V
         1: .line 626
            return
        end local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/js/test/builtins/CommonJSRequireTest;
    Exceptions:
      throws java.io.IOException
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void emptyModuleName();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
         0: .line 632
            ldc "import('').then(x => {throw 'unexpected'}).catch(console.log);"
            ldc "TypeError: Cannot load module: ''\n"
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.runAndExpectOutput:(Ljava/lang/String;Ljava/lang/String;)V
         1: .line 633
            return
        end local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/js/test/builtins/CommonJSRequireTest;
    Exceptions:
      throws java.io.IOException
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void importModuleCwd();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
         0: .line 638
            ldc "js"
            ldc "import equal from './equal.mjs'; equal(42, 42); console.log('OK!');"
            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;
            ldc "OK!\n"
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.getDefaultOptions:()Ljava/util/Map;
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.runAndExpectOutput:(Lorg/graalvm/polyglot/Source;Ljava/lang/String;Ljava/util/Map;)V
         1: .line 639
            return
        end local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/js/test/builtins/CommonJSRequireTest;
    Exceptions:
      throws java.io.IOException
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void dynamicImportBuiltinModule2();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
         0: .line 644
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.getDefaultOptions:()Ljava/util/Map;
            astore 1 /* options */
        start local 1 // java.util.Map options
         1: .line 646
            aload 1 /* options */
            ldc "js.commonjs-core-modules-replacements"
            ldc "assert:./builtin-assert-mockup.js"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 647
            ldc "import('assert').then(a => {a.equal(42, 42); console.log('OK!');}).catch(console.log);"
            ldc "OK!\n"
            aload 1 /* options */
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.runAndExpectOutput:(Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;)V
         3: .line 648
            return
        end local 1 // java.util.Map options
        end local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lcom/oracle/truffle/js/test/builtins/CommonJSRequireTest;
            1    4     1  options  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
    Exceptions:
      throws java.io.IOException
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void importBuiltinModule();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
         0: .line 653
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.getDefaultOptions:()Ljava/util/Map;
            astore 1 /* options */
        start local 1 // java.util.Map options
         1: .line 654
            aload 1 /* options */
            ldc "js.commonjs-core-modules-replacements"
            ldc "assert:./builtin-assert-mockup.js"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 655
            ldc "js"
            ldc "import assert from 'assert'; assert.equal(42, 42); console.log('OK!');"
            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;
            ldc "OK!\n"
            aload 1 /* options */
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.runAndExpectOutput:(Lorg/graalvm/polyglot/Source;Ljava/lang/String;Ljava/util/Map;)V
         3: .line 656
            return
        end local 1 // java.util.Map options
        end local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lcom/oracle/truffle/js/test/builtins/CommonJSRequireTest;
            1    4     1  options  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
    Exceptions:
      throws java.io.IOException
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void importNamedBuiltinModule();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
         0: .line 661
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.getDefaultOptions:()Ljava/util/Map;
            astore 1 /* options */
        start local 1 // java.util.Map options
         1: .line 662
            aload 1 /* options */
            ldc "js.commonjs-core-modules-replacements"
            ldc "assert:./builtin-assert-mockup.js"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 663
            ldc "js"
            ldc "import {equal} from 'assert'; equal(42, 42); console.log('OK!');"
            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;
            ldc "OK!\n"
            aload 1 /* options */
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.runAndExpectOutput:(Lorg/graalvm/polyglot/Source;Ljava/lang/String;Ljava/util/Map;)V
         3: .line 664
            return
        end local 1 // java.util.Map options
        end local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lcom/oracle/truffle/js/test/builtins/CommonJSRequireTest;
            1    4     1  options  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
    Exceptions:
      throws java.io.IOException
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void importNamedBuiltinModuleEs();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
         0: .line 669
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.getDefaultOptions:()Ljava/util/Map;
            astore 1 /* options */
        start local 1 // java.util.Map options
         1: .line 670
            aload 1 /* options */
            ldc "js.commonjs-core-modules-replacements"
            ldc "assert:./builtin-assert-mockup.mjs"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 671
            ldc "js"
            ldc "import {equal} from 'assert'; equal(42, 42); console.log('OK!');"
            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;
            ldc "OK!\n"
            aload 1 /* options */
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.runAndExpectOutput:(Lorg/graalvm/polyglot/Source;Ljava/lang/String;Ljava/util/Map;)V
         3: .line 672
            return
        end local 1 // java.util.Map options
        end local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lcom/oracle/truffle/js/test/builtins/CommonJSRequireTest;
            1    4     1  options  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
    Exceptions:
      throws java.io.IOException
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void importBuiltinModuleEs();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
         0: .line 677
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.getDefaultOptions:()Ljava/util/Map;
            astore 1 /* options */
        start local 1 // java.util.Map options
         1: .line 678
            aload 1 /* options */
            ldc "js.commonjs-core-modules-replacements"
            ldc "assert:./builtin-assert-mockup.mjs"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 679
            ldc "js"
            ldc "import assert from 'assert'; assert.equal(42, 42); console.log('OK!');"
            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;
            ldc "OK!\n"
            aload 1 /* options */
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.runAndExpectOutput:(Lorg/graalvm/polyglot/Source;Ljava/lang/String;Ljava/util/Map;)V
         3: .line 680
            return
        end local 1 // java.util.Map options
        end local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lcom/oracle/truffle/js/test/builtins/CommonJSRequireTest;
            1    4     1  options  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
    Exceptions:
      throws java.io.IOException
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void importNestedBuiltinModuleEs();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
         0: .line 684
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.getTestRootFolder:()Ljava/nio/file/Path;
            astore 1 /* root */
        start local 1 // java.nio.file.Path root
         1: .line 685
            aload 1 /* root */
            invokeinterface java.nio.file.Path.toAbsolutePath:()Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "nested_imports.js"
            aastore
            invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
            astore 2 /* dirFile */
        start local 2 // java.nio.file.Path dirFile
         2: .line 686
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.getDefaultOptions:()Ljava/util/Map;
            astore 3 /* options */
        start local 3 // java.util.Map options
         3: .line 687
            aload 3 /* options */
            ldc "js.commonjs-core-modules-replacements"
            ldc "assert:./builtin-assert-mockup.mjs"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 688
            ldc "js"
            aload 2 /* dirFile */
            invokeinterface java.nio.file.Path.toFile:()Ljava/io/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;
            ldc "all OK!\n"
            aload 3 /* options */
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.runAndExpectOutput:(Lorg/graalvm/polyglot/Source;Ljava/lang/String;Ljava/util/Map;)V
         5: .line 689
            return
        end local 3 // java.util.Map options
        end local 2 // java.nio.file.Path dirFile
        end local 1 // java.nio.file.Path root
        end local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lcom/oracle/truffle/js/test/builtins/CommonJSRequireTest;
            1    6     1     root  Ljava/nio/file/Path;
            2    6     2  dirFile  Ljava/nio/file/Path;
            3    6     3  options  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
    Exceptions:
      throws java.io.IOException
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void importBuiltinModuleEsFs();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
         0: .line 694
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.getDefaultOptions:()Ljava/util/Map;
            astore 1 /* options */
        start local 1 // java.util.Map options
         1: .line 695
            ldc "js"
            ldc "import {foo} from 'util'; console.log(`The answer is ${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;
            ldc "The answer is 42\n"
            aload 1 /* options */
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.runAndExpectOutput:(Lorg/graalvm/polyglot/Source;Ljava/lang/String;Ljava/util/Map;)V
         2: .line 696
            return
        end local 1 // java.util.Map options
        end local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lcom/oracle/truffle/js/test/builtins/CommonJSRequireTest;
            1    3     1  options  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
    Exceptions:
      throws java.io.IOException
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void importBuiltinModuleEsNoFs();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
         0: .line 702
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.getDefaultOptions:()Ljava/util/Map;
            astore 1 /* options */
        start local 1 // java.util.Map options
         1: .line 704
            ldc "js"
            ldc "import {whatever} from 'fs'; console.log('should not print!');"
            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;
            ldc ""
            ldc ""
            aload 1 /* options */
            invokestatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.runAndExpectOutput:(Lorg/graalvm/polyglot/Source;Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;)V
         2: .line 705
            getstatic com.oracle.truffle.js.test.builtins.CommonJSRequireTest.$assertionsDisabled:Z
            ifne 7
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 706
      StackMap locals: com.oracle.truffle.js.test.builtins.CommonJSRequireTest java.util.Map
      StackMap stack: java.lang.Throwable
            astore 2 /* t */
        start local 2 // java.lang.Throwable t
         4: .line 707
            aload 2 /* t */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            ldc Lorg/graalvm/polyglot/PolyglotException;
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifne 6
         5: .line 708
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unexpected exception "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* t */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         6: .line 710
      StackMap locals: java.lang.Throwable
      StackMap stack:
            ldc "TypeError: Cannot load CommonJS module: 'fs'"
            aload 2 /* t */
            invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 2 // java.lang.Throwable t
         7: .line 712
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.util.Map options
        end local 0 // com.oracle.truffle.js.test.builtins.CommonJSRequireTest this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lcom/oracle/truffle/js/test/builtins/CommonJSRequireTest;
            1    8     1  options  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            4    7     2        t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           1     3       3  Class java.lang.Throwable
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  private static boolean lambda$0(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.String s
         0: .line 92
            iconst_1
            ireturn
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     s  Ljava/lang/String;
}
SourceFile: "CommonJSRequireTest.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  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