public class jdk.jshell.execution.StreamingExecutionControl implements jdk.jshell.spi.ExecutionControl
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: jdk.jshell.execution.StreamingExecutionControl
  super_class: java.lang.Object
{
  private final java.io.ObjectOutput out;
    descriptor: Ljava/io/ObjectOutput;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.io.ObjectInput in;
    descriptor: Ljava/io/ObjectInput;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>(java.io.ObjectOutput, java.io.ObjectInput);
    descriptor: (Ljava/io/ObjectOutput;Ljava/io/ObjectInput;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // jdk.jshell.execution.StreamingExecutionControl this
        start local 1 // java.io.ObjectOutput out
        start local 2 // java.io.ObjectInput in
         0: .line 54
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 55
            aload 0 /* this */
            aload 1 /* out */
            putfield jdk.jshell.execution.StreamingExecutionControl.out:Ljava/io/ObjectOutput;
         2: .line 56
            aload 0 /* this */
            aload 2 /* in */
            putfield jdk.jshell.execution.StreamingExecutionControl.in:Ljava/io/ObjectInput;
         3: .line 57
            return
        end local 2 // java.io.ObjectInput in
        end local 1 // java.io.ObjectOutput out
        end local 0 // jdk.jshell.execution.StreamingExecutionControl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljdk/jshell/execution/StreamingExecutionControl;
            0    4     1   out  Ljava/io/ObjectOutput;
            0    4     2    in  Ljava/io/ObjectInput;
    MethodParameters:
      Name  Flags
      out   
      in    

  public void load(jdk.jshell.spi.ExecutionControl$ClassBytecodes[]);
    descriptor: ([Ljdk/jshell/spi/ExecutionControl$ClassBytecodes;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // jdk.jshell.execution.StreamingExecutionControl this
        start local 1 // jdk.jshell.spi.ExecutionControl$ClassBytecodes[] cbcs
         0: .line 64
            aload 0 /* this */
            ldc "CMD_LOAD"
            invokevirtual jdk.jshell.execution.StreamingExecutionControl.writeCommand:(Ljava/lang/String;)V
         1: .line 65
            aload 0 /* this */
            getfield jdk.jshell.execution.StreamingExecutionControl.out:Ljava/io/ObjectOutput;
            aload 1 /* cbcs */
            invokeinterface java.io.ObjectOutput.writeObject:(Ljava/lang/Object;)V
         2: .line 66
            aload 0 /* this */
            getfield jdk.jshell.execution.StreamingExecutionControl.out:Ljava/io/ObjectOutput;
            invokeinterface java.io.ObjectOutput.flush:()V
         3: .line 68
            aload 0 /* this */
            invokevirtual jdk.jshell.execution.StreamingExecutionControl.readAndReportClassInstallResult:()V
         4: .line 69
            goto 7
      StackMap locals:
      StackMap stack: java.io.IOException
         5: astore 2 /* ex */
        start local 2 // java.io.IOException ex
         6: .line 70
            new jdk.jshell.spi.ExecutionControl$EngineTerminationException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Exception writing remote load: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* ex */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial jdk.jshell.spi.ExecutionControl$EngineTerminationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // java.io.IOException ex
         7: .line 72
      StackMap locals:
      StackMap stack:
            return
        end local 1 // jdk.jshell.spi.ExecutionControl$ClassBytecodes[] cbcs
        end local 0 // jdk.jshell.execution.StreamingExecutionControl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Ljdk/jshell/execution/StreamingExecutionControl;
            0    8     1  cbcs  [Ljdk/jshell/spi/ExecutionControl$ClassBytecodes;
            6    7     2    ex  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0     4       5  Class java.io.IOException
    Exceptions:
      throws jdk.jshell.spi.ExecutionControl$ClassInstallException, jdk.jshell.spi.ExecutionControl$NotImplementedException, jdk.jshell.spi.ExecutionControl$EngineTerminationException
    MethodParameters:
      Name  Flags
      cbcs  

  public void redefine(jdk.jshell.spi.ExecutionControl$ClassBytecodes[]);
    descriptor: ([Ljdk/jshell/spi/ExecutionControl$ClassBytecodes;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // jdk.jshell.execution.StreamingExecutionControl this
        start local 1 // jdk.jshell.spi.ExecutionControl$ClassBytecodes[] cbcs
         0: .line 79
            aload 0 /* this */
            ldc "CMD_REDEFINE"
            invokevirtual jdk.jshell.execution.StreamingExecutionControl.writeCommand:(Ljava/lang/String;)V
         1: .line 80
            aload 0 /* this */
            getfield jdk.jshell.execution.StreamingExecutionControl.out:Ljava/io/ObjectOutput;
            aload 1 /* cbcs */
            invokeinterface java.io.ObjectOutput.writeObject:(Ljava/lang/Object;)V
         2: .line 81
            aload 0 /* this */
            getfield jdk.jshell.execution.StreamingExecutionControl.out:Ljava/io/ObjectOutput;
            invokeinterface java.io.ObjectOutput.flush:()V
         3: .line 83
            aload 0 /* this */
            invokevirtual jdk.jshell.execution.StreamingExecutionControl.readAndReportClassInstallResult:()V
         4: .line 84
            goto 7
      StackMap locals:
      StackMap stack: java.io.IOException
         5: astore 2 /* ex */
        start local 2 // java.io.IOException ex
         6: .line 85
            new jdk.jshell.spi.ExecutionControl$EngineTerminationException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Exception writing remote redefine: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* ex */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial jdk.jshell.spi.ExecutionControl$EngineTerminationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // java.io.IOException ex
         7: .line 87
      StackMap locals:
      StackMap stack:
            return
        end local 1 // jdk.jshell.spi.ExecutionControl$ClassBytecodes[] cbcs
        end local 0 // jdk.jshell.execution.StreamingExecutionControl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Ljdk/jshell/execution/StreamingExecutionControl;
            0    8     1  cbcs  [Ljdk/jshell/spi/ExecutionControl$ClassBytecodes;
            6    7     2    ex  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0     4       5  Class java.io.IOException
    Exceptions:
      throws jdk.jshell.spi.ExecutionControl$ClassInstallException, jdk.jshell.spi.ExecutionControl$NotImplementedException, jdk.jshell.spi.ExecutionControl$EngineTerminationException
    MethodParameters:
      Name  Flags
      cbcs  

  public java.lang.String invoke(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // jdk.jshell.execution.StreamingExecutionControl this
        start local 1 // java.lang.String classname
        start local 2 // java.lang.String methodname
         0: .line 94
            aload 0 /* this */
            ldc "CMD_INVOKE"
            invokevirtual jdk.jshell.execution.StreamingExecutionControl.writeCommand:(Ljava/lang/String;)V
         1: .line 95
            aload 0 /* this */
            getfield jdk.jshell.execution.StreamingExecutionControl.out:Ljava/io/ObjectOutput;
            aload 1 /* classname */
            invokeinterface java.io.ObjectOutput.writeUTF:(Ljava/lang/String;)V
         2: .line 96
            aload 0 /* this */
            getfield jdk.jshell.execution.StreamingExecutionControl.out:Ljava/io/ObjectOutput;
            aload 2 /* methodname */
            invokeinterface java.io.ObjectOutput.writeUTF:(Ljava/lang/String;)V
         3: .line 97
            aload 0 /* this */
            getfield jdk.jshell.execution.StreamingExecutionControl.out:Ljava/io/ObjectOutput;
            invokeinterface java.io.ObjectOutput.flush:()V
         4: .line 99
            aload 0 /* this */
            invokevirtual jdk.jshell.execution.StreamingExecutionControl.readAndReportExecutionResult:()V
         5: .line 100
            aload 0 /* this */
            getfield jdk.jshell.execution.StreamingExecutionControl.in:Ljava/io/ObjectInput;
            invokeinterface java.io.ObjectInput.readUTF:()Ljava/lang/String;
            astore 3 /* result */
        start local 3 // java.lang.String result
         6: .line 101
            aload 3 /* result */
         7: areturn
        end local 3 // java.lang.String result
         8: .line 102
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 3 /* ex */
        start local 3 // java.io.IOException ex
         9: .line 103
            new jdk.jshell.spi.ExecutionControl$EngineTerminationException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Exception writing remote invoke: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* ex */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial jdk.jshell.spi.ExecutionControl$EngineTerminationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // java.io.IOException ex
        end local 2 // java.lang.String methodname
        end local 1 // java.lang.String classname
        end local 0 // jdk.jshell.execution.StreamingExecutionControl this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   10     0        this  Ljdk/jshell/execution/StreamingExecutionControl;
            0   10     1   classname  Ljava/lang/String;
            0   10     2  methodname  Ljava/lang/String;
            6    8     3      result  Ljava/lang/String;
            9   10     3          ex  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0     7       8  Class java.io.IOException
    Exceptions:
      throws jdk.jshell.spi.ExecutionControl$RunException, jdk.jshell.spi.ExecutionControl$EngineTerminationException, jdk.jshell.spi.ExecutionControl$InternalException
    MethodParameters:
            Name  Flags
      classname   
      methodname  

  public java.lang.String varValue(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // jdk.jshell.execution.StreamingExecutionControl this
        start local 1 // java.lang.String classname
        start local 2 // java.lang.String varname
         0: .line 112
            aload 0 /* this */
            ldc "CMD_VAR_VALUE"
            invokevirtual jdk.jshell.execution.StreamingExecutionControl.writeCommand:(Ljava/lang/String;)V
         1: .line 113
            aload 0 /* this */
            getfield jdk.jshell.execution.StreamingExecutionControl.out:Ljava/io/ObjectOutput;
            aload 1 /* classname */
            invokeinterface java.io.ObjectOutput.writeUTF:(Ljava/lang/String;)V
         2: .line 114
            aload 0 /* this */
            getfield jdk.jshell.execution.StreamingExecutionControl.out:Ljava/io/ObjectOutput;
            aload 2 /* varname */
            invokeinterface java.io.ObjectOutput.writeUTF:(Ljava/lang/String;)V
         3: .line 115
            aload 0 /* this */
            getfield jdk.jshell.execution.StreamingExecutionControl.out:Ljava/io/ObjectOutput;
            invokeinterface java.io.ObjectOutput.flush:()V
         4: .line 117
            aload 0 /* this */
            invokevirtual jdk.jshell.execution.StreamingExecutionControl.readAndReportExecutionResult:()V
         5: .line 118
            aload 0 /* this */
            getfield jdk.jshell.execution.StreamingExecutionControl.in:Ljava/io/ObjectInput;
            invokeinterface java.io.ObjectInput.readUTF:()Ljava/lang/String;
            astore 3 /* result */
        start local 3 // java.lang.String result
         6: .line 119
            aload 3 /* result */
         7: areturn
        end local 3 // java.lang.String result
         8: .line 120
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 3 /* ex */
        start local 3 // java.io.IOException ex
         9: .line 121
            new jdk.jshell.spi.ExecutionControl$EngineTerminationException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Exception writing remote varValue: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* ex */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial jdk.jshell.spi.ExecutionControl$EngineTerminationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // java.io.IOException ex
        end local 2 // java.lang.String varname
        end local 1 // java.lang.String classname
        end local 0 // jdk.jshell.execution.StreamingExecutionControl this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   10     0       this  Ljdk/jshell/execution/StreamingExecutionControl;
            0   10     1  classname  Ljava/lang/String;
            0   10     2    varname  Ljava/lang/String;
            6    8     3     result  Ljava/lang/String;
            9   10     3         ex  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0     7       8  Class java.io.IOException
    Exceptions:
      throws jdk.jshell.spi.ExecutionControl$RunException, jdk.jshell.spi.ExecutionControl$EngineTerminationException, jdk.jshell.spi.ExecutionControl$InternalException
    MethodParameters:
           Name  Flags
      classname  
      varname    

  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.execution.StreamingExecutionControl this
        start local 1 // java.lang.String path
         0: .line 131
            aload 0 /* this */
            ldc "CMD_ADD_CLASSPATH"
            invokevirtual jdk.jshell.execution.StreamingExecutionControl.writeCommand:(Ljava/lang/String;)V
         1: .line 132
            aload 0 /* this */
            getfield jdk.jshell.execution.StreamingExecutionControl.out:Ljava/io/ObjectOutput;
            aload 1 /* path */
            invokeinterface java.io.ObjectOutput.writeUTF:(Ljava/lang/String;)V
         2: .line 133
            aload 0 /* this */
            getfield jdk.jshell.execution.StreamingExecutionControl.out:Ljava/io/ObjectOutput;
            invokeinterface java.io.ObjectOutput.flush:()V
         3: .line 135
            aload 0 /* this */
            invokevirtual jdk.jshell.execution.StreamingExecutionControl.readAndReportClassSimpleResult:()V
         4: .line 136
            goto 7
      StackMap locals:
      StackMap stack: java.io.IOException
         5: astore 2 /* ex */
        start local 2 // java.io.IOException ex
         6: .line 137
            new jdk.jshell.spi.ExecutionControl$EngineTerminationException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Exception writing remote add to classpath: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* ex */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial jdk.jshell.spi.ExecutionControl$EngineTerminationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // java.io.IOException ex
         7: .line 139
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String path
        end local 0 // jdk.jshell.execution.StreamingExecutionControl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Ljdk/jshell/execution/StreamingExecutionControl;
            0    8     1  path  Ljava/lang/String;
            6    7     2    ex  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0     4       5  Class java.io.IOException
    Exceptions:
      throws jdk.jshell.spi.ExecutionControl$EngineTerminationException, jdk.jshell.spi.ExecutionControl$InternalException
    MethodParameters:
      Name  Flags
      path  

  public void stop();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // jdk.jshell.execution.StreamingExecutionControl this
         0: .line 146
            aload 0 /* this */
            ldc "CMD_STOP"
            invokevirtual jdk.jshell.execution.StreamingExecutionControl.writeCommand:(Ljava/lang/String;)V
         1: .line 147
            aload 0 /* this */
            getfield jdk.jshell.execution.StreamingExecutionControl.out:Ljava/io/ObjectOutput;
            invokeinterface java.io.ObjectOutput.flush:()V
         2: .line 148
            goto 5
      StackMap locals:
      StackMap stack: java.io.IOException
         3: astore 1 /* ex */
        start local 1 // java.io.IOException ex
         4: .line 149
            new jdk.jshell.spi.ExecutionControl$EngineTerminationException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Exception writing remote stop: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* ex */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial jdk.jshell.spi.ExecutionControl$EngineTerminationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // java.io.IOException ex
         5: .line 151
      StackMap locals:
      StackMap stack:
            return
        end local 0 // jdk.jshell.execution.StreamingExecutionControl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljdk/jshell/execution/StreamingExecutionControl;
            4    5     1    ex  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0     2       3  Class java.io.IOException
    Exceptions:
      throws jdk.jshell.spi.ExecutionControl$EngineTerminationException, jdk.jshell.spi.ExecutionControl$InternalException

  public java.lang.Object extensionCommand(java.lang.String, java.lang.Object);
    descriptor: (Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // jdk.jshell.execution.StreamingExecutionControl this
        start local 1 // java.lang.String command
        start local 2 // java.lang.Object arg
         0: .line 157
            aload 0 /* this */
            aload 1 /* command */
            invokevirtual jdk.jshell.execution.StreamingExecutionControl.writeCommand:(Ljava/lang/String;)V
         1: .line 158
            aload 0 /* this */
            getfield jdk.jshell.execution.StreamingExecutionControl.out:Ljava/io/ObjectOutput;
            aload 2 /* arg */
            invokeinterface java.io.ObjectOutput.writeObject:(Ljava/lang/Object;)V
         2: .line 159
            aload 0 /* this */
            getfield jdk.jshell.execution.StreamingExecutionControl.out:Ljava/io/ObjectOutput;
            invokeinterface java.io.ObjectOutput.flush:()V
         3: .line 161
            aload 0 /* this */
            invokevirtual jdk.jshell.execution.StreamingExecutionControl.readAndReportExecutionResult:()V
         4: .line 162
            aload 0 /* this */
            getfield jdk.jshell.execution.StreamingExecutionControl.in:Ljava/io/ObjectInput;
            invokeinterface java.io.ObjectInput.readObject:()Ljava/lang/Object;
            astore 3 /* result */
        start local 3 // java.lang.Object result
         5: .line 163
            aload 3 /* result */
         6: areturn
        end local 3 // java.lang.Object result
         7: .line 164
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 3 /* ex */
        start local 3 // java.lang.Exception ex
         8: .line 165
            new jdk.jshell.spi.ExecutionControl$EngineTerminationException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Exception transmitting remote extensionCommand: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         9: .line 166
            aload 1 /* command */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " -- "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* ex */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        10: .line 165
            invokespecial jdk.jshell.spi.ExecutionControl$EngineTerminationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // java.lang.Exception ex
        end local 2 // java.lang.Object arg
        end local 1 // java.lang.String command
        end local 0 // jdk.jshell.execution.StreamingExecutionControl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0     this  Ljdk/jshell/execution/StreamingExecutionControl;
            0   11     1  command  Ljava/lang/String;
            0   11     2      arg  Ljava/lang/Object;
            5    7     3   result  Ljava/lang/Object;
            8   11     3       ex  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0     6       7  Class java.io.IOException
           0     6       7  Class java.lang.ClassNotFoundException
    Exceptions:
      throws jdk.jshell.spi.ExecutionControl$RunException, jdk.jshell.spi.ExecutionControl$EngineTerminationException, jdk.jshell.spi.ExecutionControl$InternalException
    MethodParameters:
         Name  Flags
      command  
      arg      

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.jshell.execution.StreamingExecutionControl this
         0: .line 176
            aload 0 /* this */
            ldc "CMD_CLOSE"
            invokevirtual jdk.jshell.execution.StreamingExecutionControl.writeCommand:(Ljava/lang/String;)V
         1: .line 177
            aload 0 /* this */
            getfield jdk.jshell.execution.StreamingExecutionControl.out:Ljava/io/ObjectOutput;
            invokeinterface java.io.ObjectOutput.flush:()V
         2: .line 178
            goto 4
      StackMap locals:
      StackMap stack: java.io.IOException
         3: pop
         4: .line 181
      StackMap locals:
      StackMap stack:
            return
        end local 0 // jdk.jshell.execution.StreamingExecutionControl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljdk/jshell/execution/StreamingExecutionControl;
      Exception table:
        from    to  target  type
           0     2       3  Class java.io.IOException

  private void writeCommand(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.jshell.execution.StreamingExecutionControl this
        start local 1 // java.lang.String cmd
         0: .line 184
            aload 0 /* this */
            getfield jdk.jshell.execution.StreamingExecutionControl.out:Ljava/io/ObjectOutput;
            ldc -1069694915
            invokeinterface java.io.ObjectOutput.writeInt:(I)V
         1: .line 185
            aload 0 /* this */
            getfield jdk.jshell.execution.StreamingExecutionControl.out:Ljava/io/ObjectOutput;
            aload 1 /* cmd */
            invokeinterface java.io.ObjectOutput.writeUTF:(Ljava/lang/String;)V
         2: .line 186
            return
        end local 1 // java.lang.String cmd
        end local 0 // jdk.jshell.execution.StreamingExecutionControl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/jshell/execution/StreamingExecutionControl;
            0    3     1   cmd  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      cmd   

  private java.lang.String readNullOrUTF();
    descriptor: ()Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // jdk.jshell.execution.StreamingExecutionControl this
         0: .line 194
            aload 0 /* this */
            getfield jdk.jshell.execution.StreamingExecutionControl.in:Ljava/io/ObjectInput;
            invokeinterface java.io.ObjectInput.readUTF:()Ljava/lang/String;
            astore 1 /* s */
        start local 1 // java.lang.String s
         1: .line 195
            aload 1 /* s */
            ldc "\u0002*\u03C0*NULL*\u03C0*\u0003"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 2
            aconst_null
            goto 3
      StackMap locals: java.lang.String
      StackMap stack:
         2: aload 1 /* s */
      StackMap locals:
      StackMap stack: java.lang.String
         3: areturn
        end local 1 // java.lang.String s
        end local 0 // jdk.jshell.execution.StreamingExecutionControl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljdk/jshell/execution/StreamingExecutionControl;
            1    4     1     s  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException

  private void readAndReportClassSimpleResult();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // jdk.jshell.execution.StreamingExecutionControl this
         0: .line 204
            aload 0 /* this */
            getfield jdk.jshell.execution.StreamingExecutionControl.in:Ljava/io/ObjectInput;
            invokeinterface java.io.ObjectInput.readInt:()I
            istore 1 /* status */
        start local 1 // int status
         1: .line 205
            iload 1 /* status */
            tableswitch { // 100 - 103
                  100: 2
                  101: 7
                  102: 3
                  103: 5
              default: 9
          }
         2: .line 207
      StackMap locals: int
      StackMap stack:
            return
         3: .line 209
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.jshell.execution.StreamingExecutionControl.in:Ljava/io/ObjectInput;
            invokeinterface java.io.ObjectInput.readUTF:()Ljava/lang/String;
            astore 2 /* message */
        start local 2 // java.lang.String message
         4: .line 210
            new jdk.jshell.spi.ExecutionControl$NotImplementedException
            dup
            aload 2 /* message */
            invokespecial jdk.jshell.spi.ExecutionControl$NotImplementedException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // java.lang.String message
         5: .line 213
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.jshell.execution.StreamingExecutionControl.in:Ljava/io/ObjectInput;
            invokeinterface java.io.ObjectInput.readUTF:()Ljava/lang/String;
            astore 2 /* message */
        start local 2 // java.lang.String message
         6: .line 214
            new jdk.jshell.spi.ExecutionControl$InternalException
            dup
            aload 2 /* message */
            invokespecial jdk.jshell.spi.ExecutionControl$InternalException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // java.lang.String message
         7: .line 217
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.jshell.execution.StreamingExecutionControl.in:Ljava/io/ObjectInput;
            invokeinterface java.io.ObjectInput.readUTF:()Ljava/lang/String;
            astore 2 /* message */
        start local 2 // java.lang.String message
         8: .line 218
            new jdk.jshell.spi.ExecutionControl$EngineTerminationException
            dup
            aload 2 /* message */
            invokespecial jdk.jshell.spi.ExecutionControl$EngineTerminationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // java.lang.String message
         9: .line 221
      StackMap locals:
      StackMap stack:
            new jdk.jshell.spi.ExecutionControl$EngineTerminationException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Bad remote result code: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* status */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial jdk.jshell.spi.ExecutionControl$EngineTerminationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // int status
        10: .line 224
      StackMap locals: jdk.jshell.execution.StreamingExecutionControl
      StackMap stack: java.io.IOException
            astore 1 /* ex */
        start local 1 // java.io.IOException ex
        11: .line 225
            new jdk.jshell.spi.ExecutionControl$EngineTerminationException
            dup
            aload 1 /* ex */
            invokevirtual java.io.IOException.toString:()Ljava/lang/String;
            invokespecial jdk.jshell.spi.ExecutionControl$EngineTerminationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // java.io.IOException ex
        end local 0 // jdk.jshell.execution.StreamingExecutionControl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   12     0     this  Ljdk/jshell/execution/StreamingExecutionControl;
            1   10     1   status  I
            4    5     2  message  Ljava/lang/String;
            6    7     2  message  Ljava/lang/String;
            8    9     2  message  Ljava/lang/String;
           11   12     1       ex  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0     2      10  Class java.io.IOException
           3    10      10  Class java.io.IOException
    Exceptions:
      throws jdk.jshell.spi.ExecutionControl$EngineTerminationException, jdk.jshell.spi.ExecutionControl$InternalException

  private void readAndReportClassInstallResult();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // jdk.jshell.execution.StreamingExecutionControl this
         0: .line 236
            aload 0 /* this */
            getfield jdk.jshell.execution.StreamingExecutionControl.in:Ljava/io/ObjectInput;
            invokeinterface java.io.ObjectInput.readInt:()I
            istore 1 /* status */
        start local 1 // int status
         1: .line 237
            iload 1 /* status */
            tableswitch { // 100 - 106
                  100: 2
                  101: 8
                  102: 3
                  103: 10
                  104: 10
                  105: 10
                  106: 5
              default: 10
          }
         2: .line 239
      StackMap locals: int
      StackMap stack:
            return
         3: .line 241
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.jshell.execution.StreamingExecutionControl.in:Ljava/io/ObjectInput;
            invokeinterface java.io.ObjectInput.readUTF:()Ljava/lang/String;
            astore 2 /* message */
        start local 2 // java.lang.String message
         4: .line 242
            new jdk.jshell.spi.ExecutionControl$NotImplementedException
            dup
            aload 2 /* message */
            invokespecial jdk.jshell.spi.ExecutionControl$NotImplementedException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // java.lang.String message
         5: .line 245
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.jshell.execution.StreamingExecutionControl.in:Ljava/io/ObjectInput;
            invokeinterface java.io.ObjectInput.readUTF:()Ljava/lang/String;
            astore 2 /* message */
        start local 2 // java.lang.String message
         6: .line 246
            aload 0 /* this */
            getfield jdk.jshell.execution.StreamingExecutionControl.in:Ljava/io/ObjectInput;
            invokeinterface java.io.ObjectInput.readObject:()Ljava/lang/Object;
            checkcast boolean[]
            astore 3 /* loaded */
        start local 3 // boolean[] loaded
         7: .line 247
            new jdk.jshell.spi.ExecutionControl$ClassInstallException
            dup
            aload 2 /* message */
            aload 3 /* loaded */
            invokespecial jdk.jshell.spi.ExecutionControl$ClassInstallException.<init>:(Ljava/lang/String;[Z)V
            athrow
        end local 3 // boolean[] loaded
        end local 2 // java.lang.String message
         8: .line 250
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.jshell.execution.StreamingExecutionControl.in:Ljava/io/ObjectInput;
            invokeinterface java.io.ObjectInput.readUTF:()Ljava/lang/String;
            astore 2 /* message */
        start local 2 // java.lang.String message
         9: .line 251
            new jdk.jshell.spi.ExecutionControl$EngineTerminationException
            dup
            aload 2 /* message */
            invokespecial jdk.jshell.spi.ExecutionControl$EngineTerminationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // java.lang.String message
        10: .line 254
      StackMap locals:
      StackMap stack:
            new jdk.jshell.spi.ExecutionControl$EngineTerminationException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Bad remote result code: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* status */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial jdk.jshell.spi.ExecutionControl$EngineTerminationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // int status
        11: .line 257
      StackMap locals: jdk.jshell.execution.StreamingExecutionControl
      StackMap stack: java.lang.Exception
            astore 1 /* ex */
        start local 1 // java.lang.Exception ex
        12: .line 258
            new jdk.jshell.spi.ExecutionControl$EngineTerminationException
            dup
            aload 1 /* ex */
            invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
            invokespecial jdk.jshell.spi.ExecutionControl$EngineTerminationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // java.lang.Exception ex
        end local 0 // jdk.jshell.execution.StreamingExecutionControl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   13     0     this  Ljdk/jshell/execution/StreamingExecutionControl;
            1   11     1   status  I
            4    5     2  message  Ljava/lang/String;
            6    8     2  message  Ljava/lang/String;
            7    8     3   loaded  [Z
            9   10     2  message  Ljava/lang/String;
           12   13     1       ex  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0     2      11  Class java.io.IOException
           3    11      11  Class java.io.IOException
           0     2      11  Class java.lang.ClassNotFoundException
           3    11      11  Class java.lang.ClassNotFoundException
    Exceptions:
      throws jdk.jshell.spi.ExecutionControl$ClassInstallException, jdk.jshell.spi.ExecutionControl$NotImplementedException, jdk.jshell.spi.ExecutionControl$EngineTerminationException

  private void readAndReportExecutionResult();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=1
        start local 0 // jdk.jshell.execution.StreamingExecutionControl this
         0: .line 277
            aload 0 /* this */
            getfield jdk.jshell.execution.StreamingExecutionControl.in:Ljava/io/ObjectInput;
            invokeinterface java.io.ObjectInput.readInt:()I
            istore 1 /* status */
        start local 1 // int status
         1: .line 278
            iload 1 /* status */
            tableswitch { // 100 - 107
                  100: 2
                  101: 16
                  102: 3
                  103: 14
                  104: 5
                  105: 9
                  106: 18
                  107: 13
              default: 18
          }
         2: .line 280
      StackMap locals: int
      StackMap stack:
            return
         3: .line 282
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.jshell.execution.StreamingExecutionControl.in:Ljava/io/ObjectInput;
            invokeinterface java.io.ObjectInput.readUTF:()Ljava/lang/String;
            astore 2 /* message */
        start local 2 // java.lang.String message
         4: .line 283
            new jdk.jshell.spi.ExecutionControl$NotImplementedException
            dup
            aload 2 /* message */
            invokespecial jdk.jshell.spi.ExecutionControl$NotImplementedException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // java.lang.String message
         5: .line 287
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual jdk.jshell.execution.StreamingExecutionControl.readNullOrUTF:()Ljava/lang/String;
            astore 2 /* message */
        start local 2 // java.lang.String message
         6: .line 288
            aload 0 /* this */
            getfield jdk.jshell.execution.StreamingExecutionControl.in:Ljava/io/ObjectInput;
            invokeinterface java.io.ObjectInput.readUTF:()Ljava/lang/String;
            astore 3 /* exceptionClassName */
        start local 3 // java.lang.String exceptionClassName
         7: .line 289
            aload 0 /* this */
            getfield jdk.jshell.execution.StreamingExecutionControl.in:Ljava/io/ObjectInput;
            invokeinterface java.io.ObjectInput.readObject:()Ljava/lang/Object;
            checkcast java.lang.StackTraceElement[]
            astore 4 /* elems */
        start local 4 // java.lang.StackTraceElement[] elems
         8: .line 290
            new jdk.jshell.spi.ExecutionControl$UserException
            dup
            aload 2 /* message */
            aload 3 /* exceptionClassName */
            aload 4 /* elems */
            invokespecial jdk.jshell.spi.ExecutionControl$UserException.<init>:(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/StackTraceElement;)V
            athrow
        end local 4 // java.lang.StackTraceElement[] elems
        end local 3 // java.lang.String exceptionClassName
        end local 2 // java.lang.String message
         9: .line 294
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.jshell.execution.StreamingExecutionControl.in:Ljava/io/ObjectInput;
            invokeinterface java.io.ObjectInput.readInt:()I
            istore 2 /* id */
        start local 2 // int id
        10: .line 295
            aload 0 /* this */
            getfield jdk.jshell.execution.StreamingExecutionControl.in:Ljava/io/ObjectInput;
            invokeinterface java.io.ObjectInput.readObject:()Ljava/lang/Object;
            checkcast java.lang.StackTraceElement[]
            astore 3 /* elems */
        start local 3 // java.lang.StackTraceElement[] elems
        11: .line 296
            new jdk.jshell.spi.ExecutionControl$ResolutionException
            dup
            iload 2 /* id */
            aload 3 /* elems */
            invokespecial jdk.jshell.spi.ExecutionControl$ResolutionException.<init>:(I[Ljava/lang/StackTraceElement;)V
            astore 4 /* re */
        start local 4 // jdk.jshell.spi.ExecutionControl$ResolutionException re
        12: .line 297
            aload 4 /* re */
            athrow
        end local 4 // jdk.jshell.spi.ExecutionControl$ResolutionException re
        end local 3 // java.lang.StackTraceElement[] elems
        end local 2 // int id
        13: .line 301
      StackMap locals:
      StackMap stack:
            new jdk.jshell.spi.ExecutionControl$StoppedException
            dup
            invokespecial jdk.jshell.spi.ExecutionControl$StoppedException.<init>:()V
            athrow
        14: .line 305
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.jshell.execution.StreamingExecutionControl.in:Ljava/io/ObjectInput;
            invokeinterface java.io.ObjectInput.readUTF:()Ljava/lang/String;
            astore 2 /* message */
        start local 2 // java.lang.String message
        15: .line 306
            new jdk.jshell.spi.ExecutionControl$InternalException
            dup
            aload 2 /* message */
            invokespecial jdk.jshell.spi.ExecutionControl$InternalException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // java.lang.String message
        16: .line 309
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.jshell.execution.StreamingExecutionControl.in:Ljava/io/ObjectInput;
            invokeinterface java.io.ObjectInput.readUTF:()Ljava/lang/String;
            astore 2 /* message */
        start local 2 // java.lang.String message
        17: .line 310
            new jdk.jshell.spi.ExecutionControl$EngineTerminationException
            dup
            aload 2 /* message */
            invokespecial jdk.jshell.spi.ExecutionControl$EngineTerminationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // java.lang.String message
        18: .line 313
      StackMap locals:
      StackMap stack:
            new jdk.jshell.spi.ExecutionControl$EngineTerminationException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Bad remote result code: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* status */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial jdk.jshell.spi.ExecutionControl$EngineTerminationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // int status
        19: .line 316
      StackMap locals: jdk.jshell.execution.StreamingExecutionControl
      StackMap stack: java.lang.Exception
            astore 1 /* ex */
        start local 1 // java.lang.Exception ex
        20: .line 317
            new jdk.jshell.spi.ExecutionControl$EngineTerminationException
            dup
            aload 1 /* ex */
            invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
            invokespecial jdk.jshell.spi.ExecutionControl$EngineTerminationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // java.lang.Exception ex
        end local 0 // jdk.jshell.execution.StreamingExecutionControl this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   21     0                this  Ljdk/jshell/execution/StreamingExecutionControl;
            1   19     1              status  I
            4    5     2             message  Ljava/lang/String;
            6    9     2             message  Ljava/lang/String;
            7    9     3  exceptionClassName  Ljava/lang/String;
            8    9     4               elems  [Ljava/lang/StackTraceElement;
           10   13     2                  id  I
           11   13     3               elems  [Ljava/lang/StackTraceElement;
           12   13     4                  re  Ljdk/jshell/spi/ExecutionControl$ResolutionException;
           15   16     2             message  Ljava/lang/String;
           17   18     2             message  Ljava/lang/String;
           20   21     1                  ex  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0     2      19  Class java.io.IOException
           3    19      19  Class java.io.IOException
           0     2      19  Class java.lang.ClassNotFoundException
           3    19      19  Class java.lang.ClassNotFoundException
    Exceptions:
      throws jdk.jshell.spi.ExecutionControl$RunException, jdk.jshell.spi.ExecutionControl$EngineTerminationException, jdk.jshell.spi.ExecutionControl$InternalException
}
SourceFile: "StreamingExecutionControl.java"
InnerClasses:
  public final ClassBytecodes = jdk.jshell.spi.ExecutionControl$ClassBytecodes of jdk.jshell.spi.ExecutionControl
  public ClassInstallException = jdk.jshell.spi.ExecutionControl$ClassInstallException of jdk.jshell.spi.ExecutionControl
  public EngineTerminationException = jdk.jshell.spi.ExecutionControl$EngineTerminationException of jdk.jshell.spi.ExecutionControl
  public InternalException = jdk.jshell.spi.ExecutionControl$InternalException of jdk.jshell.spi.ExecutionControl
  public NotImplementedException = jdk.jshell.spi.ExecutionControl$NotImplementedException of jdk.jshell.spi.ExecutionControl
  public ResolutionException = jdk.jshell.spi.ExecutionControl$ResolutionException of jdk.jshell.spi.ExecutionControl
  public abstract RunException = jdk.jshell.spi.ExecutionControl$RunException of jdk.jshell.spi.ExecutionControl
  public StoppedException = jdk.jshell.spi.ExecutionControl$StoppedException of jdk.jshell.spi.ExecutionControl
  public UserException = jdk.jshell.spi.ExecutionControl$UserException of jdk.jshell.spi.ExecutionControl