abstract class com.oracle.truffle.api.dsl.test.CachedContextTest$Valid1Node extends com.oracle.truffle.api.nodes.Node
  minor version: 0
  major version: 59
  flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
  this_class: com.oracle.truffle.api.dsl.test.CachedContextTest$Valid1Node
  super_class: com.oracle.truffle.api.nodes.Node
{
  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.dsl.test.CachedContextTest$Valid1Node this
         0: .line 110
            aload 0 /* this */
            invokespecial com.oracle.truffle.api.nodes.Node.<init>:()V
            return
        end local 0 // com.oracle.truffle.api.dsl.test.CachedContextTest$Valid1Node this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/api/dsl/test/CachedContextTest$Valid1Node;

  abstract java.lang.Object execute(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0400) ACC_ABSTRACT
    MethodParameters:
          Name  Flags
      argument  

  static java.lang.String s0(int, com.oracle.truffle.api.TruffleLanguage$Env, com.oracle.truffle.api.TruffleLanguage$ContextReference<com.oracle.truffle.api.TruffleLanguage$Env>);
    descriptor: (ILcom/oracle/truffle/api/TruffleLanguage$Env;Lcom/oracle/truffle/api/TruffleLanguage$ContextReference;)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // int value
        start local 1 // com.oracle.truffle.api.TruffleLanguage$Env context
        start local 2 // com.oracle.truffle.api.TruffleLanguage$ContextReference contextSupplier
         0: .line 118
            invokestatic com.oracle.truffle.api.dsl.test.CachedContextTest$CachedContextTestLanguage.getCurrentContext:()Lcom/oracle/truffle/api/TruffleLanguage$Env;
            aload 1 /* context */
            invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
         1: .line 119
            invokestatic com.oracle.truffle.api.dsl.test.CachedContextTest$CachedContextTestLanguage.getCurrentContext:()Lcom/oracle/truffle/api/TruffleLanguage$Env;
            aload 2 /* contextSupplier */
            invokevirtual com.oracle.truffle.api.TruffleLanguage$ContextReference.get:()Ljava/lang/Object;
            invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
         2: .line 120
            ldc "s0"
            areturn
        end local 2 // com.oracle.truffle.api.TruffleLanguage$ContextReference contextSupplier
        end local 1 // com.oracle.truffle.api.TruffleLanguage$Env context
        end local 0 // int value
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    3     0            value  I
            0    3     1          context  Lcom/oracle/truffle/api/TruffleLanguage$Env;
            0    3     2  contextSupplier  Lcom/oracle/truffle/api/TruffleLanguage$ContextReference<Lcom/oracle/truffle/api/TruffleLanguage$Env;>;
    Signature: (ILcom/oracle/truffle/api/TruffleLanguage$Env;Lcom/oracle/truffle/api/TruffleLanguage$ContextReference<Lcom/oracle/truffle/api/TruffleLanguage$Env;>;)Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.dsl.Specialization()
    RuntimeInvisibleParameterAnnotations: 
      0:
      1:
        com.oracle.truffle.api.dsl.CachedContext(value = Lcom/oracle/truffle/api/dsl/test/CachedContextTest$CachedContextTestLanguage;)
      2:
        com.oracle.truffle.api.dsl.CachedContext(value = Lcom/oracle/truffle/api/dsl/test/CachedContextTest$CachedContextTestLanguage;)
    MethodParameters:
                 Name  Flags
      value            
      context          
      contextSupplier  

  static java.lang.String s1(double, com.oracle.truffle.api.TruffleLanguage$Env, com.oracle.truffle.api.TruffleLanguage$ContextReference<com.oracle.truffle.api.TruffleLanguage$Env>);
    descriptor: (DLcom/oracle/truffle/api/TruffleLanguage$Env;Lcom/oracle/truffle/api/TruffleLanguage$ContextReference;)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // double value
        start local 2 // com.oracle.truffle.api.TruffleLanguage$Env context
        start local 3 // com.oracle.truffle.api.TruffleLanguage$ContextReference contextSupplier
         0: .line 127
            invokestatic com.oracle.truffle.api.dsl.test.CachedContextTest$CachedContextTestLanguage.getCurrentContext:()Lcom/oracle/truffle/api/TruffleLanguage$Env;
            aload 2 /* context */
            invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
         1: .line 128
            invokestatic com.oracle.truffle.api.dsl.test.CachedContextTest$CachedContextTestLanguage.getCurrentContext:()Lcom/oracle/truffle/api/TruffleLanguage$Env;
            aload 3 /* contextSupplier */
            invokevirtual com.oracle.truffle.api.TruffleLanguage$ContextReference.get:()Ljava/lang/Object;
            invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
         2: .line 129
            ldc "s1"
            areturn
        end local 3 // com.oracle.truffle.api.TruffleLanguage$ContextReference contextSupplier
        end local 2 // com.oracle.truffle.api.TruffleLanguage$Env context
        end local 0 // double value
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    3     0            value  D
            0    3     2          context  Lcom/oracle/truffle/api/TruffleLanguage$Env;
            0    3     3  contextSupplier  Lcom/oracle/truffle/api/TruffleLanguage$ContextReference<Lcom/oracle/truffle/api/TruffleLanguage$Env;>;
    Signature: (DLcom/oracle/truffle/api/TruffleLanguage$Env;Lcom/oracle/truffle/api/TruffleLanguage$ContextReference<Lcom/oracle/truffle/api/TruffleLanguage$Env;>;)Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.dsl.Specialization()
    RuntimeInvisibleParameterAnnotations: 
      0:
      1:
        com.oracle.truffle.api.dsl.CachedContext(value = Lcom/oracle/truffle/api/dsl/test/CachedContextTest$CachedContextTestLanguage;)
      2:
        com.oracle.truffle.api.dsl.CachedContext(value = Lcom/oracle/truffle/api/dsl/test/CachedContextTest$CachedContextTestLanguage;)
    MethodParameters:
                 Name  Flags
      value            
      context          
      contextSupplier  
}
SourceFile: "CachedContextTest.java"
NestHost: com.oracle.truffle.api.dsl.test.CachedContextTest
InnerClasses:
  public abstract ContextReference = com.oracle.truffle.api.TruffleLanguage$ContextReference of com.oracle.truffle.api.TruffleLanguage
  public final Env = com.oracle.truffle.api.TruffleLanguage$Env of com.oracle.truffle.api.TruffleLanguage
  public CachedContextTestLanguage = com.oracle.truffle.api.dsl.test.CachedContextTest$CachedContextTestLanguage of com.oracle.truffle.api.dsl.test.CachedContextTest
  abstract Valid1Node = com.oracle.truffle.api.dsl.test.CachedContextTest$Valid1Node of com.oracle.truffle.api.dsl.test.CachedContextTest
    RuntimeInvisibleAnnotations: 
      com.oracle.truffle.api.dsl.GenerateUncached()
      com.oracle.truffle.api.dsl.Introspectable()