class com.sun.tools.javac.processing.JavacProcessingEnvironment$NameProcessIterator implements java.util.Iterator<javax.annotation.processing.Processor>
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.sun.tools.javac.processing.JavacProcessingEnvironment$NameProcessIterator
  super_class: java.lang.Object
{
  javax.annotation.processing.Processor nextProc;
    descriptor: Ljavax/annotation/processing/Processor;
    flags: (0x0000) 

  java.util.Iterator<java.lang.String> names;
    descriptor: Ljava/util/Iterator;
    flags: (0x0000) 
    Signature: Ljava/util/Iterator<Ljava/lang/String;>;

  java.lang.ClassLoader processorCL;
    descriptor: Ljava/lang/ClassLoader;
    flags: (0x0000) 

  com.sun.tools.javac.util.Log log;
    descriptor: Lcom/sun/tools/javac/util/Log;
    flags: (0x0000) 

  void <init>(java.lang.String, java.lang.ClassLoader, com.sun.tools.javac.util.Log);
    descriptor: (Ljava/lang/String;Ljava/lang/ClassLoader;Lcom/sun/tools/javac/util/Log;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.sun.tools.javac.processing.JavacProcessingEnvironment$NameProcessIterator this
        start local 1 // java.lang.String names
        start local 2 // java.lang.ClassLoader processorCL
        start local 3 // com.sun.tools.javac.util.Log log
         0: .line 542
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 537
            aload 0 /* this */
            aconst_null
            putfield com.sun.tools.javac.processing.JavacProcessingEnvironment$NameProcessIterator.nextProc:Ljavax/annotation/processing/Processor;
         2: .line 543
            aload 0 /* this */
            aload 1 /* names */
            ldc ","
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            putfield com.sun.tools.javac.processing.JavacProcessingEnvironment$NameProcessIterator.names:Ljava/util/Iterator;
         3: .line 544
            aload 0 /* this */
            aload 2 /* processorCL */
            putfield com.sun.tools.javac.processing.JavacProcessingEnvironment$NameProcessIterator.processorCL:Ljava/lang/ClassLoader;
         4: .line 545
            aload 0 /* this */
            aload 3 /* log */
            putfield com.sun.tools.javac.processing.JavacProcessingEnvironment$NameProcessIterator.log:Lcom/sun/tools/javac/util/Log;
         5: .line 546
            return
        end local 3 // com.sun.tools.javac.util.Log log
        end local 2 // java.lang.ClassLoader processorCL
        end local 1 // java.lang.String names
        end local 0 // com.sun.tools.javac.processing.JavacProcessingEnvironment$NameProcessIterator this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0         this  Lcom/sun/tools/javac/processing/JavacProcessingEnvironment$NameProcessIterator;
            0    6     1        names  Ljava/lang/String;
            0    6     2  processorCL  Ljava/lang/ClassLoader;
            0    6     3          log  Lcom/sun/tools/javac/util/Log;
    MethodParameters:
             Name  Flags
      names        
      processorCL  
      log          

  public boolean hasNext();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // com.sun.tools.javac.processing.JavacProcessingEnvironment$NameProcessIterator this
         0: .line 549
            aload 0 /* this */
            getfield com.sun.tools.javac.processing.JavacProcessingEnvironment$NameProcessIterator.nextProc:Ljavax/annotation/processing/Processor;
            ifnull 2
         1: .line 550
            iconst_1
            ireturn
         2: .line 552
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.processing.JavacProcessingEnvironment$NameProcessIterator.names:Ljava/util/Iterator;
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         3: .line 553
            iconst_0
            ireturn
         4: .line 555
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.javac.processing.JavacProcessingEnvironment$NameProcessIterator.names:Ljava/util/Iterator;
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual com.sun.tools.javac.processing.JavacProcessingEnvironment$NameProcessIterator.getNextProcessor:(Ljava/lang/String;)Ljavax/annotation/processing/Processor;
            astore 1 /* processor */
        start local 1 // javax.annotation.processing.Processor processor
         5: .line 556
            aload 1 /* processor */
            ifnonnull 7
         6: .line 557
            iconst_0
            ireturn
         7: .line 559
      StackMap locals: javax.annotation.processing.Processor
      StackMap stack:
            aload 0 /* this */
            aload 1 /* processor */
            putfield com.sun.tools.javac.processing.JavacProcessingEnvironment$NameProcessIterator.nextProc:Ljavax/annotation/processing/Processor;
         8: .line 560
            iconst_1
            ireturn
        end local 1 // javax.annotation.processing.Processor processor
        end local 0 // com.sun.tools.javac.processing.JavacProcessingEnvironment$NameProcessIterator this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0       this  Lcom/sun/tools/javac/processing/JavacProcessingEnvironment$NameProcessIterator;
            5    9     1  processor  Ljavax/annotation/processing/Processor;

  private javax.annotation.processing.Processor getNextProcessor(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljavax/annotation/processing/Processor;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.sun.tools.javac.processing.JavacProcessingEnvironment$NameProcessIterator this
        start local 1 // java.lang.String processorName
         0: .line 569
            aload 0 /* this */
            getfield com.sun.tools.javac.processing.JavacProcessingEnvironment$NameProcessIterator.processorCL:Ljava/lang/ClassLoader;
            aload 1 /* processorName */
            invokevirtual java.lang.ClassLoader.loadClass:(Ljava/lang/String;)Ljava/lang/Class;
            astore 2 /* processorClass */
        start local 2 // java.lang.Class processorClass
         1: .line 570
            aload 0 /* this */
            aload 2 /* processorClass */
            invokevirtual com.sun.tools.javac.processing.JavacProcessingEnvironment$NameProcessIterator.ensureReadable:(Ljava/lang/Class;)V
         2: .line 571
            aload 2 /* processorClass */
            iconst_0
            anewarray java.lang.Class
            invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
            checkcast javax.annotation.processing.Processor
         3: areturn
        end local 2 // java.lang.Class processorClass
         4: .line 572
      StackMap locals:
      StackMap stack: java.lang.ClassNotFoundException
            pop
         5: .line 573
            aload 0 /* this */
            getfield com.sun.tools.javac.processing.JavacProcessingEnvironment$NameProcessIterator.log:Lcom/sun/tools/javac/util/Log;
            aload 1 /* processorName */
            invokestatic com.sun.tools.javac.resources.CompilerProperties$Errors.ProcProcessorNotFound:(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
         6: .line 574
            aconst_null
            areturn
         7: .line 575
      StackMap locals:
      StackMap stack: java.lang.ClassCastException
            pop
         8: .line 576
            aload 0 /* this */
            getfield com.sun.tools.javac.processing.JavacProcessingEnvironment$NameProcessIterator.log:Lcom/sun/tools/javac/util/Log;
            aload 1 /* processorName */
            invokestatic com.sun.tools.javac.resources.CompilerProperties$Errors.ProcProcessorWrongType:(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
         9: .line 577
            aconst_null
            areturn
        10: .line 578
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
        11: .line 579
            aload 0 /* this */
            getfield com.sun.tools.javac.processing.JavacProcessingEnvironment$NameProcessIterator.log:Lcom/sun/tools/javac/util/Log;
            aload 1 /* processorName */
            invokestatic com.sun.tools.javac.resources.CompilerProperties$Errors.ProcProcessorCantInstantiate:(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
        12: .line 580
            aconst_null
            areturn
        13: .line 582
      StackMap locals:
      StackMap stack: com.sun.tools.javac.util.ClientCodeException
            astore 2 /* e */
        start local 2 // com.sun.tools.javac.util.ClientCodeException e
        14: .line 583
            aload 2 /* e */
            athrow
        end local 2 // com.sun.tools.javac.util.ClientCodeException e
        15: .line 584
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 2 /* t */
        start local 2 // java.lang.Throwable t
        16: .line 585
            new com.sun.tools.javac.processing.AnnotationProcessingError
            dup
            aload 2 /* t */
            invokespecial com.sun.tools.javac.processing.AnnotationProcessingError.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.lang.Throwable t
        end local 1 // java.lang.String processorName
        end local 0 // com.sun.tools.javac.processing.JavacProcessingEnvironment$NameProcessIterator this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   17     0            this  Lcom/sun/tools/javac/processing/JavacProcessingEnvironment$NameProcessIterator;
            0   17     1   processorName  Ljava/lang/String;
            1    4     2  processorClass  Ljava/lang/Class<*>;
           14   15     2               e  Lcom/sun/tools/javac/util/ClientCodeException;
           16   17     2               t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           0     3       4  Class java.lang.ClassNotFoundException
           0     3       7  Class java.lang.ClassCastException
           0     3      10  Class java.lang.Exception
           0     3      13  Class com.sun.tools.javac.util.ClientCodeException
           4     6      13  Class com.sun.tools.javac.util.ClientCodeException
           7     9      13  Class com.sun.tools.javac.util.ClientCodeException
          10    12      13  Class com.sun.tools.javac.util.ClientCodeException
           0     3      15  Class java.lang.Throwable
           4     6      15  Class java.lang.Throwable
           7     9      15  Class java.lang.Throwable
          10    12      15  Class java.lang.Throwable
    MethodParameters:
               Name  Flags
      processorName  

  public javax.annotation.processing.Processor next();
    descriptor: ()Ljavax/annotation/processing/Processor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // com.sun.tools.javac.processing.JavacProcessingEnvironment$NameProcessIterator this
         0: .line 590
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.processing.JavacProcessingEnvironment$NameProcessIterator.hasNext:()Z
            ifeq 4
         1: .line 591
            aload 0 /* this */
            getfield com.sun.tools.javac.processing.JavacProcessingEnvironment$NameProcessIterator.nextProc:Ljavax/annotation/processing/Processor;
            astore 1 /* p */
        start local 1 // javax.annotation.processing.Processor p
         2: .line 592
            aload 0 /* this */
            aconst_null
            putfield com.sun.tools.javac.processing.JavacProcessingEnvironment$NameProcessIterator.nextProc:Ljavax/annotation/processing/Processor;
         3: .line 593
            aload 1 /* p */
            areturn
        end local 1 // javax.annotation.processing.Processor p
         4: .line 595
      StackMap locals:
      StackMap stack:
            new java.util.NoSuchElementException
            dup
            invokespecial java.util.NoSuchElementException.<init>:()V
            athrow
        end local 0 // com.sun.tools.javac.processing.JavacProcessingEnvironment$NameProcessIterator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/sun/tools/javac/processing/JavacProcessingEnvironment$NameProcessIterator;
            2    4     1     p  Ljavax/annotation/processing/Processor;

  public void remove();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.processing.JavacProcessingEnvironment$NameProcessIterator this
         0: .line 599
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        end local 0 // com.sun.tools.javac.processing.JavacProcessingEnvironment$NameProcessIterator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/processing/JavacProcessingEnvironment$NameProcessIterator;

  private void ensureReadable(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=7, args_size=2
        start local 0 // com.sun.tools.javac.processing.JavacProcessingEnvironment$NameProcessIterator this
        start local 1 // java.lang.Class targetClass
         0: .line 608
            ldc Ljava/lang/Class;
            ldc "getModule"
            iconst_0
            anewarray java.lang.Class
            invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            astore 2 /* getModuleMethod */
        start local 2 // java.lang.reflect.Method getModuleMethod
         1: .line 609
            aload 2 /* getModuleMethod */
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* thisModule */
        start local 3 // java.lang.Object thisModule
         2: .line 610
            aload 2 /* getModuleMethod */
            aload 1 /* targetClass */
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            astore 4 /* targetModule */
        start local 4 // java.lang.Object targetModule
         3: .line 612
            aload 2 /* getModuleMethod */
            invokevirtual java.lang.reflect.Method.getReturnType:()Ljava/lang/Class;
            astore 5 /* moduleClass */
        start local 5 // java.lang.Class moduleClass
         4: .line 613
            aload 5 /* moduleClass */
            ldc "addReads"
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            aload 5 /* moduleClass */
            aastore
            invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            astore 6 /* addReadsMethod */
        start local 6 // java.lang.reflect.Method addReadsMethod
         5: .line 614
            aload 6 /* addReadsMethod */
            aload 3 /* thisModule */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* targetModule */
            aastore
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 6 // java.lang.reflect.Method addReadsMethod
        end local 5 // java.lang.Class moduleClass
        end local 4 // java.lang.Object targetModule
        end local 3 // java.lang.Object thisModule
        end local 2 // java.lang.reflect.Method getModuleMethod
         6: .line 615
            goto 10
      StackMap locals:
      StackMap stack: java.lang.NoSuchMethodException
         7: pop
            goto 10
         8: .line 617
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 2 /* e */
        start local 2 // java.lang.Exception e
         9: .line 618
            new java.lang.InternalError
            dup
            aload 2 /* e */
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.lang.Exception e
        10: .line 620
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.Class targetClass
        end local 0 // com.sun.tools.javac.processing.JavacProcessingEnvironment$NameProcessIterator this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   11     0             this  Lcom/sun/tools/javac/processing/JavacProcessingEnvironment$NameProcessIterator;
            0   11     1      targetClass  Ljava/lang/Class<*>;
            1    6     2  getModuleMethod  Ljava/lang/reflect/Method;
            2    6     3       thisModule  Ljava/lang/Object;
            3    6     4     targetModule  Ljava/lang/Object;
            4    6     5      moduleClass  Ljava/lang/Class<*>;
            5    6     6   addReadsMethod  Ljava/lang/reflect/Method;
            9   10     2                e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0     6       7  Class java.lang.NoSuchMethodException
           0     6       8  Class java.lang.Exception
    Signature: (Ljava/lang/Class<*>;)V
    MethodParameters:
             Name  Flags
      targetClass  

  public java.lang.Object next();
    descriptor: ()Ljava/lang/Object;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual com.sun.tools.javac.processing.JavacProcessingEnvironment$NameProcessIterator.next:()Ljavax/annotation/processing/Processor;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: Ljava/lang/Object;Ljava/util/Iterator<Ljavax/annotation/processing/Processor;>;
SourceFile: "JavacProcessingEnvironment.java"
NestHost: com.sun.tools.javac.processing.JavacProcessingEnvironment
InnerClasses:
  private NameProcessIterator = com.sun.tools.javac.processing.JavacProcessingEnvironment$NameProcessIterator of com.sun.tools.javac.processing.JavacProcessingEnvironment
  public Errors = com.sun.tools.javac.resources.CompilerProperties$Errors of com.sun.tools.javac.resources.CompilerProperties
  public final Error = com.sun.tools.javac.util.JCDiagnostic$Error of com.sun.tools.javac.util.JCDiagnostic