public abstract class com.fasterxml.classmate.util.ResolvedTypeCache implements java.io.Serializable
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: com.fasterxml.classmate.util.ResolvedTypeCache
  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 // com.fasterxml.classmate.util.ResolvedTypeCache this
         0: .line 16
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // com.fasterxml.classmate.util.ResolvedTypeCache this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/fasterxml/classmate/util/ResolvedTypeCache;

  public static com.fasterxml.classmate.util.ResolvedTypeCache lruCache(int);
    descriptor: (I)Lcom/fasterxml/classmate/util/ResolvedTypeCache;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // int maxEntries
         0: .line 22
            new com.fasterxml.classmate.util.LRUTypeCache
            dup
            iload 0 /* maxEntries */
            invokespecial com.fasterxml.classmate.util.LRUTypeCache.<init>:(I)V
            areturn
        end local 0 // int maxEntries
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0  maxEntries  I
    MethodParameters:
            Name  Flags
      maxEntries  

  public static com.fasterxml.classmate.util.ResolvedTypeCache concurrentCache(int);
    descriptor: (I)Lcom/fasterxml/classmate/util/ResolvedTypeCache;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // int maxEntries
         0: .line 29
            new com.fasterxml.classmate.util.ConcurrentTypeCache
            dup
            iload 0 /* maxEntries */
            invokespecial com.fasterxml.classmate.util.ConcurrentTypeCache.<init>:(I)V
            areturn
        end local 0 // int maxEntries
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0  maxEntries  I
    MethodParameters:
            Name  Flags
      maxEntries  

  public com.fasterxml.classmate.util.ResolvedTypeKey key(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Lcom/fasterxml/classmate/util/ResolvedTypeKey;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.fasterxml.classmate.util.ResolvedTypeCache this
        start local 1 // java.lang.Class simpleType
         0: .line 36
            new com.fasterxml.classmate.util.ResolvedTypeKey
            dup
            aload 1 /* simpleType */
            invokespecial com.fasterxml.classmate.util.ResolvedTypeKey.<init>:(Ljava/lang/Class;)V
            areturn
        end local 1 // java.lang.Class simpleType
        end local 0 // com.fasterxml.classmate.util.ResolvedTypeCache this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lcom/fasterxml/classmate/util/ResolvedTypeCache;
            0    1     1  simpleType  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;)Lcom/fasterxml/classmate/util/ResolvedTypeKey;
    MethodParameters:
            Name  Flags
      simpleType  

  public com.fasterxml.classmate.util.ResolvedTypeKey key(java.lang.Class<?>, com.fasterxml.classmate.ResolvedType[]);
    descriptor: (Ljava/lang/Class;[Lcom/fasterxml/classmate/ResolvedType;)Lcom/fasterxml/classmate/util/ResolvedTypeKey;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // com.fasterxml.classmate.util.ResolvedTypeCache this
        start local 1 // java.lang.Class simpleType
        start local 2 // com.fasterxml.classmate.ResolvedType[] tp
         0: .line 43
            aload 2 /* tp */
            ifnonnull 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 2 /* tp */
            arraylength
      StackMap locals:
      StackMap stack: int
         2: istore 3 /* len */
        start local 3 // int len
         3: .line 44
            iload 3 /* len */
            ifne 5
         4: .line 45
            new com.fasterxml.classmate.util.ResolvedTypeKey
            dup
            aload 1 /* simpleType */
            invokespecial com.fasterxml.classmate.util.ResolvedTypeKey.<init>:(Ljava/lang/Class;)V
            areturn
         5: .line 49
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         6: goto 10
         7: .line 50
      StackMap locals: int
      StackMap stack:
            aload 2 /* tp */
            iload 4 /* i */
            aaload
            instanceof com.fasterxml.classmate.types.TypePlaceHolder
            ifeq 9
         8: .line 51
            aconst_null
            areturn
         9: .line 49
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 4 /* i */
            iload 3 /* len */
            if_icmplt 7
        end local 4 // int i
        11: .line 54
            new com.fasterxml.classmate.util.ResolvedTypeKey
            dup
            aload 1 /* simpleType */
            aload 2 /* tp */
            invokespecial com.fasterxml.classmate.util.ResolvedTypeKey.<init>:(Ljava/lang/Class;[Lcom/fasterxml/classmate/ResolvedType;)V
            areturn
        end local 3 // int len
        end local 2 // com.fasterxml.classmate.ResolvedType[] tp
        end local 1 // java.lang.Class simpleType
        end local 0 // com.fasterxml.classmate.util.ResolvedTypeCache this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   12     0        this  Lcom/fasterxml/classmate/util/ResolvedTypeCache;
            0   12     1  simpleType  Ljava/lang/Class<*>;
            0   12     2          tp  [Lcom/fasterxml/classmate/ResolvedType;
            3   12     3         len  I
            6   11     4           i  I
    Signature: (Ljava/lang/Class<*>;[Lcom/fasterxml/classmate/ResolvedType;)Lcom/fasterxml/classmate/util/ResolvedTypeKey;
    MethodParameters:
            Name  Flags
      simpleType  
      tp          

  public abstract com.fasterxml.classmate.ResolvedType find(com.fasterxml.classmate.util.ResolvedTypeKey);
    descriptor: (Lcom/fasterxml/classmate/util/ResolvedTypeKey;)Lcom/fasterxml/classmate/ResolvedType;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      key   

  public abstract int size();
    descriptor: ()I
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract void put(com.fasterxml.classmate.util.ResolvedTypeKey, com.fasterxml.classmate.ResolvedType);
    descriptor: (Lcom/fasterxml/classmate/util/ResolvedTypeKey;Lcom/fasterxml/classmate/ResolvedType;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      key   
      type  

  protected void _addForTest(com.fasterxml.classmate.ResolvedType);
    descriptor: (Lcom/fasterxml/classmate/ResolvedType;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // com.fasterxml.classmate.util.ResolvedTypeCache this
        start local 1 // com.fasterxml.classmate.ResolvedType type
         0: .line 70
            aload 1 /* type */
            invokevirtual com.fasterxml.classmate.ResolvedType.getTypeParameters:()Ljava/util/List;
            astore 2 /* tp */
        start local 2 // java.util.List tp
         1: .line 71
            aload 2 /* tp */
            iconst_0
            anewarray com.fasterxml.classmate.ResolvedType
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast com.fasterxml.classmate.ResolvedType[]
            astore 3 /* tpa */
        start local 3 // com.fasterxml.classmate.ResolvedType[] tpa
         2: .line 72
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* type */
            invokevirtual com.fasterxml.classmate.ResolvedType.getErasedType:()Ljava/lang/Class;
            aload 3 /* tpa */
            invokevirtual com.fasterxml.classmate.util.ResolvedTypeCache.key:(Ljava/lang/Class;[Lcom/fasterxml/classmate/ResolvedType;)Lcom/fasterxml/classmate/util/ResolvedTypeKey;
            aload 1 /* type */
            invokevirtual com.fasterxml.classmate.util.ResolvedTypeCache.put:(Lcom/fasterxml/classmate/util/ResolvedTypeKey;Lcom/fasterxml/classmate/ResolvedType;)V
         3: .line 73
            return
        end local 3 // com.fasterxml.classmate.ResolvedType[] tpa
        end local 2 // java.util.List tp
        end local 1 // com.fasterxml.classmate.ResolvedType type
        end local 0 // com.fasterxml.classmate.util.ResolvedTypeCache this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/fasterxml/classmate/util/ResolvedTypeCache;
            0    4     1  type  Lcom/fasterxml/classmate/ResolvedType;
            1    4     2    tp  Ljava/util/List<Lcom/fasterxml/classmate/ResolvedType;>;
            2    4     3   tpa  [Lcom/fasterxml/classmate/ResolvedType;
    MethodParameters:
      Name  Flags
      type  
}
SourceFile: "ResolvedTypeCache.java"