public class org.graalvm.tools.lsp.test.server.CoverageTest extends org.graalvm.tools.lsp.test.server.TruffleLSPTest
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.tools.lsp.test.server.CoverageTest
  super_class: org.graalvm.tools.lsp.test.server.TruffleLSPTest
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.tools.lsp.test.server.CoverageTest this
         0: .line 37
            aload 0 /* this */
            invokespecial org.graalvm.tools.lsp.test.server.TruffleLSPTest.<init>:()V
            return
        end local 0 // org.graalvm.tools.lsp.test.server.CoverageTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/tools/lsp/test/server/CoverageTest;

  public void runConverageAnalysisTest();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=6, args_size=1
        start local 0 // org.graalvm.tools.lsp.test.server.CoverageTest this
         0: .line 41
            aload 0 /* this */
            invokevirtual org.graalvm.tools.lsp.test.server.CoverageTest.createDummyFileUriForSL:()Ljava/net/URI;
            astore 1 /* uri */
        start local 1 // java.net.URI uri
         1: .line 42
            aload 0 /* this */
            getfield org.graalvm.tools.lsp.test.server.CoverageTest.truffleAdapter:Lorg/graalvm/tools/lsp/server/TruffleAdapter;
            ldc "function main() {\n    x = abc();\n    return x;\n}\n\nfunction abc() {\n  obj = new();\n  obj.p = 1;\n  return obj;\n}\n\nfunction notCalled() {\n  abc();\n  return abc();\n}\n"
            ldc "sl"
            aload 1 /* uri */
            invokevirtual org.graalvm.tools.lsp.server.TruffleAdapter.parse:(Ljava/lang/String;Ljava/lang/String;Ljava/net/URI;)Ljava/util/concurrent/Future;
            astore 2 /* futureOpen */
        start local 2 // java.util.concurrent.Future futureOpen
         2: .line 43
            aload 2 /* futureOpen */
            invokeinterface java.util.concurrent.Future.get:()Ljava/lang/Object;
            pop
         3: .line 45
            aload 0 /* this */
            getfield org.graalvm.tools.lsp.test.server.CoverageTest.truffleAdapter:Lorg/graalvm/tools/lsp/server/TruffleAdapter;
            aload 1 /* uri */
            invokevirtual org.graalvm.tools.lsp.server.TruffleAdapter.getCoverage:(Ljava/net/URI;)Ljava/util/concurrent/Future;
            invokeinterface java.util.concurrent.Future.get:()Ljava/lang/Object;
            checkcast org.graalvm.tools.lsp.server.types.Coverage
            astore 3 /* coverage */
        start local 3 // org.graalvm.tools.lsp.server.types.Coverage coverage
         4: .line 46
            aload 3 /* coverage */
            ifnull 5
            iconst_1
            goto 6
      StackMap locals: java.net.URI java.util.concurrent.Future org.graalvm.tools.lsp.server.types.Coverage
      StackMap stack:
         5: iconst_0
      StackMap locals:
      StackMap stack: int
         6: invokestatic org.junit.Assert.assertTrue:(Z)V
         7: .line 47
            ldc 7
            aload 3 /* coverage */
            invokevirtual org.graalvm.tools.lsp.server.types.Coverage.getUncovered:()Ljava/util/List;
            invokeinterface java.util.List.size:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         8: .line 48
            aload 0 /* this */
            iconst_1
            iconst_4
            iconst_1
            bipush 13
            aload 3 /* coverage */
            invokevirtual org.graalvm.tools.lsp.server.types.Coverage.getUncovered:()Ljava/util/List;
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.graalvm.tools.lsp.server.types.Range
            invokevirtual org.graalvm.tools.lsp.test.server.CoverageTest.rangeCheck:(IIIILorg/graalvm/tools/lsp/server/types/Range;)Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
         9: .line 49
            aload 0 /* this */
            iconst_2
            iconst_4
            iconst_2
            bipush 12
            aload 3 /* coverage */
            invokevirtual org.graalvm.tools.lsp.server.types.Coverage.getUncovered:()Ljava/util/List;
            iconst_1
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.graalvm.tools.lsp.server.types.Range
            invokevirtual org.graalvm.tools.lsp.test.server.CoverageTest.rangeCheck:(IIIILorg/graalvm/tools/lsp/server/types/Range;)Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        10: .line 50
            aload 0 /* this */
            bipush 6
            iconst_2
            bipush 6
            bipush 13
            aload 3 /* coverage */
            invokevirtual org.graalvm.tools.lsp.server.types.Coverage.getUncovered:()Ljava/util/List;
            iconst_2
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.graalvm.tools.lsp.server.types.Range
            invokevirtual org.graalvm.tools.lsp.test.server.CoverageTest.rangeCheck:(IIIILorg/graalvm/tools/lsp/server/types/Range;)Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        11: .line 51
            aload 0 /* this */
            bipush 7
            iconst_2
            bipush 7
            bipush 11
            aload 3 /* coverage */
            invokevirtual org.graalvm.tools.lsp.server.types.Coverage.getUncovered:()Ljava/util/List;
            iconst_3
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.graalvm.tools.lsp.server.types.Range
            invokevirtual org.graalvm.tools.lsp.test.server.CoverageTest.rangeCheck:(IIIILorg/graalvm/tools/lsp/server/types/Range;)Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        12: .line 52
            aload 0 /* this */
            bipush 8
            iconst_2
            bipush 8
            bipush 12
            aload 3 /* coverage */
            invokevirtual org.graalvm.tools.lsp.server.types.Coverage.getUncovered:()Ljava/util/List;
            iconst_4
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.graalvm.tools.lsp.server.types.Range
            invokevirtual org.graalvm.tools.lsp.test.server.CoverageTest.rangeCheck:(IIIILorg/graalvm/tools/lsp/server/types/Range;)Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        13: .line 53
            aload 0 /* this */
            bipush 12
            iconst_2
            bipush 12
            bipush 7
            aload 3 /* coverage */
            invokevirtual org.graalvm.tools.lsp.server.types.Coverage.getUncovered:()Ljava/util/List;
            iconst_5
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.graalvm.tools.lsp.server.types.Range
            invokevirtual org.graalvm.tools.lsp.test.server.CoverageTest.rangeCheck:(IIIILorg/graalvm/tools/lsp/server/types/Range;)Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        14: .line 54
            aload 0 /* this */
            bipush 13
            iconst_2
            bipush 13
            bipush 14
            aload 3 /* coverage */
            invokevirtual org.graalvm.tools.lsp.server.types.Coverage.getUncovered:()Ljava/util/List;
            bipush 6
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.graalvm.tools.lsp.server.types.Range
            invokevirtual org.graalvm.tools.lsp.test.server.CoverageTest.rangeCheck:(IIIILorg/graalvm/tools/lsp/server/types/Range;)Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        15: .line 56
            aload 0 /* this */
            getfield org.graalvm.tools.lsp.test.server.CoverageTest.truffleAdapter:Lorg/graalvm/tools/lsp/server/TruffleAdapter;
            aload 1 /* uri */
            invokevirtual org.graalvm.tools.lsp.server.TruffleAdapter.runCoverageAnalysis:(Ljava/net/URI;)Ljava/util/concurrent/Future;
            astore 4 /* future */
        start local 4 // java.util.concurrent.Future future
        16: .line 57
            aload 4 /* future */
            invokeinterface java.util.concurrent.Future.get:()Ljava/lang/Object;
            checkcast java.lang.Boolean
            astore 5 /* result */
        start local 5 // java.lang.Boolean result
        17: .line 58
            aload 5 /* result */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        18: .line 60
            aload 0 /* this */
            getfield org.graalvm.tools.lsp.test.server.CoverageTest.truffleAdapter:Lorg/graalvm/tools/lsp/server/TruffleAdapter;
            aload 1 /* uri */
            invokevirtual org.graalvm.tools.lsp.server.TruffleAdapter.getCoverage:(Ljava/net/URI;)Ljava/util/concurrent/Future;
            invokeinterface java.util.concurrent.Future.get:()Ljava/lang/Object;
            checkcast org.graalvm.tools.lsp.server.types.Coverage
            astore 3 /* coverage */
        19: .line 61
            aload 3 /* coverage */
            ifnull 20
            iconst_1
            goto 21
      StackMap locals: java.util.concurrent.Future java.lang.Boolean
      StackMap stack:
        20: iconst_0
      StackMap locals:
      StackMap stack: int
        21: invokestatic org.junit.Assert.assertTrue:(Z)V
        22: .line 62
            ldc 2
            aload 3 /* coverage */
            invokevirtual org.graalvm.tools.lsp.server.types.Coverage.getUncovered:()Ljava/util/List;
            invokeinterface java.util.List.size:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        23: .line 63
            aload 0 /* this */
            bipush 12
            iconst_2
            bipush 12
            bipush 7
            aload 3 /* coverage */
            invokevirtual org.graalvm.tools.lsp.server.types.Coverage.getUncovered:()Ljava/util/List;
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.graalvm.tools.lsp.server.types.Range
            invokevirtual org.graalvm.tools.lsp.test.server.CoverageTest.rangeCheck:(IIIILorg/graalvm/tools/lsp/server/types/Range;)Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        24: .line 64
            aload 0 /* this */
            bipush 13
            iconst_2
            bipush 13
            bipush 14
            aload 3 /* coverage */
            invokevirtual org.graalvm.tools.lsp.server.types.Coverage.getUncovered:()Ljava/util/List;
            iconst_1
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.graalvm.tools.lsp.server.types.Range
            invokevirtual org.graalvm.tools.lsp.test.server.CoverageTest.rangeCheck:(IIIILorg/graalvm/tools/lsp/server/types/Range;)Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        25: .line 65
            return
        end local 5 // java.lang.Boolean result
        end local 4 // java.util.concurrent.Future future
        end local 3 // org.graalvm.tools.lsp.server.types.Coverage coverage
        end local 2 // java.util.concurrent.Future futureOpen
        end local 1 // java.net.URI uri
        end local 0 // org.graalvm.tools.lsp.test.server.CoverageTest this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   26     0        this  Lorg/graalvm/tools/lsp/test/server/CoverageTest;
            1   26     1         uri  Ljava/net/URI;
            2   26     2  futureOpen  Ljava/util/concurrent/Future<*>;
            4   26     3    coverage  Lorg/graalvm/tools/lsp/server/types/Coverage;
           16   26     4      future  Ljava/util/concurrent/Future<Ljava/lang/Boolean;>;
           17   26     5      result  Ljava/lang/Boolean;
    Exceptions:
      throws java.lang.InterruptedException, java.util.concurrent.ExecutionException
    RuntimeVisibleAnnotations: 
      org.junit.Test()
}
SourceFile: "CoverageTest.java"