public class org.springframework.beans.factory.annotation.CustomAutowireConfigurer implements org.springframework.beans.factory.config.BeanFactoryPostProcessor, org.springframework.beans.factory.BeanClassLoaderAware, org.springframework.core.Ordered
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.springframework.beans.factory.annotation.CustomAutowireConfigurer
  super_class: java.lang.Object
{
  private int order;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private java.util.Set<?> customQualifierTypes;
    descriptor: Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Set<*>;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  private java.lang.ClassLoader beanClassLoader;
    descriptor: Ljava/lang/ClassLoader;
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.springframework.beans.factory.annotation.CustomAutowireConfigurer this
         0: .line 50
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 52
            aload 0 /* this */
            ldc 2147483647
            putfield org.springframework.beans.factory.annotation.CustomAutowireConfigurer.order:I
         2: .line 58
            aload 0 /* this */
            invokestatic org.springframework.util.ClassUtils.getDefaultClassLoader:()Ljava/lang/ClassLoader;
            putfield org.springframework.beans.factory.annotation.CustomAutowireConfigurer.beanClassLoader:Ljava/lang/ClassLoader;
         3: .line 50
            return
        end local 0 // org.springframework.beans.factory.annotation.CustomAutowireConfigurer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/springframework/beans/factory/annotation/CustomAutowireConfigurer;

  public void setOrder(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.beans.factory.annotation.CustomAutowireConfigurer this
        start local 1 // int order
         0: .line 62
            aload 0 /* this */
            iload 1 /* order */
            putfield org.springframework.beans.factory.annotation.CustomAutowireConfigurer.order:I
         1: .line 63
            return
        end local 1 // int order
        end local 0 // org.springframework.beans.factory.annotation.CustomAutowireConfigurer this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/springframework/beans/factory/annotation/CustomAutowireConfigurer;
            0    2     1  order  I
    MethodParameters:
       Name  Flags
      order  

  public int getOrder();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.beans.factory.annotation.CustomAutowireConfigurer this
         0: .line 67
            aload 0 /* this */
            getfield org.springframework.beans.factory.annotation.CustomAutowireConfigurer.order:I
            ireturn
        end local 0 // org.springframework.beans.factory.annotation.CustomAutowireConfigurer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/beans/factory/annotation/CustomAutowireConfigurer;

  public void setBeanClassLoader(java.lang.ClassLoader);
    descriptor: (Ljava/lang/ClassLoader;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.beans.factory.annotation.CustomAutowireConfigurer this
        start local 1 // java.lang.ClassLoader beanClassLoader
         0: .line 72
            aload 0 /* this */
            aload 1 /* beanClassLoader */
            putfield org.springframework.beans.factory.annotation.CustomAutowireConfigurer.beanClassLoader:Ljava/lang/ClassLoader;
         1: .line 73
            return
        end local 1 // java.lang.ClassLoader beanClassLoader
        end local 0 // org.springframework.beans.factory.annotation.CustomAutowireConfigurer this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0             this  Lorg/springframework/beans/factory/annotation/CustomAutowireConfigurer;
            0    2     1  beanClassLoader  Ljava/lang/ClassLoader;
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
    MethodParameters:
                 Name  Flags
      beanClassLoader  

  public void setCustomQualifierTypes(java.util.Set<?>);
    descriptor: (Ljava/util/Set;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.beans.factory.annotation.CustomAutowireConfigurer this
        start local 1 // java.util.Set customQualifierTypes
         0: .line 86
            aload 0 /* this */
            aload 1 /* customQualifierTypes */
            putfield org.springframework.beans.factory.annotation.CustomAutowireConfigurer.customQualifierTypes:Ljava/util/Set;
         1: .line 87
            return
        end local 1 // java.util.Set customQualifierTypes
        end local 0 // org.springframework.beans.factory.annotation.CustomAutowireConfigurer this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    2     0                  this  Lorg/springframework/beans/factory/annotation/CustomAutowireConfigurer;
            0    2     1  customQualifierTypes  Ljava/util/Set<*>;
    Signature: (Ljava/util/Set<*>;)V
    MethodParameters:
                      Name  Flags
      customQualifierTypes  

  public void postProcessBeanFactory(org.springframework.beans.factory.config.ConfigurableListableBeanFactory);
    descriptor: (Lorg/springframework/beans/factory/config/ConfigurableListableBeanFactory;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=2
        start local 0 // org.springframework.beans.factory.annotation.CustomAutowireConfigurer this
        start local 1 // org.springframework.beans.factory.config.ConfigurableListableBeanFactory beanFactory
         0: .line 93
            aload 0 /* this */
            getfield org.springframework.beans.factory.annotation.CustomAutowireConfigurer.customQualifierTypes:Ljava/util/Set;
            ifnull 29
         1: .line 94
            aload 1 /* beanFactory */
            instanceof org.springframework.beans.factory.support.DefaultListableBeanFactory
            ifne 5
         2: .line 95
            new java.lang.IllegalStateException
            dup
         3: .line 96
            ldc "CustomAutowireConfigurer needs to operate on a DefaultListableBeanFactory"
         4: .line 95
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 98
      StackMap locals:
      StackMap stack:
            aload 1 /* beanFactory */
            checkcast org.springframework.beans.factory.support.DefaultListableBeanFactory
            astore 2 /* dlbf */
        start local 2 // org.springframework.beans.factory.support.DefaultListableBeanFactory dlbf
         6: .line 99
            aload 2 /* dlbf */
            invokevirtual org.springframework.beans.factory.support.DefaultListableBeanFactory.getAutowireCandidateResolver:()Lorg/springframework/beans/factory/support/AutowireCandidateResolver;
            instanceof org.springframework.beans.factory.annotation.QualifierAnnotationAutowireCandidateResolver
            ifne 8
         7: .line 100
            aload 2 /* dlbf */
            new org.springframework.beans.factory.annotation.QualifierAnnotationAutowireCandidateResolver
            dup
            invokespecial org.springframework.beans.factory.annotation.QualifierAnnotationAutowireCandidateResolver.<init>:()V
            invokevirtual org.springframework.beans.factory.support.DefaultListableBeanFactory.setAutowireCandidateResolver:(Lorg/springframework/beans/factory/support/AutowireCandidateResolver;)V
         8: .line 103
      StackMap locals: org.springframework.beans.factory.support.DefaultListableBeanFactory
      StackMap stack:
            aload 2 /* dlbf */
            invokevirtual org.springframework.beans.factory.support.DefaultListableBeanFactory.getAutowireCandidateResolver:()Lorg/springframework/beans/factory/support/AutowireCandidateResolver;
            checkcast org.springframework.beans.factory.annotation.QualifierAnnotationAutowireCandidateResolver
         9: .line 102
            astore 3 /* resolver */
        start local 3 // org.springframework.beans.factory.annotation.QualifierAnnotationAutowireCandidateResolver resolver
        10: .line 104
            aload 0 /* this */
            getfield org.springframework.beans.factory.annotation.CustomAutowireConfigurer.customQualifierTypes:Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 28
      StackMap locals: org.springframework.beans.factory.annotation.CustomAutowireConfigurer org.springframework.beans.factory.config.ConfigurableListableBeanFactory org.springframework.beans.factory.support.DefaultListableBeanFactory org.springframework.beans.factory.annotation.QualifierAnnotationAutowireCandidateResolver top java.util.Iterator
      StackMap stack:
        11: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 4 /* value */
        start local 4 // java.lang.Object value
        12: .line 105
            aconst_null
            astore 6 /* customType */
        start local 6 // java.lang.Class customType
        13: .line 106
            aload 4 /* value */
            instanceof java.lang.Class
            ifeq 16
        14: .line 107
            aload 4 /* value */
            checkcast java.lang.Class
            astore 6 /* customType */
        15: .line 108
            goto 23
        16: .line 109
      StackMap locals: org.springframework.beans.factory.annotation.CustomAutowireConfigurer org.springframework.beans.factory.config.ConfigurableListableBeanFactory org.springframework.beans.factory.support.DefaultListableBeanFactory org.springframework.beans.factory.annotation.QualifierAnnotationAutowireCandidateResolver java.lang.Object java.util.Iterator java.lang.Class
      StackMap stack:
            aload 4 /* value */
            instanceof java.lang.String
            ifeq 20
        17: .line 110
            aload 4 /* value */
            checkcast java.lang.String
            astore 7 /* className */
        start local 7 // java.lang.String className
        18: .line 111
            aload 7 /* className */
            aload 0 /* this */
            getfield org.springframework.beans.factory.annotation.CustomAutowireConfigurer.beanClassLoader:Ljava/lang/ClassLoader;
            invokestatic org.springframework.util.ClassUtils.resolveClassName:(Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/lang/Class;
            astore 6 /* customType */
        end local 7 // java.lang.String className
        19: .line 112
            goto 23
        20: .line 114
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
        21: .line 115
            new java.lang.StringBuilder
            dup
            ldc "Invalid value ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* value */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "] for custom qualifier type: needs to be Class or String."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        22: .line 114
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        23: .line 117
      StackMap locals:
      StackMap stack:
            ldc Ljava/lang/annotation/Annotation;
            aload 6 /* customType */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifne 27
        24: .line 118
            new java.lang.IllegalArgumentException
            dup
        25: .line 119
            new java.lang.StringBuilder
            dup
            ldc "Qualifier type ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* customType */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "] needs to be annotation type"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        26: .line 118
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        27: .line 121
      StackMap locals:
      StackMap stack:
            aload 3 /* resolver */
            aload 6 /* customType */
            invokevirtual org.springframework.beans.factory.annotation.QualifierAnnotationAutowireCandidateResolver.addQualifierType:(Ljava/lang/Class;)V
        end local 6 // java.lang.Class customType
        end local 4 // java.lang.Object value
        28: .line 104
      StackMap locals: org.springframework.beans.factory.annotation.CustomAutowireConfigurer org.springframework.beans.factory.config.ConfigurableListableBeanFactory org.springframework.beans.factory.support.DefaultListableBeanFactory org.springframework.beans.factory.annotation.QualifierAnnotationAutowireCandidateResolver top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 11
        end local 3 // org.springframework.beans.factory.annotation.QualifierAnnotationAutowireCandidateResolver resolver
        end local 2 // org.springframework.beans.factory.support.DefaultListableBeanFactory dlbf
        29: .line 124
      StackMap locals: org.springframework.beans.factory.annotation.CustomAutowireConfigurer org.springframework.beans.factory.config.ConfigurableListableBeanFactory
      StackMap stack:
            return
        end local 1 // org.springframework.beans.factory.config.ConfigurableListableBeanFactory beanFactory
        end local 0 // org.springframework.beans.factory.annotation.CustomAutowireConfigurer this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   30     0         this  Lorg/springframework/beans/factory/annotation/CustomAutowireConfigurer;
            0   30     1  beanFactory  Lorg/springframework/beans/factory/config/ConfigurableListableBeanFactory;
            6   29     2         dlbf  Lorg/springframework/beans/factory/support/DefaultListableBeanFactory;
           10   29     3     resolver  Lorg/springframework/beans/factory/annotation/QualifierAnnotationAutowireCandidateResolver;
           12   28     4        value  Ljava/lang/Object;
           13   28     6   customType  Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
           18   19     7    className  Ljava/lang/String;
    Exceptions:
      throws org.springframework.beans.BeansException
    MethodParameters:
             Name  Flags
      beanFactory  
}
SourceFile: "CustomAutowireConfigurer.java"