public class jdk.jshell.JShell implements java.lang.AutoCloseable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: jdk.jshell.JShell
  super_class: java.lang.Object
{
  final jdk.jshell.SnippetMaps maps;
    descriptor: Ljdk/jshell/SnippetMaps;
    flags: (0x0010) ACC_FINAL

  final jdk.jshell.KeyMap keyMap;
    descriptor: Ljdk/jshell/KeyMap;
    flags: (0x0010) ACC_FINAL

  final jdk.jshell.OuterWrapMap outerMap;
    descriptor: Ljdk/jshell/OuterWrapMap;
    flags: (0x0010) ACC_FINAL

  final jdk.jshell.TaskFactory taskFactory;
    descriptor: Ljdk/jshell/TaskFactory;
    flags: (0x0010) ACC_FINAL

  final java.io.InputStream in;
    descriptor: Ljava/io/InputStream;
    flags: (0x0010) ACC_FINAL

  final java.io.PrintStream out;
    descriptor: Ljava/io/PrintStream;
    flags: (0x0010) ACC_FINAL

  final java.io.PrintStream err;
    descriptor: Ljava/io/PrintStream;
    flags: (0x0010) ACC_FINAL

  final java.util.function.Supplier<java.lang.String> tempVariableNameGenerator;
    descriptor: Ljava/util/function/Supplier;
    flags: (0x0010) ACC_FINAL
    Signature: Ljava/util/function/Supplier<Ljava/lang/String;>;

  final java.util.function.BiFunction<jdk.jshell.Snippet, java.lang.Integer, java.lang.String> idGenerator;
    descriptor: Ljava/util/function/BiFunction;
    flags: (0x0010) ACC_FINAL
    Signature: Ljava/util/function/BiFunction<Ljdk/jshell/Snippet;Ljava/lang/Integer;Ljava/lang/String;>;

  final java.util.List<java.lang.String> extraRemoteVMOptions;
    descriptor: Ljava/util/List;
    flags: (0x0010) ACC_FINAL
    Signature: Ljava/util/List<Ljava/lang/String;>;

  final java.util.List<java.lang.String> extraCompilerOptions;
    descriptor: Ljava/util/List;
    flags: (0x0010) ACC_FINAL
    Signature: Ljava/util/List<Ljava/lang/String;>;

  final java.util.function.Function<javax.tools.StandardJavaFileManager, javax.tools.StandardJavaFileManager> fileManagerMapping;
    descriptor: Ljava/util/function/Function;
    flags: (0x0010) ACC_FINAL
    Signature: Ljava/util/function/Function<Ljavax/tools/StandardJavaFileManager;Ljavax/tools/StandardJavaFileManager;>;

  private int nextKeyIndex;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  final jdk.jshell.Eval eval;
    descriptor: Ljdk/jshell/Eval;
    flags: (0x0010) ACC_FINAL

  final jdk.jshell.ClassTracker classTracker;
    descriptor: Ljdk/jshell/ClassTracker;
    flags: (0x0010) ACC_FINAL

  private final java.util.Map<jdk.jshell.JShell$Subscription, java.util.function.Consumer<jdk.jshell.JShell>> shutdownListeners;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljdk/jshell/JShell$Subscription;Ljava/util/function/Consumer<Ljdk/jshell/JShell;>;>;

  private final java.util.Map<jdk.jshell.JShell$Subscription, java.util.function.Consumer<jdk.jshell.SnippetEvent>> keyStatusListeners;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljdk/jshell/JShell$Subscription;Ljava/util/function/Consumer<Ljdk/jshell/SnippetEvent;>;>;

  private boolean closed;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private final jdk.jshell.spi.ExecutionControl executionControl;
    descriptor: Ljdk/jshell/spi/ExecutionControl;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private jdk.jshell.SourceCodeAnalysisImpl sourceCodeAnalysis;
    descriptor: Ljdk/jshell/SourceCodeAnalysisImpl;
    flags: (0x0002) ACC_PRIVATE

  private static final java.lang.String L10N_RB_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "jdk.jshell.resources.l10n"

  private static java.util.ResourceBundle outputRB;
    descriptor: Ljava/util/ResourceBundle;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 113
            aconst_null
            putstatic jdk.jshell.JShell.outputRB:Ljava/util/ResourceBundle;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(jdk.jshell.JShell$Builder);
    descriptor: (Ljdk/jshell/JShell$Builder;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // jdk.jshell.JShell this
        start local 1 // jdk.jshell.JShell$Builder b
         0: .line 115
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 101
            aload 0 /* this */
            iconst_1
            putfield jdk.jshell.JShell.nextKeyIndex:I
         2: .line 105
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield jdk.jshell.JShell.shutdownListeners:Ljava/util/Map;
         3: .line 106
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield jdk.jshell.JShell.keyStatusListeners:Ljava/util/Map;
         4: .line 107
            aload 0 /* this */
            iconst_0
            putfield jdk.jshell.JShell.closed:Z
         5: .line 110
            aload 0 /* this */
            aconst_null
            putfield jdk.jshell.JShell.sourceCodeAnalysis:Ljdk/jshell/SourceCodeAnalysisImpl;
         6: .line 116
            aload 0 /* this */
            aload 1 /* b */
            getfield jdk.jshell.JShell$Builder.in:Ljava/io/InputStream;
            putfield jdk.jshell.JShell.in:Ljava/io/InputStream;
         7: .line 117
            aload 0 /* this */
            aload 1 /* b */
            getfield jdk.jshell.JShell$Builder.out:Ljava/io/PrintStream;
            putfield jdk.jshell.JShell.out:Ljava/io/PrintStream;
         8: .line 118
            aload 0 /* this */
            aload 1 /* b */
            getfield jdk.jshell.JShell$Builder.err:Ljava/io/PrintStream;
            putfield jdk.jshell.JShell.err:Ljava/io/PrintStream;
         9: .line 119
            aload 0 /* this */
            aload 1 /* b */
            getfield jdk.jshell.JShell$Builder.tempVariableNameGenerator:Ljava/util/function/Supplier;
            putfield jdk.jshell.JShell.tempVariableNameGenerator:Ljava/util/function/Supplier;
        10: .line 120
            aload 0 /* this */
            aload 1 /* b */
            getfield jdk.jshell.JShell$Builder.idGenerator:Ljava/util/function/BiFunction;
            putfield jdk.jshell.JShell.idGenerator:Ljava/util/function/BiFunction;
        11: .line 121
            aload 0 /* this */
            aload 1 /* b */
            getfield jdk.jshell.JShell$Builder.extraRemoteVMOptions:Ljava/util/List;
            putfield jdk.jshell.JShell.extraRemoteVMOptions:Ljava/util/List;
        12: .line 122
            aload 0 /* this */
            aload 1 /* b */
            getfield jdk.jshell.JShell$Builder.extraCompilerOptions:Ljava/util/List;
            putfield jdk.jshell.JShell.extraCompilerOptions:Ljava/util/List;
        13: .line 123
            aload 0 /* this */
            aload 1 /* b */
            getfield jdk.jshell.JShell$Builder.fileManagerMapping:Ljava/util/function/Function;
            putfield jdk.jshell.JShell.fileManagerMapping:Ljava/util/function/Function;
        14: .line 125
            aload 1 /* b */
            getfield jdk.jshell.JShell$Builder.executionControlProvider:Ljdk/jshell/spi/ExecutionControlProvider;
            ifnull 21
        15: .line 126
            aload 0 /* this */
            aload 1 /* b */
            getfield jdk.jshell.JShell$Builder.executionControlProvider:Ljdk/jshell/spi/ExecutionControlProvider;
            new jdk.jshell.JShell$ExecutionEnvImpl
            dup
            aload 0 /* this */
            invokespecial jdk.jshell.JShell$ExecutionEnvImpl.<init>:(Ljdk/jshell/JShell;)V
        16: .line 127
            aload 1 /* b */
            getfield jdk.jshell.JShell$Builder.executionControlParameters:Ljava/util/Map;
            ifnonnull 18
        17: .line 128
            aload 1 /* b */
            getfield jdk.jshell.JShell$Builder.executionControlProvider:Ljdk/jshell/spi/ExecutionControlProvider;
            invokeinterface jdk.jshell.spi.ExecutionControlProvider.defaultParameters:()Ljava/util/Map;
            goto 19
        18: .line 129
      StackMap locals: jdk.jshell.JShell jdk.jshell.JShell$Builder
      StackMap stack: jdk.jshell.JShell jdk.jshell.spi.ExecutionControlProvider jdk.jshell.JShell$ExecutionEnvImpl
            aload 1 /* b */
            getfield jdk.jshell.JShell$Builder.executionControlParameters:Ljava/util/Map;
        19: .line 126
      StackMap locals: jdk.jshell.JShell jdk.jshell.JShell$Builder
      StackMap stack: jdk.jshell.JShell jdk.jshell.spi.ExecutionControlProvider jdk.jshell.JShell$ExecutionEnvImpl java.util.Map
            invokeinterface jdk.jshell.spi.ExecutionControlProvider.generate:(Ljdk/jshell/spi/ExecutionEnv;Ljava/util/Map;)Ljdk/jshell/spi/ExecutionControl;
            putfield jdk.jshell.JShell.executionControl:Ljdk/jshell/spi/ExecutionControl;
        20: .line 130
            goto 33
        21: .line 131
      StackMap locals:
      StackMap stack:
            invokestatic java.net.InetAddress.getLoopbackAddress:()Ljava/net/InetAddress;
            invokevirtual java.net.InetAddress.getHostAddress:()Ljava/lang/String;
            astore 2 /* loopback */
        start local 2 // java.lang.String loopback
        22: .line 132
            aload 1 /* b */
            getfield jdk.jshell.JShell$Builder.executionControlSpec:Ljava/lang/String;
            ifnonnull 27
        23: .line 133
            new java.lang.StringBuilder
            dup
            ldc "failover:0(jdi:hostname("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* loopback */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ")),"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        24: .line 134
            ldc "1(jdi:launch(true)), 2(jdi)"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        25: .line 133
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        26: .line 134
            goto 28
        27: .line 135
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* b */
            getfield jdk.jshell.JShell$Builder.executionControlSpec:Ljava/lang/String;
        28: .line 132
      StackMap locals:
      StackMap stack: java.lang.String
            astore 3 /* spec */
        start local 3 // java.lang.String spec
        29: .line 136
            aload 0 /* this */
            new jdk.jshell.JShell$ExecutionEnvImpl
            dup
            aload 0 /* this */
            invokespecial jdk.jshell.JShell$ExecutionEnvImpl.<init>:(Ljdk/jshell/JShell;)V
            aload 3 /* spec */
            invokestatic jdk.jshell.spi.ExecutionControl.generate:(Ljdk/jshell/spi/ExecutionEnv;Ljava/lang/String;)Ljdk/jshell/spi/ExecutionControl;
            putfield jdk.jshell.JShell.executionControl:Ljdk/jshell/spi/ExecutionControl;
        end local 3 // java.lang.String spec
        end local 2 // java.lang.String loopback
        30: .line 138
            goto 33
      StackMap locals: jdk.jshell.JShell jdk.jshell.JShell$Builder
      StackMap stack: java.lang.Throwable
        31: astore 2 /* ex */
        start local 2 // java.lang.Throwable ex
        32: .line 139
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Launching JShell execution engine threw: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* ex */
            invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 2 /* ex */
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.lang.Throwable ex
        33: .line 142
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new jdk.jshell.SnippetMaps
            dup
            aload 0 /* this */
            invokespecial jdk.jshell.SnippetMaps.<init>:(Ljdk/jshell/JShell;)V
            putfield jdk.jshell.JShell.maps:Ljdk/jshell/SnippetMaps;
        34: .line 143
            aload 0 /* this */
            new jdk.jshell.KeyMap
            dup
            aload 0 /* this */
            invokespecial jdk.jshell.KeyMap.<init>:(Ljdk/jshell/JShell;)V
            putfield jdk.jshell.JShell.keyMap:Ljdk/jshell/KeyMap;
        35: .line 144
            aload 0 /* this */
            new jdk.jshell.OuterWrapMap
            dup
            aload 0 /* this */
            invokespecial jdk.jshell.OuterWrapMap.<init>:(Ljdk/jshell/JShell;)V
            putfield jdk.jshell.JShell.outerMap:Ljdk/jshell/OuterWrapMap;
        36: .line 145
            aload 0 /* this */
            new jdk.jshell.TaskFactory
            dup
            aload 0 /* this */
            invokespecial jdk.jshell.TaskFactory.<init>:(Ljdk/jshell/JShell;)V
            putfield jdk.jshell.JShell.taskFactory:Ljdk/jshell/TaskFactory;
        37: .line 146
            aload 0 /* this */
            new jdk.jshell.Eval
            dup
            aload 0 /* this */
            invokespecial jdk.jshell.Eval.<init>:(Ljdk/jshell/JShell;)V
            putfield jdk.jshell.JShell.eval:Ljdk/jshell/Eval;
        38: .line 147
            aload 0 /* this */
            new jdk.jshell.ClassTracker
            dup
            invokespecial jdk.jshell.ClassTracker.<init>:()V
            putfield jdk.jshell.JShell.classTracker:Ljdk/jshell/ClassTracker;
        39: .line 148
            return
        end local 1 // jdk.jshell.JShell$Builder b
        end local 0 // jdk.jshell.JShell this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   40     0      this  Ljdk/jshell/JShell;
            0   40     1         b  Ljdk/jshell/JShell$Builder;
           22   30     2  loopback  Ljava/lang/String;
           29   30     3      spec  Ljava/lang/String;
           32   33     2        ex  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
          14    30      31  Class java.lang.Throwable
    Exceptions:
      throws java.lang.IllegalStateException
    MethodParameters:
      Name  Flags
      b     

  public static jdk.jshell.JShell create();
    descriptor: ()Ljdk/jshell/JShell;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 420
            invokestatic jdk.jshell.JShell.builder:()Ljdk/jshell/JShell$Builder;
            invokevirtual jdk.jshell.JShell$Builder.build:()Ljdk/jshell/JShell;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.lang.IllegalStateException

  public static jdk.jshell.JShell$Builder builder();
    descriptor: ()Ljdk/jshell/JShell$Builder;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 433
            new jdk.jshell.JShell$Builder
            dup
            invokespecial jdk.jshell.JShell$Builder.<init>:()V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public jdk.jshell.SourceCodeAnalysis sourceCodeAnalysis();
    descriptor: ()Ljdk/jshell/SourceCodeAnalysis;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // jdk.jshell.JShell this
         0: .line 446
            aload 0 /* this */
            getfield jdk.jshell.JShell.sourceCodeAnalysis:Ljdk/jshell/SourceCodeAnalysisImpl;
            ifnonnull 2
         1: .line 447
            aload 0 /* this */
            new jdk.jshell.SourceCodeAnalysisImpl
            dup
            aload 0 /* this */
            invokespecial jdk.jshell.SourceCodeAnalysisImpl.<init>:(Ljdk/jshell/JShell;)V
            putfield jdk.jshell.JShell.sourceCodeAnalysis:Ljdk/jshell/SourceCodeAnalysisImpl;
         2: .line 449
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.jshell.JShell.sourceCodeAnalysis:Ljdk/jshell/SourceCodeAnalysisImpl;
            areturn
        end local 0 // jdk.jshell.JShell this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/jshell/JShell;

  public java.util.List<jdk.jshell.SnippetEvent> eval(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=7, args_size=2
        start local 0 // jdk.jshell.JShell this
        start local 1 // java.lang.String input
         0: .line 487
            aload 0 /* this */
            getfield jdk.jshell.JShell.sourceCodeAnalysis:Ljdk/jshell/SourceCodeAnalysisImpl;
            astore 2 /* a */
        start local 2 // jdk.jshell.SourceCodeAnalysisImpl a
         1: .line 488
            aload 2 /* a */
            ifnull 3
         2: .line 489
            aload 2 /* a */
            invokevirtual jdk.jshell.SourceCodeAnalysisImpl.suspendIndexing:()V
         3: .line 492
      StackMap locals: jdk.jshell.SourceCodeAnalysisImpl
      StackMap stack:
            aload 0 /* this */
            invokevirtual jdk.jshell.JShell.checkIfAlive:()V
         4: .line 493
            aload 0 /* this */
            getfield jdk.jshell.JShell.eval:Ljdk/jshell/Eval;
            aload 1 /* input */
            invokevirtual jdk.jshell.Eval.eval:(Ljava/lang/String;)Ljava/util/List;
            astore 3 /* events */
        start local 3 // java.util.List events
         5: .line 494
            aload 3 /* events */
            aload 0 /* this */
            invokedynamic accept(Ljdk/jshell/JShell;)Ljava/util/function/Consumer;
              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;)V
                  jdk/jshell/JShell.notifyKeyStatusEvent(Ljdk/jshell/SnippetEvent;)V (7)
                  (Ljdk/jshell/SnippetEvent;)V
            invokeinterface java.util.List.forEach:(Ljava/util/function/Consumer;)V
         6: .line 495
            aload 3 /* events */
            invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
            astore 6
         7: .line 497
            aload 2 /* a */
            ifnull 9
         8: .line 498
            aload 2 /* a */
            invokevirtual jdk.jshell.SourceCodeAnalysisImpl.resumeIndexing:()V
         9: .line 495
      StackMap locals: jdk.jshell.JShell java.lang.String jdk.jshell.SourceCodeAnalysisImpl java.util.List top top java.util.List
      StackMap stack:
            aload 6
            areturn
        end local 3 // java.util.List events
        10: .line 496
      StackMap locals: jdk.jshell.JShell java.lang.String jdk.jshell.SourceCodeAnalysisImpl
      StackMap stack: java.lang.Throwable
            astore 5
        11: .line 497
            aload 2 /* a */
            ifnull 13
        12: .line 498
            aload 2 /* a */
            invokevirtual jdk.jshell.SourceCodeAnalysisImpl.resumeIndexing:()V
        13: .line 500
      StackMap locals: jdk.jshell.JShell java.lang.String jdk.jshell.SourceCodeAnalysisImpl top top java.lang.Throwable
      StackMap stack:
            aload 5
            athrow
        end local 2 // jdk.jshell.SourceCodeAnalysisImpl a
        end local 1 // java.lang.String input
        end local 0 // jdk.jshell.JShell this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   14     0    this  Ljdk/jshell/JShell;
            0   14     1   input  Ljava/lang/String;
            1   14     2       a  Ljdk/jshell/SourceCodeAnalysisImpl;
            5   10     3  events  Ljava/util/List<Ljdk/jshell/SnippetEvent;>;
      Exception table:
        from    to  target  type
           3     7      10  any
    Exceptions:
      throws java.lang.IllegalStateException
    Signature: (Ljava/lang/String;)Ljava/util/List<Ljdk/jshell/SnippetEvent;>;
    MethodParameters:
       Name  Flags
      input  

  public java.util.List<jdk.jshell.SnippetEvent> drop(jdk.jshell.Snippet);
    descriptor: (Ljdk/jshell/Snippet;)Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // jdk.jshell.JShell this
        start local 1 // jdk.jshell.Snippet snippet
         0: .line 518
            aload 0 /* this */
            invokevirtual jdk.jshell.JShell.checkIfAlive:()V
         1: .line 519
            aload 0 /* this */
            aload 1 /* snippet */
            invokevirtual jdk.jshell.JShell.checkValidSnippet:(Ljdk/jshell/Snippet;)Ljdk/jshell/Snippet;
            pop
         2: .line 520
            aload 0 /* this */
            getfield jdk.jshell.JShell.eval:Ljdk/jshell/Eval;
            aload 1 /* snippet */
            invokevirtual jdk.jshell.Eval.drop:(Ljdk/jshell/Snippet;)Ljava/util/List;
            astore 2 /* events */
        start local 2 // java.util.List events
         3: .line 521
            aload 2 /* events */
            aload 0 /* this */
            invokedynamic accept(Ljdk/jshell/JShell;)Ljava/util/function/Consumer;
              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;)V
                  jdk/jshell/JShell.notifyKeyStatusEvent(Ljdk/jshell/SnippetEvent;)V (7)
                  (Ljdk/jshell/SnippetEvent;)V
            invokeinterface java.util.List.forEach:(Ljava/util/function/Consumer;)V
         4: .line 522
            aload 2 /* events */
            invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
            areturn
        end local 2 // java.util.List events
        end local 1 // jdk.jshell.Snippet snippet
        end local 0 // jdk.jshell.JShell this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Ljdk/jshell/JShell;
            0    5     1  snippet  Ljdk/jshell/Snippet;
            3    5     2   events  Ljava/util/List<Ljdk/jshell/SnippetEvent;>;
    Exceptions:
      throws java.lang.IllegalStateException
    Signature: (Ljdk/jshell/Snippet;)Ljava/util/List<Ljdk/jshell/SnippetEvent;>;
    MethodParameters:
         Name  Flags
      snippet  

  public void addToClasspath(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // jdk.jshell.JShell this
        start local 1 // java.lang.String path
         0: .line 533
            aload 0 /* this */
            invokevirtual jdk.jshell.JShell.checkIfAlive:()V
         1: .line 535
            aload 0 /* this */
            getfield jdk.jshell.JShell.taskFactory:Ljdk/jshell/TaskFactory;
            aload 1 /* path */
            invokevirtual jdk.jshell.TaskFactory.addToClasspath:(Ljava/lang/String;)V
         2: .line 538
            aload 0 /* this */
            invokevirtual jdk.jshell.JShell.executionControl:()Ljdk/jshell/spi/ExecutionControl;
            aload 1 /* path */
            invokeinterface jdk.jshell.spi.ExecutionControl.addToClasspath:(Ljava/lang/String;)V
         3: .line 539
            goto 6
      StackMap locals:
      StackMap stack: jdk.jshell.spi.ExecutionControl$ExecutionControlException
         4: astore 2 /* ex */
        start local 2 // jdk.jshell.spi.ExecutionControl$ExecutionControlException ex
         5: .line 540
            aload 0 /* this */
            aload 2 /* ex */
            new java.lang.StringBuilder
            dup
            ldc "on addToClasspath("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* path */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual jdk.jshell.JShell.debug:(Ljava/lang/Exception;Ljava/lang/String;)V
        end local 2 // jdk.jshell.spi.ExecutionControl$ExecutionControlException ex
         6: .line 542
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.jshell.JShell.sourceCodeAnalysis:Ljdk/jshell/SourceCodeAnalysisImpl;
            ifnull 8
         7: .line 543
            aload 0 /* this */
            getfield jdk.jshell.JShell.sourceCodeAnalysis:Ljdk/jshell/SourceCodeAnalysisImpl;
            invokevirtual jdk.jshell.SourceCodeAnalysisImpl.classpathChanged:()V
         8: .line 545
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String path
        end local 0 // jdk.jshell.JShell this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Ljdk/jshell/JShell;
            0    9     1  path  Ljava/lang/String;
            5    6     2    ex  Ljdk/jshell/spi/ExecutionControl$ExecutionControlException;
      Exception table:
        from    to  target  type
           2     3       4  Class jdk.jshell.spi.ExecutionControl$ExecutionControlException
    MethodParameters:
      Name  Flags
      path  

  public void stop();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // jdk.jshell.JShell this
         0: .line 561
            aload 0 /* this */
            getfield jdk.jshell.JShell.executionControl:Ljdk/jshell/spi/ExecutionControl;
            ifnull 5
         1: .line 563
            aload 0 /* this */
            getfield jdk.jshell.JShell.executionControl:Ljdk/jshell/spi/ExecutionControl;
            invokeinterface jdk.jshell.spi.ExecutionControl.stop:()V
         2: .line 564
            goto 5
      StackMap locals:
      StackMap stack: jdk.jshell.spi.ExecutionControl$ExecutionControlException
         3: astore 1 /* ex */
        start local 1 // jdk.jshell.spi.ExecutionControl$ExecutionControlException ex
         4: .line 565
            aload 0 /* this */
            aload 1 /* ex */
            ldc "on stop()"
            invokevirtual jdk.jshell.JShell.debug:(Ljava/lang/Exception;Ljava/lang/String;)V
        end local 1 // jdk.jshell.spi.ExecutionControl$ExecutionControlException ex
         5: .line 568
      StackMap locals:
      StackMap stack:
            return
        end local 0 // jdk.jshell.JShell this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljdk/jshell/JShell;
            4    5     1    ex  Ljdk/jshell/spi/ExecutionControl$ExecutionControlException;
      Exception table:
        from    to  target  type
           1     2       3  Class jdk.jshell.spi.ExecutionControl$ExecutionControlException

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.jshell.JShell this
         0: .line 576
            aload 0 /* this */
            invokevirtual jdk.jshell.JShell.closeDown:()V
         1: .line 577
            return
        end local 0 // jdk.jshell.JShell this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/jshell/JShell;

  public java.util.stream.Stream<jdk.jshell.Snippet> snippets();
    descriptor: ()Ljava/util/stream/Stream;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.jshell.JShell this
         0: .line 584
            aload 0 /* this */
            getfield jdk.jshell.JShell.maps:Ljdk/jshell/SnippetMaps;
            invokevirtual jdk.jshell.SnippetMaps.snippetList:()Ljava/util/List;
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
            areturn
        end local 0 // jdk.jshell.JShell this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/jshell/JShell;
    Signature: ()Ljava/util/stream/Stream<Ljdk/jshell/Snippet;>;

  public java.util.stream.Stream<jdk.jshell.VarSnippet> variables();
    descriptor: ()Ljava/util/stream/Stream;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.jshell.JShell this
         0: .line 596
            aload 0 /* this */
            invokevirtual jdk.jshell.JShell.snippets:()Ljava/util/stream/Stream;
         1: .line 597
            aload 0 /* this */
            invokedynamic test(Ljdk/jshell/JShell;)Ljava/util/function/Predicate;
              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;)Z
                  jdk/jshell/JShell.lambda$2(Ljdk/jshell/Snippet;)Z (7)
                  (Ljdk/jshell/Snippet;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
         2: .line 598
            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/JShell.lambda$3(Ljdk/jshell/Snippet;)Ljdk/jshell/VarSnippet; (6)
                  (Ljdk/jshell/Snippet;)Ljdk/jshell/VarSnippet;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
         3: .line 596
            areturn
        end local 0 // jdk.jshell.JShell this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljdk/jshell/JShell;
    Signature: ()Ljava/util/stream/Stream<Ljdk/jshell/VarSnippet;>;

  public java.util.stream.Stream<jdk.jshell.MethodSnippet> methods();
    descriptor: ()Ljava/util/stream/Stream;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.jshell.JShell this
         0: .line 610
            aload 0 /* this */
            invokevirtual jdk.jshell.JShell.snippets:()Ljava/util/stream/Stream;
         1: .line 611
            aload 0 /* this */
            invokedynamic test(Ljdk/jshell/JShell;)Ljava/util/function/Predicate;
              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;)Z
                  jdk/jshell/JShell.lambda$4(Ljdk/jshell/Snippet;)Z (7)
                  (Ljdk/jshell/Snippet;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
         2: .line 612
            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/JShell.lambda$5(Ljdk/jshell/Snippet;)Ljdk/jshell/MethodSnippet; (6)
                  (Ljdk/jshell/Snippet;)Ljdk/jshell/MethodSnippet;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
         3: .line 610
            areturn
        end local 0 // jdk.jshell.JShell this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljdk/jshell/JShell;
    Signature: ()Ljava/util/stream/Stream<Ljdk/jshell/MethodSnippet;>;

  public java.util.stream.Stream<jdk.jshell.TypeDeclSnippet> types();
    descriptor: ()Ljava/util/stream/Stream;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.jshell.JShell this
         0: .line 624
            aload 0 /* this */
            invokevirtual jdk.jshell.JShell.snippets:()Ljava/util/stream/Stream;
         1: .line 625
            aload 0 /* this */
            invokedynamic test(Ljdk/jshell/JShell;)Ljava/util/function/Predicate;
              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;)Z
                  jdk/jshell/JShell.lambda$6(Ljdk/jshell/Snippet;)Z (7)
                  (Ljdk/jshell/Snippet;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
         2: .line 626
            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/JShell.lambda$7(Ljdk/jshell/Snippet;)Ljdk/jshell/TypeDeclSnippet; (6)
                  (Ljdk/jshell/Snippet;)Ljdk/jshell/TypeDeclSnippet;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
         3: .line 624
            areturn
        end local 0 // jdk.jshell.JShell this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljdk/jshell/JShell;
    Signature: ()Ljava/util/stream/Stream<Ljdk/jshell/TypeDeclSnippet;>;

  public java.util.stream.Stream<jdk.jshell.ImportSnippet> imports();
    descriptor: ()Ljava/util/stream/Stream;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.jshell.JShell this
         0: .line 638
            aload 0 /* this */
            invokevirtual jdk.jshell.JShell.snippets:()Ljava/util/stream/Stream;
         1: .line 639
            aload 0 /* this */
            invokedynamic test(Ljdk/jshell/JShell;)Ljava/util/function/Predicate;
              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;)Z
                  jdk/jshell/JShell.lambda$8(Ljdk/jshell/Snippet;)Z (7)
                  (Ljdk/jshell/Snippet;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
         2: .line 640
            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/JShell.lambda$9(Ljdk/jshell/Snippet;)Ljdk/jshell/ImportSnippet; (6)
                  (Ljdk/jshell/Snippet;)Ljdk/jshell/ImportSnippet;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
         3: .line 638
            areturn
        end local 0 // jdk.jshell.JShell this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljdk/jshell/JShell;
    Signature: ()Ljava/util/stream/Stream<Ljdk/jshell/ImportSnippet;>;

  public jdk.jshell.Snippet$Status status(jdk.jshell.Snippet);
    descriptor: (Ljdk/jshell/Snippet;)Ljdk/jshell/Snippet$Status;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.jshell.JShell this
        start local 1 // jdk.jshell.Snippet snippet
         0: .line 654
            aload 0 /* this */
            aload 1 /* snippet */
            invokevirtual jdk.jshell.JShell.checkValidSnippet:(Ljdk/jshell/Snippet;)Ljdk/jshell/Snippet;
            invokevirtual jdk.jshell.Snippet.status:()Ljdk/jshell/Snippet$Status;
            areturn
        end local 1 // jdk.jshell.Snippet snippet
        end local 0 // jdk.jshell.JShell this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Ljdk/jshell/JShell;
            0    1     1  snippet  Ljdk/jshell/Snippet;
    MethodParameters:
         Name  Flags
      snippet  

  public java.util.stream.Stream<jdk.jshell.Diag> diagnostics(jdk.jshell.Snippet);
    descriptor: (Ljdk/jshell/Snippet;)Ljava/util/stream/Stream;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.jshell.JShell this
        start local 1 // jdk.jshell.Snippet snippet
         0: .line 669
            aload 0 /* this */
            aload 1 /* snippet */
            invokevirtual jdk.jshell.JShell.checkValidSnippet:(Ljdk/jshell/Snippet;)Ljdk/jshell/Snippet;
            invokevirtual jdk.jshell.Snippet.diagnostics:()Ljdk/jshell/DiagList;
            invokevirtual jdk.jshell.DiagList.stream:()Ljava/util/stream/Stream;
            areturn
        end local 1 // jdk.jshell.Snippet snippet
        end local 0 // jdk.jshell.JShell this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Ljdk/jshell/JShell;
            0    1     1  snippet  Ljdk/jshell/Snippet;
    Signature: (Ljdk/jshell/Snippet;)Ljava/util/stream/Stream<Ljdk/jshell/Diag;>;
    MethodParameters:
         Name  Flags
      snippet  

  public java.util.stream.Stream<java.lang.String> unresolvedDependencies(jdk.jshell.DeclarationSnippet);
    descriptor: (Ljdk/jshell/DeclarationSnippet;)Ljava/util/stream/Stream;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.jshell.JShell this
        start local 1 // jdk.jshell.DeclarationSnippet snippet
         0: .line 687
            aload 0 /* this */
            aload 1 /* snippet */
            invokevirtual jdk.jshell.JShell.checkValidSnippet:(Ljdk/jshell/Snippet;)Ljdk/jshell/Snippet;
            invokevirtual jdk.jshell.Snippet.unresolved:()Ljava/util/List;
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
            areturn
        end local 1 // jdk.jshell.DeclarationSnippet snippet
        end local 0 // jdk.jshell.JShell this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Ljdk/jshell/JShell;
            0    1     1  snippet  Ljdk/jshell/DeclarationSnippet;
    Signature: (Ljdk/jshell/DeclarationSnippet;)Ljava/util/stream/Stream<Ljava/lang/String;>;
    MethodParameters:
         Name  Flags
      snippet  

  public java.lang.String varValue(jdk.jshell.VarSnippet);
    descriptor: (Ljdk/jshell/VarSnippet;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=4, args_size=2
        start local 0 // jdk.jshell.JShell this
        start local 1 // jdk.jshell.VarSnippet snippet
         0: .line 701
            aload 0 /* this */
            invokevirtual jdk.jshell.JShell.checkIfAlive:()V
         1: .line 702
            aload 0 /* this */
            aload 1 /* snippet */
            invokevirtual jdk.jshell.JShell.checkValidSnippet:(Ljdk/jshell/Snippet;)Ljdk/jshell/Snippet;
            pop
         2: .line 703
            aload 1 /* snippet */
            invokevirtual jdk.jshell.VarSnippet.status:()Ljdk/jshell/Snippet$Status;
            getstatic jdk.jshell.Snippet$Status.VALID:Ljdk/jshell/Snippet$Status;
            if_acmpeq 6
         3: .line 704
            new java.lang.IllegalArgumentException
            dup
         4: .line 705
            aload 0 /* this */
            ldc "jshell.exc.var.not.valid"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* snippet */
            aastore
            dup
            iconst_1
            aload 1 /* snippet */
            invokevirtual jdk.jshell.VarSnippet.status:()Ljdk/jshell/Snippet$Status;
            aastore
            invokevirtual jdk.jshell.JShell.messageFormat:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
         5: .line 704
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 709
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual jdk.jshell.JShell.executionControl:()Ljdk/jshell/spi/ExecutionControl;
            aload 1 /* snippet */
            invokevirtual jdk.jshell.VarSnippet.classFullName:()Ljava/lang/String;
            aload 1 /* snippet */
            invokevirtual jdk.jshell.VarSnippet.name:()Ljava/lang/String;
            invokeinterface jdk.jshell.spi.ExecutionControl.varValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* value */
        start local 2 // java.lang.String value
         7: .line 710
            goto 13
        end local 2 // java.lang.String value
      StackMap locals:
      StackMap stack: jdk.jshell.spi.ExecutionControl$EngineTerminationException
         8: astore 3 /* ex */
        start local 3 // jdk.jshell.spi.ExecutionControl$EngineTerminationException ex
         9: .line 711
            new java.lang.IllegalStateException
            dup
            aload 3 /* ex */
            invokevirtual jdk.jshell.spi.ExecutionControl$EngineTerminationException.getMessage:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // jdk.jshell.spi.ExecutionControl$EngineTerminationException ex
        10: .line 712
      StackMap locals:
      StackMap stack: jdk.jshell.spi.ExecutionControl$ExecutionControlException
            astore 3 /* ex */
        start local 3 // jdk.jshell.spi.ExecutionControl$ExecutionControlException ex
        11: .line 713
            aload 0 /* this */
            aload 3 /* ex */
            ldc "In varValue()"
            invokevirtual jdk.jshell.JShell.debug:(Ljava/lang/Exception;Ljava/lang/String;)V
        12: .line 714
            new java.lang.StringBuilder
            dup
            ldc "["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* ex */
            invokevirtual jdk.jshell.spi.ExecutionControl$ExecutionControlException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 3 // jdk.jshell.spi.ExecutionControl$ExecutionControlException ex
        start local 2 // java.lang.String value
        13: .line 716
      StackMap locals: java.lang.String
      StackMap stack:
            aload 2 /* value */
            invokestatic jdk.jshell.Util.expunge:(Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 2 // java.lang.String value
        end local 1 // jdk.jshell.VarSnippet snippet
        end local 0 // jdk.jshell.JShell this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   14     0     this  Ljdk/jshell/JShell;
            0   14     1  snippet  Ljdk/jshell/VarSnippet;
            7    8     2    value  Ljava/lang/String;
           13   14     2    value  Ljava/lang/String;
            9   10     3       ex  Ljdk/jshell/spi/ExecutionControl$EngineTerminationException;
           11   13     3       ex  Ljdk/jshell/spi/ExecutionControl$ExecutionControlException;
      Exception table:
        from    to  target  type
           6     7       8  Class jdk.jshell.spi.ExecutionControl$EngineTerminationException
           6     7      10  Class jdk.jshell.spi.ExecutionControl$ExecutionControlException
    Exceptions:
      throws java.lang.IllegalStateException
    MethodParameters:
         Name  Flags
      snippet  

  public jdk.jshell.JShell$Subscription onSnippetEvent(java.util.function.Consumer<jdk.jshell.SnippetEvent>);
    descriptor: (Ljava/util/function/Consumer;)Ljdk/jshell/JShell$Subscription;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.jshell.JShell this
        start local 1 // java.util.function.Consumer listener
         0: .line 728
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.jshell.JShell.keyStatusListeners:Ljava/util/Map;
            aload 1 /* listener */
            invokevirtual jdk.jshell.JShell.onX:(Ljava/util/Map;Ljava/util/function/Consumer;)Ljdk/jshell/JShell$Subscription;
            areturn
        end local 1 // java.util.function.Consumer listener
        end local 0 // jdk.jshell.JShell this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Ljdk/jshell/JShell;
            0    1     1  listener  Ljava/util/function/Consumer<Ljdk/jshell/SnippetEvent;>;
    Exceptions:
      throws java.lang.IllegalStateException
    Signature: (Ljava/util/function/Consumer<Ljdk/jshell/SnippetEvent;>;)Ljdk/jshell/JShell$Subscription;
    MethodParameters:
          Name  Flags
      listener  

  public jdk.jshell.JShell$Subscription onShutdown(java.util.function.Consumer<jdk.jshell.JShell>);
    descriptor: (Ljava/util/function/Consumer;)Ljdk/jshell/JShell$Subscription;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.jshell.JShell this
        start local 1 // java.util.function.Consumer listener
         0: .line 742
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.jshell.JShell.shutdownListeners:Ljava/util/Map;
            aload 1 /* listener */
            invokevirtual jdk.jshell.JShell.onX:(Ljava/util/Map;Ljava/util/function/Consumer;)Ljdk/jshell/JShell$Subscription;
            areturn
        end local 1 // java.util.function.Consumer listener
        end local 0 // jdk.jshell.JShell this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Ljdk/jshell/JShell;
            0    1     1  listener  Ljava/util/function/Consumer<Ljdk/jshell/JShell;>;
    Exceptions:
      throws java.lang.IllegalStateException
    Signature: (Ljava/util/function/Consumer<Ljdk/jshell/JShell;>;)Ljdk/jshell/JShell$Subscription;
    MethodParameters:
          Name  Flags
      listener  

  public void unsubscribe(jdk.jshell.JShell$Subscription);
    descriptor: (Ljdk/jshell/JShell$Subscription;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // jdk.jshell.JShell this
        start local 1 // jdk.jshell.JShell$Subscription token
         0: .line 750
            aload 0 /* this */
            dup
            astore 2
            monitorenter
         1: .line 751
            aload 1 /* token */
            getfield jdk.jshell.JShell$Subscription.remover:Ljava/util/function/Consumer;
            aload 1 /* token */
            invokeinterface java.util.function.Consumer.accept:(Ljava/lang/Object;)V
         2: .line 750
            aload 2
            monitorexit
         3: goto 6
      StackMap locals: jdk.jshell.JShell jdk.jshell.JShell$Subscription jdk.jshell.JShell
      StackMap stack: java.lang.Throwable
         4: aload 2
            monitorexit
         5: athrow
         6: .line 753
      StackMap locals:
      StackMap stack:
            return
        end local 1 // jdk.jshell.JShell$Subscription token
        end local 0 // jdk.jshell.JShell this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Ljdk/jshell/JShell;
            0    7     1  token  Ljdk/jshell/JShell$Subscription;
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any
    MethodParameters:
       Name  Flags
      token  

  jdk.jshell.spi.ExecutionControl executionControl();
    descriptor: ()Ljdk/jshell/spi/ExecutionControl;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.jshell.JShell this
         0: .line 803
            aload 0 /* this */
            getfield jdk.jshell.JShell.executionControl:Ljdk/jshell/spi/ExecutionControl;
            areturn
        end local 0 // jdk.jshell.JShell this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/jshell/JShell;

  void debug(int, java.lang.String, java.lang.Object[]);
    descriptor: (ILjava/lang/String;[Ljava/lang/Object;)V
    flags: (0x0080) ACC_VARARGS
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // jdk.jshell.JShell this
        start local 1 // int flags
        start local 2 // java.lang.String format
        start local 3 // java.lang.Object[] args
         0: .line 807
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.jshell.JShell.err:Ljava/io/PrintStream;
            iload 1 /* flags */
            aload 2 /* format */
            aload 3 /* args */
            invokestatic jdk.internal.jshell.debug.InternalDebugControl.debug:(Ljdk/jshell/JShell;Ljava/io/PrintStream;ILjava/lang/String;[Ljava/lang/Object;)V
         1: .line 808
            return
        end local 3 // java.lang.Object[] args
        end local 2 // java.lang.String format
        end local 1 // int flags
        end local 0 // jdk.jshell.JShell this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Ljdk/jshell/JShell;
            0    2     1   flags  I
            0    2     2  format  Ljava/lang/String;
            0    2     3    args  [Ljava/lang/Object;
    MethodParameters:
        Name  Flags
      flags   
      format  
      args    

  void debug(java.lang.Exception, java.lang.String);
    descriptor: (Ljava/lang/Exception;Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // jdk.jshell.JShell this
        start local 1 // java.lang.Exception ex
        start local 2 // java.lang.String where
         0: .line 811
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.jshell.JShell.err:Ljava/io/PrintStream;
            aload 1 /* ex */
            aload 2 /* where */
            invokestatic jdk.internal.jshell.debug.InternalDebugControl.debug:(Ljdk/jshell/JShell;Ljava/io/PrintStream;Ljava/lang/Exception;Ljava/lang/String;)V
         1: .line 812
            return
        end local 2 // java.lang.String where
        end local 1 // java.lang.Exception ex
        end local 0 // jdk.jshell.JShell this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Ljdk/jshell/JShell;
            0    2     1     ex  Ljava/lang/Exception;
            0    2     2  where  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      ex     
      where  

  int nextKeyIndex();
    descriptor: ()I
    flags: (0x0000) 
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // jdk.jshell.JShell this
         0: .line 820
            aload 0 /* this */
            dup
            getfield jdk.jshell.JShell.nextKeyIndex:I
            dup_x1
            iconst_1
            iadd
            putfield jdk.jshell.JShell.nextKeyIndex:I
            ireturn
        end local 0 // jdk.jshell.JShell this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/jshell/JShell;

  private synchronized <T> jdk.jshell.JShell$Subscription onX(java.util.Map<jdk.jshell.JShell$Subscription, java.util.function.Consumer<T>>, java.util.function.Consumer<T>);
    descriptor: (Ljava/util/Map;Ljava/util/function/Consumer;)Ljdk/jshell/JShell$Subscription;
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // jdk.jshell.JShell this
        start local 1 // java.util.Map map
        start local 2 // java.util.function.Consumer listener
         0: .line 825
            aload 2 /* listener */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 826
            aload 0 /* this */
            invokevirtual jdk.jshell.JShell.checkIfAlive:()V
         2: .line 827
            new jdk.jshell.JShell$Subscription
            dup
            aload 0 /* this */
            aload 1 /* map */
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic accept(Ljava/util/Map;)Ljava/util/function/Consumer;
              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;)V
                  java/util/Map.remove(Ljava/lang/Object;)Ljava/lang/Object; (9 itf)
                  (Ljdk/jshell/JShell$Subscription;)V
            invokespecial jdk.jshell.JShell$Subscription.<init>:(Ljdk/jshell/JShell;Ljava/util/function/Consumer;)V
            astore 3 /* token */
        start local 3 // jdk.jshell.JShell$Subscription token
         3: .line 828
            aload 1 /* map */
            aload 3 /* token */
            aload 2 /* listener */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 829
            aload 3 /* token */
            areturn
        end local 3 // jdk.jshell.JShell$Subscription token
        end local 2 // java.util.function.Consumer listener
        end local 1 // java.util.Map map
        end local 0 // jdk.jshell.JShell this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Ljdk/jshell/JShell;
            0    5     1       map  Ljava/util/Map<Ljdk/jshell/JShell$Subscription;Ljava/util/function/Consumer<TT;>;>;
            0    5     2  listener  Ljava/util/function/Consumer<TT;>;
            3    5     3     token  Ljdk/jshell/JShell$Subscription;
    Exceptions:
      throws java.lang.IllegalStateException
    Signature: <T:Ljava/lang/Object;>(Ljava/util/Map<Ljdk/jshell/JShell$Subscription;Ljava/util/function/Consumer<TT;>;>;Ljava/util/function/Consumer<TT;>;)Ljdk/jshell/JShell$Subscription;
    MethodParameters:
          Name  Flags
      map       
      listener  

  private synchronized void notifyKeyStatusEvent(jdk.jshell.SnippetEvent);
    descriptor: (Ljdk/jshell/SnippetEvent;)V
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.jshell.JShell this
        start local 1 // jdk.jshell.SnippetEvent event
         0: .line 833
            aload 0 /* this */
            getfield jdk.jshell.JShell.keyStatusListeners:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            aload 1 /* event */
            invokedynamic accept(Ljdk/jshell/SnippetEvent;)Ljava/util/function/Consumer;
              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;)V
                  jdk/jshell/JShell.lambda$11(Ljdk/jshell/SnippetEvent;Ljava/util/function/Consumer;)V (6)
                  (Ljava/util/function/Consumer;)V
            invokeinterface java.util.Collection.forEach:(Ljava/util/function/Consumer;)V
         1: .line 834
            return
        end local 1 // jdk.jshell.SnippetEvent event
        end local 0 // jdk.jshell.JShell this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Ljdk/jshell/JShell;
            0    2     1  event  Ljdk/jshell/SnippetEvent;
    MethodParameters:
       Name  Flags
      event  

  private synchronized void notifyShutdownEvent(jdk.jshell.JShell);
    descriptor: (Ljdk/jshell/JShell;)V
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.jshell.JShell this
        start local 1 // jdk.jshell.JShell state
         0: .line 837
            aload 0 /* this */
            getfield jdk.jshell.JShell.shutdownListeners:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            aload 1 /* state */
            invokedynamic accept(Ljdk/jshell/JShell;)Ljava/util/function/Consumer;
              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;)V
                  jdk/jshell/JShell.lambda$12(Ljdk/jshell/JShell;Ljava/util/function/Consumer;)V (6)
                  (Ljava/util/function/Consumer;)V
            invokeinterface java.util.Collection.forEach:(Ljava/util/function/Consumer;)V
         1: .line 838
            return
        end local 1 // jdk.jshell.JShell state
        end local 0 // jdk.jshell.JShell this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Ljdk/jshell/JShell;
            0    2     1  state  Ljdk/jshell/JShell;
    MethodParameters:
       Name  Flags
      state  

  void closeDown();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.jshell.JShell this
         0: .line 841
            aload 0 /* this */
            getfield jdk.jshell.JShell.closed:Z
            ifne 11
         1: .line 843
            aload 0 /* this */
            iconst_1
            putfield jdk.jshell.JShell.closed:Z
         2: .line 845
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual jdk.jshell.JShell.notifyShutdownEvent:(Ljdk/jshell/JShell;)V
         3: .line 846
            goto 5
      StackMap locals:
      StackMap stack: java.lang.Throwable
         4: pop
         5: .line 850
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual jdk.jshell.JShell.executionControl:()Ljdk/jshell/spi/ExecutionControl;
            invokeinterface jdk.jshell.spi.ExecutionControl.close:()V
         6: .line 851
            goto 8
      StackMap locals:
      StackMap stack: java.lang.Throwable
         7: pop
         8: .line 854
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.jshell.JShell.sourceCodeAnalysis:Ljdk/jshell/SourceCodeAnalysisImpl;
            ifnull 10
         9: .line 855
            aload 0 /* this */
            getfield jdk.jshell.JShell.sourceCodeAnalysis:Ljdk/jshell/SourceCodeAnalysisImpl;
            invokevirtual jdk.jshell.SourceCodeAnalysisImpl.close:()V
        10: .line 857
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokestatic jdk.internal.jshell.debug.InternalDebugControl.release:(Ljdk/jshell/JShell;)V
        11: .line 859
      StackMap locals:
      StackMap stack:
            return
        end local 0 // jdk.jshell.JShell this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Ljdk/jshell/JShell;
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.Throwable
           5     6       7  Class java.lang.Throwable

  private void checkIfAlive();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=1, args_size=1
        start local 0 // jdk.jshell.JShell this
         0: .line 866
            aload 0 /* this */
            getfield jdk.jshell.JShell.closed:Z
            ifeq 2
         1: .line 867
            new java.lang.IllegalStateException
            dup
            aload 0 /* this */
            ldc "jshell.exc.closed"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            aastore
            invokevirtual jdk.jshell.JShell.messageFormat:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 869
      StackMap locals:
      StackMap stack:
            return
        end local 0 // jdk.jshell.JShell this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/jshell/JShell;
    Exceptions:
      throws java.lang.IllegalStateException

  private jdk.jshell.Snippet checkValidSnippet(jdk.jshell.Snippet);
    descriptor: (Ljdk/jshell/Snippet;)Ljdk/jshell/Snippet;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // jdk.jshell.JShell this
        start local 1 // jdk.jshell.Snippet sn
         0: .line 879
            aload 1 /* sn */
            ifnonnull 2
         1: .line 880
            new java.lang.NullPointerException
            dup
            aload 0 /* this */
            ldc "jshell.exc.null"
            iconst_0
            anewarray java.lang.Object
            invokevirtual jdk.jshell.JShell.messageFormat:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 882
      StackMap locals:
      StackMap stack:
            aload 1 /* sn */
            invokevirtual jdk.jshell.Snippet.key:()Ljdk/jshell/Key;
            invokevirtual jdk.jshell.Key.state:()Ljdk/jshell/JShell;
            aload 0 /* this */
            if_acmpeq 4
         3: .line 883
            new java.lang.IllegalArgumentException
            dup
            aload 0 /* this */
            ldc "jshell.exc.alien"
            iconst_0
            anewarray java.lang.Object
            invokevirtual jdk.jshell.JShell.messageFormat:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 885
      StackMap locals:
      StackMap stack:
            aload 1 /* sn */
            areturn
        end local 1 // jdk.jshell.Snippet sn
        end local 0 // jdk.jshell.JShell this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljdk/jshell/JShell;
            0    5     1    sn  Ljdk/jshell/Snippet;
    MethodParameters:
      Name  Flags
      sn    

  java.lang.String messageFormat(java.lang.String, java.lang.Object[]);
    descriptor: (Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x0080) ACC_VARARGS
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // jdk.jshell.JShell this
        start local 1 // java.lang.String key
        start local 2 // java.lang.Object[] args
         0: .line 896
            getstatic jdk.jshell.JShell.outputRB:Ljava/util/ResourceBundle;
            ifnonnull 5
         1: .line 898
            ldc "jdk.jshell.resources.l10n"
            invokestatic java.util.ResourceBundle.getBundle:(Ljava/lang/String;)Ljava/util/ResourceBundle;
            putstatic jdk.jshell.JShell.outputRB:Ljava/util/ResourceBundle;
         2: .line 899
            goto 5
      StackMap locals:
      StackMap stack: java.util.MissingResourceException
         3: pop
         4: .line 900
            new java.lang.InternalError
            dup
            ldc "Cannot find ResourceBundle: jdk.jshell.resources.l10n"
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 905
      StackMap locals:
      StackMap stack:
            getstatic jdk.jshell.JShell.outputRB:Ljava/util/ResourceBundle;
            aload 1 /* key */
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* s */
        start local 3 // java.lang.String s
         6: .line 906
            goto 9
        end local 3 // java.lang.String s
      StackMap locals:
      StackMap stack: java.util.MissingResourceException
         7: pop
         8: .line 907
            new java.lang.InternalError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Missing resource: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* key */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " in "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "jdk.jshell.resources.l10n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
            athrow
        start local 3 // java.lang.String s
         9: .line 909
      StackMap locals: java.lang.String
      StackMap stack:
            aload 3 /* s */
            aload 2 /* args */
            invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            areturn
        end local 3 // java.lang.String s
        end local 2 // java.lang.Object[] args
        end local 1 // java.lang.String key
        end local 0 // jdk.jshell.JShell this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Ljdk/jshell/JShell;
            0   10     1   key  Ljava/lang/String;
            0   10     2  args  [Ljava/lang/Object;
            6    7     3     s  Ljava/lang/String;
            9   10     3     s  Ljava/lang/String;
      Exception table:
        from    to  target  type
           1     2       3  Class java.util.MissingResourceException
           5     6       7  Class java.util.MissingResourceException
    MethodParameters:
      Name  Flags
      key   
      args  

  private boolean lambda$2(jdk.jshell.Snippet);
    descriptor: (Ljdk/jshell/Snippet;)Z
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.jshell.JShell this
        start local 1 // jdk.jshell.Snippet sn
         0: .line 597
            aload 0 /* this */
            aload 1 /* sn */
            invokevirtual jdk.jshell.JShell.status:(Ljdk/jshell/Snippet;)Ljdk/jshell/Snippet$Status;
            invokevirtual jdk.jshell.Snippet$Status.isActive:()Z
            ifeq 1
            aload 1 /* sn */
            invokevirtual jdk.jshell.Snippet.kind:()Ljdk/jshell/Snippet$Kind;
            getstatic jdk.jshell.Snippet$Kind.VAR:Ljdk/jshell/Snippet$Kind;
            if_acmpne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 1 // jdk.jshell.Snippet sn
        end local 0 // jdk.jshell.JShell this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/jshell/JShell;
            0    3     1    sn  Ljdk/jshell/Snippet;

  private static jdk.jshell.VarSnippet lambda$3(jdk.jshell.Snippet);
    descriptor: (Ljdk/jshell/Snippet;)Ljdk/jshell/VarSnippet;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.jshell.Snippet sn
         0: .line 598
            aload 0 /* sn */
            checkcast jdk.jshell.VarSnippet
            areturn
        end local 0 // jdk.jshell.Snippet sn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    sn  Ljdk/jshell/Snippet;

  private boolean lambda$4(jdk.jshell.Snippet);
    descriptor: (Ljdk/jshell/Snippet;)Z
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.jshell.JShell this
        start local 1 // jdk.jshell.Snippet sn
         0: .line 611
            aload 0 /* this */
            aload 1 /* sn */
            invokevirtual jdk.jshell.JShell.status:(Ljdk/jshell/Snippet;)Ljdk/jshell/Snippet$Status;
            invokevirtual jdk.jshell.Snippet$Status.isActive:()Z
            ifeq 1
            aload 1 /* sn */
            invokevirtual jdk.jshell.Snippet.kind:()Ljdk/jshell/Snippet$Kind;
            getstatic jdk.jshell.Snippet$Kind.METHOD:Ljdk/jshell/Snippet$Kind;
            if_acmpne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 1 // jdk.jshell.Snippet sn
        end local 0 // jdk.jshell.JShell this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/jshell/JShell;
            0    3     1    sn  Ljdk/jshell/Snippet;

  private static jdk.jshell.MethodSnippet lambda$5(jdk.jshell.Snippet);
    descriptor: (Ljdk/jshell/Snippet;)Ljdk/jshell/MethodSnippet;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.jshell.Snippet sn
         0: .line 612
            aload 0 /* sn */
            checkcast jdk.jshell.MethodSnippet
            areturn
        end local 0 // jdk.jshell.Snippet sn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    sn  Ljdk/jshell/Snippet;

  private boolean lambda$6(jdk.jshell.Snippet);
    descriptor: (Ljdk/jshell/Snippet;)Z
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.jshell.JShell this
        start local 1 // jdk.jshell.Snippet sn
         0: .line 625
            aload 0 /* this */
            aload 1 /* sn */
            invokevirtual jdk.jshell.JShell.status:(Ljdk/jshell/Snippet;)Ljdk/jshell/Snippet$Status;
            invokevirtual jdk.jshell.Snippet$Status.isActive:()Z
            ifeq 1
            aload 1 /* sn */
            invokevirtual jdk.jshell.Snippet.kind:()Ljdk/jshell/Snippet$Kind;
            getstatic jdk.jshell.Snippet$Kind.TYPE_DECL:Ljdk/jshell/Snippet$Kind;
            if_acmpne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 1 // jdk.jshell.Snippet sn
        end local 0 // jdk.jshell.JShell this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/jshell/JShell;
            0    3     1    sn  Ljdk/jshell/Snippet;

  private static jdk.jshell.TypeDeclSnippet lambda$7(jdk.jshell.Snippet);
    descriptor: (Ljdk/jshell/Snippet;)Ljdk/jshell/TypeDeclSnippet;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.jshell.Snippet sn
         0: .line 626
            aload 0 /* sn */
            checkcast jdk.jshell.TypeDeclSnippet
            areturn
        end local 0 // jdk.jshell.Snippet sn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    sn  Ljdk/jshell/Snippet;

  private boolean lambda$8(jdk.jshell.Snippet);
    descriptor: (Ljdk/jshell/Snippet;)Z
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.jshell.JShell this
        start local 1 // jdk.jshell.Snippet sn
         0: .line 639
            aload 0 /* this */
            aload 1 /* sn */
            invokevirtual jdk.jshell.JShell.status:(Ljdk/jshell/Snippet;)Ljdk/jshell/Snippet$Status;
            invokevirtual jdk.jshell.Snippet$Status.isActive:()Z
            ifeq 1
            aload 1 /* sn */
            invokevirtual jdk.jshell.Snippet.kind:()Ljdk/jshell/Snippet$Kind;
            getstatic jdk.jshell.Snippet$Kind.IMPORT:Ljdk/jshell/Snippet$Kind;
            if_acmpne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 1 // jdk.jshell.Snippet sn
        end local 0 // jdk.jshell.JShell this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/jshell/JShell;
            0    3     1    sn  Ljdk/jshell/Snippet;

  private static jdk.jshell.ImportSnippet lambda$9(jdk.jshell.Snippet);
    descriptor: (Ljdk/jshell/Snippet;)Ljdk/jshell/ImportSnippet;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.jshell.Snippet sn
         0: .line 640
            aload 0 /* sn */
            checkcast jdk.jshell.ImportSnippet
            areturn
        end local 0 // jdk.jshell.Snippet sn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    sn  Ljdk/jshell/Snippet;

  private static void lambda$11(jdk.jshell.SnippetEvent, java.util.function.Consumer);
    descriptor: (Ljdk/jshell/SnippetEvent;Ljava/util/function/Consumer;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // java.util.function.Consumer l
         0: .line 833
            aload 1 /* l */
            aload 0
            invokeinterface java.util.function.Consumer.accept:(Ljava/lang/Object;)V
            return
        end local 1 // java.util.function.Consumer l
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1     l  Ljava/util/function/Consumer<Ljdk/jshell/SnippetEvent;>;

  private static void lambda$12(jdk.jshell.JShell, java.util.function.Consumer);
    descriptor: (Ljdk/jshell/JShell;Ljava/util/function/Consumer;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // java.util.function.Consumer l
         0: .line 837
            aload 1 /* l */
            aload 0
            invokeinterface java.util.function.Consumer.accept:(Ljava/lang/Object;)V
            return
        end local 1 // java.util.function.Consumer l
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1     l  Ljava/util/function/Consumer<Ljdk/jshell/JShell;>;
}
SourceFile: "JShell.java"
NestMembers:
  jdk.jshell.JShell$Builder  jdk.jshell.JShell$ExecutionEnvImpl  jdk.jshell.JShell$Subscription
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public Builder = jdk.jshell.JShell$Builder of jdk.jshell.JShell
  ExecutionEnvImpl = jdk.jshell.JShell$ExecutionEnvImpl of jdk.jshell.JShell
  public Subscription = jdk.jshell.JShell$Subscription of jdk.jshell.JShell
  public final Kind = jdk.jshell.Snippet$Kind of jdk.jshell.Snippet
  public final Status = jdk.jshell.Snippet$Status of jdk.jshell.Snippet
  public EngineTerminationException = jdk.jshell.spi.ExecutionControl$EngineTerminationException of jdk.jshell.spi.ExecutionControl
  public abstract ExecutionControlException = jdk.jshell.spi.ExecutionControl$ExecutionControlException of jdk.jshell.spi.ExecutionControl