public class org.graalvm.compiler.truffle.test.TruffleRuntimeTest
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.compiler.truffle.test.TruffleRuntimeTest
  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 // org.graalvm.compiler.truffle.test.TruffleRuntimeTest this
         0: .line 43
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.graalvm.compiler.truffle.test.TruffleRuntimeTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/truffle/test/TruffleRuntimeTest;

  public void testGraalCapabilities();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.truffle.test.TruffleRuntimeTest this
         0: .line 47
            invokestatic org.graalvm.compiler.api.test.Graal.getRuntime:()Lorg/graalvm/compiler/api/runtime/GraalRuntime;
            ldc Lorg/graalvm/compiler/runtime/RuntimeProvider;
            invokeinterface org.graalvm.compiler.api.runtime.GraalRuntime.getCapability:(Ljava/lang/Class;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/Object;)V
         1: .line 48
            return
        end local 0 // org.graalvm.compiler.truffle.test.TruffleRuntimeTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/truffle/test/TruffleRuntimeTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testRuntimeAvailable();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.truffle.test.TruffleRuntimeTest this
         0: .line 52
            invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
            invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/Object;)V
         1: .line 53
            return
        end local 0 // org.graalvm.compiler.truffle.test.TruffleRuntimeTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/truffle/test/TruffleRuntimeTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testRuntimeIsGraalRuntime();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.graalvm.compiler.truffle.test.TruffleRuntimeTest this
         0: .line 57
            invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
            astore 1 /* runtime */
        start local 1 // com.oracle.truffle.api.TruffleRuntime runtime
         1: .line 58
            aload 1 /* runtime */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            ldc Lcom/oracle/truffle/api/impl/DefaultTruffleRuntime;
            if_acmpeq 2
            iconst_1
            goto 3
      StackMap locals: com.oracle.truffle.api.TruffleRuntime
      StackMap stack:
         2: iconst_0
      StackMap locals:
      StackMap stack: int
         3: invokestatic org.junit.Assert.assertTrue:(Z)V
         4: .line 59
            return
        end local 1 // com.oracle.truffle.api.TruffleRuntime runtime
        end local 0 // org.graalvm.compiler.truffle.test.TruffleRuntimeTest this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/graalvm/compiler/truffle/test/TruffleRuntimeTest;
            1    5     1  runtime  Lcom/oracle/truffle/api/TruffleRuntime;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testGetTVMCI();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // org.graalvm.compiler.truffle.test.TruffleRuntimeTest this
         0: .line 63
            invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
            astore 1 /* runtime */
        start local 1 // com.oracle.truffle.api.TruffleRuntime runtime
         1: .line 64
            aload 1 /* runtime */
            ldc Lcom/oracle/truffle/api/impl/TVMCI;
            invokeinterface com.oracle.truffle.api.TruffleRuntime.getCapability:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast com.oracle.truffle.api.impl.TVMCI
            astore 2 /* tvmci */
        start local 2 // com.oracle.truffle.api.impl.TVMCI tvmci
         2: .line 65
            ldc "Truffle Virtual Machine Compiler Interface not found"
            aload 2 /* tvmci */
            invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/String;Ljava/lang/Object;)V
         3: .line 66
            ldc "GraalTVMCI"
            aload 2 /* tvmci */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         4: .line 70
            aload 1 /* runtime */
            ldc Lorg/graalvm/compiler/truffle/test/TruffleRuntimeTest$1TVMCISubclass;
            invokeinterface com.oracle.truffle.api.TruffleRuntime.getCapability:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast org.graalvm.compiler.truffle.test.TruffleRuntimeTest$1TVMCISubclass
            astore 3 /* subclass */
        start local 3 // org.graalvm.compiler.truffle.test.TruffleRuntimeTest$1TVMCISubclass subclass
         5: .line 71
            ldc "Expected null return value for TVMCI subclass"
            aload 3 /* subclass */
            invokestatic org.junit.Assert.assertNull:(Ljava/lang/String;Ljava/lang/Object;)V
         6: .line 72
            return
        end local 3 // org.graalvm.compiler.truffle.test.TruffleRuntimeTest$1TVMCISubclass subclass
        end local 2 // com.oracle.truffle.api.impl.TVMCI tvmci
        end local 1 // com.oracle.truffle.api.TruffleRuntime runtime
        end local 0 // org.graalvm.compiler.truffle.test.TruffleRuntimeTest this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lorg/graalvm/compiler/truffle/test/TruffleRuntimeTest;
            1    7     1   runtime  Lcom/oracle/truffle/api/TruffleRuntime;
            2    7     2     tvmci  Lcom/oracle/truffle/api/impl/TVMCI;
            5    7     3  subclass  Lorg/graalvm/compiler/truffle/test/TruffleRuntimeTest$1TVMCISubclass;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testGetCapabilityObjectClass();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.graalvm.compiler.truffle.test.TruffleRuntimeTest this
         0: .line 76
            invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
            ldc Ljava/lang/Object;
            invokeinterface com.oracle.truffle.api.TruffleRuntime.getCapability:(Ljava/lang/Class;)Ljava/lang/Object;
            astore 1 /* object */
        start local 1 // java.lang.Object object
         1: .line 77
            ldc "Expected null return value for Object.class"
            aload 1 /* object */
            invokestatic org.junit.Assert.assertNull:(Ljava/lang/String;Ljava/lang/Object;)V
         2: .line 78
            return
        end local 1 // java.lang.Object object
        end local 0 // org.graalvm.compiler.truffle.test.TruffleRuntimeTest this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/graalvm/compiler/truffle/test/TruffleRuntimeTest;
            1    3     1  object  Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testGetLayoutFactory();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // org.graalvm.compiler.truffle.test.TruffleRuntimeTest this
         0: .line 82
            invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
            astore 1 /* runtime */
        start local 1 // com.oracle.truffle.api.TruffleRuntime runtime
         1: .line 83
            aload 1 /* runtime */
            ldc Lcom/oracle/truffle/api/object/LayoutFactory;
            invokeinterface com.oracle.truffle.api.TruffleRuntime.getCapability:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast com.oracle.truffle.api.object.LayoutFactory
            astore 2 /* layoutFactory */
        start local 2 // com.oracle.truffle.api.object.LayoutFactory layoutFactory
         2: .line 84
            ldc "LayoutFactory not found"
            aload 2 /* layoutFactory */
            invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/String;Ljava/lang/Object;)V
         3: .line 86
            getstatic org.graalvm.compiler.serviceprovider.JavaVersionUtil.JAVA_SPEC:I
            bipush 8
            if_icmpgt 4
            iconst_1
            goto 5
      StackMap locals: com.oracle.truffle.api.TruffleRuntime com.oracle.truffle.api.object.LayoutFactory
      StackMap stack:
         4: iconst_0
      StackMap locals:
      StackMap stack: int
         5: istore 3 /* java8OrEarlier */
        start local 3 // boolean java8OrEarlier
         6: .line 87
            aload 2 /* layoutFactory */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            astore 4 /* layoutFactoryCL */
        start local 4 // java.lang.ClassLoader layoutFactoryCL
         7: .line 88
            iload 3 /* java8OrEarlier */
            ifeq 11
         8: .line 90
            aload 4 /* layoutFactoryCL */
            ifnull 9
            aload 4 /* layoutFactoryCL */
            aload 1 /* runtime */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            if_acmpeq 9
            iconst_0
            goto 10
      StackMap locals: int java.lang.ClassLoader
      StackMap stack:
         9: iconst_1
      StackMap locals:
      StackMap stack: int
        10: invokestatic org.junit.Assert.assertTrue:(Z)V
        11: .line 94
      StackMap locals:
      StackMap stack:
            return
        end local 4 // java.lang.ClassLoader layoutFactoryCL
        end local 3 // boolean java8OrEarlier
        end local 2 // com.oracle.truffle.api.object.LayoutFactory layoutFactory
        end local 1 // com.oracle.truffle.api.TruffleRuntime runtime
        end local 0 // org.graalvm.compiler.truffle.test.TruffleRuntimeTest this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   12     0             this  Lorg/graalvm/compiler/truffle/test/TruffleRuntimeTest;
            1   12     1          runtime  Lcom/oracle/truffle/api/TruffleRuntime;
            2   12     2    layoutFactory  Lcom/oracle/truffle/api/object/LayoutFactory;
            6   12     3   java8OrEarlier  Z
            7   12     4  layoutFactoryCL  Ljava/lang/ClassLoader;
    RuntimeVisibleAnnotations: 
      org.junit.Test()
}
SourceFile: "TruffleRuntimeTest.java"
NestMembers:
  org.graalvm.compiler.truffle.test.TruffleRuntimeTest$1TVMCISubclass
InnerClasses:
  abstract TVMCISubclass = org.graalvm.compiler.truffle.test.TruffleRuntimeTest$1TVMCISubclass