class com.sun.tools.javac.processing.JavacProcessingEnvironment$ProcessorState
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.sun.tools.javac.processing.JavacProcessingEnvironment$ProcessorState
  super_class: java.lang.Object
{
  public javax.annotation.processing.Processor processor;
    descriptor: Ljavax/annotation/processing/Processor;
    flags: (0x0001) ACC_PUBLIC

  public boolean contributed;
    descriptor: Z
    flags: (0x0001) ACC_PUBLIC

  private java.util.ArrayList<java.util.regex.Pattern> supportedAnnotationPatterns;
    descriptor: Ljava/util/ArrayList;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/ArrayList<Ljava/util/regex/Pattern;>;

  private java.util.ArrayList<java.lang.String> supportedOptionNames;
    descriptor: Ljava/util/ArrayList;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/ArrayList<Ljava/lang/String;>;

  void <init>(javax.annotation.processing.Processor, com.sun.tools.javac.util.Log, com.sun.tools.javac.code.Source, com.sun.tools.javac.code.DeferredCompletionFailureHandler, boolean, javax.annotation.processing.ProcessingEnvironment);
    descriptor: (Ljavax/annotation/processing/Processor;Lcom/sun/tools/javac/util/Log;Lcom/sun/tools/javac/code/Source;Lcom/sun/tools/javac/code/DeferredCompletionFailureHandler;ZLjavax/annotation/processing/ProcessingEnvironment;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=11, args_size=7
        start local 0 // com.sun.tools.javac.processing.JavacProcessingEnvironment$ProcessorState this
        start local 1 // javax.annotation.processing.Processor p
        start local 2 // com.sun.tools.javac.util.Log log
        start local 3 // com.sun.tools.javac.code.Source source
        start local 4 // com.sun.tools.javac.code.DeferredCompletionFailureHandler dcfh
        start local 5 // boolean allowModules
        start local 6 // javax.annotation.processing.ProcessingEnvironment env
         0: .line 679
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 681
            aload 0 /* this */
            aload 1 /* p */
            putfield com.sun.tools.javac.processing.JavacProcessingEnvironment$ProcessorState.processor:Ljavax/annotation/processing/Processor;
         2: .line 682
            aload 0 /* this */
            iconst_0
            putfield com.sun.tools.javac.processing.JavacProcessingEnvironment$ProcessorState.contributed:Z
         3: .line 684
            aload 4 /* dcfh */
            aload 4 /* dcfh */
            getfield com.sun.tools.javac.code.DeferredCompletionFailureHandler.userCodeHandler:Lcom/sun/tools/javac/code/DeferredCompletionFailureHandler$Handler;
            invokevirtual com.sun.tools.javac.code.DeferredCompletionFailureHandler.setHandler:(Lcom/sun/tools/javac/code/DeferredCompletionFailureHandler$Handler;)Lcom/sun/tools/javac/code/DeferredCompletionFailureHandler$Handler;
            astore 7 /* prevDeferredHandler */
        start local 7 // com.sun.tools.javac.code.DeferredCompletionFailureHandler$Handler prevDeferredHandler
         4: .line 686
            aload 0 /* this */
            getfield com.sun.tools.javac.processing.JavacProcessingEnvironment$ProcessorState.processor:Ljavax/annotation/processing/Processor;
            aload 6 /* env */
            invokeinterface javax.annotation.processing.Processor.init:(Ljavax/annotation/processing/ProcessingEnvironment;)V
         5: .line 688
            aload 0 /* this */
            aload 3 /* source */
            aload 2 /* log */
            invokevirtual com.sun.tools.javac.processing.JavacProcessingEnvironment$ProcessorState.checkSourceVersionCompatibility:(Lcom/sun/tools/javac/code/Source;Lcom/sun/tools/javac/util/Log;)V
         6: .line 690
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield com.sun.tools.javac.processing.JavacProcessingEnvironment$ProcessorState.supportedAnnotationPatterns:Ljava/util/ArrayList;
         7: .line 691
            aload 0 /* this */
            getfield com.sun.tools.javac.processing.JavacProcessingEnvironment$ProcessorState.processor:Ljavax/annotation/processing/Processor;
            invokeinterface javax.annotation.processing.Processor.getSupportedAnnotationTypes:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 9
            goto 14
      StackMap locals: com.sun.tools.javac.processing.JavacProcessingEnvironment$ProcessorState javax.annotation.processing.Processor com.sun.tools.javac.util.Log com.sun.tools.javac.code.Source com.sun.tools.javac.code.DeferredCompletionFailureHandler int javax.annotation.processing.ProcessingEnvironment com.sun.tools.javac.code.DeferredCompletionFailureHandler$Handler top java.util.Iterator
      StackMap stack:
         8: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 8 /* importString */
        start local 8 // java.lang.String importString
         9: .line 692
            aload 0 /* this */
            getfield com.sun.tools.javac.processing.JavacProcessingEnvironment$ProcessorState.supportedAnnotationPatterns:Ljava/util/ArrayList;
            iload 5 /* allowModules */
        10: .line 693
            aload 8 /* importString */
        11: .line 694
            aload 0 /* this */
            getfield com.sun.tools.javac.processing.JavacProcessingEnvironment$ProcessorState.processor:Ljavax/annotation/processing/Processor;
        12: .line 695
            aload 2 /* log */
        13: .line 692
            invokestatic com.sun.tools.javac.processing.JavacProcessingEnvironment.importStringToPattern:(ZLjava/lang/String;Ljavax/annotation/processing/Processor;Lcom/sun/tools/javac/util/Log;)Ljava/util/regex/Pattern;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 8 // java.lang.String importString
        14: .line 691
      StackMap locals:
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        15: .line 698
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield com.sun.tools.javac.processing.JavacProcessingEnvironment$ProcessorState.supportedOptionNames:Ljava/util/ArrayList;
        16: .line 699
            aload 0 /* this */
            getfield com.sun.tools.javac.processing.JavacProcessingEnvironment$ProcessorState.processor:Ljavax/annotation/processing/Processor;
            invokeinterface javax.annotation.processing.Processor.getSupportedOptions:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 9
            goto 20
      StackMap locals:
      StackMap stack:
        17: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 8 /* optionName */
        start local 8 // java.lang.String optionName
        18: .line 700
            aload 0 /* this */
            aload 8 /* optionName */
            aload 2 /* log */
            invokevirtual com.sun.tools.javac.processing.JavacProcessingEnvironment$ProcessorState.checkOptionName:(Ljava/lang/String;Lcom/sun/tools/javac/util/Log;)Z
            ifeq 20
        19: .line 701
            aload 0 /* this */
            getfield com.sun.tools.javac.processing.JavacProcessingEnvironment$ProcessorState.supportedOptionNames:Ljava/util/ArrayList;
            aload 8 /* optionName */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 8 // java.lang.String optionName
        20: .line 699
      StackMap locals:
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 17
        21: .line 704
            goto 29
      StackMap locals: com.sun.tools.javac.processing.JavacProcessingEnvironment$ProcessorState javax.annotation.processing.Processor com.sun.tools.javac.util.Log com.sun.tools.javac.code.Source com.sun.tools.javac.code.DeferredCompletionFailureHandler int javax.annotation.processing.ProcessingEnvironment com.sun.tools.javac.code.DeferredCompletionFailureHandler$Handler
      StackMap stack: com.sun.tools.javac.util.ClientCodeException
        22: astore 8 /* e */
        start local 8 // com.sun.tools.javac.util.ClientCodeException e
        23: .line 705
            aload 8 /* e */
            athrow
        end local 8 // com.sun.tools.javac.util.ClientCodeException e
        24: .line 706
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 8 /* t */
        start local 8 // java.lang.Throwable t
        25: .line 707
            new com.sun.tools.javac.processing.AnnotationProcessingError
            dup
            aload 8 /* t */
            invokespecial com.sun.tools.javac.processing.AnnotationProcessingError.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 8 // java.lang.Throwable t
        26: .line 708
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 10
        27: .line 709
            aload 4 /* dcfh */
            aload 7 /* prevDeferredHandler */
            invokevirtual com.sun.tools.javac.code.DeferredCompletionFailureHandler.setHandler:(Lcom/sun/tools/javac/code/DeferredCompletionFailureHandler$Handler;)Lcom/sun/tools/javac/code/DeferredCompletionFailureHandler$Handler;
            pop
        28: .line 710
            aload 10
            athrow
        29: .line 709
      StackMap locals:
      StackMap stack:
            aload 4 /* dcfh */
            aload 7 /* prevDeferredHandler */
            invokevirtual com.sun.tools.javac.code.DeferredCompletionFailureHandler.setHandler:(Lcom/sun/tools/javac/code/DeferredCompletionFailureHandler$Handler;)Lcom/sun/tools/javac/code/DeferredCompletionFailureHandler$Handler;
            pop
        30: .line 711
            return
        end local 7 // com.sun.tools.javac.code.DeferredCompletionFailureHandler$Handler prevDeferredHandler
        end local 6 // javax.annotation.processing.ProcessingEnvironment env
        end local 5 // boolean allowModules
        end local 4 // com.sun.tools.javac.code.DeferredCompletionFailureHandler dcfh
        end local 3 // com.sun.tools.javac.code.Source source
        end local 2 // com.sun.tools.javac.util.Log log
        end local 1 // javax.annotation.processing.Processor p
        end local 0 // com.sun.tools.javac.processing.JavacProcessingEnvironment$ProcessorState this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   31     0                 this  Lcom/sun/tools/javac/processing/JavacProcessingEnvironment$ProcessorState;
            0   31     1                    p  Ljavax/annotation/processing/Processor;
            0   31     2                  log  Lcom/sun/tools/javac/util/Log;
            0   31     3               source  Lcom/sun/tools/javac/code/Source;
            0   31     4                 dcfh  Lcom/sun/tools/javac/code/DeferredCompletionFailureHandler;
            0   31     5         allowModules  Z
            0   31     6                  env  Ljavax/annotation/processing/ProcessingEnvironment;
            4   31     7  prevDeferredHandler  Lcom/sun/tools/javac/code/DeferredCompletionFailureHandler$Handler;
            9   14     8         importString  Ljava/lang/String;
           18   20     8           optionName  Ljava/lang/String;
           23   24     8                    e  Lcom/sun/tools/javac/util/ClientCodeException;
           25   26     8                    t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           4    21      22  Class com.sun.tools.javac.util.ClientCodeException
           4    21      24  Class java.lang.Throwable
           4    26      26  any
    MethodParameters:
              Name  Flags
      p             
      log           
      source        
      dcfh          
      allowModules  
      env           

  private void checkSourceVersionCompatibility(com.sun.tools.javac.code.Source, com.sun.tools.javac.util.Log);
    descriptor: (Lcom/sun/tools/javac/code/Source;Lcom/sun/tools/javac/util/Log;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // com.sun.tools.javac.processing.JavacProcessingEnvironment$ProcessorState this
        start local 1 // com.sun.tools.javac.code.Source source
        start local 2 // com.sun.tools.javac.util.Log log
         0: .line 720
            aload 0 /* this */
            getfield com.sun.tools.javac.processing.JavacProcessingEnvironment$ProcessorState.processor:Ljavax/annotation/processing/Processor;
            invokeinterface javax.annotation.processing.Processor.getSupportedSourceVersion:()Ljavax/lang/model/SourceVersion;
            astore 3 /* procSourceVersion */
        start local 3 // javax.lang.model.SourceVersion procSourceVersion
         1: .line 722
            aload 3 /* procSourceVersion */
            aload 1 /* source */
            invokestatic com.sun.tools.javac.code.Source.toSourceVersion:(Lcom/sun/tools/javac/code/Source;)Ljavax/lang/model/SourceVersion;
            invokevirtual javax.lang.model.SourceVersion.compareTo:(Ljava/lang/Enum;)I
            ifge 6
         2: .line 723
            aload 2 /* log */
            aload 3 /* procSourceVersion */
         3: .line 724
            aload 0 /* this */
            getfield com.sun.tools.javac.processing.JavacProcessingEnvironment$ProcessorState.processor:Ljavax/annotation/processing/Processor;
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         4: .line 725
            aload 1 /* source */
            getfield com.sun.tools.javac.code.Source.name:Ljava/lang/String;
         5: .line 723
            invokestatic com.sun.tools.javac.resources.CompilerProperties$Warnings.ProcProcessorIncompatibleSourceVersion:(Ljavax/lang/model/SourceVersion;Ljava/lang/String;Ljava/lang/String;)Lcom/sun/tools/javac/util/JCDiagnostic$Warning;
            invokevirtual com.sun.tools.javac.util.Log.warning:(Lcom/sun/tools/javac/util/JCDiagnostic$Warning;)V
         6: .line 727
      StackMap locals: javax.lang.model.SourceVersion
      StackMap stack:
            return
        end local 3 // javax.lang.model.SourceVersion procSourceVersion
        end local 2 // com.sun.tools.javac.util.Log log
        end local 1 // com.sun.tools.javac.code.Source source
        end local 0 // com.sun.tools.javac.processing.JavacProcessingEnvironment$ProcessorState this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    7     0               this  Lcom/sun/tools/javac/processing/JavacProcessingEnvironment$ProcessorState;
            0    7     1             source  Lcom/sun/tools/javac/code/Source;
            0    7     2                log  Lcom/sun/tools/javac/util/Log;
            1    7     3  procSourceVersion  Ljavax/lang/model/SourceVersion;
    MethodParameters:
        Name  Flags
      source  
      log     

  private boolean checkOptionName(java.lang.String, com.sun.tools.javac.util.Log);
    descriptor: (Ljava/lang/String;Lcom/sun/tools/javac/util/Log;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // com.sun.tools.javac.processing.JavacProcessingEnvironment$ProcessorState this
        start local 1 // java.lang.String optionName
        start local 2 // com.sun.tools.javac.util.Log log
         0: .line 730
            aload 1 /* optionName */
            invokestatic com.sun.tools.javac.processing.JavacProcessingEnvironment.isValidOptionName:(Ljava/lang/String;)Z
            istore 3 /* valid */
        start local 3 // boolean valid
         1: .line 731
            iload 3 /* valid */
            ifne 5
         2: .line 732
            aload 2 /* log */
            aload 1 /* optionName */
         3: .line 733
            aload 0 /* this */
            getfield com.sun.tools.javac.processing.JavacProcessingEnvironment$ProcessorState.processor:Ljavax/annotation/processing/Processor;
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         4: .line 732
            invokestatic com.sun.tools.javac.resources.CompilerProperties$Errors.ProcProcessorBadOptionName:(Ljava/lang/String;Ljava/lang/String;)Lcom/sun/tools/javac/util/JCDiagnostic$Error;
            invokevirtual com.sun.tools.javac.util.Log.error:(Lcom/sun/tools/javac/util/JCDiagnostic$Error;)V
         5: .line 734
      StackMap locals: int
      StackMap stack:
            iload 3 /* valid */
            ireturn
        end local 3 // boolean valid
        end local 2 // com.sun.tools.javac.util.Log log
        end local 1 // java.lang.String optionName
        end local 0 // com.sun.tools.javac.processing.JavacProcessingEnvironment$ProcessorState this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Lcom/sun/tools/javac/processing/JavacProcessingEnvironment$ProcessorState;
            0    6     1  optionName  Ljava/lang/String;
            0    6     2         log  Lcom/sun/tools/javac/util/Log;
            1    6     3       valid  Z
    MethodParameters:
            Name  Flags
      optionName  
      log         

  public boolean annotationSupported(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // com.sun.tools.javac.processing.JavacProcessingEnvironment$ProcessorState this
        start local 1 // java.lang.String annotationName
         0: .line 738
            aload 0 /* this */
            getfield com.sun.tools.javac.processing.JavacProcessingEnvironment$ProcessorState.supportedAnnotationPatterns:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 3
            goto 4
      StackMap locals: com.sun.tools.javac.processing.JavacProcessingEnvironment$ProcessorState java.lang.String top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.regex.Pattern
            astore 2 /* p */
        start local 2 // java.util.regex.Pattern p
         2: .line 739
            aload 2 /* p */
            aload 1 /* annotationName */
            invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
            invokevirtual java.util.regex.Matcher.matches:()Z
            ifeq 4
         3: .line 740
            iconst_1
            ireturn
        end local 2 // java.util.regex.Pattern p
         4: .line 738
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         5: .line 742
            iconst_0
            ireturn
        end local 1 // java.lang.String annotationName
        end local 0 // com.sun.tools.javac.processing.JavacProcessingEnvironment$ProcessorState this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    6     0            this  Lcom/sun/tools/javac/processing/JavacProcessingEnvironment$ProcessorState;
            0    6     1  annotationName  Ljava/lang/String;
            2    4     2               p  Ljava/util/regex/Pattern;
    MethodParameters:
                Name  Flags
      annotationName  

  public void removeSupportedOptions(java.util.Set<java.lang.String>);
    descriptor: (Ljava/util/Set;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.processing.JavacProcessingEnvironment$ProcessorState this
        start local 1 // java.util.Set unmatchedProcessorOptions
         0: .line 749
            aload 1 /* unmatchedProcessorOptions */
            aload 0 /* this */
            getfield com.sun.tools.javac.processing.JavacProcessingEnvironment$ProcessorState.supportedOptionNames:Ljava/util/ArrayList;
            invokeinterface java.util.Set.removeAll:(Ljava/util/Collection;)Z
            pop
         1: .line 750
            return
        end local 1 // java.util.Set unmatchedProcessorOptions
        end local 0 // com.sun.tools.javac.processing.JavacProcessingEnvironment$ProcessorState this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0    2     0                       this  Lcom/sun/tools/javac/processing/JavacProcessingEnvironment$ProcessorState;
            0    2     1  unmatchedProcessorOptions  Ljava/util/Set<Ljava/lang/String;>;
    Signature: (Ljava/util/Set<Ljava/lang/String;>;)V
    MethodParameters:
                           Name  Flags
      unmatchedProcessorOptions  
}
SourceFile: "JavacProcessingEnvironment.java"
NestHost: com.sun.tools.javac.processing.JavacProcessingEnvironment
InnerClasses:
  public abstract Handler = com.sun.tools.javac.code.DeferredCompletionFailureHandler$Handler of com.sun.tools.javac.code.DeferredCompletionFailureHandler
  ProcessorState = com.sun.tools.javac.processing.JavacProcessingEnvironment$ProcessorState of com.sun.tools.javac.processing.JavacProcessingEnvironment
  public Errors = com.sun.tools.javac.resources.CompilerProperties$Errors of com.sun.tools.javac.resources.CompilerProperties
  public Warnings = com.sun.tools.javac.resources.CompilerProperties$Warnings of com.sun.tools.javac.resources.CompilerProperties
  public final Error = com.sun.tools.javac.util.JCDiagnostic$Error of com.sun.tools.javac.util.JCDiagnostic
  public final Warning = com.sun.tools.javac.util.JCDiagnostic$Warning of com.sun.tools.javac.util.JCDiagnostic