public class com.sun.tools.javac.api.BasicJavacTask extends com.sun.source.util.JavacTask
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.sun.tools.javac.api.BasicJavacTask
  super_class: com.sun.source.util.JavacTask
{
  protected com.sun.tools.javac.util.Context context;
    descriptor: Lcom/sun/tools/javac/util/Context;
    flags: (0x0004) ACC_PROTECTED

  private com.sun.source.util.TaskListener taskListener;
    descriptor: Lcom/sun/source/util/TaskListener;
    flags: (0x0002) ACC_PRIVATE

  public static com.sun.source.util.JavacTask instance(com.sun.tools.javac.util.Context);
    descriptor: (Lcom/sun/tools/javac/util/Context;)Lcom/sun/source/util/JavacTask;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // com.sun.tools.javac.util.Context context
         0: .line 76
            aload 0 /* context */
            ldc Lcom/sun/source/util/JavacTask;
            invokevirtual com.sun.tools.javac.util.Context.get:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast com.sun.source.util.JavacTask
            astore 1 /* instance */
        start local 1 // com.sun.source.util.JavacTask instance
         1: .line 77
            aload 1 /* instance */
            ifnonnull 3
         2: .line 78
            new com.sun.tools.javac.api.BasicJavacTask
            dup
            aload 0 /* context */
            iconst_1
            invokespecial com.sun.tools.javac.api.BasicJavacTask.<init>:(Lcom/sun/tools/javac/util/Context;Z)V
            astore 1 /* instance */
         3: .line 79
      StackMap locals: com.sun.source.util.JavacTask
      StackMap stack:
            aload 1 /* instance */
            areturn
        end local 1 // com.sun.source.util.JavacTask instance
        end local 0 // com.sun.tools.javac.util.Context context
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0   context  Lcom/sun/tools/javac/util/Context;
            1    4     1  instance  Lcom/sun/source/util/JavacTask;
    MethodParameters:
         Name  Flags
      context  

  public void <init>(com.sun.tools.javac.util.Context, boolean);
    descriptor: (Lcom/sun/tools/javac/util/Context;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.api.BasicJavacTask this
        start local 1 // com.sun.tools.javac.util.Context c
        start local 2 // boolean register
         0: .line 82
            aload 0 /* this */
            invokespecial com.sun.source.util.JavacTask.<init>:()V
         1: .line 83
            aload 0 /* this */
            aload 1 /* c */
            putfield com.sun.tools.javac.api.BasicJavacTask.context:Lcom/sun/tools/javac/util/Context;
         2: .line 84
            iload 2 /* register */
            ifeq 4
         3: .line 85
            aload 0 /* this */
            getfield com.sun.tools.javac.api.BasicJavacTask.context:Lcom/sun/tools/javac/util/Context;
            ldc Lcom/sun/source/util/JavacTask;
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.util.Context.put:(Ljava/lang/Class;Ljava/lang/Object;)V
         4: .line 86
      StackMap locals: com.sun.tools.javac.api.BasicJavacTask com.sun.tools.javac.util.Context int
      StackMap stack:
            return
        end local 2 // boolean register
        end local 1 // com.sun.tools.javac.util.Context c
        end local 0 // com.sun.tools.javac.api.BasicJavacTask this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lcom/sun/tools/javac/api/BasicJavacTask;
            0    5     1         c  Lcom/sun/tools/javac/util/Context;
            0    5     2  register  Z
    MethodParameters:
          Name  Flags
      c         
      register  

  public java.lang.Iterable<? extends com.sun.source.tree.CompilationUnitTree> parse();
    descriptor: ()Ljava/lang/Iterable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.api.BasicJavacTask this
         0: .line 90
            new java.lang.IllegalStateException
            dup
            invokespecial java.lang.IllegalStateException.<init>:()V
            athrow
        end local 0 // com.sun.tools.javac.api.BasicJavacTask this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/api/BasicJavacTask;
    Signature: ()Ljava/lang/Iterable<+Lcom/sun/source/tree/CompilationUnitTree;>;

  public java.lang.Iterable<? extends javax.lang.model.element.Element> analyze();
    descriptor: ()Ljava/lang/Iterable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.api.BasicJavacTask this
         0: .line 95
            new java.lang.IllegalStateException
            dup
            invokespecial java.lang.IllegalStateException.<init>:()V
            athrow
        end local 0 // com.sun.tools.javac.api.BasicJavacTask this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/api/BasicJavacTask;
    Signature: ()Ljava/lang/Iterable<+Ljavax/lang/model/element/Element;>;

  public java.lang.Iterable<? extends javax.tools.JavaFileObject> generate();
    descriptor: ()Ljava/lang/Iterable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.api.BasicJavacTask this
         0: .line 100
            new java.lang.IllegalStateException
            dup
            invokespecial java.lang.IllegalStateException.<init>:()V
            athrow
        end local 0 // com.sun.tools.javac.api.BasicJavacTask this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/api/BasicJavacTask;
    Signature: ()Ljava/lang/Iterable<+Ljavax/tools/JavaFileObject;>;

  public void setTaskListener(com.sun.source.util.TaskListener);
    descriptor: (Lcom/sun/source/util/TaskListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.sun.tools.javac.api.BasicJavacTask this
        start local 1 // com.sun.source.util.TaskListener tl
         0: .line 105
            aload 0 /* this */
            getfield com.sun.tools.javac.api.BasicJavacTask.context:Lcom/sun/tools/javac/util/Context;
            invokestatic com.sun.tools.javac.api.MultiTaskListener.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/api/MultiTaskListener;
            astore 2 /* mtl */
        start local 2 // com.sun.tools.javac.api.MultiTaskListener mtl
         1: .line 106
            aload 0 /* this */
            getfield com.sun.tools.javac.api.BasicJavacTask.taskListener:Lcom/sun/source/util/TaskListener;
            ifnull 3
         2: .line 107
            aload 2 /* mtl */
            aload 0 /* this */
            getfield com.sun.tools.javac.api.BasicJavacTask.taskListener:Lcom/sun/source/util/TaskListener;
            invokevirtual com.sun.tools.javac.api.MultiTaskListener.remove:(Lcom/sun/source/util/TaskListener;)V
         3: .line 108
      StackMap locals: com.sun.tools.javac.api.MultiTaskListener
      StackMap stack:
            aload 1 /* tl */
            ifnull 5
         4: .line 109
            aload 2 /* mtl */
            aload 1 /* tl */
            invokevirtual com.sun.tools.javac.api.MultiTaskListener.add:(Lcom/sun/source/util/TaskListener;)V
         5: .line 110
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* tl */
            putfield com.sun.tools.javac.api.BasicJavacTask.taskListener:Lcom/sun/source/util/TaskListener;
         6: .line 111
            return
        end local 2 // com.sun.tools.javac.api.MultiTaskListener mtl
        end local 1 // com.sun.source.util.TaskListener tl
        end local 0 // com.sun.tools.javac.api.BasicJavacTask this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lcom/sun/tools/javac/api/BasicJavacTask;
            0    7     1    tl  Lcom/sun/source/util/TaskListener;
            1    7     2   mtl  Lcom/sun/tools/javac/api/MultiTaskListener;
    MethodParameters:
      Name  Flags
      tl    

  public void addTaskListener(com.sun.source.util.TaskListener);
    descriptor: (Lcom/sun/source/util/TaskListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.sun.tools.javac.api.BasicJavacTask this
        start local 1 // com.sun.source.util.TaskListener taskListener
         0: .line 115
            aload 0 /* this */
            getfield com.sun.tools.javac.api.BasicJavacTask.context:Lcom/sun/tools/javac/util/Context;
            invokestatic com.sun.tools.javac.api.MultiTaskListener.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/api/MultiTaskListener;
            astore 2 /* mtl */
        start local 2 // com.sun.tools.javac.api.MultiTaskListener mtl
         1: .line 116
            aload 2 /* mtl */
            aload 1 /* taskListener */
            invokevirtual com.sun.tools.javac.api.MultiTaskListener.add:(Lcom/sun/source/util/TaskListener;)V
         2: .line 117
            return
        end local 2 // com.sun.tools.javac.api.MultiTaskListener mtl
        end local 1 // com.sun.source.util.TaskListener taskListener
        end local 0 // com.sun.tools.javac.api.BasicJavacTask this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lcom/sun/tools/javac/api/BasicJavacTask;
            0    3     1  taskListener  Lcom/sun/source/util/TaskListener;
            1    3     2           mtl  Lcom/sun/tools/javac/api/MultiTaskListener;
    MethodParameters:
              Name  Flags
      taskListener  

  public void removeTaskListener(com.sun.source.util.TaskListener);
    descriptor: (Lcom/sun/source/util/TaskListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.sun.tools.javac.api.BasicJavacTask this
        start local 1 // com.sun.source.util.TaskListener taskListener
         0: .line 121
            aload 0 /* this */
            getfield com.sun.tools.javac.api.BasicJavacTask.context:Lcom/sun/tools/javac/util/Context;
            invokestatic com.sun.tools.javac.api.MultiTaskListener.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/api/MultiTaskListener;
            astore 2 /* mtl */
        start local 2 // com.sun.tools.javac.api.MultiTaskListener mtl
         1: .line 122
            aload 2 /* mtl */
            aload 1 /* taskListener */
            invokevirtual com.sun.tools.javac.api.MultiTaskListener.remove:(Lcom/sun/source/util/TaskListener;)V
         2: .line 123
            return
        end local 2 // com.sun.tools.javac.api.MultiTaskListener mtl
        end local 1 // com.sun.source.util.TaskListener taskListener
        end local 0 // com.sun.tools.javac.api.BasicJavacTask this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lcom/sun/tools/javac/api/BasicJavacTask;
            0    3     1  taskListener  Lcom/sun/source/util/TaskListener;
            1    3     2           mtl  Lcom/sun/tools/javac/api/MultiTaskListener;
    MethodParameters:
              Name  Flags
      taskListener  

  public java.util.Collection<com.sun.source.util.TaskListener> getTaskListeners();
    descriptor: ()Ljava/util/Collection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // com.sun.tools.javac.api.BasicJavacTask this
         0: .line 126
            aload 0 /* this */
            getfield com.sun.tools.javac.api.BasicJavacTask.context:Lcom/sun/tools/javac/util/Context;
            invokestatic com.sun.tools.javac.api.MultiTaskListener.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/api/MultiTaskListener;
            astore 1 /* mtl */
        start local 1 // com.sun.tools.javac.api.MultiTaskListener mtl
         1: .line 127
            aload 1 /* mtl */
            invokevirtual com.sun.tools.javac.api.MultiTaskListener.getTaskListeners:()Ljava/util/Collection;
            areturn
        end local 1 // com.sun.tools.javac.api.MultiTaskListener mtl
        end local 0 // com.sun.tools.javac.api.BasicJavacTask this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/tools/javac/api/BasicJavacTask;
            1    2     1   mtl  Lcom/sun/tools/javac/api/MultiTaskListener;
    Signature: ()Ljava/util/Collection<Lcom/sun/source/util/TaskListener;>;

  public javax.lang.model.type.TypeMirror getTypeMirror(java.lang.Iterable<? extends com.sun.source.tree.Tree>);
    descriptor: (Ljava/lang/Iterable;)Ljavax/lang/model/type/TypeMirror;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // com.sun.tools.javac.api.BasicJavacTask this
        start local 1 // java.lang.Iterable path
         0: .line 133
            aconst_null
            astore 2 /* last */
        start local 2 // com.sun.source.tree.Tree last
         1: .line 134
            aload 1 /* path */
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 4
            goto 4
      StackMap locals: com.sun.tools.javac.api.BasicJavacTask java.lang.Iterable com.sun.source.tree.Tree top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.source.tree.Tree
            astore 3 /* node */
        start local 3 // com.sun.source.tree.Tree node
         3: .line 135
            aload 3 /* node */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.sun.source.tree.Tree
            astore 2 /* last */
        end local 3 // com.sun.source.tree.Tree node
         4: .line 134
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 137
            aload 2 /* last */
            ifnonnull 7
         6: .line 138
            new java.lang.IllegalArgumentException
            dup
            ldc "empty path"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 140
      StackMap locals: com.sun.tools.javac.api.BasicJavacTask java.lang.Iterable com.sun.source.tree.Tree
      StackMap stack:
            aload 2 /* last */
            checkcast com.sun.tools.javac.tree.JCTree
            getfield com.sun.tools.javac.tree.JCTree.type:Lcom/sun/tools/javac/code/Type;
            areturn
        end local 2 // com.sun.source.tree.Tree last
        end local 1 // java.lang.Iterable path
        end local 0 // com.sun.tools.javac.api.BasicJavacTask this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lcom/sun/tools/javac/api/BasicJavacTask;
            0    8     1  path  Ljava/lang/Iterable<+Lcom/sun/source/tree/Tree;>;
            1    8     2  last  Lcom/sun/source/tree/Tree;
            3    4     3  node  Lcom/sun/source/tree/Tree;
    Signature: (Ljava/lang/Iterable<+Lcom/sun/source/tree/Tree;>;)Ljavax/lang/model/type/TypeMirror;
    MethodParameters:
      Name  Flags
      path  

  public javax.lang.model.util.Elements getElements();
    descriptor: ()Ljavax/lang/model/util/Elements;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.api.BasicJavacTask this
         0: .line 145
            aload 0 /* this */
            getfield com.sun.tools.javac.api.BasicJavacTask.context:Lcom/sun/tools/javac/util/Context;
            ifnonnull 2
         1: .line 146
            new java.lang.IllegalStateException
            dup
            invokespecial java.lang.IllegalStateException.<init>:()V
            athrow
         2: .line 147
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.api.BasicJavacTask.context:Lcom/sun/tools/javac/util/Context;
            invokestatic com.sun.tools.javac.model.JavacElements.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/model/JavacElements;
            areturn
        end local 0 // com.sun.tools.javac.api.BasicJavacTask this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/tools/javac/api/BasicJavacTask;

  public javax.lang.model.util.Types getTypes();
    descriptor: ()Ljavax/lang/model/util/Types;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.api.BasicJavacTask this
         0: .line 152
            aload 0 /* this */
            getfield com.sun.tools.javac.api.BasicJavacTask.context:Lcom/sun/tools/javac/util/Context;
            ifnonnull 2
         1: .line 153
            new java.lang.IllegalStateException
            dup
            invokespecial java.lang.IllegalStateException.<init>:()V
            athrow
         2: .line 154
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.api.BasicJavacTask.context:Lcom/sun/tools/javac/util/Context;
            invokestatic com.sun.tools.javac.model.JavacTypes.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/model/JavacTypes;
            areturn
        end local 0 // com.sun.tools.javac.api.BasicJavacTask this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/tools/javac/api/BasicJavacTask;

  public void addModules(java.lang.Iterable<java.lang.String>);
    descriptor: (Ljava/lang/Iterable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.api.BasicJavacTask this
        start local 1 // java.lang.Iterable moduleNames
         0: .line 159
            new java.lang.IllegalStateException
            dup
            invokespecial java.lang.IllegalStateException.<init>:()V
            athrow
        end local 1 // java.lang.Iterable moduleNames
        end local 0 // com.sun.tools.javac.api.BasicJavacTask this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lcom/sun/tools/javac/api/BasicJavacTask;
            0    1     1  moduleNames  Ljava/lang/Iterable<Ljava/lang/String;>;
    Signature: (Ljava/lang/Iterable<Ljava/lang/String;>;)V
    MethodParameters:
             Name  Flags
      moduleNames  

  public void setProcessors(java.lang.Iterable<? extends javax.annotation.processing.Processor>);
    descriptor: (Ljava/lang/Iterable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.api.BasicJavacTask this
        start local 1 // java.lang.Iterable processors
         0: .line 164
            new java.lang.IllegalStateException
            dup
            invokespecial java.lang.IllegalStateException.<init>:()V
            athrow
        end local 1 // java.lang.Iterable processors
        end local 0 // com.sun.tools.javac.api.BasicJavacTask this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lcom/sun/tools/javac/api/BasicJavacTask;
            0    1     1  processors  Ljava/lang/Iterable<+Ljavax/annotation/processing/Processor;>;
    Signature: (Ljava/lang/Iterable<+Ljavax/annotation/processing/Processor;>;)V
    MethodParameters:
            Name  Flags
      processors  

  public void setLocale(java.util.Locale);
    descriptor: (Ljava/util/Locale;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.api.BasicJavacTask this
        start local 1 // java.util.Locale locale
         0: .line 169
            new java.lang.IllegalStateException
            dup
            invokespecial java.lang.IllegalStateException.<init>:()V
            athrow
        end local 1 // java.util.Locale locale
        end local 0 // com.sun.tools.javac.api.BasicJavacTask this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lcom/sun/tools/javac/api/BasicJavacTask;
            0    1     1  locale  Ljava/util/Locale;
    MethodParameters:
        Name  Flags
      locale  

  public java.lang.Boolean call();
    descriptor: ()Ljava/lang/Boolean;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.api.BasicJavacTask this
         0: .line 174
            new java.lang.IllegalStateException
            dup
            invokespecial java.lang.IllegalStateException.<init>:()V
            athrow
        end local 0 // com.sun.tools.javac.api.BasicJavacTask this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/api/BasicJavacTask;

  public com.sun.tools.javac.util.Context getContext();
    descriptor: ()Lcom/sun/tools/javac/util/Context;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.api.BasicJavacTask this
         0: .line 183
            aload 0 /* this */
            getfield com.sun.tools.javac.api.BasicJavacTask.context:Lcom/sun/tools/javac/util/Context;
            areturn
        end local 0 // com.sun.tools.javac.api.BasicJavacTask this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/api/BasicJavacTask;

  public void initPlugins(java.util.Set<com.sun.tools.javac.util.List<java.lang.String>>);
    descriptor: (Ljava/util/Set;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=11, args_size=2
        start local 0 // com.sun.tools.javac.api.BasicJavacTask this
        start local 1 // java.util.Set pluginOpts
         0: .line 187
            aload 0 /* this */
            getfield com.sun.tools.javac.api.BasicJavacTask.context:Lcom/sun/tools/javac/util/Context;
            ldc Lcom/sun/tools/javac/platform/PlatformDescription;
            invokevirtual com.sun.tools.javac.util.Context.get:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast com.sun.tools.javac.platform.PlatformDescription
            astore 2 /* platformProvider */
        start local 2 // com.sun.tools.javac.platform.PlatformDescription platformProvider
         1: .line 189
            aload 2 /* platformProvider */
            ifnull 13
         2: .line 190
            aload 2 /* platformProvider */
            invokeinterface com.sun.tools.javac.platform.PlatformDescription.getPlugins:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 12
      StackMap locals: com.sun.tools.javac.api.BasicJavacTask java.util.Set com.sun.tools.javac.platform.PlatformDescription top java.util.Iterator
      StackMap stack:
         3: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.platform.PlatformDescription$PluginInfo
            astore 3 /* pluginDesc */
        start local 3 // com.sun.tools.javac.platform.PlatformDescription$PluginInfo pluginDesc
         4: .line 192
            aload 3 /* pluginDesc */
            invokeinterface com.sun.tools.javac.platform.PlatformDescription$PluginInfo.getOptions:()Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
         5: .line 193
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  com/sun/tools/javac/api/BasicJavacTask.lambda$0(Ljava/util/Map$Entry;)Ljava/lang/String; (6)
                  (Ljava/util/Map$Entry;)Ljava/lang/String;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
         6: .line 194
            invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.List
         7: .line 191
            astore 5 /* options */
        start local 5 // java.util.List options
         8: .line 196
            aload 3 /* pluginDesc */
            invokeinterface com.sun.tools.javac.platform.PlatformDescription$PluginInfo.getPlugin:()Ljava/lang/Object;
            checkcast com.sun.source.util.Plugin
            aload 0 /* this */
            aload 5 /* options */
            aload 5 /* options */
            invokeinterface java.util.List.size:()I
            anewarray java.lang.String
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.String[]
            invokeinterface com.sun.source.util.Plugin.init:(Lcom/sun/source/util/JavacTask;[Ljava/lang/String;)V
         9: .line 197
            goto 12
      StackMap locals: com.sun.tools.javac.api.BasicJavacTask java.util.Set com.sun.tools.javac.platform.PlatformDescription com.sun.tools.javac.platform.PlatformDescription$PluginInfo java.util.Iterator java.util.List
      StackMap stack: java.lang.RuntimeException
        10: astore 6 /* ex */
        start local 6 // java.lang.RuntimeException ex
        11: .line 198
            new com.sun.tools.javac.util.PropagatedException
            dup
            aload 6 /* ex */
            invokespecial com.sun.tools.javac.util.PropagatedException.<init>:(Ljava/lang/RuntimeException;)V
            athrow
        end local 6 // java.lang.RuntimeException ex
        end local 5 // java.util.List options
        end local 3 // com.sun.tools.javac.platform.PlatformDescription$PluginInfo pluginDesc
        12: .line 190
      StackMap locals: com.sun.tools.javac.api.BasicJavacTask java.util.Set com.sun.tools.javac.platform.PlatformDescription top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        13: .line 203
      StackMap locals: com.sun.tools.javac.api.BasicJavacTask java.util.Set com.sun.tools.javac.platform.PlatformDescription
      StackMap stack:
            aload 1 /* pluginOpts */
            invokeinterface java.util.Set.isEmpty:()Z
            ifeq 15
        14: .line 204
            return
        15: .line 206
      StackMap locals:
      StackMap stack:
            new java.util.LinkedHashSet
            dup
            aload 1 /* pluginOpts */
            invokespecial java.util.LinkedHashSet.<init>:(Ljava/util/Collection;)V
            astore 3 /* pluginsToCall */
        start local 3 // java.util.Set pluginsToCall
        16: .line 207
            aload 0 /* this */
            getfield com.sun.tools.javac.api.BasicJavacTask.context:Lcom/sun/tools/javac/util/Context;
            invokestatic com.sun.tools.javac.processing.JavacProcessingEnvironment.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/processing/JavacProcessingEnvironment;
            astore 4 /* pEnv */
        start local 4 // com.sun.tools.javac.processing.JavacProcessingEnvironment pEnv
        17: .line 208
            aload 4 /* pEnv */
            ldc Lcom/sun/source/util/Plugin;
            invokevirtual com.sun.tools.javac.processing.JavacProcessingEnvironment.getServiceLoader:(Ljava/lang/Class;)Ljava/util/ServiceLoader;
            astore 5 /* sl */
        start local 5 // java.util.ServiceLoader sl
        18: .line 209
            aload 5 /* sl */
            invokevirtual java.util.ServiceLoader.iterator:()Ljava/util/Iterator;
            astore 7
            goto 29
      StackMap locals: com.sun.tools.javac.api.BasicJavacTask java.util.Set com.sun.tools.javac.platform.PlatformDescription java.util.Set com.sun.tools.javac.processing.JavacProcessingEnvironment java.util.ServiceLoader top java.util.Iterator
      StackMap stack:
        19: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.source.util.Plugin
            astore 6 /* plugin */
        start local 6 // com.sun.source.util.Plugin plugin
        20: .line 210
            aload 3 /* pluginsToCall */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 9
            goto 28
      StackMap locals: com.sun.tools.javac.api.BasicJavacTask java.util.Set com.sun.tools.javac.platform.PlatformDescription java.util.Set com.sun.tools.javac.processing.JavacProcessingEnvironment java.util.ServiceLoader com.sun.source.util.Plugin java.util.Iterator top java.util.Iterator
      StackMap stack:
        21: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.util.List
            astore 8 /* p */
        start local 8 // com.sun.tools.javac.util.List p
        22: .line 211
            aload 6 /* plugin */
            invokeinterface com.sun.source.util.Plugin.getName:()Ljava/lang/String;
            aload 8 /* p */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 28
        23: .line 212
            aload 3 /* pluginsToCall */
            aload 8 /* p */
            invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
            pop
        24: .line 214
            aload 6 /* plugin */
            aload 0 /* this */
            aload 8 /* p */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            aload 8 /* p */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.util.List.size:()I
            anewarray java.lang.String
            invokevirtual com.sun.tools.javac.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.String[]
            invokeinterface com.sun.source.util.Plugin.init:(Lcom/sun/source/util/JavacTask;[Ljava/lang/String;)V
        25: .line 215
            goto 28
      StackMap locals: com.sun.tools.javac.api.BasicJavacTask java.util.Set com.sun.tools.javac.platform.PlatformDescription java.util.Set com.sun.tools.javac.processing.JavacProcessingEnvironment java.util.ServiceLoader com.sun.source.util.Plugin java.util.Iterator com.sun.tools.javac.util.List java.util.Iterator
      StackMap stack: java.lang.RuntimeException
        26: astore 10 /* ex */
        start local 10 // java.lang.RuntimeException ex
        27: .line 216
            new com.sun.tools.javac.util.PropagatedException
            dup
            aload 10 /* ex */
            invokespecial com.sun.tools.javac.util.PropagatedException.<init>:(Ljava/lang/RuntimeException;)V
            athrow
        end local 10 // java.lang.RuntimeException ex
        end local 8 // com.sun.tools.javac.util.List p
        28: .line 210
      StackMap locals: com.sun.tools.javac.api.BasicJavacTask java.util.Set com.sun.tools.javac.platform.PlatformDescription java.util.Set com.sun.tools.javac.processing.JavacProcessingEnvironment java.util.ServiceLoader com.sun.source.util.Plugin java.util.Iterator top java.util.Iterator
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 21
        end local 6 // com.sun.source.util.Plugin plugin
        29: .line 209
      StackMap locals: com.sun.tools.javac.api.BasicJavacTask java.util.Set com.sun.tools.javac.platform.PlatformDescription java.util.Set com.sun.tools.javac.processing.JavacProcessingEnvironment java.util.ServiceLoader top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 19
        30: .line 221
            aload 3 /* pluginsToCall */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 7
            goto 33
      StackMap locals:
      StackMap stack:
        31: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.util.List
            astore 6 /* p */
        start local 6 // com.sun.tools.javac.util.List p
        32: .line 222
            aload 0 /* this */
            getfield com.sun.tools.javac.api.BasicJavacTask.context:Lcom/sun/tools/javac/util/Context;
            invokestatic com.sun.tools.javac.util.Log.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/util/Log;
            ldc "plugin.not.found"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 6 /* p */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            aastore
            invokevirtual com.sun.tools.javac.util.Log.error:(Ljava/lang/String;[Ljava/lang/Object;)V
        end local 6 // com.sun.tools.javac.util.List p
        33: .line 221
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 31
        34: .line 224
            return
        end local 5 // java.util.ServiceLoader sl
        end local 4 // com.sun.tools.javac.processing.JavacProcessingEnvironment pEnv
        end local 3 // java.util.Set pluginsToCall
        end local 2 // com.sun.tools.javac.platform.PlatformDescription platformProvider
        end local 1 // java.util.Set pluginOpts
        end local 0 // com.sun.tools.javac.api.BasicJavacTask this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   35     0              this  Lcom/sun/tools/javac/api/BasicJavacTask;
            0   35     1        pluginOpts  Ljava/util/Set<Lcom/sun/tools/javac/util/List<Ljava/lang/String;>;>;
            1   35     2  platformProvider  Lcom/sun/tools/javac/platform/PlatformDescription;
            4   12     3        pluginDesc  Lcom/sun/tools/javac/platform/PlatformDescription$PluginInfo<Lcom/sun/source/util/Plugin;>;
            8   12     5           options  Ljava/util/List<Ljava/lang/String;>;
           11   12     6                ex  Ljava/lang/RuntimeException;
           16   35     3     pluginsToCall  Ljava/util/Set<Lcom/sun/tools/javac/util/List<Ljava/lang/String;>;>;
           17   35     4              pEnv  Lcom/sun/tools/javac/processing/JavacProcessingEnvironment;
           18   35     5                sl  Ljava/util/ServiceLoader<Lcom/sun/source/util/Plugin;>;
           20   29     6            plugin  Lcom/sun/source/util/Plugin;
           22   28     8                 p  Lcom/sun/tools/javac/util/List<Ljava/lang/String;>;
           27   28    10                ex  Ljava/lang/RuntimeException;
           32   33     6                 p  Lcom/sun/tools/javac/util/List<Ljava/lang/String;>;
      Exception table:
        from    to  target  type
           8     9      10  Class java.lang.RuntimeException
          24    25      26  Class java.lang.RuntimeException
    Signature: (Ljava/util/Set<Lcom/sun/tools/javac/util/List<Ljava/lang/String;>;>;)V
    MethodParameters:
            Name  Flags
      pluginOpts  

  public void initDocLint(com.sun.tools.javac.util.List<java.lang.String>);
    descriptor: (Lcom/sun/tools/javac/util/List;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.api.BasicJavacTask this
        start local 1 // com.sun.tools.javac.util.List docLintOpts
         0: .line 227
            aload 1 /* docLintOpts */
            invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
            ifeq 2
         1: .line 228
            return
         2: .line 230
      StackMap locals:
      StackMap stack:
            new com.sun.tools.doclint.DocLint
            dup
            invokespecial com.sun.tools.doclint.DocLint.<init>:()V
            aload 0 /* this */
            aload 1 /* docLintOpts */
            aload 1 /* docLintOpts */
            invokevirtual com.sun.tools.javac.util.List.size:()I
            anewarray java.lang.String
            invokevirtual com.sun.tools.javac.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.String[]
            invokevirtual com.sun.tools.doclint.DocLint.init:(Lcom/sun/source/util/JavacTask;[Ljava/lang/String;)V
         3: .line 231
            aload 0 /* this */
            getfield com.sun.tools.javac.api.BasicJavacTask.context:Lcom/sun/tools/javac/util/Context;
            invokestatic com.sun.tools.javac.main.JavaCompiler.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/main/JavaCompiler;
            iconst_1
            putfield com.sun.tools.javac.main.JavaCompiler.keepComments:Z
         4: .line 232
            return
        end local 1 // com.sun.tools.javac.util.List docLintOpts
        end local 0 // com.sun.tools.javac.api.BasicJavacTask this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Lcom/sun/tools/javac/api/BasicJavacTask;
            0    5     1  docLintOpts  Lcom/sun/tools/javac/util/List<Ljava/lang/String;>;
    Signature: (Lcom/sun/tools/javac/util/List<Ljava/lang/String;>;)V
    MethodParameters:
             Name  Flags
      docLintOpts  

  public java.lang.Object call();
    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.api.BasicJavacTask.call:()Ljava/lang/Boolean;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.lang.Exception

  private static java.lang.String lambda$0(java.util.Map$Entry);
    descriptor: (Ljava/util/Map$Entry;)Ljava/lang/String;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.util.Map$Entry e
         0: .line 193
            new java.lang.StringBuilder
            dup
            aload 0 /* e */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            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 0 /* e */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // java.util.Map$Entry e
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     e  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/String;>;
}
SourceFile: "BasicJavacTask.java"
InnerClasses:
  public abstract PluginInfo = com.sun.tools.javac.platform.PlatformDescription$PluginInfo of com.sun.tools.javac.platform.PlatformDescription
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract Entry = java.util.Map$Entry of java.util.Map