final class com.oracle.truffle.polyglot.PolyglotList$Cache
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: com.oracle.truffle.polyglot.PolyglotList$Cache
  super_class: java.lang.Object
{
  final java.lang.Class<?> receiverClass;
    descriptor: Ljava/lang/Class;
    flags: (0x0010) ACC_FINAL
    Signature: Ljava/lang/Class<*>;

  final java.lang.Class<?> valueClass;
    descriptor: Ljava/lang/Class;
    flags: (0x0010) ACC_FINAL
    Signature: Ljava/lang/Class<*>;

  final java.lang.reflect.Type valueType;
    descriptor: Ljava/lang/reflect/Type;
    flags: (0x0010) ACC_FINAL

  final com.oracle.truffle.api.CallTarget get;
    descriptor: Lcom/oracle/truffle/api/CallTarget;
    flags: (0x0010) ACC_FINAL

  final com.oracle.truffle.api.CallTarget set;
    descriptor: Lcom/oracle/truffle/api/CallTarget;
    flags: (0x0010) ACC_FINAL

  final com.oracle.truffle.api.CallTarget remove;
    descriptor: Lcom/oracle/truffle/api/CallTarget;
    flags: (0x0010) ACC_FINAL

  final com.oracle.truffle.api.CallTarget size;
    descriptor: Lcom/oracle/truffle/api/CallTarget;
    flags: (0x0010) ACC_FINAL

  final com.oracle.truffle.api.CallTarget apply;
    descriptor: Lcom/oracle/truffle/api/CallTarget;
    flags: (0x0010) ACC_FINAL

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 145
            ldc Lcom/oracle/truffle/polyglot/PolyglotList;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic com.oracle.truffle.polyglot.PolyglotList$Cache.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(java.lang.Class<?>, java.lang.Class<?>, java.lang.reflect.Type);
    descriptor: (Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/reflect/Type;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.oracle.truffle.polyglot.PolyglotList$Cache this
         0: .line 59
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tThe import com.oracle.truffle.polyglot.PolyglotListFactory cannot be resolved\n\tThe import com.oracle.truffle.polyglot.PolyglotListFactory cannot be resolved\n\tThe import com.oracle.truffle.polyglot.PolyglotListFactory cannot be resolved\n\tThe import com.oracle.truffle.polyglot.PolyglotListFactory cannot be resolved\n\tGetNodeGen cannot be resolved\n\tSizeNodeGen cannot be resolved\n\tSetNodeGen cannot be resolved\n\tRemoveNodeGen cannot be resolved\n\tPolyglotExecuteNodeGen cannot be resolved\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.oracle.truffle.polyglot.PolyglotList$Cache this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/polyglot/PolyglotList$Cache;
    Signature: (Ljava/lang/Class<*>;Ljava/lang/Class<*>;Ljava/lang/reflect/Type;)V
    MethodParameters:
               Name  Flags
      receiverClass  
      valueClass     
      valueType      

  private static com.oracle.truffle.api.CallTarget initializeCall(com.oracle.truffle.polyglot.PolyglotList$Cache$PolyglotListNode);
    descriptor: (Lcom/oracle/truffle/polyglot/PolyglotList$Cache$PolyglotListNode;)Lcom/oracle/truffle/api/CallTarget;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.polyglot.PolyglotList$Cache$PolyglotListNode node
         0: .line 169
            aload 0 /* node */
            invokestatic com.oracle.truffle.polyglot.HostToGuestRootNode.createTarget:(Lcom/oracle/truffle/polyglot/HostToGuestRootNode;)Lcom/oracle/truffle/api/CallTarget;
            areturn
        end local 0 // com.oracle.truffle.polyglot.PolyglotList$Cache$PolyglotListNode node
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  node  Lcom/oracle/truffle/polyglot/PolyglotList$Cache$PolyglotListNode;
    MethodParameters:
      Name  Flags
      node  

  static com.oracle.truffle.polyglot.PolyglotList$Cache lookup(com.oracle.truffle.polyglot.PolyglotLanguageContext, java.lang.Class<?>, java.lang.Class<?>, java.lang.reflect.Type);
    descriptor: (Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/reflect/Type;)Lcom/oracle/truffle/polyglot/PolyglotList$Cache;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=7, locals=6, args_size=4
        start local 0 // com.oracle.truffle.polyglot.PolyglotLanguageContext languageContext
        start local 1 // java.lang.Class receiverClass
        start local 2 // java.lang.Class valueClass
        start local 3 // java.lang.reflect.Type valueType
         0: .line 173
            new com.oracle.truffle.polyglot.PolyglotList$Cache$Key
            dup
            aload 1 /* receiverClass */
            aload 2 /* valueClass */
            aload 3 /* valueType */
            invokespecial com.oracle.truffle.polyglot.PolyglotList$Cache$Key.<init>:(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/reflect/Type;)V
            astore 4 /* cacheKey */
        start local 4 // com.oracle.truffle.polyglot.PolyglotList$Cache$Key cacheKey
         1: .line 174
            aload 0 /* languageContext */
            aload 4 /* cacheKey */
            ldc Lcom/oracle/truffle/polyglot/PolyglotList$Cache;
            invokestatic com.oracle.truffle.polyglot.HostToGuestRootNode.lookupHostCodeCache:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
            checkcast com.oracle.truffle.polyglot.PolyglotList$Cache
            astore 5 /* cache */
        start local 5 // com.oracle.truffle.polyglot.PolyglotList$Cache cache
         2: .line 175
            aload 5 /* cache */
            ifnonnull 4
         3: .line 176
            aload 0 /* languageContext */
            aload 4 /* cacheKey */
            new com.oracle.truffle.polyglot.PolyglotList$Cache
            dup
            aload 1 /* receiverClass */
            aload 2 /* valueClass */
            aload 3 /* valueType */
            invokespecial com.oracle.truffle.polyglot.PolyglotList$Cache.<init>:(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/reflect/Type;)V
            ldc Lcom/oracle/truffle/polyglot/PolyglotList$Cache;
            invokestatic com.oracle.truffle.polyglot.HostToGuestRootNode.installHostCodeCache:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
            checkcast com.oracle.truffle.polyglot.PolyglotList$Cache
            astore 5 /* cache */
         4: .line 178
      StackMap locals: com.oracle.truffle.polyglot.PolyglotList$Cache$Key com.oracle.truffle.polyglot.PolyglotList$Cache
      StackMap stack:
            getstatic com.oracle.truffle.polyglot.PolyglotList$Cache.$assertionsDisabled:Z
            ifne 5
            aload 5 /* cache */
            getfield com.oracle.truffle.polyglot.PolyglotList$Cache.receiverClass:Ljava/lang/Class;
            aload 1 /* receiverClass */
            if_acmpeq 5
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         5: .line 179
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.polyglot.PolyglotList$Cache.$assertionsDisabled:Z
            ifne 6
            aload 5 /* cache */
            getfield com.oracle.truffle.polyglot.PolyglotList$Cache.valueClass:Ljava/lang/Class;
            aload 2 /* valueClass */
            if_acmpeq 6
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         6: .line 180
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.polyglot.PolyglotList$Cache.$assertionsDisabled:Z
            ifne 7
            aload 5 /* cache */
            getfield com.oracle.truffle.polyglot.PolyglotList$Cache.valueType:Ljava/lang/reflect/Type;
            aload 3 /* valueType */
            if_acmpeq 7
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         7: .line 181
      StackMap locals:
      StackMap stack:
            aload 5 /* cache */
            areturn
        end local 5 // com.oracle.truffle.polyglot.PolyglotList$Cache cache
        end local 4 // com.oracle.truffle.polyglot.PolyglotList$Cache$Key cacheKey
        end local 3 // java.lang.reflect.Type valueType
        end local 2 // java.lang.Class valueClass
        end local 1 // java.lang.Class receiverClass
        end local 0 // com.oracle.truffle.polyglot.PolyglotLanguageContext languageContext
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    8     0  languageContext  Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            0    8     1    receiverClass  Ljava/lang/Class<*>;
            0    8     2       valueClass  Ljava/lang/Class<*>;
            0    8     3        valueType  Ljava/lang/reflect/Type;
            1    8     4         cacheKey  Lcom/oracle/truffle/polyglot/PolyglotList$Cache$Key;
            2    8     5            cache  Lcom/oracle/truffle/polyglot/PolyglotList$Cache;
    Signature: (Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Class<*>;Ljava/lang/Class<*>;Ljava/lang/reflect/Type;)Lcom/oracle/truffle/polyglot/PolyglotList$Cache;
    MethodParameters:
                 Name  Flags
      languageContext  
      receiverClass    
      valueClass       
      valueType        
}
SourceFile: "PolyglotList.java"
NestHost: com.oracle.truffle.polyglot.PolyglotList
InnerClasses:
  final Cache = com.oracle.truffle.polyglot.PolyglotList$Cache of com.oracle.truffle.polyglot.PolyglotList
  private Apply = com.oracle.truffle.polyglot.PolyglotList$Cache$Apply of com.oracle.truffle.polyglot.PolyglotList$Cache
  abstract GetNode = com.oracle.truffle.polyglot.PolyglotList$Cache$GetNode of com.oracle.truffle.polyglot.PolyglotList$Cache
  private final Key = com.oracle.truffle.polyglot.PolyglotList$Cache$Key of com.oracle.truffle.polyglot.PolyglotList$Cache
  abstract PolyglotListNode = com.oracle.truffle.polyglot.PolyglotList$Cache$PolyglotListNode of com.oracle.truffle.polyglot.PolyglotList$Cache
  abstract RemoveNode = com.oracle.truffle.polyglot.PolyglotList$Cache$RemoveNode of com.oracle.truffle.polyglot.PolyglotList$Cache
  abstract SetNode = com.oracle.truffle.polyglot.PolyglotList$Cache$SetNode of com.oracle.truffle.polyglot.PolyglotList$Cache
  abstract SizeNode = com.oracle.truffle.polyglot.PolyglotList$Cache$SizeNode of com.oracle.truffle.polyglot.PolyglotList$Cache