public class jdk.jshell.JShell$Builder
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: jdk.jshell.JShell$Builder
  super_class: java.lang.Object
{
  java.io.InputStream in;
    descriptor: Ljava/io/InputStream;
    flags: (0x0000) 

  java.io.PrintStream out;
    descriptor: Ljava/io/PrintStream;
    flags: (0x0000) 

  java.io.PrintStream err;
    descriptor: Ljava/io/PrintStream;
    flags: (0x0000) 

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

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

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

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

  jdk.jshell.spi.ExecutionControlProvider executionControlProvider;
    descriptor: Ljdk/jshell/spi/ExecutionControlProvider;
    flags: (0x0000) 

  java.util.Map<java.lang.String, java.lang.String> executionControlParameters;
    descriptor: Ljava/util/Map;
    flags: (0x0000) 
    Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;

  java.lang.String executionControlSpec;
    descriptor: Ljava/lang/String;
    flags: (0x0000) 

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

  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // jdk.jshell.JShell$Builder this
         0: .line 182
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 170
            aload 0 /* this */
            new java.io.ByteArrayInputStream
            dup
            iconst_0
            newarray 8
            invokespecial java.io.ByteArrayInputStream.<init>:([B)V
            putfield jdk.jshell.JShell$Builder.in:Ljava/io/InputStream;
         2: .line 171
            aload 0 /* this */
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            putfield jdk.jshell.JShell$Builder.out:Ljava/io/PrintStream;
         3: .line 172
            aload 0 /* this */
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            putfield jdk.jshell.JShell$Builder.err:Ljava/io/PrintStream;
         4: .line 173
            aload 0 /* this */
            aconst_null
            putfield jdk.jshell.JShell$Builder.tempVariableNameGenerator:Ljava/util/function/Supplier;
         5: .line 174
            aload 0 /* this */
            aconst_null
            putfield jdk.jshell.JShell$Builder.idGenerator:Ljava/util/function/BiFunction;
         6: .line 175
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield jdk.jshell.JShell$Builder.extraRemoteVMOptions:Ljava/util/List;
         7: .line 176
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield jdk.jshell.JShell$Builder.extraCompilerOptions:Ljava/util/List;
         8: .line 182
            return
        end local 0 // jdk.jshell.JShell$Builder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Ljdk/jshell/JShell$Builder;

  public jdk.jshell.JShell$Builder in(java.io.InputStream);
    descriptor: (Ljava/io/InputStream;)Ljdk/jshell/JShell$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.jshell.JShell$Builder this
        start local 1 // java.io.InputStream in
         0: .line 203
            aload 0 /* this */
            aload 1 /* in */
            putfield jdk.jshell.JShell$Builder.in:Ljava/io/InputStream;
         1: .line 204
            aload 0 /* this */
            areturn
        end local 1 // java.io.InputStream in
        end local 0 // jdk.jshell.JShell$Builder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/jshell/JShell$Builder;
            0    2     1    in  Ljava/io/InputStream;
    MethodParameters:
      Name  Flags
      in    

  public jdk.jshell.JShell$Builder out(java.io.PrintStream);
    descriptor: (Ljava/io/PrintStream;)Ljdk/jshell/JShell$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.jshell.JShell$Builder this
        start local 1 // java.io.PrintStream out
         0: .line 220
            aload 0 /* this */
            aload 1 /* out */
            putfield jdk.jshell.JShell$Builder.out:Ljava/io/PrintStream;
         1: .line 221
            aload 0 /* this */
            areturn
        end local 1 // java.io.PrintStream out
        end local 0 // jdk.jshell.JShell$Builder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/jshell/JShell$Builder;
            0    2     1   out  Ljava/io/PrintStream;
    MethodParameters:
      Name  Flags
      out   

  public jdk.jshell.JShell$Builder err(java.io.PrintStream);
    descriptor: (Ljava/io/PrintStream;)Ljdk/jshell/JShell$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.jshell.JShell$Builder this
        start local 1 // java.io.PrintStream err
         0: .line 237
            aload 0 /* this */
            aload 1 /* err */
            putfield jdk.jshell.JShell$Builder.err:Ljava/io/PrintStream;
         1: .line 238
            aload 0 /* this */
            areturn
        end local 1 // java.io.PrintStream err
        end local 0 // jdk.jshell.JShell$Builder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/jshell/JShell$Builder;
            0    2     1   err  Ljava/io/PrintStream;
    MethodParameters:
      Name  Flags
      err   

  public jdk.jshell.JShell$Builder tempVariableNameGenerator(java.util.function.Supplier<java.lang.String>);
    descriptor: (Ljava/util/function/Supplier;)Ljdk/jshell/JShell$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.jshell.JShell$Builder this
        start local 1 // java.util.function.Supplier generator
         0: .line 268
            aload 0 /* this */
            aload 1 /* generator */
            putfield jdk.jshell.JShell$Builder.tempVariableNameGenerator:Ljava/util/function/Supplier;
         1: .line 269
            aload 0 /* this */
            areturn
        end local 1 // java.util.function.Supplier generator
        end local 0 // jdk.jshell.JShell$Builder this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Ljdk/jshell/JShell$Builder;
            0    2     1  generator  Ljava/util/function/Supplier<Ljava/lang/String;>;
    Signature: (Ljava/util/function/Supplier<Ljava/lang/String;>;)Ljdk/jshell/JShell$Builder;
    MethodParameters:
           Name  Flags
      generator  

  public jdk.jshell.JShell$Builder idGenerator(java.util.function.BiFunction<jdk.jshell.Snippet, java.lang.Integer, java.lang.String>);
    descriptor: (Ljava/util/function/BiFunction;)Ljdk/jshell/JShell$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.jshell.JShell$Builder this
        start local 1 // java.util.function.BiFunction generator
         0: .line 305
            aload 0 /* this */
            aload 1 /* generator */
            putfield jdk.jshell.JShell$Builder.idGenerator:Ljava/util/function/BiFunction;
         1: .line 306
            aload 0 /* this */
            areturn
        end local 1 // java.util.function.BiFunction generator
        end local 0 // jdk.jshell.JShell$Builder this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Ljdk/jshell/JShell$Builder;
            0    2     1  generator  Ljava/util/function/BiFunction<Ljdk/jshell/Snippet;Ljava/lang/Integer;Ljava/lang/String;>;
    Signature: (Ljava/util/function/BiFunction<Ljdk/jshell/Snippet;Ljava/lang/Integer;Ljava/lang/String;>;)Ljdk/jshell/JShell$Builder;
    MethodParameters:
           Name  Flags
      generator  

  public jdk.jshell.JShell$Builder remoteVMOptions(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)Ljdk/jshell/JShell$Builder;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.jshell.JShell$Builder this
        start local 1 // java.lang.String[] options
         0: .line 317
            aload 0 /* this */
            getfield jdk.jshell.JShell$Builder.extraRemoteVMOptions:Ljava/util/List;
            aload 1 /* options */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
         1: .line 318
            aload 0 /* this */
            areturn
        end local 1 // java.lang.String[] options
        end local 0 // jdk.jshell.JShell$Builder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Ljdk/jshell/JShell$Builder;
            0    2     1  options  [Ljava/lang/String;
    MethodParameters:
         Name  Flags
      options  

  public jdk.jshell.JShell$Builder compilerOptions(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)Ljdk/jshell/JShell$Builder;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.jshell.JShell$Builder this
        start local 1 // java.lang.String[] options
         0: .line 332
            aload 0 /* this */
            getfield jdk.jshell.JShell$Builder.extraCompilerOptions:Ljava/util/List;
            aload 1 /* options */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
         1: .line 333
            aload 0 /* this */
            areturn
        end local 1 // java.lang.String[] options
        end local 0 // jdk.jshell.JShell$Builder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Ljdk/jshell/JShell$Builder;
            0    2     1  options  [Ljava/lang/String;
    MethodParameters:
         Name  Flags
      options  

  public jdk.jshell.JShell$Builder executionEngine(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljdk/jshell/JShell$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.jshell.JShell$Builder this
        start local 1 // java.lang.String executionControlSpec
         0: .line 350
            aload 0 /* this */
            aload 1 /* executionControlSpec */
            putfield jdk.jshell.JShell$Builder.executionControlSpec:Ljava/lang/String;
         1: .line 351
            aload 0 /* this */
            areturn
        end local 1 // java.lang.String executionControlSpec
        end local 0 // jdk.jshell.JShell$Builder this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    2     0                  this  Ljdk/jshell/JShell$Builder;
            0    2     1  executionControlSpec  Ljava/lang/String;
    MethodParameters:
                      Name  Flags
      executionControlSpec  

  public jdk.jshell.JShell$Builder executionEngine(jdk.jshell.spi.ExecutionControlProvider, java.util.Map<java.lang.String, java.lang.String>);
    descriptor: (Ljdk/jshell/spi/ExecutionControlProvider;Ljava/util/Map;)Ljdk/jshell/JShell$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // jdk.jshell.JShell$Builder this
        start local 1 // jdk.jshell.spi.ExecutionControlProvider executionControlProvider
        start local 2 // java.util.Map executionControlParameters
         0: .line 369
            aload 0 /* this */
            aload 1 /* executionControlProvider */
            putfield jdk.jshell.JShell$Builder.executionControlProvider:Ljdk/jshell/spi/ExecutionControlProvider;
         1: .line 370
            aload 0 /* this */
            aload 2 /* executionControlParameters */
            putfield jdk.jshell.JShell$Builder.executionControlParameters:Ljava/util/Map;
         2: .line 371
            aload 0 /* this */
            areturn
        end local 2 // java.util.Map executionControlParameters
        end local 1 // jdk.jshell.spi.ExecutionControlProvider executionControlProvider
        end local 0 // jdk.jshell.JShell$Builder this
      LocalVariableTable:
        Start  End  Slot                        Name  Signature
            0    3     0                        this  Ljdk/jshell/JShell$Builder;
            0    3     1    executionControlProvider  Ljdk/jshell/spi/ExecutionControlProvider;
            0    3     2  executionControlParameters  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
    Signature: (Ljdk/jshell/spi/ExecutionControlProvider;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)Ljdk/jshell/JShell$Builder;
    MethodParameters:
                            Name  Flags
      executionControlProvider    
      executionControlParameters  

  public jdk.jshell.JShell$Builder fileManager(java.util.function.Function<javax.tools.StandardJavaFileManager, javax.tools.StandardJavaFileManager>);
    descriptor: (Ljava/util/function/Function;)Ljdk/jshell/JShell$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.jshell.JShell$Builder this
        start local 1 // java.util.function.Function mapping
         0: .line 392
            aload 0 /* this */
            aload 1 /* mapping */
            putfield jdk.jshell.JShell$Builder.fileManagerMapping:Ljava/util/function/Function;
         1: .line 393
            aload 0 /* this */
            areturn
        end local 1 // java.util.function.Function mapping
        end local 0 // jdk.jshell.JShell$Builder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Ljdk/jshell/JShell$Builder;
            0    2     1  mapping  Ljava/util/function/Function<Ljavax/tools/StandardJavaFileManager;Ljavax/tools/StandardJavaFileManager;>;
    Signature: (Ljava/util/function/Function<Ljavax/tools/StandardJavaFileManager;Ljavax/tools/StandardJavaFileManager;>;)Ljdk/jshell/JShell$Builder;
    MethodParameters:
         Name  Flags
      mapping  

  public jdk.jshell.JShell build();
    descriptor: ()Ljdk/jshell/JShell;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.jshell.JShell$Builder this
         0: .line 405
            new jdk.jshell.JShell
            dup
            aload 0 /* this */
            invokespecial jdk.jshell.JShell.<init>:(Ljdk/jshell/JShell$Builder;)V
            areturn
        end local 0 // jdk.jshell.JShell$Builder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/jshell/JShell$Builder;
    Exceptions:
      throws java.lang.IllegalStateException
}
SourceFile: "JShell.java"
NestHost: jdk.jshell.JShell
InnerClasses:
  public Builder = jdk.jshell.JShell$Builder of jdk.jshell.JShell