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

  public void testSourcePath();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=20, args_size=1
        start local 0 // com.oracle.truffle.tools.chromeinspector.test.RelativeSourceInspectDebugTest this
         0: .line 72
            iconst_3
            anewarray java.net.URI
            astore 1 /* sourcePathURI */
        start local 1 // java.net.URI[] sourcePathURI
         1: .line 73
            iconst_3
            anewarray java.lang.String
            astore 2 /* sourceContent */
        start local 2 // java.lang.String[] sourceContent
         2: .line 74
            iconst_3
            anewarray java.lang.String
            astore 3 /* relativePath */
        start local 3 // java.lang.String[] relativePath
         3: .line 75
            iconst_3
            anewarray java.net.URI
            astore 4 /* resolvedURI */
        start local 4 // java.net.URI[] resolvedURI
         4: .line 76
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
            ldc "fdfc3c86f176a91df464039fffffffffffffffff"
            aastore
            dup
            iconst_1
            ldc "fdfc3c86f176a91df1786babffffffffffffffff"
            aastore
            dup
            iconst_2
            ldc "fdfc3c86f176a91dee8cd3b7ffffffffffffffff"
            aastore
            astore 5 /* hashes */
        start local 5 // java.lang.String[] hashes
         5: .line 78
            aload 2 /* sourceContent */
            iconst_0
            ldc "relative source1\nVarA"
            aastore
         6: .line 79
            aload 3 /* relativePath */
            iconst_0
            ldc "relative/test1.file"
            aastore
         7: .line 80
            ldc "testPath"
            iconst_0
            anewarray java.nio.file.attribute.FileAttribute
            invokestatic java.nio.file.Files.createTempDirectory:(Ljava/lang/String;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/file/Path;
            iconst_0
            anewarray java.nio.file.LinkOption
            invokeinterface java.nio.file.Path.toRealPath:([Ljava/nio/file/LinkOption;)Ljava/nio/file/Path;
            astore 6 /* testSourcePath1 */
        start local 6 // java.nio.file.Path testSourcePath1
         8: .line 81
            aload 1 /* sourcePathURI */
            iconst_0
            aload 6 /* testSourcePath1 */
            invokeinterface java.nio.file.Path.toUri:()Ljava/net/URI;
            aastore
         9: .line 82
            aload 6 /* testSourcePath1 */
            ldc "relative"
            invokeinterface java.nio.file.Path.resolve:(Ljava/lang/String;)Ljava/nio/file/Path;
            iconst_0
            anewarray java.nio.file.attribute.FileAttribute
            invokestatic java.nio.file.Files.createDirectory:(Ljava/nio/file/Path;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/file/Path;
            pop
        10: .line 83
            aload 6 /* testSourcePath1 */
            aload 3 /* relativePath */
            iconst_0
            aaload
            invokeinterface java.nio.file.Path.resolve:(Ljava/lang/String;)Ljava/nio/file/Path;
            astore 7 /* filePath1 */
        start local 7 // java.nio.file.Path filePath1
        11: .line 84
            aload 7 /* filePath1 */
            aload 2 /* sourceContent */
            iconst_0
            aaload
            invokevirtual java.lang.String.getBytes:()[B
            iconst_0
            anewarray java.nio.file.OpenOption
            invokestatic java.nio.file.Files.write:(Ljava/nio/file/Path;[B[Ljava/nio/file/OpenOption;)Ljava/nio/file/Path;
            pop
        12: .line 85
            aload 4 /* resolvedURI */
            iconst_0
            aload 7 /* filePath1 */
            invokeinterface java.nio.file.Path.toUri:()Ljava/net/URI;
            aastore
        13: .line 87
            aload 2 /* sourceContent */
            iconst_1
            ldc "relative source2\nVarB"
            aastore
        14: .line 88
            aload 3 /* relativePath */
            iconst_1
            ldc "relative/test2.file"
            aastore
        15: .line 89
            ldc "TestZip"
            ldc ".zip"
            invokestatic java.io.File.createTempFile:(Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
            astore 8 /* zip2 */
        start local 8 // java.io.File zip2
        16: .line 90
            aload 8 /* zip2 */
            invokevirtual java.io.File.deleteOnExit:()V
        17: .line 91
            aconst_null
            astore 9
            aconst_null
            astore 10
        18: new java.util.zip.ZipOutputStream
            dup
            new java.io.FileOutputStream
            dup
            aload 8 /* zip2 */
            invokespecial java.io.FileOutputStream.<init>:(Ljava/io/File;)V
            invokespecial java.util.zip.ZipOutputStream.<init>:(Ljava/io/OutputStream;)V
            astore 11 /* out */
        start local 11 // java.util.zip.ZipOutputStream out
        19: .line 92
            new java.util.zip.ZipEntry
            dup
            aload 3 /* relativePath */
            iconst_1
            aaload
            invokespecial java.util.zip.ZipEntry.<init>:(Ljava/lang/String;)V
            astore 12 /* e */
        start local 12 // java.util.zip.ZipEntry e
        20: .line 93
            aload 11 /* out */
            aload 12 /* e */
            invokevirtual java.util.zip.ZipOutputStream.putNextEntry:(Ljava/util/zip/ZipEntry;)V
        21: .line 94
            aload 2 /* sourceContent */
            iconst_1
            aaload
            invokevirtual java.lang.String.getBytes:()[B
            astore 13 /* data */
        start local 13 // byte[] data
        22: .line 95
            aload 11 /* out */
            aload 13 /* data */
            iconst_0
            aload 13 /* data */
            arraylength
            invokevirtual java.util.zip.ZipOutputStream.write:([BII)V
        23: .line 96
            aload 11 /* out */
            invokevirtual java.util.zip.ZipOutputStream.closeEntry:()V
        end local 13 // byte[] data
        end local 12 // java.util.zip.ZipEntry e
        24: .line 97
            aload 11 /* out */
            ifnull 30
            aload 11 /* out */
            invokevirtual java.util.zip.ZipOutputStream.close:()V
            goto 30
      StackMap locals: com.oracle.truffle.tools.chromeinspector.test.RelativeSourceInspectDebugTest java.net.URI[] java.lang.String[] java.lang.String[] java.net.URI[] java.lang.String[] java.nio.file.Path java.nio.file.Path java.io.File java.lang.Throwable java.lang.Throwable java.util.zip.ZipOutputStream
      StackMap stack: java.lang.Throwable
        25: astore 9
            aload 11 /* out */
            ifnull 26
            aload 11 /* out */
            invokevirtual java.util.zip.ZipOutputStream.close:()V
        end local 11 // java.util.zip.ZipOutputStream out
      StackMap locals:
      StackMap stack:
        26: aload 9
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        27: astore 10
            aload 9
            ifnonnull 28
            aload 10
            astore 9
            goto 29
      StackMap locals:
      StackMap stack:
        28: aload 9
            aload 10
            if_acmpeq 29
            aload 9
            aload 10
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        29: aload 9
            athrow
        30: .line 98
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 9
            aconst_null
            astore 10
        31: aload 8 /* zip2 */
            invokevirtual java.io.File.toPath:()Ljava/nio/file/Path;
            aconst_null
            invokestatic java.nio.file.FileSystems.newFileSystem:(Ljava/nio/file/Path;Ljava/lang/ClassLoader;)Ljava/nio/file/FileSystem;
            astore 11 /* fs */
        start local 11 // java.nio.file.FileSystem fs
        32: .line 99
            aload 11 /* fs */
            ldc "/"
            iconst_0
            anewarray java.lang.String
            invokevirtual java.nio.file.FileSystem.getPath:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
            astore 12 /* spInZip */
        start local 12 // java.nio.file.Path spInZip
        33: .line 100
            aload 1 /* sourcePathURI */
            iconst_1
            aload 12 /* spInZip */
            invokeinterface java.nio.file.Path.toUri:()Ljava/net/URI;
            aastore
        34: .line 101
            aload 4 /* resolvedURI */
            iconst_1
            aload 11 /* fs */
            aload 3 /* relativePath */
            iconst_1
            aaload
            iconst_0
            anewarray java.lang.String
            invokevirtual java.nio.file.FileSystem.getPath:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.toUri:()Ljava/net/URI;
            aastore
        end local 12 // java.nio.file.Path spInZip
        35: .line 102
            aload 11 /* fs */
            ifnull 41
            aload 11 /* fs */
            invokevirtual java.nio.file.FileSystem.close:()V
            goto 41
      StackMap locals: com.oracle.truffle.tools.chromeinspector.test.RelativeSourceInspectDebugTest java.net.URI[] java.lang.String[] java.lang.String[] java.net.URI[] java.lang.String[] java.nio.file.Path java.nio.file.Path java.io.File java.lang.Throwable java.lang.Throwable java.nio.file.FileSystem
      StackMap stack: java.lang.Throwable
        36: astore 9
            aload 11 /* fs */
            ifnull 37
            aload 11 /* fs */
            invokevirtual java.nio.file.FileSystem.close:()V
        end local 11 // java.nio.file.FileSystem fs
      StackMap locals:
      StackMap stack:
        37: aload 9
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        38: astore 10
            aload 9
            ifnonnull 39
            aload 10
            astore 9
            goto 40
      StackMap locals:
      StackMap stack:
        39: aload 9
            aload 10
            if_acmpeq 40
            aload 9
            aload 10
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        40: aload 9
            athrow
        41: .line 104
      StackMap locals:
      StackMap stack:
            aload 2 /* sourceContent */
            iconst_2
            ldc "relative source3\nVarC"
            aastore
        42: .line 105
            aload 3 /* relativePath */
            iconst_2
            ldc "relative/test3.file"
            aastore
        43: .line 106
            ldc "src/main"
            astore 9 /* folderInZip3 */
        start local 9 // java.lang.String folderInZip3
        44: .line 107
            ldc "TestZip"
            ldc ".zip"
            invokestatic java.io.File.createTempFile:(Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
            astore 10 /* zip3 */
        start local 10 // java.io.File zip3
        45: .line 108
            aload 10 /* zip3 */
            invokevirtual java.io.File.deleteOnExit:()V
        46: .line 109
            aconst_null
            astore 11
            aconst_null
            astore 12
        47: new java.util.zip.ZipOutputStream
            dup
            new java.io.FileOutputStream
            dup
            aload 10 /* zip3 */
            invokespecial java.io.FileOutputStream.<init>:(Ljava/io/File;)V
            invokespecial java.util.zip.ZipOutputStream.<init>:(Ljava/io/OutputStream;)V
            astore 13 /* out */
        start local 13 // java.util.zip.ZipOutputStream out
        48: .line 110
            new java.util.zip.ZipEntry
            dup
            new java.lang.StringBuilder
            dup
            aload 9 /* folderInZip3 */
            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;
            aload 3 /* relativePath */
            iconst_2
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.util.zip.ZipEntry.<init>:(Ljava/lang/String;)V
            astore 14 /* e */
        start local 14 // java.util.zip.ZipEntry e
        49: .line 111
            aload 13 /* out */
            aload 14 /* e */
            invokevirtual java.util.zip.ZipOutputStream.putNextEntry:(Ljava/util/zip/ZipEntry;)V
        50: .line 112
            aload 2 /* sourceContent */
            iconst_2
            aaload
            invokevirtual java.lang.String.getBytes:()[B
            astore 15 /* data */
        start local 15 // byte[] data
        51: .line 113
            aload 13 /* out */
            aload 15 /* data */
            iconst_0
            aload 15 /* data */
            arraylength
            invokevirtual java.util.zip.ZipOutputStream.write:([BII)V
        52: .line 114
            aload 13 /* out */
            invokevirtual java.util.zip.ZipOutputStream.closeEntry:()V
        end local 15 // byte[] data
        end local 14 // java.util.zip.ZipEntry e
        53: .line 115
            aload 13 /* out */
            ifnull 59
            aload 13 /* out */
            invokevirtual java.util.zip.ZipOutputStream.close:()V
            goto 59
      StackMap locals: com.oracle.truffle.tools.chromeinspector.test.RelativeSourceInspectDebugTest java.net.URI[] java.lang.String[] java.lang.String[] java.net.URI[] java.lang.String[] java.nio.file.Path java.nio.file.Path java.io.File java.lang.String java.io.File java.lang.Throwable java.lang.Throwable java.util.zip.ZipOutputStream
      StackMap stack: java.lang.Throwable
        54: astore 11
            aload 13 /* out */
            ifnull 55
            aload 13 /* out */
            invokevirtual java.util.zip.ZipOutputStream.close:()V
        end local 13 // java.util.zip.ZipOutputStream out
      StackMap locals:
      StackMap stack:
        55: aload 11
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        56: astore 12
            aload 11
            ifnonnull 57
            aload 12
            astore 11
            goto 58
      StackMap locals:
      StackMap stack:
        57: aload 11
            aload 12
            if_acmpeq 58
            aload 11
            aload 12
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        58: aload 11
            athrow
        59: .line 116
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 11
            aconst_null
            astore 12
        60: aload 10 /* zip3 */
            invokevirtual java.io.File.toPath:()Ljava/nio/file/Path;
            aconst_null
            invokestatic java.nio.file.FileSystems.newFileSystem:(Ljava/nio/file/Path;Ljava/lang/ClassLoader;)Ljava/nio/file/FileSystem;
            astore 13 /* fs */
        start local 13 // java.nio.file.FileSystem fs
        61: .line 117
            aload 13 /* fs */
            aload 9 /* folderInZip3 */
            iconst_0
            anewarray java.lang.String
            invokevirtual java.nio.file.FileSystem.getPath:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
            astore 14 /* spInZip */
        start local 14 // java.nio.file.Path spInZip
        62: .line 118
            aload 1 /* sourcePathURI */
            iconst_2
            aload 14 /* spInZip */
            invokeinterface java.nio.file.Path.toUri:()Ljava/net/URI;
            aastore
        63: .line 119
            aload 4 /* resolvedURI */
            iconst_2
            aload 13 /* fs */
            aload 9 /* folderInZip3 */
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 3 /* relativePath */
            iconst_2
            aaload
            aastore
            invokevirtual java.nio.file.FileSystem.getPath:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.toUri:()Ljava/net/URI;
            aastore
        end local 14 // java.nio.file.Path spInZip
        64: .line 120
            aload 13 /* fs */
            ifnull 70
            aload 13 /* fs */
            invokevirtual java.nio.file.FileSystem.close:()V
            goto 70
      StackMap locals: com.oracle.truffle.tools.chromeinspector.test.RelativeSourceInspectDebugTest java.net.URI[] java.lang.String[] java.lang.String[] java.net.URI[] java.lang.String[] java.nio.file.Path java.nio.file.Path java.io.File java.lang.String java.io.File java.lang.Throwable java.lang.Throwable java.nio.file.FileSystem
      StackMap stack: java.lang.Throwable
        65: astore 11
            aload 13 /* fs */
            ifnull 66
            aload 13 /* fs */
            invokevirtual java.nio.file.FileSystem.close:()V
        end local 13 // java.nio.file.FileSystem fs
      StackMap locals:
      StackMap stack:
        66: aload 11
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        67: astore 12
            aload 11
            ifnonnull 68
            aload 12
            astore 11
            goto 69
      StackMap locals:
      StackMap stack:
        68: aload 11
            aload 12
            if_acmpeq 69
            aload 11
            aload 12
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        69: aload 11
            athrow
        70: .line 122
      StackMap locals:
      StackMap stack:
            iconst_1
            iconst_0
            iconst_0
            aload 1 /* sourcePathURI */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokestatic com.oracle.truffle.tools.chromeinspector.test.InspectorTester.start:(ZZZLjava/util/List;)Lcom/oracle/truffle/tools/chromeinspector/test/InspectorTester;
            astore 11 /* tester */
        start local 11 // com.oracle.truffle.tools.chromeinspector.test.InspectorTester tester
        71: .line 123
            aload 11 /* tester */
            ldc "{\"id\":1,\"method\":\"Runtime.enable\"}"
            invokevirtual com.oracle.truffle.tools.chromeinspector.test.InspectorTester.sendMessage:(Ljava/lang/String;)V
        72: .line 124
            ldc "{\"result\":{},\"id\":1}"
            aload 11 /* tester */
            iconst_1
            invokevirtual com.oracle.truffle.tools.chromeinspector.test.InspectorTester.getMessages:(Z)Ljava/lang/String;
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        73: .line 125
            aload 11 /* tester */
            ldc "{\"id\":2,\"method\":\"Debugger.enable\"}"
            invokevirtual com.oracle.truffle.tools.chromeinspector.test.InspectorTester.sendMessage:(Ljava/lang/String;)V
        74: .line 126
            ldc "{\"result\":{},\"id\":2}"
            aload 11 /* tester */
            iconst_1
            invokevirtual com.oracle.truffle.tools.chromeinspector.test.InspectorTester.getMessages:(Z)Ljava/lang/String;
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        75: .line 127
            aload 11 /* tester */
            ldc "{\"id\":3,\"method\":\"Runtime.runIfWaitingForDebugger\"}"
            invokevirtual com.oracle.truffle.tools.chromeinspector.test.InspectorTester.sendMessage:(Ljava/lang/String;)V
        76: .line 131
            aload 11 /* tester */
        77: .line 132
            ldc "{\"result\":{},\"id\":3}\n{\"method\":\"Runtime.executionContextCreated\",\"params\":{\"context\":{\"origin\":\"\",\"name\":\"test\",\"id\":1}}}\n"
        78: .line 131
            invokevirtual com.oracle.truffle.tools.chromeinspector.test.InspectorTester.compareReceivedMessages:(Ljava/lang/String;)Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        79: .line 134
            aload 11 /* tester */
            invokevirtual com.oracle.truffle.tools.chromeinspector.test.InspectorTester.getContextId:()J
            lstore 12 /* cid */
        start local 12 // long cid
        80: .line 135
            iconst_1
            istore 14 /* cmdId */
        start local 14 // int cmdId
        81: .line 136
            iconst_1
            istore 15 /* objId */
        start local 15 // int objId
        82: .line 137
            iconst_0
            istore 16 /* i */
        start local 16 // int i
        83: goto 120
        84: .line 138
      StackMap locals: com.oracle.truffle.tools.chromeinspector.test.RelativeSourceInspectDebugTest java.net.URI[] java.lang.String[] java.lang.String[] java.net.URI[] java.lang.String[] java.nio.file.Path java.nio.file.Path java.io.File java.lang.String java.io.File com.oracle.truffle.tools.chromeinspector.test.InspectorTester long int int int
      StackMap stack:
            new com.oracle.truffle.api.debug.test.TestDebugNoContentLanguage
            dup
            aload 3 /* relativePath */
            iload 16 /* i */
            aaload
            iconst_1
            iconst_1
            invokespecial com.oracle.truffle.api.debug.test.TestDebugNoContentLanguage.<init>:(Ljava/lang/String;ZZ)V
            astore 17 /* language */
        start local 17 // com.oracle.truffle.api.debug.test.TestDebugNoContentLanguage language
        85: .line 139
            aload 17 /* language */
            invokestatic com.oracle.truffle.api.test.polyglot.ProxyLanguage.setDelegate:(Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;)Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;
            pop
        86: .line 140
            ldc "proxyLanguage"
            aload 2 /* sourceContent */
            iload 16 /* i */
            aaload
            invokestatic org.graalvm.polyglot.Source.create:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Source;
            astore 18 /* source */
        start local 18 // org.graalvm.polyglot.Source source
        87: .line 141
            aload 18 /* source */
            iconst_1
            invokevirtual org.graalvm.polyglot.Source.getCharacters:(I)Ljava/lang/CharSequence;
            invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
            astore 19 /* funcName */
        start local 19 // java.lang.String funcName
        88: .line 142
            aload 19 /* funcName */
            iconst_0
            aload 19 /* funcName */
            bipush 32
            invokevirtual java.lang.String.indexOf:(I)I
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 19 /* funcName */
        89: .line 143
            aload 11 /* tester */
            aload 18 /* source */
            invokevirtual com.oracle.truffle.tools.chromeinspector.test.InspectorTester.eval:(Lorg/graalvm/polyglot/Source;)Ljava/util/concurrent/Future;
            pop
        90: .line 145
            aload 11 /* tester */
        91: .line 146
            new java.lang.StringBuilder
            dup
            ldc "{\"method\":\"Debugger.scriptParsed\",\"params\":{\"endLine\":1,\"scriptId\":\""
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 16 /* i */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "\",\"endColumn\":4,\"startColumn\":0,\"startLine\":0,\"length\":21,\"executionContextId\":"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            lload 12 /* cid */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc ",\"url\":\""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* resolvedURI */
            iload 16 /* i */
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "\",\"hash\":\""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 5 /* hashes */
            iload 16 /* i */
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\"}}\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        92: .line 147
            ldc "{\"method\":\"Debugger.paused\",\"params\":{\"reason\":\"other\",\"hitBreakpoints\":[],"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        93: .line 148
            ldc "\"callFrames\":[{\"callFrameId\":\"0\",\"functionName\":\""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 19 /* funcName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\","
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        94: .line 149
            ldc "\"scopeChain\":[{\"name\":\""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 19 /* funcName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\",\"type\":\"local\",\"object\":{\"description\":\""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 19 /* funcName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\",\"type\":\"object\",\"objectId\":\""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 15 /* objId */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "\"}}],"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        95: .line 150
            ldc "\"this\":{\"subtype\":\"null\",\"description\":\"null\",\"type\":\"object\",\"objectId\":\""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 15 /* objId */
            iconst_1
            iadd
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "\"},"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        96: .line 151
            ldc "\"functionLocation\":{\"scriptId\":\""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 16 /* i */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "\",\"columnNumber\":0,\"lineNumber\":0},"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        97: .line 152
            ldc "\"location\":{\"scriptId\":\""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 16 /* i */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "\",\"columnNumber\":0,\"lineNumber\":0},"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        98: .line 153
            ldc "\"url\":\""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* resolvedURI */
            iload 16 /* i */
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "\"}]}}\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        99: .line 146
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       100: .line 145
            invokevirtual com.oracle.truffle.tools.chromeinspector.test.InspectorTester.compareReceivedMessages:(Ljava/lang/String;)Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
       101: .line 154
            iinc 15 /* objId */ 2
       102: .line 155
            aload 11 /* tester */
            new java.lang.StringBuilder
            dup
            ldc "{\"id\":"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 14 /* cmdId */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ",\"method\":\"Debugger.getScriptSource\",\"params\":{\"scriptId\":\""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 16 /* i */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "\"}}"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual com.oracle.truffle.tools.chromeinspector.test.InspectorTester.sendMessage:(Ljava/lang/String;)V
       103: .line 156
            aload 11 /* tester */
       104: .line 157
            new java.lang.StringBuilder
            dup
            ldc "{\"result\":{\"scriptSource\":\""
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* sourceContent */
            iload 16 /* i */
            aaload
            ldc "\n"
            ldc "\\n"
            invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\"},\"id\":"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 14 /* cmdId */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "}\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       105: .line 156
            invokevirtual com.oracle.truffle.tools.chromeinspector.test.InspectorTester.compareReceivedMessages:(Ljava/lang/String;)Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
       106: .line 158
            iinc 14 /* cmdId */ 1
       107: .line 159
            aload 11 /* tester */
            new java.lang.StringBuilder
            dup
            ldc "{\"id\":"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 14 /* cmdId */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ",\"method\":\"Debugger.resume\"}"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual com.oracle.truffle.tools.chromeinspector.test.InspectorTester.sendMessage:(Ljava/lang/String;)V
       108: .line 160
            aload 11 /* tester */
       109: .line 161
            new java.lang.StringBuilder
            dup
            ldc "{\"result\":{},\"id\":"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 14 /* cmdId */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "}\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
       110: .line 162
            ldc "{\"method\":\"Debugger.resumed\"}\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
       111: .line 161
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       112: .line 160
            invokevirtual com.oracle.truffle.tools.chromeinspector.test.InspectorTester.compareReceivedMessages:(Ljava/lang/String;)Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
       113: .line 163
            iinc 14 /* cmdId */ 1
       114: .line 164
            aload 11 /* tester */
            new java.lang.StringBuilder
            dup
            ldc "{\"id\":"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 14 /* cmdId */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ",\"method\":\"Debugger.pause\"}"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual com.oracle.truffle.tools.chromeinspector.test.InspectorTester.sendMessage:(Ljava/lang/String;)V
       115: .line 165
            aload 11 /* tester */
       116: .line 166
            new java.lang.StringBuilder
            dup
            ldc "{\"result\":{},\"id\":"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 14 /* cmdId */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "}\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       117: .line 165
            invokevirtual com.oracle.truffle.tools.chromeinspector.test.InspectorTester.compareReceivedMessages:(Ljava/lang/String;)Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
       118: .line 167
            iinc 14 /* cmdId */ 1
        end local 19 // java.lang.String funcName
        end local 18 // org.graalvm.polyglot.Source source
        end local 17 // com.oracle.truffle.api.debug.test.TestDebugNoContentLanguage language
       119: .line 137
            iinc 16 /* i */ 1
      StackMap locals:
      StackMap stack:
       120: iload 16 /* i */
            iconst_3
            if_icmplt 84
        end local 16 // int i
       121: .line 173
            new com.oracle.truffle.api.test.polyglot.ProxyLanguage
            dup
            invokespecial com.oracle.truffle.api.test.polyglot.ProxyLanguage.<init>:()V
            invokestatic com.oracle.truffle.api.test.polyglot.ProxyLanguage.setDelegate:(Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;)Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;
            pop
       122: .line 174
            aload 11 /* tester */
            invokevirtual com.oracle.truffle.tools.chromeinspector.test.InspectorTester.finish:()V
       123: .line 175
            return
        end local 15 // int objId
        end local 14 // int cmdId
        end local 12 // long cid
        end local 11 // com.oracle.truffle.tools.chromeinspector.test.InspectorTester tester
        end local 10 // java.io.File zip3
        end local 9 // java.lang.String folderInZip3
        end local 8 // java.io.File zip2
        end local 7 // java.nio.file.Path filePath1
        end local 6 // java.nio.file.Path testSourcePath1
        end local 5 // java.lang.String[] hashes
        end local 4 // java.net.URI[] resolvedURI
        end local 3 // java.lang.String[] relativePath
        end local 2 // java.lang.String[] sourceContent
        end local 1 // java.net.URI[] sourcePathURI
        end local 0 // com.oracle.truffle.tools.chromeinspector.test.RelativeSourceInspectDebugTest this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0  124     0             this  Lcom/oracle/truffle/tools/chromeinspector/test/RelativeSourceInspectDebugTest;
            1  124     1    sourcePathURI  [Ljava/net/URI;
            2  124     2    sourceContent  [Ljava/lang/String;
            3  124     3     relativePath  [Ljava/lang/String;
            4  124     4      resolvedURI  [Ljava/net/URI;
            5  124     5           hashes  [Ljava/lang/String;
            8  124     6  testSourcePath1  Ljava/nio/file/Path;
           11  124     7        filePath1  Ljava/nio/file/Path;
           16  124     8             zip2  Ljava/io/File;
           19   26    11              out  Ljava/util/zip/ZipOutputStream;
           20   24    12                e  Ljava/util/zip/ZipEntry;
           22   24    13             data  [B
           32   37    11               fs  Ljava/nio/file/FileSystem;
           33   35    12          spInZip  Ljava/nio/file/Path;
           44  124     9     folderInZip3  Ljava/lang/String;
           45  124    10             zip3  Ljava/io/File;
           48   55    13              out  Ljava/util/zip/ZipOutputStream;
           49   53    14                e  Ljava/util/zip/ZipEntry;
           51   53    15             data  [B
           61   66    13               fs  Ljava/nio/file/FileSystem;
           62   64    14          spInZip  Ljava/nio/file/Path;
           71  124    11           tester  Lcom/oracle/truffle/tools/chromeinspector/test/InspectorTester;
           80  124    12              cid  J
           81  124    14            cmdId  I
           82  124    15            objId  I
           83  121    16                i  I
           85  119    17         language  Lcom/oracle/truffle/api/debug/test/TestDebugNoContentLanguage;
           87  119    18           source  Lorg/graalvm/polyglot/Source;
           88  119    19         funcName  Ljava/lang/String;
      Exception table:
        from    to  target  type
          19    24      25  any
          18    27      27  any
          32    35      36  any
          31    38      38  any
          48    53      54  any
          47    56      56  any
          61    64      65  any
          60    67      67  any
    Exceptions:
      throws java.lang.Exception
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testNonExistingSourcePath();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // com.oracle.truffle.tools.chromeinspector.test.RelativeSourceInspectDebugTest this
         0: .line 179
            new com.oracle.truffle.api.debug.test.TestDebugNoContentLanguage
            dup
            ldc "relative/path"
            iconst_1
            iconst_1
            invokespecial com.oracle.truffle.api.debug.test.TestDebugNoContentLanguage.<init>:(Ljava/lang/String;ZZ)V
            astore 1 /* language */
        start local 1 // com.oracle.truffle.api.debug.test.TestDebugNoContentLanguage language
         1: .line 180
            aload 1 /* language */
            invokestatic com.oracle.truffle.api.test.polyglot.ProxyLanguage.setDelegate:(Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;)Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;
            pop
         2: .line 181
            ldc "proxyLanguage"
            ldc "relative source1\nVarA"
            invokestatic org.graalvm.polyglot.Source.create:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Source;
            astore 2 /* source */
        start local 2 // org.graalvm.polyglot.Source source
         3: .line 182
            iconst_1
            iconst_0
            iconst_0
            invokestatic com.oracle.truffle.tools.chromeinspector.test.InspectorTester.start:(ZZZ)Lcom/oracle/truffle/tools/chromeinspector/test/InspectorTester;
            astore 3 /* tester */
        start local 3 // com.oracle.truffle.tools.chromeinspector.test.InspectorTester tester
         4: .line 183
            aload 3 /* tester */
            ldc "{\"id\":1,\"method\":\"Runtime.enable\"}"
            invokevirtual com.oracle.truffle.tools.chromeinspector.test.InspectorTester.sendMessage:(Ljava/lang/String;)V
         5: .line 184
            ldc "{\"result\":{},\"id\":1}"
            aload 3 /* tester */
            iconst_1
            invokevirtual com.oracle.truffle.tools.chromeinspector.test.InspectorTester.getMessages:(Z)Ljava/lang/String;
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         6: .line 185
            aload 3 /* tester */
            ldc "{\"id\":2,\"method\":\"Debugger.enable\"}"
            invokevirtual com.oracle.truffle.tools.chromeinspector.test.InspectorTester.sendMessage:(Ljava/lang/String;)V
         7: .line 186
            ldc "{\"result\":{},\"id\":2}"
            aload 3 /* tester */
            iconst_1
            invokevirtual com.oracle.truffle.tools.chromeinspector.test.InspectorTester.getMessages:(Z)Ljava/lang/String;
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         8: .line 187
            aload 3 /* tester */
            ldc "{\"id\":3,\"method\":\"Runtime.runIfWaitingForDebugger\"}"
            invokevirtual com.oracle.truffle.tools.chromeinspector.test.InspectorTester.sendMessage:(Ljava/lang/String;)V
         9: .line 191
            aload 3 /* tester */
        10: .line 192
            ldc "{\"result\":{},\"id\":3}\n{\"method\":\"Runtime.executionContextCreated\",\"params\":{\"context\":{\"origin\":\"\",\"name\":\"test\",\"id\":1}}}\n"
        11: .line 191
            invokevirtual com.oracle.truffle.tools.chromeinspector.test.InspectorTester.compareReceivedMessages:(Ljava/lang/String;)Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        12: .line 194
            aload 3 /* tester */
            aload 2 /* source */
            invokevirtual com.oracle.truffle.tools.chromeinspector.test.InspectorTester.eval:(Lorg/graalvm/polyglot/Source;)Ljava/util/concurrent/Future;
            pop
        13: .line 195
            aload 3 /* tester */
            ldc "{\"method\":\"Debugger.scriptParsed\",\"params\":{\"endLine\":3,\"scriptId\":\"0\",\"endColumn\":0,\"startColumn\":0,\"startLine\":0,\"length\":168,\"executionContextId\":1,\"url\":\"relative/path\",\"hash\":\"ea519706da04092af2f9afd9f84696c2fe44bc91\"}}\n"
            invokevirtual com.oracle.truffle.tools.chromeinspector.test.InspectorTester.compareReceivedMessages:(Ljava/lang/String;)Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        14: .line 197
            aload 3 /* tester */
        15: .line 198
            ldc "{\"method\":\"Debugger.paused\",\"params\":{\"reason\":\"other\",\"hitBreakpoints\":[],\"callFrames\":[{\"callFrameId\":\"0\",\"functionName\":\"relative\",\"scopeChain\":[{\"name\":\"relative\",\"type\":\"local\",\"object\":{\"description\":\"relative\",\"type\":\"object\",\"objectId\":\"1\"}}],\"this\":{\"subtype\":\"null\",\"description\":\"null\",\"type\":\"object\",\"objectId\":\"2\"},\"functionLocation\":{\"scriptId\":\"0\",\"columnNumber\":0,\"lineNumber\":0},\"location\":{\"scriptId\":\"0\",\"columnNumber\":0,\"lineNumber\":0},\"url\":\"relative/path\"}]}}\n"
        16: .line 197
            invokevirtual com.oracle.truffle.tools.chromeinspector.test.InspectorTester.compareReceivedMessages:(Ljava/lang/String;)Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        17: .line 205
            aload 3 /* tester */
            ldc "{\"id\":1,\"method\":\"Debugger.resume\"}"
            invokevirtual com.oracle.truffle.tools.chromeinspector.test.InspectorTester.sendMessage:(Ljava/lang/String;)V
        18: .line 206
            aload 3 /* tester */
        19: .line 207
            ldc "{\"result\":{},\"id\":1}\n{\"method\":\"Debugger.resumed\"}\n"
        20: .line 206
            invokevirtual com.oracle.truffle.tools.chromeinspector.test.InspectorTester.compareReceivedMessages:(Ljava/lang/String;)Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        21: .line 211
            aconst_null
            astore 1 /* language */
        22: .line 213
            new com.oracle.truffle.api.test.polyglot.ProxyLanguage
            dup
            invokespecial com.oracle.truffle.api.test.polyglot.ProxyLanguage.<init>:()V
            invokestatic com.oracle.truffle.api.test.polyglot.ProxyLanguage.setDelegate:(Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;)Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;
            pop
        23: .line 214
            aload 3 /* tester */
            invokevirtual com.oracle.truffle.tools.chromeinspector.test.InspectorTester.finish:()V
        24: .line 215
            return
        end local 3 // com.oracle.truffle.tools.chromeinspector.test.InspectorTester tester
        end local 2 // org.graalvm.polyglot.Source source
        end local 1 // com.oracle.truffle.api.debug.test.TestDebugNoContentLanguage language
        end local 0 // com.oracle.truffle.tools.chromeinspector.test.RelativeSourceInspectDebugTest this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   25     0      this  Lcom/oracle/truffle/tools/chromeinspector/test/RelativeSourceInspectDebugTest;
            1   25     1  language  Lcom/oracle/truffle/api/debug/test/TestDebugNoContentLanguage;
            3   25     2    source  Lorg/graalvm/polyglot/Source;
            4   25     3    tester  Lcom/oracle/truffle/tools/chromeinspector/test/InspectorTester;
    Exceptions:
      throws java.lang.Exception
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testFileSourcePath();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=11, args_size=1
        start local 0 // com.oracle.truffle.tools.chromeinspector.test.RelativeSourceInspectDebugTest this
         0: .line 219
            ldc "user.dir"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* workDir */
        start local 1 // java.lang.String workDir
         1: .line 220
            ldc "file"
            new java.lang.StringBuilder
            dup
            ldc "["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            new java.io.File
            dup
            ldc "file"
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            invokevirtual java.io.File.toPath:()Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.toUri:()Ljava/net/URI;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic com.oracle.truffle.tools.chromeinspector.test.RelativeSourceInspectDebugTest.checkSourcePathToURI:(Ljava/lang/String;Ljava/lang/String;)V
         2: .line 221
            ldc "x"
            iconst_0
            anewarray java.nio.file.attribute.FileAttribute
            invokestatic java.nio.file.Files.createTempDirectory:(Ljava/lang/String;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/file/Path;
            iconst_0
            anewarray java.nio.file.LinkOption
            invokeinterface java.nio.file.Path.toRealPath:([Ljava/nio/file/LinkOption;)Ljava/nio/file/Path;
            astore 2 /* dirX */
        start local 2 // java.nio.file.Path dirX
         3: .line 222
            ldc "y#.zip#.jar"
            iconst_0
            anewarray java.nio.file.attribute.FileAttribute
            invokestatic java.nio.file.Files.createTempDirectory:(Ljava/lang/String;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/file/Path;
            iconst_0
            anewarray java.nio.file.LinkOption
            invokeinterface java.nio.file.Path.toRealPath:([Ljava/nio/file/LinkOption;)Ljava/nio/file/Path;
            astore 3 /* dirY */
        start local 3 // java.nio.file.Path dirY
         4: .line 223
            ldc "Test Zip#"
            ldc ".zip"
            aload 3 /* dirY */
            invokeinterface java.nio.file.Path.toFile:()Ljava/io/File;
            invokestatic java.io.File.createTempFile:(Ljava/lang/String;Ljava/lang/String;Ljava/io/File;)Ljava/io/File;
            invokevirtual java.io.File.getCanonicalFile:()Ljava/io/File;
            astore 4 /* zip */
        start local 4 // java.io.File zip
         5: .line 224
            new java.io.File
            dup
            aload 3 /* dirY */
            invokeinterface java.nio.file.Path.toFile:()Ljava/io/File;
            ldc "Test Jar#.Jar"
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            astore 5 /* jar */
        start local 5 // java.io.File jar
         6: .line 225
            aconst_null
            astore 6
            aconst_null
            astore 7
         7: new java.util.zip.ZipOutputStream
            dup
            new java.io.FileOutputStream
            dup
            aload 4 /* zip */
            invokespecial java.io.FileOutputStream.<init>:(Ljava/io/File;)V
            invokespecial java.util.zip.ZipOutputStream.<init>:(Ljava/io/OutputStream;)V
            astore 8 /* out */
        start local 8 // java.util.zip.ZipOutputStream out
         8: .line 226
            new java.util.zip.ZipEntry
            dup
            ldc "src/my#project/File"
            invokespecial java.util.zip.ZipEntry.<init>:(Ljava/lang/String;)V
            astore 9 /* e */
        start local 9 // java.util.zip.ZipEntry e
         9: .line 227
            aload 8 /* out */
            aload 9 /* e */
            invokevirtual java.util.zip.ZipOutputStream.putNextEntry:(Ljava/util/zip/ZipEntry;)V
        10: .line 228
            ldc "A"
            invokevirtual java.lang.String.getBytes:()[B
            astore 10 /* data */
        start local 10 // byte[] data
        11: .line 229
            aload 8 /* out */
            aload 10 /* data */
            iconst_0
            aload 10 /* data */
            arraylength
            invokevirtual java.util.zip.ZipOutputStream.write:([BII)V
        12: .line 230
            aload 8 /* out */
            invokevirtual java.util.zip.ZipOutputStream.closeEntry:()V
        end local 10 // byte[] data
        end local 9 // java.util.zip.ZipEntry e
        13: .line 231
            aload 8 /* out */
            ifnull 19
            aload 8 /* out */
            invokevirtual java.util.zip.ZipOutputStream.close:()V
            goto 19
      StackMap locals: com.oracle.truffle.tools.chromeinspector.test.RelativeSourceInspectDebugTest java.lang.String java.nio.file.Path java.nio.file.Path java.io.File java.io.File java.lang.Throwable java.lang.Throwable java.util.zip.ZipOutputStream
      StackMap stack: java.lang.Throwable
        14: astore 6
            aload 8 /* out */
            ifnull 15
            aload 8 /* out */
            invokevirtual java.util.zip.ZipOutputStream.close:()V
        end local 8 // java.util.zip.ZipOutputStream out
      StackMap locals:
      StackMap stack:
        15: aload 6
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        16: astore 7
            aload 6
            ifnonnull 17
            aload 7
            astore 6
            goto 18
      StackMap locals:
      StackMap stack:
        17: aload 6
            aload 7
            if_acmpeq 18
            aload 6
            aload 7
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        18: aload 6
            athrow
        19: .line 232
      StackMap locals:
      StackMap stack:
            aload 4 /* zip */
            invokevirtual java.io.File.toPath:()Ljava/nio/file/Path;
            aload 5 /* jar */
            invokevirtual java.io.File.toPath:()Ljava/nio/file/Path;
            iconst_0
            anewarray java.nio.file.CopyOption
            invokestatic java.nio.file.Files.copy:(Ljava/nio/file/Path;Ljava/nio/file/Path;[Ljava/nio/file/CopyOption;)Ljava/nio/file/Path;
            pop
        20: .line 233
            ldc "cwd#"
            ldc ".zip"
            new java.io.File
            dup
            aload 1 /* workDir */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            invokestatic java.io.File.createTempFile:(Ljava/lang/String;Ljava/lang/String;Ljava/io/File;)Ljava/io/File;
            invokevirtual java.io.File.getCanonicalFile:()Ljava/io/File;
            astore 6 /* cwdZip */
        start local 6 // java.io.File cwdZip
        21: .line 234
            aload 6 /* cwdZip */
            invokevirtual java.io.File.deleteOnExit:()V
        22: .line 235
            aload 4 /* zip */
            invokevirtual java.io.File.toPath:()Ljava/nio/file/Path;
            aload 6 /* cwdZip */
            invokevirtual java.io.File.toPath:()Ljava/nio/file/Path;
            iconst_1
            anewarray java.nio.file.CopyOption
            dup
            iconst_0
            getstatic java.nio.file.StandardCopyOption.REPLACE_EXISTING:Ljava/nio/file/StandardCopyOption;
            aastore
            invokestatic java.nio.file.Files.copy:(Ljava/nio/file/Path;Ljava/nio/file/Path;[Ljava/nio/file/CopyOption;)Ljava/nio/file/Path;
            pop
        23: .line 236
            new java.lang.StringBuilder
            dup
            ldc "jar:file://"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* zip */
            invokevirtual java.io.File.toPath:()Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.toUri:()Ljava/net/URI;
            invokevirtual java.net.URI.getRawPath:()Ljava/lang/String;
            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;
            astore 7 /* zipURI */
        start local 7 // java.lang.String zipURI
        24: .line 237
            new java.lang.StringBuilder
            dup
            ldc "jar:file://"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* jar */
            invokevirtual java.io.File.toPath:()Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.toUri:()Ljava/net/URI;
            invokevirtual java.net.URI.getRawPath:()Ljava/lang/String;
            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;
            astore 8 /* jarURI */
        start local 8 // java.lang.String jarURI
        25: .line 238
            new java.lang.StringBuilder
            dup
            ldc "jar:file://"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* cwdZip */
            invokevirtual java.io.File.toPath:()Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.toUri:()Ljava/net/URI;
            invokevirtual java.net.URI.getRawPath:()Ljava/lang/String;
            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;
            astore 9 /* cwdZipURI */
        start local 9 // java.lang.String cwdZipURI
        26: .line 240
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 2 /* dirX */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            getstatic java.io.File.pathSeparator:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* dirY */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            new java.lang.StringBuilder
            dup
            ldc "["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* dirX */
            invokeinterface java.nio.file.Path.toUri:()Ljava/net/URI;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* dirY */
            invokeinterface java.nio.file.Path.toUri:()Ljava/net/URI;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic com.oracle.truffle.tools.chromeinspector.test.RelativeSourceInspectDebugTest.checkSourcePathToURI:(Ljava/lang/String;Ljava/lang/String;)V
        27: .line 241
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 3 /* dirY */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            getstatic java.io.File.pathSeparator:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* dirX */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            new java.lang.StringBuilder
            dup
            ldc "["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* dirY */
            invokeinterface java.nio.file.Path.toUri:()Ljava/net/URI;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* dirX */
            invokeinterface java.nio.file.Path.toUri:()Ljava/net/URI;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic com.oracle.truffle.tools.chromeinspector.test.RelativeSourceInspectDebugTest.checkSourcePathToURI:(Ljava/lang/String;Ljava/lang/String;)V
        28: .line 242
            aload 4 /* zip */
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            new java.lang.StringBuilder
            dup
            ldc "["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* zipURI */
            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;
            invokestatic com.oracle.truffle.tools.chromeinspector.test.RelativeSourceInspectDebugTest.checkSourcePathToURI:(Ljava/lang/String;Ljava/lang/String;)V
        29: .line 243
            new java.lang.StringBuilder
            dup
            aload 4 /* zip */
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "/src/my#project/File"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            new java.lang.StringBuilder
            dup
            ldc "["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* zipURI */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "src/my%23project/File]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokedynamic accept()Ljava/util/function/Consumer;
              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;)V
                  com/oracle/truffle/tools/chromeinspector/test/RelativeSourceInspectDebugTest.lambda$0(Ljava/net/URI;)V (6)
                  (Ljava/net/URI;)V
            invokestatic com.oracle.truffle.tools.chromeinspector.test.RelativeSourceInspectDebugTest.checkSourcePathToURI:(Ljava/lang/String;Ljava/lang/String;Ljava/util/function/Consumer;)V
        30: .line 265
            new java.lang.StringBuilder
            dup
            aload 4 /* zip */
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "!/src/my#project"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            new java.lang.StringBuilder
            dup
            ldc "["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* zipURI */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "src/my%23project]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic com.oracle.truffle.tools.chromeinspector.test.RelativeSourceInspectDebugTest.checkSourcePathToURI:(Ljava/lang/String;Ljava/lang/String;)V
        31: .line 266
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 2 /* dirX */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            getstatic java.io.File.pathSeparator:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* zip */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            new java.lang.StringBuilder
            dup
            ldc "["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* dirX */
            invokeinterface java.nio.file.Path.toUri:()Ljava/net/URI;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 7 /* zipURI */
            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;
            invokestatic com.oracle.truffle.tools.chromeinspector.test.RelativeSourceInspectDebugTest.checkSourcePathToURI:(Ljava/lang/String;Ljava/lang/String;)V
        32: .line 267
            aload 5 /* jar */
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            new java.lang.StringBuilder
            dup
            ldc "["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 8 /* jarURI */
            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;
            invokestatic com.oracle.truffle.tools.chromeinspector.test.RelativeSourceInspectDebugTest.checkSourcePathToURI:(Ljava/lang/String;Ljava/lang/String;)V
        33: .line 268
            aload 6 /* cwdZip */
            invokevirtual java.io.File.getName:()Ljava/lang/String;
            new java.lang.StringBuilder
            dup
            ldc "["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 9 /* cwdZipURI */
            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;
            invokestatic com.oracle.truffle.tools.chromeinspector.test.RelativeSourceInspectDebugTest.checkSourcePathToURI:(Ljava/lang/String;Ljava/lang/String;)V
        34: .line 269
            new java.lang.StringBuilder
            dup
            aload 4 /* zip */
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            getstatic java.io.File.pathSeparator:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 5 /* jar */
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            new java.lang.StringBuilder
            dup
            ldc "["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* zipURI */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 8 /* jarURI */
            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;
            invokestatic com.oracle.truffle.tools.chromeinspector.test.RelativeSourceInspectDebugTest.checkSourcePathToURI:(Ljava/lang/String;Ljava/lang/String;)V
        35: .line 270
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 3 /* dirY */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            getstatic java.io.File.pathSeparator:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* zip */
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "!/src/my#project"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            getstatic java.io.File.pathSeparator:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        36: .line 271
            aload 2 /* dirX */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            getstatic java.io.File.pathSeparator:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 5 /* jar */
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "!/src/my#project"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            getstatic java.io.File.pathSeparator:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* dirY */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        37: .line 270
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        38: .line 272
            new java.lang.StringBuilder
            dup
            ldc "["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* dirY */
            invokeinterface java.nio.file.Path.toUri:()Ljava/net/URI;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 7 /* zipURI */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "src/my%23project"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        39: .line 273
            aload 2 /* dirX */
            invokeinterface java.nio.file.Path.toUri:()Ljava/net/URI;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 8 /* jarURI */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "src/my%23project"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* dirY */
            invokeinterface java.nio.file.Path.toUri:()Ljava/net/URI;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        40: .line 272
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        41: .line 270
            invokestatic com.oracle.truffle.tools.chromeinspector.test.RelativeSourceInspectDebugTest.checkSourcePathToURI:(Ljava/lang/String;Ljava/lang/String;)V
        42: .line 274
            goto 47
      StackMap locals: com.oracle.truffle.tools.chromeinspector.test.RelativeSourceInspectDebugTest java.lang.String java.nio.file.Path java.nio.file.Path java.io.File java.io.File java.io.File java.lang.String java.lang.String java.lang.String
      StackMap stack: java.lang.Throwable
        43: astore 10
        44: .line 275
            aload 2 /* dirX */
            invokestatic com.oracle.truffle.tools.chromeinspector.test.RelativeSourceInspectDebugTest.deleteRecursively:(Ljava/nio/file/Path;)V
        45: .line 276
            aload 3 /* dirY */
            invokestatic com.oracle.truffle.tools.chromeinspector.test.RelativeSourceInspectDebugTest.deleteRecursively:(Ljava/nio/file/Path;)V
        46: .line 277
            aload 10
            athrow
        47: .line 275
      StackMap locals:
      StackMap stack:
            aload 2 /* dirX */
            invokestatic com.oracle.truffle.tools.chromeinspector.test.RelativeSourceInspectDebugTest.deleteRecursively:(Ljava/nio/file/Path;)V
        48: .line 276
            aload 3 /* dirY */
            invokestatic com.oracle.truffle.tools.chromeinspector.test.RelativeSourceInspectDebugTest.deleteRecursively:(Ljava/nio/file/Path;)V
        49: .line 278
            return
        end local 9 // java.lang.String cwdZipURI
        end local 8 // java.lang.String jarURI
        end local 7 // java.lang.String zipURI
        end local 6 // java.io.File cwdZip
        end local 5 // java.io.File jar
        end local 4 // java.io.File zip
        end local 3 // java.nio.file.Path dirY
        end local 2 // java.nio.file.Path dirX
        end local 1 // java.lang.String workDir
        end local 0 // com.oracle.truffle.tools.chromeinspector.test.RelativeSourceInspectDebugTest this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   50     0       this  Lcom/oracle/truffle/tools/chromeinspector/test/RelativeSourceInspectDebugTest;
            1   50     1    workDir  Ljava/lang/String;
            3   50     2       dirX  Ljava/nio/file/Path;
            4   50     3       dirY  Ljava/nio/file/Path;
            5   50     4        zip  Ljava/io/File;
            6   50     5        jar  Ljava/io/File;
            8   15     8        out  Ljava/util/zip/ZipOutputStream;
            9   13     9          e  Ljava/util/zip/ZipEntry;
           11   13    10       data  [B
           21   50     6     cwdZip  Ljava/io/File;
           24   50     7     zipURI  Ljava/lang/String;
           25   50     8     jarURI  Ljava/lang/String;
           26   50     9  cwdZipURI  Ljava/lang/String;
      Exception table:
        from    to  target  type
           8    13      14  any
           7    16      16  any
          26    43      43  any
    Exceptions:
      throws java.lang.Exception
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  private static void checkSourcePathToURI(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.String sourcePath
        start local 1 // java.lang.String uriArray
         0: .line 281
            aload 0 /* sourcePath */
            aload 1 /* uriArray */
            aconst_null
            invokestatic com.oracle.truffle.tools.chromeinspector.test.RelativeSourceInspectDebugTest.checkSourcePathToURI:(Ljava/lang/String;Ljava/lang/String;Ljava/util/function/Consumer;)V
         1: .line 282
            return
        end local 1 // java.lang.String uriArray
        end local 0 // java.lang.String sourcePath
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0  sourcePath  Ljava/lang/String;
            0    2     1    uriArray  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      sourcePath  
      uriArray    

  private static void checkSourcePathToURI(java.lang.String, java.lang.String, java.util.function.Consumer<java.net.URI>);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/util/function/Consumer;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=10, args_size=3
        start local 0 // java.lang.String sourcePath
        start local 1 // java.lang.String uriArray
        start local 2 // java.util.function.Consumer validator
         0: .line 286
            new java.io.ByteArrayOutputStream
            dup
            invokespecial java.io.ByteArrayOutputStream.<init>:()V
            astore 3 /* out */
        start local 3 // java.io.ByteArrayOutputStream out
         1: .line 287
            aconst_null
            astore 4
            aconst_null
            astore 5
         2: iconst_0
            anewarray java.lang.String
            invokestatic org.graalvm.polyglot.Context.newBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
            ldc "inspect.SourcePath"
            aload 0 /* sourcePath */
            invokevirtual org.graalvm.polyglot.Context$Builder.option:(Ljava/lang/String;Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
            aload 3 /* out */
            invokevirtual org.graalvm.polyglot.Context$Builder.out:(Ljava/io/OutputStream;)Lorg/graalvm/polyglot/Context$Builder;
            aload 3 /* out */
            invokevirtual org.graalvm.polyglot.Context$Builder.err:(Ljava/io/OutputStream;)Lorg/graalvm/polyglot/Context$Builder;
            invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
            astore 6 /* context */
        start local 6 // org.graalvm.polyglot.Context context
         3: .line 288
            aload 6 /* context */
            invokevirtual org.graalvm.polyglot.Context.getEngine:()Lorg/graalvm/polyglot/Engine;
            invokevirtual org.graalvm.polyglot.Engine.getInstruments:()Ljava/util/Map;
            ldc "inspect"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.graalvm.polyglot.Instrument
            astore 7 /* inspector */
        start local 7 // org.graalvm.polyglot.Instrument inspector
         4: .line 289
            aload 7 /* inspector */
            ldc "impl"
            invokestatic com.oracle.truffle.api.test.ReflectionUtils.getField:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            ldc "optionValues"
            invokestatic com.oracle.truffle.api.test.ReflectionUtils.getField:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            checkcast org.graalvm.options.OptionValues
            astore 8 /* optionValues */
        start local 8 // org.graalvm.options.OptionValues optionValues
         5: .line 290
            aload 8 /* optionValues */
            aload 7 /* inspector */
            invokevirtual org.graalvm.polyglot.Instrument.getOptions:()Lorg/graalvm/options/OptionDescriptors;
            ldc "inspect.SourcePath"
            invokeinterface org.graalvm.options.OptionDescriptors.get:(Ljava/lang/String;)Lorg/graalvm/options/OptionDescriptor;
            invokevirtual org.graalvm.options.OptionDescriptor.getKey:()Lorg/graalvm/options/OptionKey;
            invokeinterface org.graalvm.options.OptionValues.get:(Lorg/graalvm/options/OptionKey;)Ljava/lang/Object;
            checkcast java.util.List
            astore 9 /* spValue */
        start local 9 // java.util.List spValue
         6: .line 291
            aload 2 /* validator */
            ifnull 8
         7: .line 292
            aload 2 /* validator */
            aload 9 /* spValue */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.net.URI
            invokeinterface java.util.function.Consumer.accept:(Ljava/lang/Object;)V
         8: .line 294
      StackMap locals: java.lang.String java.lang.String java.util.function.Consumer java.io.ByteArrayOutputStream java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context org.graalvm.polyglot.Instrument org.graalvm.options.OptionValues java.util.List
      StackMap stack:
            aload 1 /* uriArray */
            aload 9 /* spValue */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 9 // java.util.List spValue
        end local 8 // org.graalvm.options.OptionValues optionValues
        end local 7 // org.graalvm.polyglot.Instrument inspector
         9: .line 295
            aload 6 /* context */
            ifnull 15
            aload 6 /* context */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 15
      StackMap locals: java.lang.String java.lang.String java.util.function.Consumer java.io.ByteArrayOutputStream java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
        10: astore 4
            aload 6 /* context */
            ifnull 11
            aload 6 /* context */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 6 // org.graalvm.polyglot.Context context
      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 296
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.io.ByteArrayOutputStream out
        end local 2 // java.util.function.Consumer validator
        end local 1 // java.lang.String uriArray
        end local 0 // java.lang.String sourcePath
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   16     0    sourcePath  Ljava/lang/String;
            0   16     1      uriArray  Ljava/lang/String;
            0   16     2     validator  Ljava/util/function/Consumer<Ljava/net/URI;>;
            1   16     3           out  Ljava/io/ByteArrayOutputStream;
            3   11     6       context  Lorg/graalvm/polyglot/Context;
            4    9     7     inspector  Lorg/graalvm/polyglot/Instrument;
            5    9     8  optionValues  Lorg/graalvm/options/OptionValues;
            6    9     9       spValue  Ljava/util/List<Ljava/net/URI;>;
      Exception table:
        from    to  target  type
           3     9      10  any
           2    12      12  any
    Signature: (Ljava/lang/String;Ljava/lang/String;Ljava/util/function/Consumer<Ljava/net/URI;>;)V
    MethodParameters:
            Name  Flags
      sourcePath  
      uriArray    
      validator   

  private static void deleteRecursively(java.nio.file.Path);
    descriptor: (Ljava/nio/file/Path;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.nio.file.Path path
         0: .line 299
            aload 0 /* path */
            new com.oracle.truffle.tools.chromeinspector.test.RelativeSourceInspectDebugTest$1
            dup
            invokespecial com.oracle.truffle.tools.chromeinspector.test.RelativeSourceInspectDebugTest$1.<init>:()V
            invokestatic java.nio.file.Files.walkFileTree:(Ljava/nio/file/Path;Ljava/nio/file/FileVisitor;)Ljava/nio/file/Path;
            pop
         1: .line 312
            return
        end local 0 // java.nio.file.Path path
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  path  Ljava/nio/file/Path;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      path  

  private static void lambda$0(java.net.URI);
    descriptor: (Ljava/net/URI;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=5, locals=6, args_size=1
        start local 0 // java.net.URI uri
         0: .line 245
            iconst_1
            anewarray java.lang.String
            astore 1 /* entryName */
        start local 1 // java.lang.String[] entryName
         1: .line 246
            new java.util.LinkedList
            dup
            invokespecial java.util.LinkedList.<init>:()V
            astore 2 /* lines */
        start local 2 // java.util.List lines
         2: .line 247
            aconst_null
            astore 3
            aconst_null
            astore 4
         3: aload 0 /* uri */
            invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
            invokestatic java.nio.file.FileSystems.newFileSystem:(Ljava/net/URI;Ljava/util/Map;)Ljava/nio/file/FileSystem;
            astore 5 /* jarFS */
        start local 5 // java.nio.file.FileSystem jarFS
         4: .line 248
            aload 5 /* jarFS */
            ldc "/"
            iconst_0
            anewarray java.lang.String
            invokevirtual java.nio.file.FileSystem.getPath:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
            iconst_0
            anewarray java.nio.file.FileVisitOption
            invokestatic java.nio.file.Files.walk:(Ljava/nio/file/Path;[Ljava/nio/file/FileVisitOption;)Ljava/util/stream/Stream;
            aload 1 /* entryName */
            aload 2 /* lines */
            invokedynamic accept([Ljava/lang/String;Ljava/util/List;)Ljava/util/function/Consumer;
              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;)V
                  com/oracle/truffle/tools/chromeinspector/test/RelativeSourceInspectDebugTest.lambda$1([Ljava/lang/String;Ljava/util/List;Ljava/nio/file/Path;)V (6)
                  (Ljava/nio/file/Path;)V
            invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
         5: .line 258
            aload 5 /* jarFS */
            ifnull 13
            aload 5 /* jarFS */
            invokevirtual java.nio.file.FileSystem.close:()V
            goto 13
      StackMap locals: java.net.URI java.lang.String[] java.util.List java.lang.Throwable java.lang.Throwable java.nio.file.FileSystem
      StackMap stack: java.lang.Throwable
         6: astore 3
            aload 5 /* jarFS */
            ifnull 7
            aload 5 /* jarFS */
            invokevirtual java.nio.file.FileSystem.close:()V
        end local 5 // java.nio.file.FileSystem jarFS
      StackMap locals:
      StackMap stack:
         7: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
         8: astore 4
            aload 3
            ifnonnull 9
            aload 4
            astore 3
            goto 10
      StackMap locals:
      StackMap stack:
         9: aload 3
            aload 4
            if_acmpeq 10
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        10: aload 3
            athrow
      StackMap locals: java.net.URI java.lang.String[] java.util.List
      StackMap stack: java.io.IOException
        11: astore 3 /* io */
        start local 3 // java.io.IOException io
        12: .line 259
            new java.lang.AssertionError
            dup
            aload 0 /* uri */
            invokevirtual java.net.URI.toString:()Ljava/lang/String;
            aload 3 /* io */
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.io.IOException io
        13: .line 261
      StackMap locals:
      StackMap stack:
            ldc "/src/my#project/File"
            aload 1 /* entryName */
            iconst_0
            aaload
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        14: .line 262
            aload 2 /* lines */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            lconst_1
            aload 2 /* lines */
            invokeinterface java.util.List.size:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;JJ)V
        15: .line 263
            ldc "A"
            aload 2 /* lines */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 2 // java.util.List lines
        end local 1 // java.lang.String[] entryName
        16: .line 264
            return
        end local 0 // java.net.URI uri
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   17     0        uri  Ljava/net/URI;
            1   16     1  entryName  [Ljava/lang/String;
            2   16     2      lines  Ljava/util/List<Ljava/lang/String;>;
            4    7     5      jarFS  Ljava/nio/file/FileSystem;
           12   13     3         io  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           4     5       6  any
           3     8       8  any
           2    11      11  Class java.io.IOException

  private static void lambda$1(java.lang.String[], java.util.List, java.nio.file.Path);
    descriptor: ([Ljava/lang/String;Ljava/util/List;Ljava/nio/file/Path;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=4, args_size=3
        start local 2 // java.nio.file.Path path
         0: .line 250
            aload 2 /* path */
            ldc Ljava/nio/file/attribute/BasicFileAttributes;
            iconst_0
            anewarray java.nio.file.LinkOption
            invokestatic java.nio.file.Files.readAttributes:(Ljava/nio/file/Path;Ljava/lang/Class;[Ljava/nio/file/LinkOption;)Ljava/nio/file/attribute/BasicFileAttributes;
            invokeinterface java.nio.file.attribute.BasicFileAttributes.isRegularFile:()Z
            ifeq 6
         1: .line 251
            aload 0
            iconst_0
            aload 2 /* path */
            invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
            aastore
         2: .line 252
            aload 1
            aload 2 /* path */
            invokestatic java.nio.file.Files.readAllLines:(Ljava/nio/file/Path;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
         3: .line 254
            goto 6
      StackMap locals:
      StackMap stack: java.io.IOException
         4: astore 3 /* ex */
        start local 3 // java.io.IOException ex
         5: .line 255
            new java.lang.AssertionError
            dup
            aload 3 /* ex */
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        end local 3 // java.io.IOException ex
         6: .line 257
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.nio.file.Path path
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     2  path  Ljava/nio/file/Path;
            5    6     3    ex  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0     3       4  Class java.io.IOException
}
SourceFile: "RelativeSourceInspectDebugTest.java"
NestMembers:
  com.oracle.truffle.tools.chromeinspector.test.RelativeSourceInspectDebugTest$1
InnerClasses:
  com.oracle.truffle.tools.chromeinspector.test.RelativeSourceInspectDebugTest$1
  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