abstract class com.oracle.truffle.api.dsl.test.CachedLanguageTest$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.CachedLanguageTest$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.CachedLanguageTest$Valid1Node this
         0: .line 95
            aload 0 /* this */
            invokespecial com.oracle.truffle.api.nodes.Node.<init>:()V
            return
        end local 0 // com.oracle.truffle.api.dsl.test.CachedLanguageTest$Valid1Node this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/api/dsl/test/CachedLanguageTest$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.dsl.test.CachedLanguageTest$CachedLanguageTestLanguage, com.oracle.truffle.api.TruffleLanguage$LanguageReference<com.oracle.truffle.api.dsl.test.CachedLanguageTest$CachedLanguageTestLanguage>);
    descriptor: (ILcom/oracle/truffle/api/dsl/test/CachedLanguageTest$CachedLanguageTestLanguage;Lcom/oracle/truffle/api/TruffleLanguage$LanguageReference;)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.dsl.test.CachedLanguageTest$CachedLanguageTestLanguage language
        start local 2 // com.oracle.truffle.api.TruffleLanguage$LanguageReference languageSupplier
         0: .line 103
            invokestatic com.oracle.truffle.api.dsl.test.CachedLanguageTest$CachedLanguageTestLanguage.getCurrentLanguage:()Lcom/oracle/truffle/api/dsl/test/CachedLanguageTest$CachedLanguageTestLanguage;
            aload 1 /* language */
            invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
         1: .line 104
            invokestatic com.oracle.truffle.api.dsl.test.CachedLanguageTest$CachedLanguageTestLanguage.getCurrentLanguage:()Lcom/oracle/truffle/api/dsl/test/CachedLanguageTest$CachedLanguageTestLanguage;
            aload 2 /* languageSupplier */
            invokevirtual com.oracle.truffle.api.TruffleLanguage$LanguageReference.get:()Lcom/oracle/truffle/api/TruffleLanguage;
            invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
         2: .line 105
            ldc "s0"
            areturn
        end local 2 // com.oracle.truffle.api.TruffleLanguage$LanguageReference languageSupplier
        end local 1 // com.oracle.truffle.api.dsl.test.CachedLanguageTest$CachedLanguageTestLanguage language
        end local 0 // int value
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    3     0             value  I
            0    3     1          language  Lcom/oracle/truffle/api/dsl/test/CachedLanguageTest$CachedLanguageTestLanguage;
            0    3     2  languageSupplier  Lcom/oracle/truffle/api/TruffleLanguage$LanguageReference<Lcom/oracle/truffle/api/dsl/test/CachedLanguageTest$CachedLanguageTestLanguage;>;
    Signature: (ILcom/oracle/truffle/api/dsl/test/CachedLanguageTest$CachedLanguageTestLanguage;Lcom/oracle/truffle/api/TruffleLanguage$LanguageReference<Lcom/oracle/truffle/api/dsl/test/CachedLanguageTest$CachedLanguageTestLanguage;>;)Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.dsl.Specialization()
    RuntimeInvisibleParameterAnnotations: 
      0:
      1:
        com.oracle.truffle.api.dsl.CachedLanguage()
      2:
        com.oracle.truffle.api.dsl.CachedLanguage()
    MethodParameters:
                  Name  Flags
      value             
      language          
      languageSupplier  

  static java.lang.String s1(double, com.oracle.truffle.api.dsl.test.CachedLanguageTest$CachedLanguageTestLanguage, com.oracle.truffle.api.TruffleLanguage$LanguageReference<com.oracle.truffle.api.dsl.test.CachedLanguageTest$CachedLanguageTestLanguage>);
    descriptor: (DLcom/oracle/truffle/api/dsl/test/CachedLanguageTest$CachedLanguageTestLanguage;Lcom/oracle/truffle/api/TruffleLanguage$LanguageReference;)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.dsl.test.CachedLanguageTest$CachedLanguageTestLanguage language
        start local 3 // com.oracle.truffle.api.TruffleLanguage$LanguageReference languageSupplier
         0: .line 112
            invokestatic com.oracle.truffle.api.dsl.test.CachedLanguageTest$CachedLanguageTestLanguage.getCurrentLanguage:()Lcom/oracle/truffle/api/dsl/test/CachedLanguageTest$CachedLanguageTestLanguage;
            aload 2 /* language */
            invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
         1: .line 113
            invokestatic com.oracle.truffle.api.dsl.test.CachedLanguageTest$CachedLanguageTestLanguage.getCurrentLanguage:()Lcom/oracle/truffle/api/dsl/test/CachedLanguageTest$CachedLanguageTestLanguage;
            aload 3 /* languageSupplier */
            invokevirtual com.oracle.truffle.api.TruffleLanguage$LanguageReference.get:()Lcom/oracle/truffle/api/TruffleLanguage;
            invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
         2: .line 114
            ldc "s1"
            areturn
        end local 3 // com.oracle.truffle.api.TruffleLanguage$LanguageReference languageSupplier
        end local 2 // com.oracle.truffle.api.dsl.test.CachedLanguageTest$CachedLanguageTestLanguage language
        end local 0 // double value
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    3     0             value  D
            0    3     2          language  Lcom/oracle/truffle/api/dsl/test/CachedLanguageTest$CachedLanguageTestLanguage;
            0    3     3  languageSupplier  Lcom/oracle/truffle/api/TruffleLanguage$LanguageReference<Lcom/oracle/truffle/api/dsl/test/CachedLanguageTest$CachedLanguageTestLanguage;>;
    Signature: (DLcom/oracle/truffle/api/dsl/test/CachedLanguageTest$CachedLanguageTestLanguage;Lcom/oracle/truffle/api/TruffleLanguage$LanguageReference<Lcom/oracle/truffle/api/dsl/test/CachedLanguageTest$CachedLanguageTestLanguage;>;)Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.dsl.Specialization()
    RuntimeInvisibleParameterAnnotations: 
      0:
      1:
        com.oracle.truffle.api.dsl.CachedLanguage()
      2:
        com.oracle.truffle.api.dsl.CachedLanguage()
    MethodParameters:
                  Name  Flags
      value             
      language          
      languageSupplier  
}
SourceFile: "CachedLanguageTest.java"
NestHost: com.oracle.truffle.api.dsl.test.CachedLanguageTest
InnerClasses:
  public abstract LanguageReference = com.oracle.truffle.api.TruffleLanguage$LanguageReference of com.oracle.truffle.api.TruffleLanguage
  public CachedLanguageTestLanguage = com.oracle.truffle.api.dsl.test.CachedLanguageTest$CachedLanguageTestLanguage of com.oracle.truffle.api.dsl.test.CachedLanguageTest
  abstract Valid1Node = com.oracle.truffle.api.dsl.test.CachedLanguageTest$Valid1Node of com.oracle.truffle.api.dsl.test.CachedLanguageTest
    RuntimeInvisibleAnnotations: 
      com.oracle.truffle.api.dsl.GenerateUncached()
      com.oracle.truffle.api.dsl.Introspectable()