class org.springframework.core.ResolvableType$WildcardBounds
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.springframework.core.ResolvableType$WildcardBounds
  super_class: java.lang.Object
{
  private final org.springframework.core.ResolvableType$WildcardBounds$Kind kind;
    descriptor: Lorg/springframework/core/ResolvableType$WildcardBounds$Kind;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.springframework.core.ResolvableType[] bounds;
    descriptor: [Lorg/springframework/core/ResolvableType;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>(org.springframework.core.ResolvableType$WildcardBounds$Kind, org.springframework.core.ResolvableType[]);
    descriptor: (Lorg/springframework/core/ResolvableType$WildcardBounds$Kind;[Lorg/springframework/core/ResolvableType;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.springframework.core.ResolvableType$WildcardBounds this
        start local 1 // org.springframework.core.ResolvableType$WildcardBounds$Kind kind
        start local 2 // org.springframework.core.ResolvableType[] bounds
         0: .line 1588
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 1589
            aload 0 /* this */
            aload 1 /* kind */
            putfield org.springframework.core.ResolvableType$WildcardBounds.kind:Lorg/springframework/core/ResolvableType$WildcardBounds$Kind;
         2: .line 1590
            aload 0 /* this */
            aload 2 /* bounds */
            putfield org.springframework.core.ResolvableType$WildcardBounds.bounds:[Lorg/springframework/core/ResolvableType;
         3: .line 1591
            return
        end local 2 // org.springframework.core.ResolvableType[] bounds
        end local 1 // org.springframework.core.ResolvableType$WildcardBounds$Kind kind
        end local 0 // org.springframework.core.ResolvableType$WildcardBounds this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lorg/springframework/core/ResolvableType$WildcardBounds;
            0    4     1    kind  Lorg/springframework/core/ResolvableType$WildcardBounds$Kind;
            0    4     2  bounds  [Lorg/springframework/core/ResolvableType;
    MethodParameters:
        Name  Flags
      kind    
      bounds  

  public boolean isSameKind(org.springframework.core.ResolvableType$WildcardBounds);
    descriptor: (Lorg/springframework/core/ResolvableType$WildcardBounds;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.core.ResolvableType$WildcardBounds this
        start local 1 // org.springframework.core.ResolvableType$WildcardBounds bounds
         0: .line 1597
            aload 0 /* this */
            getfield org.springframework.core.ResolvableType$WildcardBounds.kind:Lorg/springframework/core/ResolvableType$WildcardBounds$Kind;
            aload 1 /* bounds */
            getfield org.springframework.core.ResolvableType$WildcardBounds.kind:Lorg/springframework/core/ResolvableType$WildcardBounds$Kind;
            if_acmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // org.springframework.core.ResolvableType$WildcardBounds bounds
        end local 0 // org.springframework.core.ResolvableType$WildcardBounds this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/springframework/core/ResolvableType$WildcardBounds;
            0    2     1  bounds  Lorg/springframework/core/ResolvableType$WildcardBounds;
    MethodParameters:
        Name  Flags
      bounds  

  public boolean isAssignableFrom(org.springframework.core.ResolvableType[]);
    descriptor: ([Lorg/springframework/core/ResolvableType;)Z
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=3, locals=10, args_size=2
        start local 0 // org.springframework.core.ResolvableType$WildcardBounds this
        start local 1 // org.springframework.core.ResolvableType[] types
         0: .line 1606
            aload 0 /* this */
            getfield org.springframework.core.ResolvableType$WildcardBounds.bounds:[Lorg/springframework/core/ResolvableType;
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 9
      StackMap locals: org.springframework.core.ResolvableType$WildcardBounds org.springframework.core.ResolvableType[] top int int org.springframework.core.ResolvableType[]
      StackMap stack:
         1: aload 5
            iload 3
            aaload
            astore 2 /* bound */
        start local 2 // org.springframework.core.ResolvableType bound
         2: .line 1607
            aload 1 /* types */
            dup
            astore 9
            arraylength
            istore 8
            iconst_0
            istore 7
            goto 7
      StackMap locals: org.springframework.core.ResolvableType$WildcardBounds org.springframework.core.ResolvableType[] org.springframework.core.ResolvableType int int org.springframework.core.ResolvableType[] top int int org.springframework.core.ResolvableType[]
      StackMap stack:
         3: aload 9
            iload 7
            aaload
            astore 6 /* type */
        start local 6 // org.springframework.core.ResolvableType type
         4: .line 1608
            aload 0 /* this */
            aload 2 /* bound */
            aload 6 /* type */
            invokevirtual org.springframework.core.ResolvableType$WildcardBounds.isAssignable:(Lorg/springframework/core/ResolvableType;Lorg/springframework/core/ResolvableType;)Z
            ifne 6
         5: .line 1609
            iconst_0
            ireturn
        end local 6 // org.springframework.core.ResolvableType type
         6: .line 1607
      StackMap locals:
      StackMap stack:
            iinc 7 1
      StackMap locals:
      StackMap stack:
         7: iload 7
            iload 8
            if_icmplt 3
        end local 2 // org.springframework.core.ResolvableType bound
         8: .line 1606
            iinc 3 1
      StackMap locals: org.springframework.core.ResolvableType$WildcardBounds org.springframework.core.ResolvableType[] top int int org.springframework.core.ResolvableType[]
      StackMap stack:
         9: iload 3
            iload 4
            if_icmplt 1
        10: .line 1613
            iconst_1
            ireturn
        end local 1 // org.springframework.core.ResolvableType[] types
        end local 0 // org.springframework.core.ResolvableType$WildcardBounds this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   11     0   this  Lorg/springframework/core/ResolvableType$WildcardBounds;
            0   11     1  types  [Lorg/springframework/core/ResolvableType;
            2    8     2  bound  Lorg/springframework/core/ResolvableType;
            4    6     6   type  Lorg/springframework/core/ResolvableType;
    MethodParameters:
       Name  Flags
      types  

  private boolean isAssignable(org.springframework.core.ResolvableType, org.springframework.core.ResolvableType);
    descriptor: (Lorg/springframework/core/ResolvableType;Lorg/springframework/core/ResolvableType;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.springframework.core.ResolvableType$WildcardBounds this
        start local 1 // org.springframework.core.ResolvableType source
        start local 2 // org.springframework.core.ResolvableType from
         0: .line 1617
            aload 0 /* this */
            getfield org.springframework.core.ResolvableType$WildcardBounds.kind:Lorg/springframework/core/ResolvableType$WildcardBounds$Kind;
            getstatic org.springframework.core.ResolvableType$WildcardBounds$Kind.UPPER:Lorg/springframework/core/ResolvableType$WildcardBounds$Kind;
            if_acmpne 1
            aload 1 /* source */
            aload 2 /* from */
            invokevirtual org.springframework.core.ResolvableType.isAssignableFrom:(Lorg/springframework/core/ResolvableType;)Z
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 2 /* from */
            aload 1 /* source */
            invokevirtual org.springframework.core.ResolvableType.isAssignableFrom:(Lorg/springframework/core/ResolvableType;)Z
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 2 // org.springframework.core.ResolvableType from
        end local 1 // org.springframework.core.ResolvableType source
        end local 0 // org.springframework.core.ResolvableType$WildcardBounds this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/springframework/core/ResolvableType$WildcardBounds;
            0    3     1  source  Lorg/springframework/core/ResolvableType;
            0    3     2    from  Lorg/springframework/core/ResolvableType;
    MethodParameters:
        Name  Flags
      source  
      from    

  public org.springframework.core.ResolvableType[] getBounds();
    descriptor: ()[Lorg/springframework/core/ResolvableType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.core.ResolvableType$WildcardBounds this
         0: .line 1624
            aload 0 /* this */
            getfield org.springframework.core.ResolvableType$WildcardBounds.bounds:[Lorg/springframework/core/ResolvableType;
            areturn
        end local 0 // org.springframework.core.ResolvableType$WildcardBounds this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/core/ResolvableType$WildcardBounds;

  public static org.springframework.core.ResolvableType$WildcardBounds get(org.springframework.core.ResolvableType);
    descriptor: (Lorg/springframework/core/ResolvableType;)Lorg/springframework/core/ResolvableType$WildcardBounds;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=7, args_size=1
        start local 0 // org.springframework.core.ResolvableType type
         0: .line 1635
            aload 0 /* type */
            astore 1 /* resolveToWildcard */
        start local 1 // org.springframework.core.ResolvableType resolveToWildcard
         1: .line 1636
            goto 5
         2: .line 1637
      StackMap locals: org.springframework.core.ResolvableType
      StackMap stack:
            aload 1 /* resolveToWildcard */
            getstatic org.springframework.core.ResolvableType.NONE:Lorg/springframework/core/ResolvableType;
            if_acmpne 4
         3: .line 1638
            aconst_null
            areturn
         4: .line 1640
      StackMap locals:
      StackMap stack:
            aload 1 /* resolveToWildcard */
            invokevirtual org.springframework.core.ResolvableType.resolveType:()Lorg/springframework/core/ResolvableType;
            astore 1 /* resolveToWildcard */
         5: .line 1636
      StackMap locals:
      StackMap stack:
            aload 1 /* resolveToWildcard */
            invokevirtual org.springframework.core.ResolvableType.getType:()Ljava/lang/reflect/Type;
            instanceof java.lang.reflect.WildcardType
            ifeq 2
         6: .line 1642
            aload 1 /* resolveToWildcard */
            getfield org.springframework.core.ResolvableType.type:Ljava/lang/reflect/Type;
            checkcast java.lang.reflect.WildcardType
            astore 2 /* wildcardType */
        start local 2 // java.lang.reflect.WildcardType wildcardType
         7: .line 1643
            aload 2 /* wildcardType */
            invokeinterface java.lang.reflect.WildcardType.getLowerBounds:()[Ljava/lang/reflect/Type;
            arraylength
            ifle 8
            getstatic org.springframework.core.ResolvableType$WildcardBounds$Kind.LOWER:Lorg/springframework/core/ResolvableType$WildcardBounds$Kind;
            goto 9
      StackMap locals: java.lang.reflect.WildcardType
      StackMap stack:
         8: getstatic org.springframework.core.ResolvableType$WildcardBounds$Kind.UPPER:Lorg/springframework/core/ResolvableType$WildcardBounds$Kind;
      StackMap locals:
      StackMap stack: org.springframework.core.ResolvableType$WildcardBounds$Kind
         9: astore 3 /* boundsType */
        start local 3 // org.springframework.core.ResolvableType$WildcardBounds$Kind boundsType
        10: .line 1644
            aload 3 /* boundsType */
            getstatic org.springframework.core.ResolvableType$WildcardBounds$Kind.UPPER:Lorg/springframework/core/ResolvableType$WildcardBounds$Kind;
            if_acmpne 11
            aload 2 /* wildcardType */
            invokeinterface java.lang.reflect.WildcardType.getUpperBounds:()[Ljava/lang/reflect/Type;
            goto 12
      StackMap locals: org.springframework.core.ResolvableType$WildcardBounds$Kind
      StackMap stack:
        11: aload 2 /* wildcardType */
            invokeinterface java.lang.reflect.WildcardType.getLowerBounds:()[Ljava/lang/reflect/Type;
      StackMap locals:
      StackMap stack: java.lang.reflect.Type[]
        12: astore 4 /* bounds */
        start local 4 // java.lang.reflect.Type[] bounds
        13: .line 1645
            aload 4 /* bounds */
            arraylength
            anewarray org.springframework.core.ResolvableType
            astore 5 /* resolvableBounds */
        start local 5 // org.springframework.core.ResolvableType[] resolvableBounds
        14: .line 1646
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        15: goto 18
        16: .line 1647
      StackMap locals: java.lang.reflect.Type[] org.springframework.core.ResolvableType[] int
      StackMap stack:
            aload 5 /* resolvableBounds */
            iload 6 /* i */
            aload 4 /* bounds */
            iload 6 /* i */
            aaload
            aload 0 /* type */
            getfield org.springframework.core.ResolvableType.variableResolver:Lorg/springframework/core/ResolvableType$VariableResolver;
            invokestatic org.springframework.core.ResolvableType.forType:(Ljava/lang/reflect/Type;Lorg/springframework/core/ResolvableType$VariableResolver;)Lorg/springframework/core/ResolvableType;
            aastore
        17: .line 1646
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        18: iload 6 /* i */
            aload 4 /* bounds */
            arraylength
            if_icmplt 16
        end local 6 // int i
        19: .line 1649
            new org.springframework.core.ResolvableType$WildcardBounds
            dup
            aload 3 /* boundsType */
            aload 5 /* resolvableBounds */
            invokespecial org.springframework.core.ResolvableType$WildcardBounds.<init>:(Lorg/springframework/core/ResolvableType$WildcardBounds$Kind;[Lorg/springframework/core/ResolvableType;)V
            areturn
        end local 5 // org.springframework.core.ResolvableType[] resolvableBounds
        end local 4 // java.lang.reflect.Type[] bounds
        end local 3 // org.springframework.core.ResolvableType$WildcardBounds$Kind boundsType
        end local 2 // java.lang.reflect.WildcardType wildcardType
        end local 1 // org.springframework.core.ResolvableType resolveToWildcard
        end local 0 // org.springframework.core.ResolvableType type
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   20     0               type  Lorg/springframework/core/ResolvableType;
            1   20     1  resolveToWildcard  Lorg/springframework/core/ResolvableType;
            7   20     2       wildcardType  Ljava/lang/reflect/WildcardType;
           10   20     3         boundsType  Lorg/springframework/core/ResolvableType$WildcardBounds$Kind;
           13   20     4             bounds  [Ljava/lang/reflect/Type;
           14   20     5   resolvableBounds  [Lorg/springframework/core/ResolvableType;
           15   19     6                  i  I
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    MethodParameters:
      Name  Flags
      type  
}
SourceFile: "ResolvableType.java"
NestHost: org.springframework.core.ResolvableType
InnerClasses:
  abstract VariableResolver = org.springframework.core.ResolvableType$VariableResolver of org.springframework.core.ResolvableType
  private WildcardBounds = org.springframework.core.ResolvableType$WildcardBounds of org.springframework.core.ResolvableType
  final Kind = org.springframework.core.ResolvableType$WildcardBounds$Kind of org.springframework.core.ResolvableType$WildcardBounds