class jdk.jshell.TaskFactory$ParseTask extends jdk.jshell.TaskFactory$BaseTask
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: jdk.jshell.TaskFactory$ParseTask
  super_class: jdk.jshell.TaskFactory$BaseTask
{
  private final java.lang.Iterable<? extends com.sun.source.tree.CompilationUnitTree> cuts;
    descriptor: Ljava/lang/Iterable;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/lang/Iterable<+Lcom/sun/source/tree/CompilationUnitTree;>;

  private final java.util.List<? extends com.sun.source.tree.Tree> units;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<+Lcom/sun/source/tree/Tree;>;

  final jdk.jshell.TaskFactory this$0;
    descriptor: Ljdk/jshell/TaskFactory;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  private void <init>(jdk.jshell.TaskFactory$SourceHandler<java.lang.String>, com.sun.tools.javac.api.JavacTaskImpl, javax.tools.DiagnosticCollector<javax.tools.JavaFileObject>, );
    descriptor: (Ljdk/jshell/TaskFactory;Ljdk/jshell/TaskFactory$SourceHandler;Lcom/sun/tools/javac/api/JavacTaskImpl;Ljavax/tools/DiagnosticCollector;Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=6
        start local 0 // jdk.jshell.TaskFactory$ParseTask this
        start local 2 // jdk.jshell.TaskFactory$SourceHandler sh
        start local 3 // com.sun.tools.javac.api.JavacTaskImpl task
        start local 4 // javax.tools.DiagnosticCollector diagnostics
        start local 5 // boolean forceExpression
         0: .line 342
            aload 0 /* this */
            aload 1
            putfield jdk.jshell.TaskFactory$ParseTask.this$0:Ljdk/jshell/TaskFactory;
         1: .line 343
            aload 0 /* this */
            aload 1
            aload 2 /* sh */
            aload 3 /* task */
            aload 4 /* diagnostics */
            invokespecial jdk.jshell.TaskFactory$BaseTask.<init>:(Ljdk/jshell/TaskFactory;Ljdk/jshell/TaskFactory$SourceHandler;Lcom/sun/tools/javac/api/JavacTaskImpl;Ljavax/tools/DiagnosticCollector;)V
         2: .line 344
            aload 0 /* this */
            getfield jdk.jshell.TaskFactory$ParseTask.context:Lcom/sun/tools/javac/util/Context;
            iload 5 /* forceExpression */
            invokestatic jdk.jshell.ReplParserFactory.preRegister:(Lcom/sun/tools/javac/util/Context;Z)V
         3: .line 345
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual jdk.jshell.TaskFactory$ParseTask.parse:()Ljava/lang/Iterable;
            putfield jdk.jshell.TaskFactory$ParseTask.cuts:Ljava/lang/Iterable;
         4: .line 346
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.jshell.TaskFactory$ParseTask.cuts:Ljava/lang/Iterable;
            invokestatic jdk.jshell.Util.stream:(Ljava/lang/Iterable;)Ljava/util/stream/Stream;
         5: .line 347
            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;
                  jdk/jshell/TaskFactory$ParseTask.lambda$0(Lcom/sun/source/tree/CompilationUnitTree;)Ljava/util/stream/Stream; (6)
                  (Lcom/sun/source/tree/CompilationUnitTree;)Ljava/util/stream/Stream;
            invokeinterface java.util.stream.Stream.flatMap:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
         6: .line 351
            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 346
            putfield jdk.jshell.TaskFactory$ParseTask.units:Ljava/util/List;
         8: .line 352
            return
        end local 5 // boolean forceExpression
        end local 4 // javax.tools.DiagnosticCollector diagnostics
        end local 3 // com.sun.tools.javac.api.JavacTaskImpl task
        end local 2 // jdk.jshell.TaskFactory$SourceHandler sh
        end local 0 // jdk.jshell.TaskFactory$ParseTask this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    9     0             this  Ljdk/jshell/TaskFactory$ParseTask;
            0    9     2               sh  Ljdk/jshell/TaskFactory$SourceHandler<Ljava/lang/String;>;
            0    9     3             task  Lcom/sun/tools/javac/api/JavacTaskImpl;
            0    9     4      diagnostics  Ljavax/tools/DiagnosticCollector<Ljavax/tools/JavaFileObject;>;
            0    9     5  forceExpression  Z
    Signature: (Ljdk/jshell/TaskFactory$SourceHandler<Ljava/lang/String;>;Lcom/sun/tools/javac/api/JavacTaskImpl;Ljavax/tools/DiagnosticCollector<Ljavax/tools/JavaFileObject;>;Z)V
    MethodParameters:
                 Name  Flags
      this$0           final
      sh               
      task             
      diagnostics      
      forceExpression  

  private java.lang.Iterable<? extends com.sun.source.tree.CompilationUnitTree> parse();
    descriptor: ()Ljava/lang/Iterable;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // jdk.jshell.TaskFactory$ParseTask this
         0: .line 356
            aload 0 /* this */
            getfield jdk.jshell.TaskFactory$ParseTask.task:Lcom/sun/tools/javac/api/JavacTaskImpl;
            invokevirtual com.sun.tools.javac.api.JavacTaskImpl.parse:()Ljava/lang/Iterable;
         1: areturn
         2: .line 357
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 1 /* ex */
        start local 1 // java.lang.Exception ex
         3: .line 358
            new java.lang.InternalError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Exception during parse - "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* ex */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 1 /* ex */
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.lang.Exception ex
        end local 0 // jdk.jshell.TaskFactory$ParseTask this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljdk/jshell/TaskFactory$ParseTask;
            3    4     1    ex  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.Exception
    Signature: ()Ljava/lang/Iterable<+Lcom/sun/source/tree/CompilationUnitTree;>;

  java.util.List<? extends com.sun.source.tree.Tree> units();
    descriptor: ()Ljava/util/List;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.jshell.TaskFactory$ParseTask this
         0: .line 363
            aload 0 /* this */
            getfield jdk.jshell.TaskFactory$ParseTask.units:Ljava/util/List;
            areturn
        end local 0 // jdk.jshell.TaskFactory$ParseTask this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/jshell/TaskFactory$ParseTask;
    Signature: ()Ljava/util/List<+Lcom/sun/source/tree/Tree;>;

  java.lang.Iterable<? extends com.sun.source.tree.CompilationUnitTree> cuTrees();
    descriptor: ()Ljava/lang/Iterable;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.jshell.TaskFactory$ParseTask this
         0: .line 368
            aload 0 /* this */
            getfield jdk.jshell.TaskFactory$ParseTask.cuts:Ljava/lang/Iterable;
            areturn
        end local 0 // jdk.jshell.TaskFactory$ParseTask this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/jshell/TaskFactory$ParseTask;
    Signature: ()Ljava/lang/Iterable<+Lcom/sun/source/tree/CompilationUnitTree;>;

  private static java.util.stream.Stream lambda$0(com.sun.source.tree.CompilationUnitTree);
    descriptor: (Lcom/sun/source/tree/CompilationUnitTree;)Ljava/util/stream/Stream;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // com.sun.source.tree.CompilationUnitTree cut
         0: .line 348
            aload 0 /* cut */
            invokeinterface com.sun.source.tree.CompilationUnitTree.getImports:()Ljava/util/List;
            astore 1 /* imps */
        start local 1 // java.util.List imps
         1: .line 349
            aload 1 /* imps */
            invokeinterface java.util.List.isEmpty:()Z
            ifne 2
            aload 1 /* imps */
            goto 3
      StackMap locals: java.util.List
      StackMap stack:
         2: aload 0 /* cut */
            invokeinterface com.sun.source.tree.CompilationUnitTree.getTypeDecls:()Ljava/util/List;
      StackMap locals:
      StackMap stack: java.util.List
         3: invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
            areturn
        end local 1 // java.util.List imps
        end local 0 // com.sun.source.tree.CompilationUnitTree cut
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0   cut  Lcom/sun/source/tree/CompilationUnitTree;
            1    4     1  imps  Ljava/util/List<+Lcom/sun/source/tree/ImportTree;>;
}
SourceFile: "TaskFactory.java"
NestHost: jdk.jshell.TaskFactory
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  abstract BaseTask = jdk.jshell.TaskFactory$BaseTask of jdk.jshell.TaskFactory
  ParseTask = jdk.jshell.TaskFactory$ParseTask of jdk.jshell.TaskFactory
  private abstract SourceHandler = jdk.jshell.TaskFactory$SourceHandler of jdk.jshell.TaskFactory