public class org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor extends javax.annotation.processing.AbstractProcessor
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor
  super_class: javax.annotation.processing.AbstractProcessor
{
  protected static final java.lang.String PROPERTIES_PATH;
    descriptor: Ljava/lang/String;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    ConstantValue: "META-INF/spring-autoconfigure-metadata.properties"

  private final java.util.Map<java.lang.String, java.lang.String> annotations;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;

  private final java.util.Map<java.lang.String, org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor$ValueExtractor> valueExtractors;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Lorg/springframework/boot/autoconfigureprocessor/AutoConfigureAnnotationProcessor$ValueExtractor;>;

  private final java.util.Map<java.lang.String, java.lang.String> properties;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor this
         0: .line 73
            aload 0 /* this */
            invokespecial javax.annotation.processing.AbstractProcessor.<init>:()V
         1: .line 71
            aload 0 /* this */
            new java.util.TreeMap
            dup
            invokespecial java.util.TreeMap.<init>:()V
            putfield org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor.properties:Ljava/util/Map;
         2: .line 74
            new java.util.LinkedHashMap
            dup
            invokespecial java.util.LinkedHashMap.<init>:()V
            astore 1 /* annotations */
        start local 1 // java.util.Map annotations
         3: .line 75
            aload 0 /* this */
            aload 1 /* annotations */
            invokevirtual org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor.addAnnotations:(Ljava/util/Map;)V
         4: .line 76
            aload 0 /* this */
            aload 1 /* annotations */
            invokestatic java.util.Collections.unmodifiableMap:(Ljava/util/Map;)Ljava/util/Map;
            putfield org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor.annotations:Ljava/util/Map;
         5: .line 77
            new java.util.LinkedHashMap
            dup
            invokespecial java.util.LinkedHashMap.<init>:()V
            astore 2 /* valueExtractors */
        start local 2 // java.util.Map valueExtractors
         6: .line 78
            aload 0 /* this */
            aload 2 /* valueExtractors */
            invokevirtual org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor.addValueExtractors:(Ljava/util/Map;)V
         7: .line 79
            aload 0 /* this */
            aload 2 /* valueExtractors */
            invokestatic java.util.Collections.unmodifiableMap:(Ljava/util/Map;)Ljava/util/Map;
            putfield org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor.valueExtractors:Ljava/util/Map;
         8: .line 80
            return
        end local 2 // java.util.Map valueExtractors
        end local 1 // java.util.Map annotations
        end local 0 // org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    9     0             this  Lorg/springframework/boot/autoconfigureprocessor/AutoConfigureAnnotationProcessor;
            3    9     1      annotations  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            6    9     2  valueExtractors  Ljava/util/Map<Ljava/lang/String;Lorg/springframework/boot/autoconfigureprocessor/AutoConfigureAnnotationProcessor$ValueExtractor;>;

  protected void addAnnotations(java.util.Map<java.lang.String, java.lang.String>);
    descriptor: (Ljava/util/Map;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor this
        start local 1 // java.util.Map annotations
         0: .line 83
            aload 1 /* annotations */
            ldc "ConditionalOnClass"
            ldc "org.springframework.boot.autoconfigure.condition.ConditionalOnClass"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 84
            aload 1 /* annotations */
            ldc "ConditionalOnBean"
            ldc "org.springframework.boot.autoconfigure.condition.ConditionalOnBean"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 85
            aload 1 /* annotations */
            ldc "ConditionalOnSingleCandidate"
         3: .line 86
            ldc "org.springframework.boot.autoconfigure.condition.ConditionalOnSingleCandidate"
         4: .line 85
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 87
            aload 1 /* annotations */
            ldc "ConditionalOnWebApplication"
         6: .line 88
            ldc "org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication"
         7: .line 87
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         8: .line 89
            aload 1 /* annotations */
            ldc "AutoConfigureBefore"
            ldc "org.springframework.boot.autoconfigure.AutoConfigureBefore"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         9: .line 90
            aload 1 /* annotations */
            ldc "AutoConfigureAfter"
            ldc "org.springframework.boot.autoconfigure.AutoConfigureAfter"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        10: .line 91
            aload 1 /* annotations */
            ldc "AutoConfigureOrder"
            ldc "org.springframework.boot.autoconfigure.AutoConfigureOrder"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        11: .line 92
            return
        end local 1 // java.util.Map annotations
        end local 0 // org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   12     0         this  Lorg/springframework/boot/autoconfigureprocessor/AutoConfigureAnnotationProcessor;
            0   12     1  annotations  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
    Signature: (Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)V
    MethodParameters:
             Name  Flags
      annotations  

  private void addValueExtractors(java.util.Map<java.lang.String, org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor$ValueExtractor>);
    descriptor: (Ljava/util/Map;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor this
        start local 1 // java.util.Map attributes
         0: .line 95
            aload 1 /* attributes */
            ldc "ConditionalOnClass"
            new org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor$OnClassConditionValueExtractor
            dup
            invokespecial org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor$OnClassConditionValueExtractor.<init>:()V
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 96
            aload 1 /* attributes */
            ldc "ConditionalOnBean"
            new org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor$OnBeanConditionValueExtractor
            dup
            invokespecial org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor$OnBeanConditionValueExtractor.<init>:()V
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 97
            aload 1 /* attributes */
            ldc "ConditionalOnSingleCandidate"
            new org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor$OnBeanConditionValueExtractor
            dup
            invokespecial org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor$OnBeanConditionValueExtractor.<init>:()V
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 98
            aload 1 /* attributes */
            ldc "ConditionalOnWebApplication"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "type"
            aastore
            invokestatic org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor$ValueExtractor.allFrom:([Ljava/lang/String;)Lorg/springframework/boot/autoconfigureprocessor/AutoConfigureAnnotationProcessor$ValueExtractor;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 99
            aload 1 /* attributes */
            ldc "AutoConfigureBefore"
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "value"
            aastore
            dup
            iconst_1
            ldc "name"
            aastore
            invokestatic org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor$ValueExtractor.allFrom:([Ljava/lang/String;)Lorg/springframework/boot/autoconfigureprocessor/AutoConfigureAnnotationProcessor$ValueExtractor;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 100
            aload 1 /* attributes */
            ldc "AutoConfigureAfter"
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "value"
            aastore
            dup
            iconst_1
            ldc "name"
            aastore
            invokestatic org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor$ValueExtractor.allFrom:([Ljava/lang/String;)Lorg/springframework/boot/autoconfigureprocessor/AutoConfigureAnnotationProcessor$ValueExtractor;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 101
            aload 1 /* attributes */
            ldc "AutoConfigureOrder"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "value"
            aastore
            invokestatic org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor$ValueExtractor.allFrom:([Ljava/lang/String;)Lorg/springframework/boot/autoconfigureprocessor/AutoConfigureAnnotationProcessor$ValueExtractor;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         7: .line 102
            return
        end local 1 // java.util.Map attributes
        end local 0 // org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    8     0        this  Lorg/springframework/boot/autoconfigureprocessor/AutoConfigureAnnotationProcessor;
            0    8     1  attributes  Ljava/util/Map<Ljava/lang/String;Lorg/springframework/boot/autoconfigureprocessor/AutoConfigureAnnotationProcessor$ValueExtractor;>;
    Signature: (Ljava/util/Map<Ljava/lang/String;Lorg/springframework/boot/autoconfigureprocessor/AutoConfigureAnnotationProcessor$ValueExtractor;>;)V
    MethodParameters:
            Name  Flags
      attributes  

  public javax.lang.model.SourceVersion getSupportedSourceVersion();
    descriptor: ()Ljavax/lang/model/SourceVersion;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor this
         0: .line 106
            invokestatic javax.lang.model.SourceVersion.latestSupported:()Ljavax/lang/model/SourceVersion;
            areturn
        end local 0 // org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/boot/autoconfigureprocessor/AutoConfigureAnnotationProcessor;

  public boolean process(java.util.Set<? extends javax.lang.model.element.TypeElement>, javax.annotation.processing.RoundEnvironment);
    descriptor: (Ljava/util/Set;Ljavax/annotation/processing/RoundEnvironment;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor this
        start local 1 // java.util.Set annotations
        start local 2 // javax.annotation.processing.RoundEnvironment roundEnv
         0: .line 111
            aload 0 /* this */
            getfield org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor.annotations:Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 3
      StackMap locals: org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor java.util.Set javax.annotation.processing.RoundEnvironment top java.util.Iterator
      StackMap stack:
         1: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 3 /* entry */
        start local 3 // java.util.Map$Entry entry
         2: .line 112
            aload 0 /* this */
            aload 2 /* roundEnv */
            aload 3 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            aload 3 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor.process:(Ljavax/annotation/processing/RoundEnvironment;Ljava/lang/String;Ljava/lang/String;)V
        end local 3 // java.util.Map$Entry entry
         3: .line 111
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 114
            aload 2 /* roundEnv */
            invokeinterface javax.annotation.processing.RoundEnvironment.processingOver:()Z
            ifeq 9
         5: .line 116
            aload 0 /* this */
            invokevirtual org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor.writeProperties:()V
         6: .line 117
            goto 9
         7: .line 118
      StackMap locals: org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor java.util.Set javax.annotation.processing.RoundEnvironment
      StackMap stack: java.lang.Exception
            astore 3 /* ex */
        start local 3 // java.lang.Exception ex
         8: .line 119
            new java.lang.IllegalStateException
            dup
            ldc "Failed to write metadata"
            aload 3 /* ex */
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.lang.Exception ex
         9: .line 122
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // javax.annotation.processing.RoundEnvironment roundEnv
        end local 1 // java.util.Set annotations
        end local 0 // org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   10     0         this  Lorg/springframework/boot/autoconfigureprocessor/AutoConfigureAnnotationProcessor;
            0   10     1  annotations  Ljava/util/Set<+Ljavax/lang/model/element/TypeElement;>;
            0   10     2     roundEnv  Ljavax/annotation/processing/RoundEnvironment;
            2    3     3        entry  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/String;>;
            8    9     3           ex  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           5     6       7  Class java.lang.Exception
    Signature: (Ljava/util/Set<+Ljavax/lang/model/element/TypeElement;>;Ljavax/annotation/processing/RoundEnvironment;)Z
    MethodParameters:
             Name  Flags
      annotations  
      roundEnv     

  private void process(javax.annotation.processing.RoundEnvironment, java.lang.String, java.lang.String);
    descriptor: (Ljavax/annotation/processing/RoundEnvironment;Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=4
        start local 0 // org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor this
        start local 1 // javax.annotation.processing.RoundEnvironment roundEnv
        start local 2 // java.lang.String propertyKey
        start local 3 // java.lang.String annotationName
         0: .line 126
            aload 0 /* this */
            getfield org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor.processingEnv:Ljavax/annotation/processing/ProcessingEnvironment;
            invokeinterface javax.annotation.processing.ProcessingEnvironment.getElementUtils:()Ljavax/lang/model/util/Elements;
            aload 3 /* annotationName */
            invokeinterface javax.lang.model.util.Elements.getTypeElement:(Ljava/lang/CharSequence;)Ljavax/lang/model/element/TypeElement;
            astore 4 /* annotationType */
        start local 4 // javax.lang.model.element.TypeElement annotationType
         1: .line 127
            aload 4 /* annotationType */
            ifnull 6
         2: .line 128
            aload 1 /* roundEnv */
            aload 4 /* annotationType */
            invokeinterface javax.annotation.processing.RoundEnvironment.getElementsAnnotatedWith:(Ljavax/lang/model/element/TypeElement;)Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 6
            goto 5
      StackMap locals: org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor javax.annotation.processing.RoundEnvironment java.lang.String java.lang.String javax.lang.model.element.TypeElement top java.util.Iterator
      StackMap stack:
         3: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.lang.model.element.Element
            astore 5 /* element */
        start local 5 // javax.lang.model.element.Element element
         4: .line 129
            aload 0 /* this */
            aload 5 /* element */
            aload 2 /* propertyKey */
            aload 3 /* annotationName */
            invokevirtual org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor.processElement:(Ljavax/lang/model/element/Element;Ljava/lang/String;Ljava/lang/String;)V
        end local 5 // javax.lang.model.element.Element element
         5: .line 128
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         6: .line 132
      StackMap locals: org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor javax.annotation.processing.RoundEnvironment java.lang.String java.lang.String javax.lang.model.element.TypeElement
      StackMap stack:
            return
        end local 4 // javax.lang.model.element.TypeElement annotationType
        end local 3 // java.lang.String annotationName
        end local 2 // java.lang.String propertyKey
        end local 1 // javax.annotation.processing.RoundEnvironment roundEnv
        end local 0 // org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    7     0            this  Lorg/springframework/boot/autoconfigureprocessor/AutoConfigureAnnotationProcessor;
            0    7     1        roundEnv  Ljavax/annotation/processing/RoundEnvironment;
            0    7     2     propertyKey  Ljava/lang/String;
            0    7     3  annotationName  Ljava/lang/String;
            1    7     4  annotationType  Ljavax/lang/model/element/TypeElement;
            4    5     5         element  Ljavax/lang/model/element/Element;
    MethodParameters:
                Name  Flags
      roundEnv        
      propertyKey     
      annotationName  

  private void processElement(javax.lang.model.element.Element, java.lang.String, java.lang.String);
    descriptor: (Ljavax/lang/model/element/Element;Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=4
        start local 0 // org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor this
        start local 1 // javax.lang.model.element.Element element
        start local 2 // java.lang.String propertyKey
        start local 3 // java.lang.String annotationName
         0: .line 136
            aload 1 /* element */
            invokestatic org.springframework.boot.autoconfigureprocessor.Elements.getQualifiedName:(Ljavax/lang/model/element/Element;)Ljava/lang/String;
            astore 4 /* qualifiedName */
        start local 4 // java.lang.String qualifiedName
         1: .line 137
            aload 0 /* this */
            aload 1 /* element */
            aload 3 /* annotationName */
            invokevirtual org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor.getAnnotation:(Ljavax/lang/model/element/Element;Ljava/lang/String;)Ljavax/lang/model/element/AnnotationMirror;
            astore 5 /* annotation */
        start local 5 // javax.lang.model.element.AnnotationMirror annotation
         2: .line 138
            aload 4 /* qualifiedName */
            ifnull 9
            aload 5 /* annotation */
            ifnull 9
         3: .line 139
            aload 0 /* this */
            aload 2 /* propertyKey */
            aload 5 /* annotation */
            invokevirtual org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor.getValues:(Ljava/lang/String;Ljavax/lang/model/element/AnnotationMirror;)Ljava/util/List;
            astore 6 /* values */
        start local 6 // java.util.List values
         4: .line 140
            aload 0 /* this */
            getfield org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor.properties:Ljava/util/Map;
            new java.lang.StringBuilder
            dup
            aload 4 /* qualifiedName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* propertyKey */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 0 /* this */
            aload 6 /* values */
            invokevirtual org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor.toCommaDelimitedString:(Ljava/util/List;)Ljava/lang/String;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 141
            aload 0 /* this */
            getfield org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor.properties:Ljava/util/Map;
            aload 4 /* qualifiedName */
            ldc ""
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 6 // java.util.List values
        end local 5 // javax.lang.model.element.AnnotationMirror annotation
        end local 4 // java.lang.String qualifiedName
         6: .line 143
            goto 9
         7: .line 144
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 4 /* ex */
        start local 4 // java.lang.Exception ex
         8: .line 145
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Error processing configuration meta-data on "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* element */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 4 /* ex */
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 4 // java.lang.Exception ex
         9: .line 147
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.lang.String annotationName
        end local 2 // java.lang.String propertyKey
        end local 1 // javax.lang.model.element.Element element
        end local 0 // org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   10     0            this  Lorg/springframework/boot/autoconfigureprocessor/AutoConfigureAnnotationProcessor;
            0   10     1         element  Ljavax/lang/model/element/Element;
            0   10     2     propertyKey  Ljava/lang/String;
            0   10     3  annotationName  Ljava/lang/String;
            1    6     4   qualifiedName  Ljava/lang/String;
            2    6     5      annotation  Ljavax/lang/model/element/AnnotationMirror;
            4    6     6          values  Ljava/util/List<Ljava/lang/Object;>;
            8    9     4              ex  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0     6       7  Class java.lang.Exception
    MethodParameters:
                Name  Flags
      element         
      propertyKey     
      annotationName  

  private javax.lang.model.element.AnnotationMirror getAnnotation(javax.lang.model.element.Element, java.lang.String);
    descriptor: (Ljavax/lang/model/element/Element;Ljava/lang/String;)Ljavax/lang/model/element/AnnotationMirror;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=5, args_size=3
        start local 0 // org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor this
        start local 1 // javax.lang.model.element.Element element
        start local 2 // java.lang.String type
         0: .line 150
            aload 1 /* element */
            ifnull 6
         1: .line 151
            aload 1 /* element */
            invokeinterface javax.lang.model.element.Element.getAnnotationMirrors:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 5
      StackMap locals: org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor javax.lang.model.element.Element java.lang.String top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.lang.model.element.AnnotationMirror
            astore 3 /* annotation */
        start local 3 // javax.lang.model.element.AnnotationMirror annotation
         3: .line 152
            aload 2 /* type */
            aload 3 /* annotation */
            invokeinterface javax.lang.model.element.AnnotationMirror.getAnnotationType:()Ljavax/lang/model/type/DeclaredType;
            invokeinterface javax.lang.model.type.DeclaredType.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 5
         4: .line 153
            aload 3 /* annotation */
            areturn
        end local 3 // javax.lang.model.element.AnnotationMirror annotation
         5: .line 151
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         6: .line 157
      StackMap locals: org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor javax.lang.model.element.Element java.lang.String
      StackMap stack:
            aconst_null
            areturn
        end local 2 // java.lang.String type
        end local 1 // javax.lang.model.element.Element element
        end local 0 // org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Lorg/springframework/boot/autoconfigureprocessor/AutoConfigureAnnotationProcessor;
            0    7     1     element  Ljavax/lang/model/element/Element;
            0    7     2        type  Ljava/lang/String;
            3    5     3  annotation  Ljavax/lang/model/element/AnnotationMirror;
    MethodParameters:
         Name  Flags
      element  
      type     

  private java.lang.String toCommaDelimitedString(java.util.List<java.lang.Object>);
    descriptor: (Ljava/util/List;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor this
        start local 1 // java.util.List list
         0: .line 161
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* result */
        start local 2 // java.lang.StringBuilder result
         1: .line 162
            aload 1 /* list */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 7
      StackMap locals: org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor java.util.List java.lang.StringBuilder top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 3 /* item */
        start local 3 // java.lang.Object item
         3: .line 163
            aload 2 /* result */
            aload 2 /* result */
            invokevirtual java.lang.StringBuilder.length:()I
            ifeq 4
            ldc ","
            goto 5
      StackMap locals: org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor java.util.List java.lang.StringBuilder java.lang.Object java.util.Iterator
      StackMap stack: java.lang.StringBuilder
         4: ldc ""
      StackMap locals: org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor java.util.List java.lang.StringBuilder java.lang.Object java.util.Iterator
      StackMap stack: java.lang.StringBuilder java.lang.String
         5: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         6: .line 164
            aload 2 /* result */
            aload 3 /* item */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            pop
        end local 3 // java.lang.Object item
         7: .line 162
      StackMap locals: org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor java.util.List java.lang.StringBuilder top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         8: .line 166
            aload 2 /* result */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.StringBuilder result
        end local 1 // java.util.List list
        end local 0 // org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Lorg/springframework/boot/autoconfigureprocessor/AutoConfigureAnnotationProcessor;
            0    9     1    list  Ljava/util/List<Ljava/lang/Object;>;
            1    9     2  result  Ljava/lang/StringBuilder;
            3    7     3    item  Ljava/lang/Object;
    Signature: (Ljava/util/List<Ljava/lang/Object;>;)Ljava/lang/String;
    MethodParameters:
      Name  Flags
      list  

  private java.util.List<java.lang.Object> getValues(java.lang.String, javax.lang.model.element.AnnotationMirror);
    descriptor: (Ljava/lang/String;Ljavax/lang/model/element/AnnotationMirror;)Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor this
        start local 1 // java.lang.String propertyKey
        start local 2 // javax.lang.model.element.AnnotationMirror annotation
         0: .line 170
            aload 0 /* this */
            getfield org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor.valueExtractors:Ljava/util/Map;
            aload 1 /* propertyKey */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor$ValueExtractor
            astore 3 /* extractor */
        start local 3 // org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor$ValueExtractor extractor
         1: .line 171
            aload 3 /* extractor */
            ifnonnull 3
         2: .line 172
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            areturn
         3: .line 174
      StackMap locals: org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor$ValueExtractor
      StackMap stack:
            aload 3 /* extractor */
            aload 2 /* annotation */
            invokeinterface org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor$ValueExtractor.getValues:(Ljavax/lang/model/element/AnnotationMirror;)Ljava/util/List;
            areturn
        end local 3 // org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor$ValueExtractor extractor
        end local 2 // javax.lang.model.element.AnnotationMirror annotation
        end local 1 // java.lang.String propertyKey
        end local 0 // org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Lorg/springframework/boot/autoconfigureprocessor/AutoConfigureAnnotationProcessor;
            0    4     1  propertyKey  Ljava/lang/String;
            0    4     2   annotation  Ljavax/lang/model/element/AnnotationMirror;
            1    4     3    extractor  Lorg/springframework/boot/autoconfigureprocessor/AutoConfigureAnnotationProcessor$ValueExtractor;
    Signature: (Ljava/lang/String;Ljavax/lang/model/element/AnnotationMirror;)Ljava/util/List<Ljava/lang/Object;>;
    MethodParameters:
             Name  Flags
      propertyKey  
      annotation   

  private void writeProperties();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=8, args_size=1
        start local 0 // org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor this
         0: .line 178
            aload 0 /* this */
            getfield org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor.properties:Ljava/util/Map;
            invokeinterface java.util.Map.isEmpty:()Z
            ifne 18
         1: .line 179
            aload 0 /* this */
            getfield org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor.processingEnv:Ljavax/annotation/processing/ProcessingEnvironment;
            invokeinterface javax.annotation.processing.ProcessingEnvironment.getFiler:()Ljavax/annotation/processing/Filer;
            astore 1 /* filer */
        start local 1 // javax.annotation.processing.Filer filer
         2: .line 180
            aload 1 /* filer */
            getstatic javax.tools.StandardLocation.CLASS_OUTPUT:Ljavax/tools/StandardLocation;
            ldc ""
            ldc "META-INF/spring-autoconfigure-metadata.properties"
            iconst_0
            anewarray javax.lang.model.element.Element
            invokeinterface javax.annotation.processing.Filer.createResource:(Ljavax/tools/JavaFileManager$Location;Ljava/lang/CharSequence;Ljava/lang/CharSequence;[Ljavax/lang/model/element/Element;)Ljavax/tools/FileObject;
            astore 2 /* file */
        start local 2 // javax.tools.FileObject file
         3: .line 181
            aconst_null
            astore 3
            aconst_null
            astore 4
         4: new java.io.OutputStreamWriter
            dup
            aload 2 /* file */
            invokeinterface javax.tools.FileObject.openOutputStream:()Ljava/io/OutputStream;
            getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
            invokespecial java.io.OutputStreamWriter.<init>:(Ljava/io/OutputStream;Ljava/nio/charset/Charset;)V
            astore 5 /* writer */
        start local 5 // java.io.Writer writer
         5: .line 182
            aload 0 /* this */
            getfield org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor.properties:Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 7
            goto 11
      StackMap locals: org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor javax.annotation.processing.Filer javax.tools.FileObject java.lang.Throwable java.lang.Throwable java.io.Writer top java.util.Iterator
      StackMap stack:
         6: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 6 /* entry */
        start local 6 // java.util.Map$Entry entry
         7: .line 183
            aload 5 /* writer */
            aload 6 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.CharSequence
            invokevirtual java.io.Writer.append:(Ljava/lang/CharSequence;)Ljava/io/Writer;
            pop
         8: .line 184
            aload 5 /* writer */
            ldc "="
            invokevirtual java.io.Writer.append:(Ljava/lang/CharSequence;)Ljava/io/Writer;
            pop
         9: .line 185
            aload 5 /* writer */
            aload 6 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.lang.CharSequence
            invokevirtual java.io.Writer.append:(Ljava/lang/CharSequence;)Ljava/io/Writer;
            pop
        10: .line 186
            aload 5 /* writer */
            invokestatic java.lang.System.lineSeparator:()Ljava/lang/String;
            invokevirtual java.io.Writer.append:(Ljava/lang/CharSequence;)Ljava/io/Writer;
            pop
        end local 6 // java.util.Map$Entry entry
        11: .line 182
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        12: .line 188
            aload 5 /* writer */
            ifnull 18
            aload 5 /* writer */
            invokevirtual java.io.Writer.close:()V
            goto 18
      StackMap locals: org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor javax.annotation.processing.Filer javax.tools.FileObject java.lang.Throwable java.lang.Throwable java.io.Writer
      StackMap stack: java.lang.Throwable
        13: astore 3
            aload 5 /* writer */
            ifnull 14
            aload 5 /* writer */
            invokevirtual java.io.Writer.close:()V
        end local 5 // java.io.Writer writer
      StackMap locals:
      StackMap stack:
        14: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        15: astore 4
            aload 3
            ifnonnull 16
            aload 4
            astore 3
            goto 17
      StackMap locals:
      StackMap stack:
        16: aload 3
            aload 4
            if_acmpeq 17
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        17: aload 3
            athrow
        end local 2 // javax.tools.FileObject file
        end local 1 // javax.annotation.processing.Filer filer
        18: .line 190
      StackMap locals: org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor
      StackMap stack:
            return
        end local 0 // org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   19     0    this  Lorg/springframework/boot/autoconfigureprocessor/AutoConfigureAnnotationProcessor;
            2   18     1   filer  Ljavax/annotation/processing/Filer;
            3   18     2    file  Ljavax/tools/FileObject;
            5   14     5  writer  Ljava/io/Writer;
            7   11     6   entry  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/String;>;
      Exception table:
        from    to  target  type
           5    12      13  any
           4    15      15  any
    Exceptions:
      throws java.io.IOException
}
SourceFile: "AutoConfigureAnnotationProcessor.java"
NestMembers:
  org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor$AbstractValueExtractor  org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor$NamedValuesExtractor  org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor$OnBeanConditionValueExtractor  org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor$OnClassConditionValueExtractor  org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor$ValueExtractor
InnerClasses:
  public abstract Entry = java.util.Map$Entry of java.util.Map
  public abstract Location = javax.tools.JavaFileManager$Location of javax.tools.JavaFileManager
  private abstract AbstractValueExtractor = org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor$AbstractValueExtractor of org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor
  private NamedValuesExtractor = org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor$NamedValuesExtractor of org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor
  private OnBeanConditionValueExtractor = org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor$OnBeanConditionValueExtractor of org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor
  private OnClassConditionValueExtractor = org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor$OnClassConditionValueExtractor of org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor
  private abstract ValueExtractor = org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor$ValueExtractor of org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor
    RuntimeVisibleAnnotations: 
      javax.annotation.processing.SupportedAnnotationTypes(value = {"org.springframework.boot.autoconfigure.condition.ConditionalOnClass", "org.springframework.boot.autoconfigure.condition.ConditionalOnBean", "org.springframework.boot.autoconfigure.condition.ConditionalOnSingleCandidate", "org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication", "org.springframework.boot.autoconfigure.AutoConfigureBefore", "org.springframework.boot.autoconfigure.AutoConfigureAfter", "org.springframework.boot.autoconfigure.AutoConfigureOrder"})