abstract class jdk.jshell.TaskFactory$BaseTask
  minor version: 0
  major version: 59
  flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
  this_class: jdk.jshell.TaskFactory$BaseTask
  super_class: java.lang.Object
{
  final javax.tools.DiagnosticCollector<javax.tools.JavaFileObject> diagnostics;
    descriptor: Ljavax/tools/DiagnosticCollector;
    flags: (0x0010) ACC_FINAL
    Signature: Ljavax/tools/DiagnosticCollector<Ljavax/tools/JavaFileObject;>;

  final com.sun.tools.javac.api.JavacTaskImpl task;
    descriptor: Lcom/sun/tools/javac/api/JavacTaskImpl;
    flags: (0x0010) ACC_FINAL

  private jdk.jshell.DiagList diags;
    descriptor: Ljdk/jshell/DiagList;
    flags: (0x0002) ACC_PRIVATE

  private final jdk.jshell.TaskFactory$SourceHandler<?> sourceHandler;
    descriptor: Ljdk/jshell/TaskFactory$SourceHandler;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljdk/jshell/TaskFactory$SourceHandler<*>;

  final com.sun.tools.javac.util.Context context;
    descriptor: Lcom/sun/tools/javac/util/Context;
    flags: (0x0010) ACC_FINAL

  private com.sun.tools.javac.code.Types types;
    descriptor: Lcom/sun/tools/javac/code/Types;
    flags: (0x0002) ACC_PRIVATE

  private com.sun.tools.javac.util.JavacMessages messages;
    descriptor: Lcom/sun/tools/javac/util/JavacMessages;
    flags: (0x0002) ACC_PRIVATE

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

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

  private <T> void <init>(jdk.jshell.TaskFactory$SourceHandler<T>, 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;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // jdk.jshell.TaskFactory$BaseTask 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
         0: .line 487
            aload 0 /* this */
            aload 1
            putfield jdk.jshell.TaskFactory$BaseTask.this$0:Ljdk/jshell/TaskFactory;
         1: .line 485
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         2: .line 478
            aload 0 /* this */
            aconst_null
            putfield jdk.jshell.TaskFactory$BaseTask.diags:Ljdk/jshell/DiagList;
         3: .line 488
            aload 0 /* this */
            aload 2 /* sh */
            putfield jdk.jshell.TaskFactory$BaseTask.sourceHandler:Ljdk/jshell/TaskFactory$SourceHandler;
         4: .line 489
            aload 0 /* this */
            aload 3 /* task */
            putfield jdk.jshell.TaskFactory$BaseTask.task:Lcom/sun/tools/javac/api/JavacTaskImpl;
         5: .line 490
            aload 0 /* this */
            aload 3 /* task */
            invokevirtual com.sun.tools.javac.api.JavacTaskImpl.getContext:()Lcom/sun/tools/javac/util/Context;
            putfield jdk.jshell.TaskFactory$BaseTask.context:Lcom/sun/tools/javac/util/Context;
         6: .line 491
            aload 0 /* this */
            aload 4 /* diagnostics */
            putfield jdk.jshell.TaskFactory$BaseTask.diagnostics:Ljavax/tools/DiagnosticCollector;
         7: .line 492
            return
        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$BaseTask this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    8     0         this  Ljdk/jshell/TaskFactory$BaseTask;
            0    8     2           sh  Ljdk/jshell/TaskFactory$SourceHandler<TT;>;
            0    8     3         task  Lcom/sun/tools/javac/api/JavacTaskImpl;
            0    8     4  diagnostics  Ljavax/tools/DiagnosticCollector<Ljavax/tools/JavaFileObject;>;
    Signature: <T:Ljava/lang/Object;>(Ljdk/jshell/TaskFactory$SourceHandler<TT;>;Lcom/sun/tools/javac/api/JavacTaskImpl;Ljavax/tools/DiagnosticCollector<Ljavax/tools/JavaFileObject;>;)V
    MethodParameters:
             Name  Flags
      this$0       final
      sh           
      task         
      diagnostics  

  abstract java.lang.Iterable<? extends com.sun.source.tree.CompilationUnitTree> cuTrees();
    descriptor: ()Ljava/lang/Iterable;
    flags: (0x0400) ACC_ABSTRACT
    Signature: ()Ljava/lang/Iterable<+Lcom/sun/source/tree/CompilationUnitTree;>;

  com.sun.source.tree.CompilationUnitTree firstCuTree();
    descriptor: ()Lcom/sun/source/tree/CompilationUnitTree;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.jshell.TaskFactory$BaseTask this
         0: .line 497
            aload 0 /* this */
            invokevirtual jdk.jshell.TaskFactory$BaseTask.cuTrees:()Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.source.tree.CompilationUnitTree
            areturn
        end local 0 // jdk.jshell.TaskFactory$BaseTask this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/jshell/TaskFactory$BaseTask;

  jdk.jshell.Diag diag(javax.tools.Diagnostic<? extends javax.tools.JavaFileObject>);
    descriptor: (Ljavax/tools/Diagnostic;)Ljdk/jshell/Diag;
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.jshell.TaskFactory$BaseTask this
        start local 1 // javax.tools.Diagnostic diag
         0: .line 501
            aload 0 /* this */
            getfield jdk.jshell.TaskFactory$BaseTask.sourceHandler:Ljdk/jshell/TaskFactory$SourceHandler;
            aload 1 /* diag */
            invokeinterface jdk.jshell.TaskFactory$SourceHandler.diag:(Ljavax/tools/Diagnostic;)Ljdk/jshell/Diag;
            areturn
        end local 1 // javax.tools.Diagnostic diag
        end local 0 // jdk.jshell.TaskFactory$BaseTask this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/jshell/TaskFactory$BaseTask;
            0    1     1  diag  Ljavax/tools/Diagnostic<+Ljavax/tools/JavaFileObject;>;
    Signature: (Ljavax/tools/Diagnostic<+Ljavax/tools/JavaFileObject;>;)Ljdk/jshell/Diag;
    MethodParameters:
      Name  Flags
      diag  

  com.sun.tools.javac.util.Context getContext();
    descriptor: ()Lcom/sun/tools/javac/util/Context;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.jshell.TaskFactory$BaseTask this
         0: .line 505
            aload 0 /* this */
            getfield jdk.jshell.TaskFactory$BaseTask.context:Lcom/sun/tools/javac/util/Context;
            areturn
        end local 0 // jdk.jshell.TaskFactory$BaseTask this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/jshell/TaskFactory$BaseTask;

  com.sun.tools.javac.code.Types types();
    descriptor: ()Lcom/sun/tools/javac/code/Types;
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.jshell.TaskFactory$BaseTask this
         0: .line 509
            aload 0 /* this */
            getfield jdk.jshell.TaskFactory$BaseTask.types:Lcom/sun/tools/javac/code/Types;
            ifnonnull 2
         1: .line 510
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.jshell.TaskFactory$BaseTask.context:Lcom/sun/tools/javac/util/Context;
            invokestatic com.sun.tools.javac.code.Types.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/code/Types;
            putfield jdk.jshell.TaskFactory$BaseTask.types:Lcom/sun/tools/javac/code/Types;
         2: .line 512
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.jshell.TaskFactory$BaseTask.types:Lcom/sun/tools/javac/code/Types;
            areturn
        end local 0 // jdk.jshell.TaskFactory$BaseTask this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/jshell/TaskFactory$BaseTask;

  com.sun.tools.javac.util.JavacMessages messages();
    descriptor: ()Lcom/sun/tools/javac/util/JavacMessages;
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.jshell.TaskFactory$BaseTask this
         0: .line 516
            aload 0 /* this */
            getfield jdk.jshell.TaskFactory$BaseTask.messages:Lcom/sun/tools/javac/util/JavacMessages;
            ifnonnull 2
         1: .line 517
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.jshell.TaskFactory$BaseTask.context:Lcom/sun/tools/javac/util/Context;
            invokestatic com.sun.tools.javac.util.JavacMessages.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/util/JavacMessages;
            putfield jdk.jshell.TaskFactory$BaseTask.messages:Lcom/sun/tools/javac/util/JavacMessages;
         2: .line 519
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.jshell.TaskFactory$BaseTask.messages:Lcom/sun/tools/javac/util/JavacMessages;
            areturn
        end local 0 // jdk.jshell.TaskFactory$BaseTask this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/jshell/TaskFactory$BaseTask;

  com.sun.source.util.Trees trees();
    descriptor: ()Lcom/sun/source/util/Trees;
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.jshell.TaskFactory$BaseTask this
         0: .line 523
            aload 0 /* this */
            getfield jdk.jshell.TaskFactory$BaseTask.trees:Lcom/sun/source/util/Trees;
            ifnonnull 2
         1: .line 524
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.jshell.TaskFactory$BaseTask.task:Lcom/sun/tools/javac/api/JavacTaskImpl;
            invokestatic com.sun.source.util.Trees.instance:(Ljavax/tools/JavaCompiler$CompilationTask;)Lcom/sun/source/util/Trees;
            putfield jdk.jshell.TaskFactory$BaseTask.trees:Lcom/sun/source/util/Trees;
         2: .line 526
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.jshell.TaskFactory$BaseTask.trees:Lcom/sun/source/util/Trees;
            areturn
        end local 0 // jdk.jshell.TaskFactory$BaseTask this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/jshell/TaskFactory$BaseTask;

  jdk.jshell.DiagList getDiagnostics();
    descriptor: ()Ljdk/jshell/DiagList;
    flags: (0x0000) 
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // jdk.jshell.TaskFactory$BaseTask this
         0: .line 532
            aload 0 /* this */
            getfield jdk.jshell.TaskFactory$BaseTask.diags:Ljdk/jshell/DiagList;
            ifnonnull 9
         1: .line 533
            new java.util.LinkedHashMap
            dup
            invokespecial java.util.LinkedHashMap.<init>:()V
            astore 1 /* diagMap */
        start local 1 // java.util.LinkedHashMap diagMap
         2: .line 534
            aload 0 /* this */
            getfield jdk.jshell.TaskFactory$BaseTask.diagnostics:Ljavax/tools/DiagnosticCollector;
            invokevirtual javax.tools.DiagnosticCollector.getDiagnostics:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 7
      StackMap locals: jdk.jshell.TaskFactory$BaseTask java.util.LinkedHashMap top java.util.Iterator
      StackMap stack:
         3: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.tools.Diagnostic
            astore 2 /* in */
        start local 2 // javax.tools.Diagnostic in
         4: .line 535
            aload 0 /* this */
            aload 2 /* in */
            invokevirtual jdk.jshell.TaskFactory$BaseTask.diag:(Ljavax/tools/Diagnostic;)Ljdk/jshell/Diag;
            astore 4 /* d */
        start local 4 // jdk.jshell.Diag d
         5: .line 536
            new java.lang.StringBuilder
            dup
            aload 4 /* d */
            invokevirtual jdk.jshell.Diag.getCode:()Ljava/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 4 /* d */
            invokevirtual jdk.jshell.Diag.getPosition:()J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc ":"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* d */
            getstatic jdk.jshell.Util.PARSED_LOCALE:Ljava/util/Locale;
            invokevirtual jdk.jshell.Diag.getMessage:(Ljava/util/Locale;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 5 /* uniqueKey */
        start local 5 // java.lang.String uniqueKey
         6: .line 537
            aload 1 /* diagMap */
            aload 5 /* uniqueKey */
            aload 4 /* d */
            invokevirtual java.util.LinkedHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 5 // java.lang.String uniqueKey
        end local 4 // jdk.jshell.Diag d
        end local 2 // javax.tools.Diagnostic in
         7: .line 534
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         8: .line 539
            aload 0 /* this */
            new jdk.jshell.DiagList
            dup
            aload 1 /* diagMap */
            invokevirtual java.util.LinkedHashMap.values:()Ljava/util/Collection;
            invokespecial jdk.jshell.DiagList.<init>:(Ljava/util/Collection;)V
            putfield jdk.jshell.TaskFactory$BaseTask.diags:Ljdk/jshell/DiagList;
        end local 1 // java.util.LinkedHashMap diagMap
         9: .line 541
      StackMap locals: jdk.jshell.TaskFactory$BaseTask
      StackMap stack:
            aload 0 /* this */
            getfield jdk.jshell.TaskFactory$BaseTask.diags:Ljdk/jshell/DiagList;
            areturn
        end local 0 // jdk.jshell.TaskFactory$BaseTask this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   10     0       this  Ljdk/jshell/TaskFactory$BaseTask;
            2    9     1    diagMap  Ljava/util/LinkedHashMap<Ljava/lang/String;Ljdk/jshell/Diag;>;
            4    7     2         in  Ljavax/tools/Diagnostic<+Ljavax/tools/JavaFileObject;>;
            5    7     4          d  Ljdk/jshell/Diag;
            6    7     5  uniqueKey  Ljava/lang/String;

  boolean hasErrors();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.jshell.TaskFactory$BaseTask this
         0: .line 545
            aload 0 /* this */
            invokevirtual jdk.jshell.TaskFactory$BaseTask.getDiagnostics:()Ljdk/jshell/DiagList;
            invokevirtual jdk.jshell.DiagList.hasErrors:()Z
            ireturn
        end local 0 // jdk.jshell.TaskFactory$BaseTask this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/jshell/TaskFactory$BaseTask;

  java.lang.String shortErrorMessage();
    descriptor: ()Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=2, locals=8, args_size=1
        start local 0 // jdk.jshell.TaskFactory$BaseTask this
         0: .line 549
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* sb */
        start local 1 // java.lang.StringBuilder sb
         1: .line 550
            aload 0 /* this */
            invokevirtual jdk.jshell.TaskFactory$BaseTask.getDiagnostics:()Ljdk/jshell/DiagList;
            invokevirtual jdk.jshell.DiagList.iterator:()Ljava/util/Iterator;
            astore 3
            goto 9
      StackMap locals: jdk.jshell.TaskFactory$BaseTask java.lang.StringBuilder top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.jshell.Diag
            astore 2 /* diag */
        start local 2 // jdk.jshell.Diag diag
         3: .line 551
            aload 2 /* diag */
            getstatic jdk.jshell.Util.PARSED_LOCALE:Ljava/util/Locale;
            invokevirtual jdk.jshell.Diag.getMessage:(Ljava/util/Locale;)Ljava/lang/String;
            ldc "\\r?\\n"
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 8
      StackMap locals: jdk.jshell.TaskFactory$BaseTask java.lang.StringBuilder jdk.jshell.Diag java.util.Iterator top int int java.lang.String[]
      StackMap stack:
         4: aload 7
            iload 5
            aaload
            astore 4 /* line */
        start local 4 // java.lang.String line
         5: .line 552
            aload 4 /* line */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            ldc "location:"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 7
         6: .line 553
            aload 1 /* sb */
            aload 4 /* line */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 4 // java.lang.String line
         7: .line 551
      StackMap locals:
      StackMap stack:
            iinc 5 1
      StackMap locals:
      StackMap stack:
         8: iload 5
            iload 6
            if_icmplt 4
        end local 2 // jdk.jshell.Diag diag
         9: .line 550
      StackMap locals: jdk.jshell.TaskFactory$BaseTask java.lang.StringBuilder top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        10: .line 557
            aload 1 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuilder sb
        end local 0 // jdk.jshell.TaskFactory$BaseTask this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Ljdk/jshell/TaskFactory$BaseTask;
            1   11     1    sb  Ljava/lang/StringBuilder;
            3    9     2  diag  Ljdk/jshell/Diag;
            5    7     4  line  Ljava/lang/String;

  void debugPrintDiagnostics(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=8, locals=11, args_size=2
        start local 0 // jdk.jshell.TaskFactory$BaseTask this
        start local 1 // java.lang.String src
         0: .line 561
            aload 0 /* this */
            invokevirtual jdk.jshell.TaskFactory$BaseTask.getDiagnostics:()Ljdk/jshell/DiagList;
            invokevirtual jdk.jshell.DiagList.iterator:()Ljava/util/Iterator;
            astore 3
            goto 40
      StackMap locals: jdk.jshell.TaskFactory$BaseTask java.lang.String top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.jshell.Diag
            astore 2 /* diag */
        start local 2 // jdk.jshell.Diag diag
         2: .line 562
            aload 0 /* this */
            getfield jdk.jshell.TaskFactory$BaseTask.this$0:Ljdk/jshell/TaskFactory;
            getfield jdk.jshell.TaskFactory.state:Ljdk/jshell/JShell;
            iconst_1
            ldc "ERROR --\n"
            iconst_0
            anewarray java.lang.Object
            invokevirtual jdk.jshell.JShell.debug:(ILjava/lang/String;[Ljava/lang/Object;)V
         3: .line 563
            aload 2 /* diag */
            getstatic jdk.jshell.Util.PARSED_LOCALE:Ljava/util/Locale;
            invokevirtual jdk.jshell.Diag.getMessage:(Ljava/util/Locale;)Ljava/lang/String;
            ldc "\\r?\\n"
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 8
      StackMap locals: jdk.jshell.TaskFactory$BaseTask java.lang.String jdk.jshell.Diag java.util.Iterator top int int java.lang.String[]
      StackMap stack:
         4: aload 7
            iload 5
            aaload
            astore 4 /* line */
        start local 4 // java.lang.String line
         5: .line 564
            aload 4 /* line */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            ldc "location:"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 7
         6: .line 565
            aload 0 /* this */
            getfield jdk.jshell.TaskFactory$BaseTask.this$0:Ljdk/jshell/TaskFactory;
            getfield jdk.jshell.TaskFactory.state:Ljdk/jshell/JShell;
            iconst_1
            ldc "%s\n"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* line */
            aastore
            invokevirtual jdk.jshell.JShell.debug:(ILjava/lang/String;[Ljava/lang/Object;)V
        end local 4 // java.lang.String line
         7: .line 563
      StackMap locals:
      StackMap stack:
            iinc 5 1
      StackMap locals:
      StackMap stack:
         8: iload 5
            iload 6
            if_icmplt 4
         9: .line 568
            aload 2 /* diag */
            invokevirtual jdk.jshell.Diag.getStartPosition:()J
            l2i
            istore 4 /* start */
        start local 4 // int start
        10: .line 569
            aload 2 /* diag */
            invokevirtual jdk.jshell.Diag.getEndPosition:()J
            l2i
            istore 5 /* end */
        start local 5 // int end
        11: .line 570
            aload 1 /* src */
            ifnull 33
        12: .line 571
            aload 1 /* src */
            ldc "\\r?\\n"
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            astore 6 /* srcLines */
        start local 6 // java.lang.String[] srcLines
        13: .line 572
            aload 6 /* srcLines */
            dup
            astore 10
            arraylength
            istore 9
            iconst_0
            istore 8
            goto 17
      StackMap locals: jdk.jshell.TaskFactory$BaseTask java.lang.String jdk.jshell.Diag java.util.Iterator int int java.lang.String[] top int int java.lang.String[]
      StackMap stack:
        14: aload 10
            iload 8
            aaload
            astore 7 /* line */
        start local 7 // java.lang.String line
        15: .line 573
            aload 0 /* this */
            getfield jdk.jshell.TaskFactory$BaseTask.this$0:Ljdk/jshell/TaskFactory;
            getfield jdk.jshell.TaskFactory.state:Ljdk/jshell/JShell;
            iconst_1
            ldc "%s\n"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 7 /* line */
            aastore
            invokevirtual jdk.jshell.JShell.debug:(ILjava/lang/String;[Ljava/lang/Object;)V
        end local 7 // java.lang.String line
        16: .line 572
            iinc 8 1
      StackMap locals:
      StackMap stack:
        17: iload 8
            iload 9
            if_icmplt 14
        18: .line 576
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 7 /* sb */
        start local 7 // java.lang.StringBuilder sb
        19: .line 577
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        20: goto 23
        21: .line 578
      StackMap locals: jdk.jshell.TaskFactory$BaseTask java.lang.String jdk.jshell.Diag java.util.Iterator int int java.lang.String[] java.lang.StringBuilder int
      StackMap stack:
            aload 7 /* sb */
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        22: .line 577
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        23: iload 8 /* i */
            iload 4 /* start */
            if_icmplt 21
        end local 8 // int i
        24: .line 580
            aload 7 /* sb */
            bipush 94
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        25: .line 581
            iload 5 /* end */
            iload 4 /* start */
            if_icmple 32
        26: .line 582
            iload 4 /* start */
            iconst_1
            iadd
            istore 8 /* i */
        start local 8 // int i
        27: goto 30
        28: .line 583
      StackMap locals:
      StackMap stack:
            aload 7 /* sb */
            bipush 45
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        29: .line 582
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        30: iload 8 /* i */
            iload 5 /* end */
            if_icmplt 28
        end local 8 // int i
        31: .line 585
            aload 7 /* sb */
            bipush 94
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        32: .line 587
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.jshell.TaskFactory$BaseTask.this$0:Ljdk/jshell/TaskFactory;
            getfield jdk.jshell.TaskFactory.state:Ljdk/jshell/JShell;
            iconst_1
            ldc "%s\n"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 7 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aastore
            invokevirtual jdk.jshell.JShell.debug:(ILjava/lang/String;[Ljava/lang/Object;)V
        end local 7 // java.lang.StringBuilder sb
        end local 6 // java.lang.String[] srcLines
        33: .line 589
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.jshell.TaskFactory$BaseTask.this$0:Ljdk/jshell/TaskFactory;
            getfield jdk.jshell.TaskFactory.state:Ljdk/jshell/JShell;
            iconst_1
            ldc "printDiagnostics start-pos = %d ==> %d -- wrap = %s\n"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
        34: .line 590
            aload 2 /* diag */
            invokevirtual jdk.jshell.Diag.getStartPosition:()J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_1
            iload 4 /* start */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            aload 0 /* this */
            aastore
        35: .line 589
            invokevirtual jdk.jshell.JShell.debug:(ILjava/lang/String;[Ljava/lang/Object;)V
        36: .line 591
            aload 0 /* this */
            getfield jdk.jshell.TaskFactory$BaseTask.this$0:Ljdk/jshell/TaskFactory;
            getfield jdk.jshell.TaskFactory.state:Ljdk/jshell/JShell;
            iconst_1
            ldc "Code: %s\n"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* diag */
            invokevirtual jdk.jshell.Diag.getCode:()Ljava/lang/String;
            aastore
            invokevirtual jdk.jshell.JShell.debug:(ILjava/lang/String;[Ljava/lang/Object;)V
        37: .line 592
            aload 0 /* this */
            getfield jdk.jshell.TaskFactory$BaseTask.this$0:Ljdk/jshell/TaskFactory;
            getfield jdk.jshell.TaskFactory.state:Ljdk/jshell/JShell;
            iconst_1
            ldc "Pos: %d (%d - %d) -- %s\n"
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* diag */
            invokevirtual jdk.jshell.Diag.getPosition:()J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_1
        38: .line 593
            aload 2 /* diag */
            invokevirtual jdk.jshell.Diag.getStartPosition:()J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_2
            aload 2 /* diag */
            invokevirtual jdk.jshell.Diag.getEndPosition:()J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_3
            aload 2 /* diag */
            aconst_null
            invokevirtual jdk.jshell.Diag.getMessage:(Ljava/util/Locale;)Ljava/lang/String;
            aastore
        39: .line 592
            invokevirtual jdk.jshell.JShell.debug:(ILjava/lang/String;[Ljava/lang/Object;)V
        end local 5 // int end
        end local 4 // int start
        end local 2 // jdk.jshell.Diag diag
        40: .line 561
      StackMap locals: jdk.jshell.TaskFactory$BaseTask java.lang.String top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
        41: .line 595
            return
        end local 1 // java.lang.String src
        end local 0 // jdk.jshell.TaskFactory$BaseTask this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   42     0      this  Ljdk/jshell/TaskFactory$BaseTask;
            0   42     1       src  Ljava/lang/String;
            2   40     2      diag  Ljdk/jshell/Diag;
            5    7     4      line  Ljava/lang/String;
           10   40     4     start  I
           11   40     5       end  I
           13   33     6  srcLines  [Ljava/lang/String;
           15   16     7      line  Ljava/lang/String;
           19   33     7        sb  Ljava/lang/StringBuilder;
           20   24     8         i  I
           27   31     8         i  I
    MethodParameters:
      Name  Flags
      src   
}
SourceFile: "TaskFactory.java"
NestHost: jdk.jshell.TaskFactory
InnerClasses:
  public abstract CompilationTask = javax.tools.JavaCompiler$CompilationTask of javax.tools.JavaCompiler
  abstract BaseTask = jdk.jshell.TaskFactory$BaseTask of jdk.jshell.TaskFactory
  private abstract SourceHandler = jdk.jshell.TaskFactory$SourceHandler of jdk.jshell.TaskFactory