class jdk.jshell.execution.ExecutionControlForwarder
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: jdk.jshell.execution.ExecutionControlForwarder
  super_class: java.lang.Object
{
  private static final int MAX_UTF_CHARS;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 21844

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

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

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

  void <init>(jdk.jshell.spi.ExecutionControl, java.io.ObjectInput, java.io.ObjectOutput);
    descriptor: (Ljdk/jshell/spi/ExecutionControl;Ljava/io/ObjectInput;Ljava/io/ObjectOutput;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // jdk.jshell.execution.ExecutionControlForwarder this
        start local 1 // jdk.jshell.spi.ExecutionControl ec
        start local 2 // java.io.ObjectInput in
        start local 3 // java.io.ObjectOutput out
         0: .line 58
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 59
            aload 0 /* this */
            aload 1 /* ec */
            putfield jdk.jshell.execution.ExecutionControlForwarder.ec:Ljdk/jshell/spi/ExecutionControl;
         2: .line 60
            aload 0 /* this */
            aload 2 /* in */
            putfield jdk.jshell.execution.ExecutionControlForwarder.in:Ljava/io/ObjectInput;
         3: .line 61
            aload 0 /* this */
            aload 3 /* out */
            putfield jdk.jshell.execution.ExecutionControlForwarder.out:Ljava/io/ObjectOutput;
         4: .line 62
            return
        end local 3 // java.io.ObjectOutput out
        end local 2 // java.io.ObjectInput in
        end local 1 // jdk.jshell.spi.ExecutionControl ec
        end local 0 // jdk.jshell.execution.ExecutionControlForwarder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljdk/jshell/execution/ExecutionControlForwarder;
            0    5     1    ec  Ljdk/jshell/spi/ExecutionControl;
            0    5     2    in  Ljava/io/ObjectInput;
            0    5     3   out  Ljava/io/ObjectOutput;
    MethodParameters:
      Name  Flags
      ec    
      in    
      out   

  private boolean writeSuccess();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.jshell.execution.ExecutionControlForwarder this
         0: .line 65
            aload 0 /* this */
            bipush 100
            invokevirtual jdk.jshell.execution.ExecutionControlForwarder.writeStatus:(I)V
         1: .line 66
            aload 0 /* this */
            invokevirtual jdk.jshell.execution.ExecutionControlForwarder.flush:()V
         2: .line 67
            iconst_1
            ireturn
        end local 0 // jdk.jshell.execution.ExecutionControlForwarder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/jshell/execution/ExecutionControlForwarder;
    Exceptions:
      throws java.io.IOException

  private boolean writeSuccessAndResult(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.jshell.execution.ExecutionControlForwarder this
        start local 1 // java.lang.String result
         0: .line 71
            aload 0 /* this */
            bipush 100
            invokevirtual jdk.jshell.execution.ExecutionControlForwarder.writeStatus:(I)V
         1: .line 72
            aload 0 /* this */
            aload 1 /* result */
            invokevirtual jdk.jshell.execution.ExecutionControlForwarder.writeUTF:(Ljava/lang/String;)V
         2: .line 73
            aload 0 /* this */
            invokevirtual jdk.jshell.execution.ExecutionControlForwarder.flush:()V
         3: .line 74
            iconst_1
            ireturn
        end local 1 // java.lang.String result
        end local 0 // jdk.jshell.execution.ExecutionControlForwarder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Ljdk/jshell/execution/ExecutionControlForwarder;
            0    4     1  result  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      result  

  private boolean writeSuccessAndResult(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.jshell.execution.ExecutionControlForwarder this
        start local 1 // java.lang.Object result
         0: .line 78
            aload 0 /* this */
            bipush 100
            invokevirtual jdk.jshell.execution.ExecutionControlForwarder.writeStatus:(I)V
         1: .line 79
            aload 0 /* this */
            aload 1 /* result */
            invokevirtual jdk.jshell.execution.ExecutionControlForwarder.writeObject:(Ljava/lang/Object;)V
         2: .line 80
            aload 0 /* this */
            invokevirtual jdk.jshell.execution.ExecutionControlForwarder.flush:()V
         3: .line 81
            iconst_1
            ireturn
        end local 1 // java.lang.Object result
        end local 0 // jdk.jshell.execution.ExecutionControlForwarder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Ljdk/jshell/execution/ExecutionControlForwarder;
            0    4     1  result  Ljava/lang/Object;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      result  

  private void writeStatus(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.jshell.execution.ExecutionControlForwarder this
        start local 1 // int status
         0: .line 85
            aload 0 /* this */
            getfield jdk.jshell.execution.ExecutionControlForwarder.out:Ljava/io/ObjectOutput;
            iload 1 /* status */
            invokeinterface java.io.ObjectOutput.writeInt:(I)V
         1: .line 86
            return
        end local 1 // int status
        end local 0 // jdk.jshell.execution.ExecutionControlForwarder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Ljdk/jshell/execution/ExecutionControlForwarder;
            0    2     1  status  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      status  

  private void writeObject(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.jshell.execution.ExecutionControlForwarder this
        start local 1 // java.lang.Object o
         0: .line 89
            aload 0 /* this */
            getfield jdk.jshell.execution.ExecutionControlForwarder.out:Ljava/io/ObjectOutput;
            aload 1 /* o */
            invokeinterface java.io.ObjectOutput.writeObject:(Ljava/lang/Object;)V
         1: .line 90
            return
        end local 1 // java.lang.Object o
        end local 0 // jdk.jshell.execution.ExecutionControlForwarder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/jshell/execution/ExecutionControlForwarder;
            0    2     1     o  Ljava/lang/Object;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      o     

  private void writeInt(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.jshell.execution.ExecutionControlForwarder this
        start local 1 // int i
         0: .line 93
            aload 0 /* this */
            getfield jdk.jshell.execution.ExecutionControlForwarder.out:Ljava/io/ObjectOutput;
            iload 1 /* i */
            invokeinterface java.io.ObjectOutput.writeInt:(I)V
         1: .line 94
            return
        end local 1 // int i
        end local 0 // jdk.jshell.execution.ExecutionControlForwarder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/jshell/execution/ExecutionControlForwarder;
            0    2     1     i  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      i     

  private void writeUTF(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.jshell.execution.ExecutionControlForwarder this
        start local 1 // java.lang.String s
         0: .line 97
            aload 1 /* s */
            ifnonnull 3
         1: .line 98
            ldc ""
            astore 1 /* s */
         2: .line 99
            goto 5
      StackMap locals:
      StackMap stack:
         3: aload 1 /* s */
            invokevirtual java.lang.String.length:()I
            sipush 21844
            if_icmple 5
         4: .line 101
            aload 1 /* s */
            iconst_0
            sipush 21844
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 1 /* s */
         5: .line 103
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.jshell.execution.ExecutionControlForwarder.out:Ljava/io/ObjectOutput;
            aload 1 /* s */
            invokeinterface java.io.ObjectOutput.writeUTF:(Ljava/lang/String;)V
         6: .line 104
            return
        end local 1 // java.lang.String s
        end local 0 // jdk.jshell.execution.ExecutionControlForwarder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Ljdk/jshell/execution/ExecutionControlForwarder;
            0    7     1     s  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      s     

  private void flush();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.jshell.execution.ExecutionControlForwarder this
         0: .line 107
            aload 0 /* this */
            getfield jdk.jshell.execution.ExecutionControlForwarder.out:Ljava/io/ObjectOutput;
            invokeinterface java.io.ObjectOutput.flush:()V
         1: .line 108
            return
        end local 0 // jdk.jshell.execution.ExecutionControlForwarder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/jshell/execution/ExecutionControlForwarder;
    Exceptions:
      throws java.io.IOException

  private boolean processCommand();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=1
        start local 0 // jdk.jshell.execution.ExecutionControlForwarder this
         0: .line 112
            aload 0 /* this */
            getfield jdk.jshell.execution.ExecutionControlForwarder.in:Ljava/io/ObjectInput;
            invokeinterface java.io.ObjectInput.readInt:()I
            istore 1 /* prefix */
        start local 1 // int prefix
         1: .line 113
            iload 1 /* prefix */
            ldc -1069694915
            if_icmpeq 3
         2: .line 114
            new jdk.jshell.spi.ExecutionControl$EngineTerminationException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid command prefix: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* prefix */
            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
         3: .line 116
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield jdk.jshell.execution.ExecutionControlForwarder.in:Ljava/io/ObjectInput;
            invokeinterface java.io.ObjectInput.readUTF:()Ljava/lang/String;
            astore 2 /* cmd */
        start local 2 // java.lang.String cmd
         4: .line 117
            aload 2 /* cmd */
            dup
            astore 3
            invokevirtual java.lang.String.hashCode:()I
            lookupswitch { // 7
          -1835626261: 5
          -1835412473: 6
          -1252757709: 7
          -1197896396: 8
          -1078226317: 9
            418417882: 10
           1108549437: 11
              default: 42
          }
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
         5: aload 3
            ldc "CMD_LOAD"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 12
            goto 42
      StackMap locals:
      StackMap stack:
         6: aload 3
            ldc "CMD_STOP"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 34
            goto 42
      StackMap locals:
      StackMap stack:
         7: aload 3
            ldc "CMD_REDEFINE"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 16
            goto 42
      StackMap locals:
      StackMap stack:
         8: aload 3
            ldc "CMD_VAR_VALUE"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 25
            goto 42
      StackMap locals:
      StackMap stack:
         9: aload 3
            ldc "CMD_CLOSE"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 38
            goto 42
      StackMap locals:
      StackMap stack:
        10: aload 3
            ldc "CMD_ADD_CLASSPATH"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 30
            goto 42
      StackMap locals:
      StackMap stack:
        11: aload 3
            ldc "CMD_INVOKE"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 20
            goto 42
        12: .line 120
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.jshell.execution.ExecutionControlForwarder.in:Ljava/io/ObjectInput;
            invokeinterface java.io.ObjectInput.readObject:()Ljava/lang/Object;
            checkcast jdk.jshell.spi.ExecutionControl$ClassBytecodes[]
            astore 4 /* cbcs */
        start local 4 // jdk.jshell.spi.ExecutionControl$ClassBytecodes[] cbcs
        13: .line 121
            aload 0 /* this */
            getfield jdk.jshell.execution.ExecutionControlForwarder.ec:Ljdk/jshell/spi/ExecutionControl;
            aload 4 /* cbcs */
            invokeinterface jdk.jshell.spi.ExecutionControl.load:([Ljdk/jshell/spi/ExecutionControl$ClassBytecodes;)V
        14: .line 122
            aload 0 /* this */
            invokevirtual jdk.jshell.execution.ExecutionControlForwarder.writeSuccess:()Z
        15: ireturn
        end local 4 // jdk.jshell.spi.ExecutionControl$ClassBytecodes[] cbcs
        16: .line 126
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.jshell.execution.ExecutionControlForwarder.in:Ljava/io/ObjectInput;
            invokeinterface java.io.ObjectInput.readObject:()Ljava/lang/Object;
            checkcast jdk.jshell.spi.ExecutionControl$ClassBytecodes[]
            astore 4 /* cbcs */
        start local 4 // jdk.jshell.spi.ExecutionControl$ClassBytecodes[] cbcs
        17: .line 127
            aload 0 /* this */
            getfield jdk.jshell.execution.ExecutionControlForwarder.ec:Ljdk/jshell/spi/ExecutionControl;
            aload 4 /* cbcs */
            invokeinterface jdk.jshell.spi.ExecutionControl.redefine:([Ljdk/jshell/spi/ExecutionControl$ClassBytecodes;)V
        18: .line 128
            aload 0 /* this */
            invokevirtual jdk.jshell.execution.ExecutionControlForwarder.writeSuccess:()Z
        19: ireturn
        end local 4 // jdk.jshell.spi.ExecutionControl$ClassBytecodes[] cbcs
        20: .line 132
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.jshell.execution.ExecutionControlForwarder.in:Ljava/io/ObjectInput;
            invokeinterface java.io.ObjectInput.readUTF:()Ljava/lang/String;
            astore 4 /* className */
        start local 4 // java.lang.String className
        21: .line 133
            aload 0 /* this */
            getfield jdk.jshell.execution.ExecutionControlForwarder.in:Ljava/io/ObjectInput;
            invokeinterface java.io.ObjectInput.readUTF:()Ljava/lang/String;
            astore 5 /* methodName */
        start local 5 // java.lang.String methodName
        22: .line 134
            aload 0 /* this */
            getfield jdk.jshell.execution.ExecutionControlForwarder.ec:Ljdk/jshell/spi/ExecutionControl;
            aload 4 /* className */
            aload 5 /* methodName */
            invokeinterface jdk.jshell.spi.ExecutionControl.invoke:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 6 /* res */
        start local 6 // java.lang.String res
        23: .line 135
            aload 0 /* this */
            aload 6 /* res */
            invokevirtual jdk.jshell.execution.ExecutionControlForwarder.writeSuccessAndResult:(Ljava/lang/String;)Z
        24: ireturn
        end local 6 // java.lang.String res
        end local 5 // java.lang.String methodName
        end local 4 // java.lang.String className
        25: .line 139
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.jshell.execution.ExecutionControlForwarder.in:Ljava/io/ObjectInput;
            invokeinterface java.io.ObjectInput.readUTF:()Ljava/lang/String;
            astore 4 /* className */
        start local 4 // java.lang.String className
        26: .line 140
            aload 0 /* this */
            getfield jdk.jshell.execution.ExecutionControlForwarder.in:Ljava/io/ObjectInput;
            invokeinterface java.io.ObjectInput.readUTF:()Ljava/lang/String;
            astore 5 /* varName */
        start local 5 // java.lang.String varName
        27: .line 141
            aload 0 /* this */
            getfield jdk.jshell.execution.ExecutionControlForwarder.ec:Ljdk/jshell/spi/ExecutionControl;
            aload 4 /* className */
            aload 5 /* varName */
            invokeinterface jdk.jshell.spi.ExecutionControl.varValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 6 /* res */
        start local 6 // java.lang.String res
        28: .line 142
            aload 0 /* this */
            aload 6 /* res */
            invokevirtual jdk.jshell.execution.ExecutionControlForwarder.writeSuccessAndResult:(Ljava/lang/String;)Z
        29: ireturn
        end local 6 // java.lang.String res
        end local 5 // java.lang.String varName
        end local 4 // java.lang.String className
        30: .line 146
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.jshell.execution.ExecutionControlForwarder.in:Ljava/io/ObjectInput;
            invokeinterface java.io.ObjectInput.readUTF:()Ljava/lang/String;
            astore 4 /* cp */
        start local 4 // java.lang.String cp
        31: .line 147
            aload 0 /* this */
            getfield jdk.jshell.execution.ExecutionControlForwarder.ec:Ljdk/jshell/spi/ExecutionControl;
            aload 4 /* cp */
            invokeinterface jdk.jshell.spi.ExecutionControl.addToClasspath:(Ljava/lang/String;)V
        32: .line 148
            aload 0 /* this */
            invokevirtual jdk.jshell.execution.ExecutionControlForwarder.writeSuccess:()Z
        33: ireturn
        end local 4 // java.lang.String cp
        34: .line 153
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.jshell.execution.ExecutionControlForwarder.ec:Ljdk/jshell/spi/ExecutionControl;
            invokeinterface jdk.jshell.spi.ExecutionControl.stop:()V
        35: .line 154
            goto 37
      StackMap locals:
      StackMap stack: java.lang.Throwable
        36: pop
        37: .line 157
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        38: .line 162
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.jshell.execution.ExecutionControlForwarder.ec:Ljdk/jshell/spi/ExecutionControl;
            invokeinterface jdk.jshell.spi.ExecutionControl.close:()V
        39: .line 163
            goto 41
      StackMap locals:
      StackMap stack: java.lang.Throwable
        40: pop
        41: .line 166
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        42: .line 169
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.jshell.execution.ExecutionControlForwarder.in:Ljava/io/ObjectInput;
            invokeinterface java.io.ObjectInput.readObject:()Ljava/lang/Object;
            astore 4 /* arg */
        start local 4 // java.lang.Object arg
        43: .line 170
            aload 0 /* this */
            getfield jdk.jshell.execution.ExecutionControlForwarder.ec:Ljdk/jshell/spi/ExecutionControl;
            aload 2 /* cmd */
            aload 4 /* arg */
            invokeinterface jdk.jshell.spi.ExecutionControl.extensionCommand:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
            astore 5 /* res */
        start local 5 // java.lang.Object res
        44: .line 171
            aload 0 /* this */
            aload 5 /* res */
            invokevirtual jdk.jshell.execution.ExecutionControlForwarder.writeSuccessAndResult:(Ljava/lang/Object;)Z
        45: ireturn
        end local 5 // java.lang.Object res
        end local 4 // java.lang.Object arg
        end local 2 // java.lang.String cmd
        end local 1 // int prefix
        46: .line 174
      StackMap locals: jdk.jshell.execution.ExecutionControlForwarder
      StackMap stack: java.io.IOException
            astore 1 /* ex */
        start local 1 // java.io.IOException ex
        47: .line 176
            aload 1 /* ex */
            athrow
        end local 1 // java.io.IOException ex
        48: .line 177
      StackMap locals:
      StackMap stack: jdk.jshell.spi.ExecutionControl$EngineTerminationException
            astore 1 /* ex */
        start local 1 // jdk.jshell.spi.ExecutionControl$EngineTerminationException ex
        49: .line 178
            aload 0 /* this */
            bipush 101
            invokevirtual jdk.jshell.execution.ExecutionControlForwarder.writeStatus:(I)V
        50: .line 179
            aload 0 /* this */
            aload 1 /* ex */
            invokevirtual jdk.jshell.spi.ExecutionControl$EngineTerminationException.getMessage:()Ljava/lang/String;
            invokevirtual jdk.jshell.execution.ExecutionControlForwarder.writeUTF:(Ljava/lang/String;)V
        51: .line 180
            aload 0 /* this */
            invokevirtual jdk.jshell.execution.ExecutionControlForwarder.flush:()V
        52: .line 181
            iconst_0
            ireturn
        end local 1 // jdk.jshell.spi.ExecutionControl$EngineTerminationException ex
        53: .line 182
      StackMap locals:
      StackMap stack: jdk.jshell.spi.ExecutionControl$NotImplementedException
            astore 1 /* ex */
        start local 1 // jdk.jshell.spi.ExecutionControl$NotImplementedException ex
        54: .line 183
            aload 0 /* this */
            bipush 102
            invokevirtual jdk.jshell.execution.ExecutionControlForwarder.writeStatus:(I)V
        55: .line 184
            aload 0 /* this */
            aload 1 /* ex */
            invokevirtual jdk.jshell.spi.ExecutionControl$NotImplementedException.getMessage:()Ljava/lang/String;
            invokevirtual jdk.jshell.execution.ExecutionControlForwarder.writeUTF:(Ljava/lang/String;)V
        56: .line 185
            aload 0 /* this */
            invokevirtual jdk.jshell.execution.ExecutionControlForwarder.flush:()V
        57: .line 186
            iconst_1
            ireturn
        end local 1 // jdk.jshell.spi.ExecutionControl$NotImplementedException ex
        58: .line 187
      StackMap locals:
      StackMap stack: jdk.jshell.spi.ExecutionControl$InternalException
            astore 1 /* ex */
        start local 1 // jdk.jshell.spi.ExecutionControl$InternalException ex
        59: .line 188
            aload 0 /* this */
            bipush 103
            invokevirtual jdk.jshell.execution.ExecutionControlForwarder.writeStatus:(I)V
        60: .line 189
            aload 0 /* this */
            aload 1 /* ex */
            invokevirtual jdk.jshell.spi.ExecutionControl$InternalException.getMessage:()Ljava/lang/String;
            invokevirtual jdk.jshell.execution.ExecutionControlForwarder.writeUTF:(Ljava/lang/String;)V
        61: .line 190
            aload 0 /* this */
            invokevirtual jdk.jshell.execution.ExecutionControlForwarder.flush:()V
        62: .line 191
            iconst_1
            ireturn
        end local 1 // jdk.jshell.spi.ExecutionControl$InternalException ex
        63: .line 192
      StackMap locals:
      StackMap stack: jdk.jshell.spi.ExecutionControl$ClassInstallException
            astore 1 /* ex */
        start local 1 // jdk.jshell.spi.ExecutionControl$ClassInstallException ex
        64: .line 193
            aload 0 /* this */
            bipush 106
            invokevirtual jdk.jshell.execution.ExecutionControlForwarder.writeStatus:(I)V
        65: .line 194
            aload 0 /* this */
            aload 1 /* ex */
            invokevirtual jdk.jshell.spi.ExecutionControl$ClassInstallException.getMessage:()Ljava/lang/String;
            invokevirtual jdk.jshell.execution.ExecutionControlForwarder.writeUTF:(Ljava/lang/String;)V
        66: .line 195
            aload 0 /* this */
            aload 1 /* ex */
            invokevirtual jdk.jshell.spi.ExecutionControl$ClassInstallException.installed:()[Z
            invokevirtual jdk.jshell.execution.ExecutionControlForwarder.writeObject:(Ljava/lang/Object;)V
        67: .line 196
            aload 0 /* this */
            invokevirtual jdk.jshell.execution.ExecutionControlForwarder.flush:()V
        68: .line 197
            iconst_1
            ireturn
        end local 1 // jdk.jshell.spi.ExecutionControl$ClassInstallException ex
        69: .line 198
      StackMap locals:
      StackMap stack: jdk.jshell.spi.ExecutionControl$UserException
            astore 1 /* ex */
        start local 1 // jdk.jshell.spi.ExecutionControl$UserException ex
        70: .line 199
            aload 0 /* this */
            bipush 104
            invokevirtual jdk.jshell.execution.ExecutionControlForwarder.writeStatus:(I)V
        71: .line 200
            aload 0 /* this */
            aload 1 /* ex */
            invokevirtual jdk.jshell.spi.ExecutionControl$UserException.getMessage:()Ljava/lang/String;
            invokevirtual jdk.jshell.execution.ExecutionControlForwarder.writeUTF:(Ljava/lang/String;)V
        72: .line 201
            aload 0 /* this */
            aload 1 /* ex */
            invokevirtual jdk.jshell.spi.ExecutionControl$UserException.causeExceptionClass:()Ljava/lang/String;
            invokevirtual jdk.jshell.execution.ExecutionControlForwarder.writeUTF:(Ljava/lang/String;)V
        73: .line 202
            aload 0 /* this */
            aload 1 /* ex */
            invokevirtual jdk.jshell.spi.ExecutionControl$UserException.getStackTrace:()[Ljava/lang/StackTraceElement;
            invokevirtual jdk.jshell.execution.ExecutionControlForwarder.writeObject:(Ljava/lang/Object;)V
        74: .line 203
            aload 0 /* this */
            invokevirtual jdk.jshell.execution.ExecutionControlForwarder.flush:()V
        75: .line 204
            iconst_1
            ireturn
        end local 1 // jdk.jshell.spi.ExecutionControl$UserException ex
        76: .line 205
      StackMap locals:
      StackMap stack: jdk.jshell.spi.ExecutionControl$ResolutionException
            astore 1 /* ex */
        start local 1 // jdk.jshell.spi.ExecutionControl$ResolutionException ex
        77: .line 206
            aload 0 /* this */
            bipush 105
            invokevirtual jdk.jshell.execution.ExecutionControlForwarder.writeStatus:(I)V
        78: .line 207
            aload 0 /* this */
            aload 1 /* ex */
            invokevirtual jdk.jshell.spi.ExecutionControl$ResolutionException.id:()I
            invokevirtual jdk.jshell.execution.ExecutionControlForwarder.writeInt:(I)V
        79: .line 208
            aload 0 /* this */
            aload 1 /* ex */
            invokevirtual jdk.jshell.spi.ExecutionControl$ResolutionException.getStackTrace:()[Ljava/lang/StackTraceElement;
            invokevirtual jdk.jshell.execution.ExecutionControlForwarder.writeObject:(Ljava/lang/Object;)V
        80: .line 209
            aload 0 /* this */
            invokevirtual jdk.jshell.execution.ExecutionControlForwarder.flush:()V
        81: .line 210
            iconst_1
            ireturn
        end local 1 // jdk.jshell.spi.ExecutionControl$ResolutionException ex
        82: .line 211
      StackMap locals:
      StackMap stack: jdk.jshell.spi.ExecutionControl$StoppedException
            pop
        83: .line 212
            aload 0 /* this */
            bipush 107
            invokevirtual jdk.jshell.execution.ExecutionControlForwarder.writeStatus:(I)V
        84: .line 213
            aload 0 /* this */
            invokevirtual jdk.jshell.execution.ExecutionControlForwarder.flush:()V
        85: .line 214
            iconst_1
            ireturn
        86: .line 215
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 1 /* ex */
        start local 1 // java.lang.Throwable ex
        87: .line 216
            aload 0 /* this */
            bipush 101
            invokevirtual jdk.jshell.execution.ExecutionControlForwarder.writeStatus:(I)V
        88: .line 217
            aload 0 /* this */
            aload 1 /* ex */
            invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
            invokevirtual jdk.jshell.execution.ExecutionControlForwarder.writeUTF:(Ljava/lang/String;)V
        89: .line 218
            aload 0 /* this */
            invokevirtual jdk.jshell.execution.ExecutionControlForwarder.flush:()V
        90: .line 219
            iconst_0
            ireturn
        end local 1 // java.lang.Throwable ex
        end local 0 // jdk.jshell.execution.ExecutionControlForwarder this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   91     0        this  Ljdk/jshell/execution/ExecutionControlForwarder;
            1   46     1      prefix  I
            4   46     2         cmd  Ljava/lang/String;
           13   16     4        cbcs  [Ljdk/jshell/spi/ExecutionControl$ClassBytecodes;
           17   20     4        cbcs  [Ljdk/jshell/spi/ExecutionControl$ClassBytecodes;
           21   25     4   className  Ljava/lang/String;
           22   25     5  methodName  Ljava/lang/String;
           23   25     6         res  Ljava/lang/String;
           26   30     4   className  Ljava/lang/String;
           27   30     5     varName  Ljava/lang/String;
           28   30     6         res  Ljava/lang/String;
           31   34     4          cp  Ljava/lang/String;
           43   46     4         arg  Ljava/lang/Object;
           44   46     5         res  Ljava/lang/Object;
           47   48     1          ex  Ljava/io/IOException;
           49   53     1          ex  Ljdk/jshell/spi/ExecutionControl$EngineTerminationException;
           54   58     1          ex  Ljdk/jshell/spi/ExecutionControl$NotImplementedException;
           59   63     1          ex  Ljdk/jshell/spi/ExecutionControl$InternalException;
           64   69     1          ex  Ljdk/jshell/spi/ExecutionControl$ClassInstallException;
           70   76     1          ex  Ljdk/jshell/spi/ExecutionControl$UserException;
           77   82     1          ex  Ljdk/jshell/spi/ExecutionControl$ResolutionException;
           87   91     1          ex  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
          34    35      36  Class java.lang.Throwable
          38    39      40  Class java.lang.Throwable
           0    15      46  Class java.io.IOException
          16    19      46  Class java.io.IOException
          20    24      46  Class java.io.IOException
          25    29      46  Class java.io.IOException
          30    33      46  Class java.io.IOException
          34    37      46  Class java.io.IOException
          38    41      46  Class java.io.IOException
          42    45      46  Class java.io.IOException
           0    15      48  Class jdk.jshell.spi.ExecutionControl$EngineTerminationException
          16    19      48  Class jdk.jshell.spi.ExecutionControl$EngineTerminationException
          20    24      48  Class jdk.jshell.spi.ExecutionControl$EngineTerminationException
          25    29      48  Class jdk.jshell.spi.ExecutionControl$EngineTerminationException
          30    33      48  Class jdk.jshell.spi.ExecutionControl$EngineTerminationException
          34    37      48  Class jdk.jshell.spi.ExecutionControl$EngineTerminationException
          38    41      48  Class jdk.jshell.spi.ExecutionControl$EngineTerminationException
          42    45      48  Class jdk.jshell.spi.ExecutionControl$EngineTerminationException
           0    15      53  Class jdk.jshell.spi.ExecutionControl$NotImplementedException
          16    19      53  Class jdk.jshell.spi.ExecutionControl$NotImplementedException
          20    24      53  Class jdk.jshell.spi.ExecutionControl$NotImplementedException
          25    29      53  Class jdk.jshell.spi.ExecutionControl$NotImplementedException
          30    33      53  Class jdk.jshell.spi.ExecutionControl$NotImplementedException
          34    37      53  Class jdk.jshell.spi.ExecutionControl$NotImplementedException
          38    41      53  Class jdk.jshell.spi.ExecutionControl$NotImplementedException
          42    45      53  Class jdk.jshell.spi.ExecutionControl$NotImplementedException
           0    15      58  Class jdk.jshell.spi.ExecutionControl$InternalException
          16    19      58  Class jdk.jshell.spi.ExecutionControl$InternalException
          20    24      58  Class jdk.jshell.spi.ExecutionControl$InternalException
          25    29      58  Class jdk.jshell.spi.ExecutionControl$InternalException
          30    33      58  Class jdk.jshell.spi.ExecutionControl$InternalException
          34    37      58  Class jdk.jshell.spi.ExecutionControl$InternalException
          38    41      58  Class jdk.jshell.spi.ExecutionControl$InternalException
          42    45      58  Class jdk.jshell.spi.ExecutionControl$InternalException
           0    15      63  Class jdk.jshell.spi.ExecutionControl$ClassInstallException
          16    19      63  Class jdk.jshell.spi.ExecutionControl$ClassInstallException
          20    24      63  Class jdk.jshell.spi.ExecutionControl$ClassInstallException
          25    29      63  Class jdk.jshell.spi.ExecutionControl$ClassInstallException
          30    33      63  Class jdk.jshell.spi.ExecutionControl$ClassInstallException
          34    37      63  Class jdk.jshell.spi.ExecutionControl$ClassInstallException
          38    41      63  Class jdk.jshell.spi.ExecutionControl$ClassInstallException
          42    45      63  Class jdk.jshell.spi.ExecutionControl$ClassInstallException
           0    15      69  Class jdk.jshell.spi.ExecutionControl$UserException
          16    19      69  Class jdk.jshell.spi.ExecutionControl$UserException
          20    24      69  Class jdk.jshell.spi.ExecutionControl$UserException
          25    29      69  Class jdk.jshell.spi.ExecutionControl$UserException
          30    33      69  Class jdk.jshell.spi.ExecutionControl$UserException
          34    37      69  Class jdk.jshell.spi.ExecutionControl$UserException
          38    41      69  Class jdk.jshell.spi.ExecutionControl$UserException
          42    45      69  Class jdk.jshell.spi.ExecutionControl$UserException
           0    15      76  Class jdk.jshell.spi.ExecutionControl$ResolutionException
          16    19      76  Class jdk.jshell.spi.ExecutionControl$ResolutionException
          20    24      76  Class jdk.jshell.spi.ExecutionControl$ResolutionException
          25    29      76  Class jdk.jshell.spi.ExecutionControl$ResolutionException
          30    33      76  Class jdk.jshell.spi.ExecutionControl$ResolutionException
          34    37      76  Class jdk.jshell.spi.ExecutionControl$ResolutionException
          38    41      76  Class jdk.jshell.spi.ExecutionControl$ResolutionException
          42    45      76  Class jdk.jshell.spi.ExecutionControl$ResolutionException
           0    15      82  Class jdk.jshell.spi.ExecutionControl$StoppedException
          16    19      82  Class jdk.jshell.spi.ExecutionControl$StoppedException
          20    24      82  Class jdk.jshell.spi.ExecutionControl$StoppedException
          25    29      82  Class jdk.jshell.spi.ExecutionControl$StoppedException
          30    33      82  Class jdk.jshell.spi.ExecutionControl$StoppedException
          34    37      82  Class jdk.jshell.spi.ExecutionControl$StoppedException
          38    41      82  Class jdk.jshell.spi.ExecutionControl$StoppedException
          42    45      82  Class jdk.jshell.spi.ExecutionControl$StoppedException
           0    15      86  Class java.lang.Throwable
          16    19      86  Class java.lang.Throwable
          20    24      86  Class java.lang.Throwable
          25    29      86  Class java.lang.Throwable
          30    33      86  Class java.lang.Throwable
          34    37      86  Class java.lang.Throwable
          38    41      86  Class java.lang.Throwable
          42    45      86  Class java.lang.Throwable
    Exceptions:
      throws java.io.IOException

  void commandLoop();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.jshell.execution.ExecutionControlForwarder this
         0: .line 225
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual jdk.jshell.execution.ExecutionControlForwarder.processCommand:()Z
            ifne 0
         1: .line 228
            goto 3
      StackMap locals:
      StackMap stack: java.io.IOException
         2: pop
         3: .line 231
      StackMap locals:
      StackMap stack:
            return
        end local 0 // jdk.jshell.execution.ExecutionControlForwarder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljdk/jshell/execution/ExecutionControlForwarder;
      Exception table:
        from    to  target  type
           0     1       2  Class java.io.IOException
}
SourceFile: "ExecutionControlForwarder.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 StoppedException = jdk.jshell.spi.ExecutionControl$StoppedException of jdk.jshell.spi.ExecutionControl
  public UserException = jdk.jshell.spi.ExecutionControl$UserException of jdk.jshell.spi.ExecutionControl