public class jdk.jshell.JShell implements java.lang.AutoCloseable
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: jdk.jshell.JShell
super_class: java.lang.Object
{
final jdk.jshell.SnippetMaps maps;
descriptor: Ljdk/jshell/SnippetMaps;
flags: (0x0010) ACC_FINAL
final jdk.jshell.KeyMap keyMap;
descriptor: Ljdk/jshell/KeyMap;
flags: (0x0010) ACC_FINAL
final jdk.jshell.OuterWrapMap outerMap;
descriptor: Ljdk/jshell/OuterWrapMap;
flags: (0x0010) ACC_FINAL
final jdk.jshell.TaskFactory taskFactory;
descriptor: Ljdk/jshell/TaskFactory;
flags: (0x0010) ACC_FINAL
final java.io.InputStream in;
descriptor: Ljava/io/InputStream;
flags: (0x0010) ACC_FINAL
final java.io.PrintStream out;
descriptor: Ljava/io/PrintStream;
flags: (0x0010) ACC_FINAL
final java.io.PrintStream err;
descriptor: Ljava/io/PrintStream;
flags: (0x0010) ACC_FINAL
final java.util.function.Supplier<java.lang.String> tempVariableNameGenerator;
descriptor: Ljava/util/function/Supplier;
flags: (0x0010) ACC_FINAL
Signature: Ljava/util/function/Supplier<Ljava/lang/String;>;
final java.util.function.BiFunction<jdk.jshell.Snippet, java.lang.Integer, java.lang.String> idGenerator;
descriptor: Ljava/util/function/BiFunction;
flags: (0x0010) ACC_FINAL
Signature: Ljava/util/function/BiFunction<Ljdk/jshell/Snippet;Ljava/lang/Integer;Ljava/lang/String;>;
final java.util.List<java.lang.String> ;
descriptor: Ljava/util/List;
flags: (0x0010) ACC_FINAL
Signature: Ljava/util/List<Ljava/lang/String;>;
final java.util.List<java.lang.String> ;
descriptor: Ljava/util/List;
flags: (0x0010) ACC_FINAL
Signature: Ljava/util/List<Ljava/lang/String;>;
final java.util.function.Function<javax.tools.StandardJavaFileManager, javax.tools.StandardJavaFileManager> fileManagerMapping;
descriptor: Ljava/util/function/Function;
flags: (0x0010) ACC_FINAL
Signature: Ljava/util/function/Function<Ljavax/tools/StandardJavaFileManager;Ljavax/tools/StandardJavaFileManager;>;
private int nextKeyIndex;
descriptor: I
flags: (0x0002) ACC_PRIVATE
final jdk.jshell.Eval eval;
descriptor: Ljdk/jshell/Eval;
flags: (0x0010) ACC_FINAL
final jdk.jshell.ClassTracker classTracker;
descriptor: Ljdk/jshell/ClassTracker;
flags: (0x0010) ACC_FINAL
private final java.util.Map<jdk.jshell.JShell$Subscription, java.util.function.Consumer<jdk.jshell.JShell>> shutdownListeners;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljdk/jshell/JShell$Subscription;Ljava/util/function/Consumer<Ljdk/jshell/JShell;>;>;
private final java.util.Map<jdk.jshell.JShell$Subscription, java.util.function.Consumer<jdk.jshell.SnippetEvent>> keyStatusListeners;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljdk/jshell/JShell$Subscription;Ljava/util/function/Consumer<Ljdk/jshell/SnippetEvent;>;>;
private boolean closed;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private final jdk.jshell.spi.ExecutionControl executionControl;
descriptor: Ljdk/jshell/spi/ExecutionControl;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private jdk.jshell.SourceCodeAnalysisImpl sourceCodeAnalysis;
descriptor: Ljdk/jshell/SourceCodeAnalysisImpl;
flags: (0x0002) ACC_PRIVATE
private static final java.lang.String L10N_RB_NAME;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "jdk.jshell.resources.l10n"
private static java.util.ResourceBundle outputRB;
descriptor: Ljava/util/ResourceBundle;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: aconst_null
putstatic jdk.jshell.JShell.outputRB:Ljava/util/ResourceBundle;
return
LocalVariableTable:
Start End Slot Name Signature
void <init>(jdk.jshell.JShell$Builder);
descriptor: (Ljdk/jshell/JShell$Builder;)V
flags: (0x0000)
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_1
putfield jdk.jshell.JShell.nextKeyIndex:I
2: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield jdk.jshell.JShell.shutdownListeners:Ljava/util/Map;
3: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield jdk.jshell.JShell.keyStatusListeners:Ljava/util/Map;
4: aload 0
iconst_0
putfield jdk.jshell.JShell.closed:Z
5: aload 0
aconst_null
putfield jdk.jshell.JShell.sourceCodeAnalysis:Ljdk/jshell/SourceCodeAnalysisImpl;
6: aload 0
aload 1
getfield jdk.jshell.JShell$Builder.in:Ljava/io/InputStream;
putfield jdk.jshell.JShell.in:Ljava/io/InputStream;
7: aload 0
aload 1
getfield jdk.jshell.JShell$Builder.out:Ljava/io/PrintStream;
putfield jdk.jshell.JShell.out:Ljava/io/PrintStream;
8: aload 0
aload 1
getfield jdk.jshell.JShell$Builder.err:Ljava/io/PrintStream;
putfield jdk.jshell.JShell.err:Ljava/io/PrintStream;
9: aload 0
aload 1
getfield jdk.jshell.JShell$Builder.tempVariableNameGenerator:Ljava/util/function/Supplier;
putfield jdk.jshell.JShell.tempVariableNameGenerator:Ljava/util/function/Supplier;
10: aload 0
aload 1
getfield jdk.jshell.JShell$Builder.idGenerator:Ljava/util/function/BiFunction;
putfield jdk.jshell.JShell.idGenerator:Ljava/util/function/BiFunction;
11: aload 0
aload 1
getfield jdk.jshell.JShell$Builder.extraRemoteVMOptions:Ljava/util/List;
putfield jdk.jshell.JShell.extraRemoteVMOptions:Ljava/util/List;
12: aload 0
aload 1
getfield jdk.jshell.JShell$Builder.extraCompilerOptions:Ljava/util/List;
putfield jdk.jshell.JShell.extraCompilerOptions:Ljava/util/List;
13: aload 0
aload 1
getfield jdk.jshell.JShell$Builder.fileManagerMapping:Ljava/util/function/Function;
putfield jdk.jshell.JShell.fileManagerMapping:Ljava/util/function/Function;
14: aload 1
getfield jdk.jshell.JShell$Builder.executionControlProvider:Ljdk/jshell/spi/ExecutionControlProvider;
ifnull 21
15: aload 0
aload 1
getfield jdk.jshell.JShell$Builder.executionControlProvider:Ljdk/jshell/spi/ExecutionControlProvider;
new jdk.jshell.JShell$ExecutionEnvImpl
dup
aload 0
invokespecial jdk.jshell.JShell$ExecutionEnvImpl.<init>:(Ljdk/jshell/JShell;)V
16: aload 1
getfield jdk.jshell.JShell$Builder.executionControlParameters:Ljava/util/Map;
ifnonnull 18
17: aload 1
getfield jdk.jshell.JShell$Builder.executionControlProvider:Ljdk/jshell/spi/ExecutionControlProvider;
invokeinterface jdk.jshell.spi.ExecutionControlProvider.defaultParameters:()Ljava/util/Map;
goto 19
18: StackMap locals: jdk.jshell.JShell jdk.jshell.JShell$Builder
StackMap stack: jdk.jshell.JShell jdk.jshell.spi.ExecutionControlProvider jdk.jshell.JShell$ExecutionEnvImpl
aload 1
getfield jdk.jshell.JShell$Builder.executionControlParameters:Ljava/util/Map;
19: StackMap locals: jdk.jshell.JShell jdk.jshell.JShell$Builder
StackMap stack: jdk.jshell.JShell jdk.jshell.spi.ExecutionControlProvider jdk.jshell.JShell$ExecutionEnvImpl java.util.Map
invokeinterface jdk.jshell.spi.ExecutionControlProvider.generate:(Ljdk/jshell/spi/ExecutionEnv;Ljava/util/Map;)Ljdk/jshell/spi/ExecutionControl;
putfield jdk.jshell.JShell.executionControl:Ljdk/jshell/spi/ExecutionControl;
20: goto 33
21: StackMap locals:
StackMap stack:
invokestatic java.net.InetAddress.getLoopbackAddress:()Ljava/net/InetAddress;
invokevirtual java.net.InetAddress.getHostAddress:()Ljava/lang/String;
astore 2
start local 2 22: aload 1
getfield jdk.jshell.JShell$Builder.executionControlSpec:Ljava/lang/String;
ifnonnull 27
23: new java.lang.StringBuilder
dup
ldc "failover:0(jdi:hostname("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ")),"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
24: ldc "1(jdi:launch(true)), 2(jdi)"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
25: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
26: goto 28
27: StackMap locals: java.lang.String
StackMap stack:
aload 1
getfield jdk.jshell.JShell$Builder.executionControlSpec:Ljava/lang/String;
28: StackMap locals:
StackMap stack: java.lang.String
astore 3
start local 3 29: aload 0
new jdk.jshell.JShell$ExecutionEnvImpl
dup
aload 0
invokespecial jdk.jshell.JShell$ExecutionEnvImpl.<init>:(Ljdk/jshell/JShell;)V
aload 3
invokestatic jdk.jshell.spi.ExecutionControl.generate:(Ljdk/jshell/spi/ExecutionEnv;Ljava/lang/String;)Ljdk/jshell/spi/ExecutionControl;
putfield jdk.jshell.JShell.executionControl:Ljdk/jshell/spi/ExecutionControl;
end local 3 end local 2 30: goto 33
StackMap locals: jdk.jshell.JShell jdk.jshell.JShell$Builder
StackMap stack: java.lang.Throwable
31: astore 2
start local 2 32: new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "Launching JShell execution engine threw: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 2
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 2 33: StackMap locals:
StackMap stack:
aload 0
new jdk.jshell.SnippetMaps
dup
aload 0
invokespecial jdk.jshell.SnippetMaps.<init>:(Ljdk/jshell/JShell;)V
putfield jdk.jshell.JShell.maps:Ljdk/jshell/SnippetMaps;
34: aload 0
new jdk.jshell.KeyMap
dup
aload 0
invokespecial jdk.jshell.KeyMap.<init>:(Ljdk/jshell/JShell;)V
putfield jdk.jshell.JShell.keyMap:Ljdk/jshell/KeyMap;
35: aload 0
new jdk.jshell.OuterWrapMap
dup
aload 0
invokespecial jdk.jshell.OuterWrapMap.<init>:(Ljdk/jshell/JShell;)V
putfield jdk.jshell.JShell.outerMap:Ljdk/jshell/OuterWrapMap;
36: aload 0
new jdk.jshell.TaskFactory
dup
aload 0
invokespecial jdk.jshell.TaskFactory.<init>:(Ljdk/jshell/JShell;)V
putfield jdk.jshell.JShell.taskFactory:Ljdk/jshell/TaskFactory;
37: aload 0
new jdk.jshell.Eval
dup
aload 0
invokespecial jdk.jshell.Eval.<init>:(Ljdk/jshell/JShell;)V
putfield jdk.jshell.JShell.eval:Ljdk/jshell/Eval;
38: aload 0
new jdk.jshell.ClassTracker
dup
invokespecial jdk.jshell.ClassTracker.<init>:()V
putfield jdk.jshell.JShell.classTracker:Ljdk/jshell/ClassTracker;
39: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 40 0 this Ljdk/jshell/JShell;
0 40 1 b Ljdk/jshell/JShell$Builder;
22 30 2 loopback Ljava/lang/String;
29 30 3 spec Ljava/lang/String;
32 33 2 ex Ljava/lang/Throwable;
Exception table:
from to target type
14 30 31 Class java.lang.Throwable
Exceptions:
throws java.lang.IllegalStateException
MethodParameters:
Name Flags
b
public static jdk.jshell.JShell create();
descriptor: ()Ljdk/jshell/JShell;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: invokestatic jdk.jshell.JShell.builder:()Ljdk/jshell/JShell$Builder;
invokevirtual jdk.jshell.JShell$Builder.build:()Ljdk/jshell/JShell;
areturn
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.lang.IllegalStateException
public static jdk.jshell.JShell$Builder builder();
descriptor: ()Ljdk/jshell/JShell$Builder;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new jdk.jshell.JShell$Builder
dup
invokespecial jdk.jshell.JShell$Builder.<init>:()V
areturn
LocalVariableTable:
Start End Slot Name Signature
public jdk.jshell.SourceCodeAnalysis sourceCodeAnalysis();
descriptor: ()Ljdk/jshell/SourceCodeAnalysis;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.jshell.JShell.sourceCodeAnalysis:Ljdk/jshell/SourceCodeAnalysisImpl;
ifnonnull 2
1: aload 0
new jdk.jshell.SourceCodeAnalysisImpl
dup
aload 0
invokespecial jdk.jshell.SourceCodeAnalysisImpl.<init>:(Ljdk/jshell/JShell;)V
putfield jdk.jshell.JShell.sourceCodeAnalysis:Ljdk/jshell/SourceCodeAnalysisImpl;
2: StackMap locals:
StackMap stack:
aload 0
getfield jdk.jshell.JShell.sourceCodeAnalysis:Ljdk/jshell/SourceCodeAnalysisImpl;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/jshell/JShell;
public java.util.List<jdk.jshell.SnippetEvent> eval(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=7, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.jshell.JShell.sourceCodeAnalysis:Ljdk/jshell/SourceCodeAnalysisImpl;
astore 2
start local 2 1: aload 2
ifnull 3
2: aload 2
invokevirtual jdk.jshell.SourceCodeAnalysisImpl.suspendIndexing:()V
3: StackMap locals: jdk.jshell.SourceCodeAnalysisImpl
StackMap stack:
aload 0
invokevirtual jdk.jshell.JShell.checkIfAlive:()V
4: aload 0
getfield jdk.jshell.JShell.eval:Ljdk/jshell/Eval;
aload 1
invokevirtual jdk.jshell.Eval.eval:(Ljava/lang/String;)Ljava/util/List;
astore 3
start local 3 5: aload 3
aload 0
invokedynamic accept(Ljdk/jshell/JShell;)Ljava/util/function/Consumer;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
jdk/jshell/JShell.notifyKeyStatusEvent(Ljdk/jshell/SnippetEvent;)V (7)
(Ljdk/jshell/SnippetEvent;)V
invokeinterface java.util.List.forEach:(Ljava/util/function/Consumer;)V
6: aload 3
invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
astore 6
7: aload 2
ifnull 9
8: aload 2
invokevirtual jdk.jshell.SourceCodeAnalysisImpl.resumeIndexing:()V
9: StackMap locals: jdk.jshell.JShell java.lang.String jdk.jshell.SourceCodeAnalysisImpl java.util.List top top java.util.List
StackMap stack:
aload 6
areturn
end local 3 10: StackMap locals: jdk.jshell.JShell java.lang.String jdk.jshell.SourceCodeAnalysisImpl
StackMap stack: java.lang.Throwable
astore 5
11: aload 2
ifnull 13
12: aload 2
invokevirtual jdk.jshell.SourceCodeAnalysisImpl.resumeIndexing:()V
13: StackMap locals: jdk.jshell.JShell java.lang.String jdk.jshell.SourceCodeAnalysisImpl top top java.lang.Throwable
StackMap stack:
aload 5
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Ljdk/jshell/JShell;
0 14 1 input Ljava/lang/String;
1 14 2 a Ljdk/jshell/SourceCodeAnalysisImpl;
5 10 3 events Ljava/util/List<Ljdk/jshell/SnippetEvent;>;
Exception table:
from to target type
3 7 10 any
Exceptions:
throws java.lang.IllegalStateException
Signature: (Ljava/lang/String;)Ljava/util/List<Ljdk/jshell/SnippetEvent;>;
MethodParameters:
Name Flags
input
public java.util.List<jdk.jshell.SnippetEvent> drop(jdk.jshell.Snippet);
descriptor: (Ljdk/jshell/Snippet;)Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual jdk.jshell.JShell.checkIfAlive:()V
1: aload 0
aload 1
invokevirtual jdk.jshell.JShell.checkValidSnippet:(Ljdk/jshell/Snippet;)Ljdk/jshell/Snippet;
pop
2: aload 0
getfield jdk.jshell.JShell.eval:Ljdk/jshell/Eval;
aload 1
invokevirtual jdk.jshell.Eval.drop:(Ljdk/jshell/Snippet;)Ljava/util/List;
astore 2
start local 2 3: aload 2
aload 0
invokedynamic accept(Ljdk/jshell/JShell;)Ljava/util/function/Consumer;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
jdk/jshell/JShell.notifyKeyStatusEvent(Ljdk/jshell/SnippetEvent;)V (7)
(Ljdk/jshell/SnippetEvent;)V
invokeinterface java.util.List.forEach:(Ljava/util/function/Consumer;)V
4: aload 2
invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/jshell/JShell;
0 5 1 snippet Ljdk/jshell/Snippet;
3 5 2 events Ljava/util/List<Ljdk/jshell/SnippetEvent;>;
Exceptions:
throws java.lang.IllegalStateException
Signature: (Ljdk/jshell/Snippet;)Ljava/util/List<Ljdk/jshell/SnippetEvent;>;
MethodParameters:
Name Flags
snippet
public void addToClasspath(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual jdk.jshell.JShell.checkIfAlive:()V
1: aload 0
getfield jdk.jshell.JShell.taskFactory:Ljdk/jshell/TaskFactory;
aload 1
invokevirtual jdk.jshell.TaskFactory.addToClasspath:(Ljava/lang/String;)V
2: aload 0
invokevirtual jdk.jshell.JShell.executionControl:()Ljdk/jshell/spi/ExecutionControl;
aload 1
invokeinterface jdk.jshell.spi.ExecutionControl.addToClasspath:(Ljava/lang/String;)V
3: goto 6
StackMap locals:
StackMap stack: jdk.jshell.spi.ExecutionControl$ExecutionControlException
4: astore 2
start local 2 5: aload 0
aload 2
new java.lang.StringBuilder
dup
ldc "on addToClasspath("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual jdk.jshell.JShell.debug:(Ljava/lang/Exception;Ljava/lang/String;)V
end local 2 6: StackMap locals:
StackMap stack:
aload 0
getfield jdk.jshell.JShell.sourceCodeAnalysis:Ljdk/jshell/SourceCodeAnalysisImpl;
ifnull 8
7: aload 0
getfield jdk.jshell.JShell.sourceCodeAnalysis:Ljdk/jshell/SourceCodeAnalysisImpl;
invokevirtual jdk.jshell.SourceCodeAnalysisImpl.classpathChanged:()V
8: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljdk/jshell/JShell;
0 9 1 path Ljava/lang/String;
5 6 2 ex Ljdk/jshell/spi/ExecutionControl$ExecutionControlException;
Exception table:
from to target type
2 3 4 Class jdk.jshell.spi.ExecutionControl$ExecutionControlException
MethodParameters:
Name Flags
path
public void stop();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield jdk.jshell.JShell.executionControl:Ljdk/jshell/spi/ExecutionControl;
ifnull 5
1: aload 0
getfield jdk.jshell.JShell.executionControl:Ljdk/jshell/spi/ExecutionControl;
invokeinterface jdk.jshell.spi.ExecutionControl.stop:()V
2: goto 5
StackMap locals:
StackMap stack: jdk.jshell.spi.ExecutionControl$ExecutionControlException
3: astore 1
start local 1 4: aload 0
aload 1
ldc "on stop()"
invokevirtual jdk.jshell.JShell.debug:(Ljava/lang/Exception;Ljava/lang/String;)V
end local 1 5: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljdk/jshell/JShell;
4 5 1 ex Ljdk/jshell/spi/ExecutionControl$ExecutionControlException;
Exception table:
from to target type
1 2 3 Class jdk.jshell.spi.ExecutionControl$ExecutionControlException
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual jdk.jshell.JShell.closeDown:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/jshell/JShell;
public java.util.stream.Stream<jdk.jshell.Snippet> snippets();
descriptor: ()Ljava/util/stream/Stream;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.jshell.JShell.maps:Ljdk/jshell/SnippetMaps;
invokevirtual jdk.jshell.SnippetMaps.snippetList:()Ljava/util/List;
invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/jshell/JShell;
Signature: ()Ljava/util/stream/Stream<Ljdk/jshell/Snippet;>;
public java.util.stream.Stream<jdk.jshell.VarSnippet> variables();
descriptor: ()Ljava/util/stream/Stream;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual jdk.jshell.JShell.snippets:()Ljava/util/stream/Stream;
1: aload 0
invokedynamic test(Ljdk/jshell/JShell;)Ljava/util/function/Predicate;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Z
jdk/jshell/JShell.lambda$2(Ljdk/jshell/Snippet;)Z (7)
(Ljdk/jshell/Snippet;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
2: invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
jdk/jshell/JShell.lambda$3(Ljdk/jshell/Snippet;)Ljdk/jshell/VarSnippet; (6)
(Ljdk/jshell/Snippet;)Ljdk/jshell/VarSnippet;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
3: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/jshell/JShell;
Signature: ()Ljava/util/stream/Stream<Ljdk/jshell/VarSnippet;>;
public java.util.stream.Stream<jdk.jshell.MethodSnippet> methods();
descriptor: ()Ljava/util/stream/Stream;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual jdk.jshell.JShell.snippets:()Ljava/util/stream/Stream;
1: aload 0
invokedynamic test(Ljdk/jshell/JShell;)Ljava/util/function/Predicate;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Z
jdk/jshell/JShell.lambda$4(Ljdk/jshell/Snippet;)Z (7)
(Ljdk/jshell/Snippet;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
2: invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
jdk/jshell/JShell.lambda$5(Ljdk/jshell/Snippet;)Ljdk/jshell/MethodSnippet; (6)
(Ljdk/jshell/Snippet;)Ljdk/jshell/MethodSnippet;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
3: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/jshell/JShell;
Signature: ()Ljava/util/stream/Stream<Ljdk/jshell/MethodSnippet;>;
public java.util.stream.Stream<jdk.jshell.TypeDeclSnippet> types();
descriptor: ()Ljava/util/stream/Stream;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual jdk.jshell.JShell.snippets:()Ljava/util/stream/Stream;
1: aload 0
invokedynamic test(Ljdk/jshell/JShell;)Ljava/util/function/Predicate;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Z
jdk/jshell/JShell.lambda$6(Ljdk/jshell/Snippet;)Z (7)
(Ljdk/jshell/Snippet;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
2: invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
jdk/jshell/JShell.lambda$7(Ljdk/jshell/Snippet;)Ljdk/jshell/TypeDeclSnippet; (6)
(Ljdk/jshell/Snippet;)Ljdk/jshell/TypeDeclSnippet;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
3: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/jshell/JShell;
Signature: ()Ljava/util/stream/Stream<Ljdk/jshell/TypeDeclSnippet;>;
public java.util.stream.Stream<jdk.jshell.ImportSnippet> imports();
descriptor: ()Ljava/util/stream/Stream;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual jdk.jshell.JShell.snippets:()Ljava/util/stream/Stream;
1: aload 0
invokedynamic test(Ljdk/jshell/JShell;)Ljava/util/function/Predicate;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Z
jdk/jshell/JShell.lambda$8(Ljdk/jshell/Snippet;)Z (7)
(Ljdk/jshell/Snippet;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
2: invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
jdk/jshell/JShell.lambda$9(Ljdk/jshell/Snippet;)Ljdk/jshell/ImportSnippet; (6)
(Ljdk/jshell/Snippet;)Ljdk/jshell/ImportSnippet;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
3: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/jshell/JShell;
Signature: ()Ljava/util/stream/Stream<Ljdk/jshell/ImportSnippet;>;
public jdk.jshell.Snippet$Status status(jdk.jshell.Snippet);
descriptor: (Ljdk/jshell/Snippet;)Ljdk/jshell/Snippet$Status;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual jdk.jshell.JShell.checkValidSnippet:(Ljdk/jshell/Snippet;)Ljdk/jshell/Snippet;
invokevirtual jdk.jshell.Snippet.status:()Ljdk/jshell/Snippet$Status;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/jshell/JShell;
0 1 1 snippet Ljdk/jshell/Snippet;
MethodParameters:
Name Flags
snippet
public java.util.stream.Stream<jdk.jshell.Diag> diagnostics(jdk.jshell.Snippet);
descriptor: (Ljdk/jshell/Snippet;)Ljava/util/stream/Stream;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual jdk.jshell.JShell.checkValidSnippet:(Ljdk/jshell/Snippet;)Ljdk/jshell/Snippet;
invokevirtual jdk.jshell.Snippet.diagnostics:()Ljdk/jshell/DiagList;
invokevirtual jdk.jshell.DiagList.stream:()Ljava/util/stream/Stream;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/jshell/JShell;
0 1 1 snippet Ljdk/jshell/Snippet;
Signature: (Ljdk/jshell/Snippet;)Ljava/util/stream/Stream<Ljdk/jshell/Diag;>;
MethodParameters:
Name Flags
snippet
public java.util.stream.Stream<java.lang.String> unresolvedDependencies(jdk.jshell.DeclarationSnippet);
descriptor: (Ljdk/jshell/DeclarationSnippet;)Ljava/util/stream/Stream;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual jdk.jshell.JShell.checkValidSnippet:(Ljdk/jshell/Snippet;)Ljdk/jshell/Snippet;
invokevirtual jdk.jshell.Snippet.unresolved:()Ljava/util/List;
invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/jshell/JShell;
0 1 1 snippet Ljdk/jshell/DeclarationSnippet;
Signature: (Ljdk/jshell/DeclarationSnippet;)Ljava/util/stream/Stream<Ljava/lang/String;>;
MethodParameters:
Name Flags
snippet
public java.lang.String varValue(jdk.jshell.VarSnippet);
descriptor: (Ljdk/jshell/VarSnippet;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual jdk.jshell.JShell.checkIfAlive:()V
1: aload 0
aload 1
invokevirtual jdk.jshell.JShell.checkValidSnippet:(Ljdk/jshell/Snippet;)Ljdk/jshell/Snippet;
pop
2: aload 1
invokevirtual jdk.jshell.VarSnippet.status:()Ljdk/jshell/Snippet$Status;
getstatic jdk.jshell.Snippet$Status.VALID:Ljdk/jshell/Snippet$Status;
if_acmpeq 6
3: new java.lang.IllegalArgumentException
dup
4: aload 0
ldc "jshell.exc.var.not.valid"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
dup
iconst_1
aload 1
invokevirtual jdk.jshell.VarSnippet.status:()Ljdk/jshell/Snippet$Status;
aastore
invokevirtual jdk.jshell.JShell.messageFormat:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
5: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
aload 0
invokevirtual jdk.jshell.JShell.executionControl:()Ljdk/jshell/spi/ExecutionControl;
aload 1
invokevirtual jdk.jshell.VarSnippet.classFullName:()Ljava/lang/String;
aload 1
invokevirtual jdk.jshell.VarSnippet.name:()Ljava/lang/String;
invokeinterface jdk.jshell.spi.ExecutionControl.varValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
astore 2
start local 2 7: goto 13
end local 2 StackMap locals:
StackMap stack: jdk.jshell.spi.ExecutionControl$EngineTerminationException
8: astore 3
start local 3 9: new java.lang.IllegalStateException
dup
aload 3
invokevirtual jdk.jshell.spi.ExecutionControl$EngineTerminationException.getMessage:()Ljava/lang/String;
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
end local 3 10: StackMap locals:
StackMap stack: jdk.jshell.spi.ExecutionControl$ExecutionControlException
astore 3
start local 3 11: aload 0
aload 3
ldc "In varValue()"
invokevirtual jdk.jshell.JShell.debug:(Ljava/lang/Exception;Ljava/lang/String;)V
12: new java.lang.StringBuilder
dup
ldc "["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual jdk.jshell.spi.ExecutionControl$ExecutionControlException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 3 start local 2 13: StackMap locals: java.lang.String
StackMap stack:
aload 2
invokestatic jdk.jshell.Util.expunge:(Ljava/lang/String;)Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Ljdk/jshell/JShell;
0 14 1 snippet Ljdk/jshell/VarSnippet;
7 8 2 value Ljava/lang/String;
13 14 2 value Ljava/lang/String;
9 10 3 ex Ljdk/jshell/spi/ExecutionControl$EngineTerminationException;
11 13 3 ex Ljdk/jshell/spi/ExecutionControl$ExecutionControlException;
Exception table:
from to target type
6 7 8 Class jdk.jshell.spi.ExecutionControl$EngineTerminationException
6 7 10 Class jdk.jshell.spi.ExecutionControl$ExecutionControlException
Exceptions:
throws java.lang.IllegalStateException
MethodParameters:
Name Flags
snippet
public jdk.jshell.JShell$Subscription onSnippetEvent(java.util.function.Consumer<jdk.jshell.SnippetEvent>);
descriptor: (Ljava/util/function/Consumer;)Ljdk/jshell/JShell$Subscription;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 0
getfield jdk.jshell.JShell.keyStatusListeners:Ljava/util/Map;
aload 1
invokevirtual jdk.jshell.JShell.onX:(Ljava/util/Map;Ljava/util/function/Consumer;)Ljdk/jshell/JShell$Subscription;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/jshell/JShell;
0 1 1 listener Ljava/util/function/Consumer<Ljdk/jshell/SnippetEvent;>;
Exceptions:
throws java.lang.IllegalStateException
Signature: (Ljava/util/function/Consumer<Ljdk/jshell/SnippetEvent;>;)Ljdk/jshell/JShell$Subscription;
MethodParameters:
Name Flags
listener
public jdk.jshell.JShell$Subscription onShutdown(java.util.function.Consumer<jdk.jshell.JShell>);
descriptor: (Ljava/util/function/Consumer;)Ljdk/jshell/JShell$Subscription;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 0
getfield jdk.jshell.JShell.shutdownListeners:Ljava/util/Map;
aload 1
invokevirtual jdk.jshell.JShell.onX:(Ljava/util/Map;Ljava/util/function/Consumer;)Ljdk/jshell/JShell$Subscription;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/jshell/JShell;
0 1 1 listener Ljava/util/function/Consumer<Ljdk/jshell/JShell;>;
Exceptions:
throws java.lang.IllegalStateException
Signature: (Ljava/util/function/Consumer<Ljdk/jshell/JShell;>;)Ljdk/jshell/JShell$Subscription;
MethodParameters:
Name Flags
listener
public void unsubscribe(jdk.jshell.JShell$Subscription);
descriptor: (Ljdk/jshell/JShell$Subscription;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
dup
astore 2
monitorenter
1: aload 1
getfield jdk.jshell.JShell$Subscription.remover:Ljava/util/function/Consumer;
aload 1
invokeinterface java.util.function.Consumer.accept:(Ljava/lang/Object;)V
2: aload 2
monitorexit
3: goto 6
StackMap locals: jdk.jshell.JShell jdk.jshell.JShell$Subscription jdk.jshell.JShell
StackMap stack: java.lang.Throwable
4: aload 2
monitorexit
5: athrow
6: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljdk/jshell/JShell;
0 7 1 token Ljdk/jshell/JShell$Subscription;
Exception table:
from to target type
1 3 4 any
4 5 4 any
MethodParameters:
Name Flags
token
jdk.jshell.spi.ExecutionControl executionControl();
descriptor: ()Ljdk/jshell/spi/ExecutionControl;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.jshell.JShell.executionControl:Ljdk/jshell/spi/ExecutionControl;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/jshell/JShell;
void debug(int, java.lang.String, java.lang.Object[]);
descriptor: (ILjava/lang/String;[Ljava/lang/Object;)V
flags: (0x0080) ACC_VARARGS
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 0
getfield jdk.jshell.JShell.err:Ljava/io/PrintStream;
iload 1
aload 2
aload 3
invokestatic jdk.internal.jshell.debug.InternalDebugControl.debug:(Ljdk/jshell/JShell;Ljava/io/PrintStream;ILjava/lang/String;[Ljava/lang/Object;)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/jshell/JShell;
0 2 1 flags I
0 2 2 format Ljava/lang/String;
0 2 3 args [Ljava/lang/Object;
MethodParameters:
Name Flags
flags
format
args
void debug(java.lang.Exception, java.lang.String);
descriptor: (Ljava/lang/Exception;Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 0
getfield jdk.jshell.JShell.err:Ljava/io/PrintStream;
aload 1
aload 2
invokestatic jdk.internal.jshell.debug.InternalDebugControl.debug:(Ljdk/jshell/JShell;Ljava/io/PrintStream;Ljava/lang/Exception;Ljava/lang/String;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/jshell/JShell;
0 2 1 ex Ljava/lang/Exception;
0 2 2 where Ljava/lang/String;
MethodParameters:
Name Flags
ex
where
int nextKeyIndex();
descriptor: ()I
flags: (0x0000)
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
dup
getfield jdk.jshell.JShell.nextKeyIndex:I
dup_x1
iconst_1
iadd
putfield jdk.jshell.JShell.nextKeyIndex:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/jshell/JShell;
private synchronized <T> jdk.jshell.JShell$Subscription onX(java.util.Map<jdk.jshell.JShell$Subscription, java.util.function.Consumer<T>>, java.util.function.Consumer<T>);
descriptor: (Ljava/util/Map;Ljava/util/function/Consumer;)Ljdk/jshell/JShell$Subscription;
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 0
invokevirtual jdk.jshell.JShell.checkIfAlive:()V
2: new jdk.jshell.JShell$Subscription
dup
aload 0
aload 1
dup
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
pop
invokedynamic accept(Ljava/util/Map;)Ljava/util/function/Consumer;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
java/util/Map.remove(Ljava/lang/Object;)Ljava/lang/Object; (9 itf)
(Ljdk/jshell/JShell$Subscription;)V
invokespecial jdk.jshell.JShell$Subscription.<init>:(Ljdk/jshell/JShell;Ljava/util/function/Consumer;)V
astore 3
start local 3 3: aload 1
aload 3
aload 2
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
4: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/jshell/JShell;
0 5 1 map Ljava/util/Map<Ljdk/jshell/JShell$Subscription;Ljava/util/function/Consumer<TT;>;>;
0 5 2 listener Ljava/util/function/Consumer<TT;>;
3 5 3 token Ljdk/jshell/JShell$Subscription;
Exceptions:
throws java.lang.IllegalStateException
Signature: <T:Ljava/lang/Object;>(Ljava/util/Map<Ljdk/jshell/JShell$Subscription;Ljava/util/function/Consumer<TT;>;>;Ljava/util/function/Consumer<TT;>;)Ljdk/jshell/JShell$Subscription;
MethodParameters:
Name Flags
map
listener
private synchronized void notifyKeyStatusEvent(jdk.jshell.SnippetEvent);
descriptor: (Ljdk/jshell/SnippetEvent;)V
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.jshell.JShell.keyStatusListeners:Ljava/util/Map;
invokeinterface java.util.Map.values:()Ljava/util/Collection;
aload 1
invokedynamic accept(Ljdk/jshell/SnippetEvent;)Ljava/util/function/Consumer;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
jdk/jshell/JShell.lambda$11(Ljdk/jshell/SnippetEvent;Ljava/util/function/Consumer;)V (6)
(Ljava/util/function/Consumer;)V
invokeinterface java.util.Collection.forEach:(Ljava/util/function/Consumer;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/jshell/JShell;
0 2 1 event Ljdk/jshell/SnippetEvent;
MethodParameters:
Name Flags
event
private synchronized void notifyShutdownEvent(jdk.jshell.JShell);
descriptor: (Ljdk/jshell/JShell;)V
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.jshell.JShell.shutdownListeners:Ljava/util/Map;
invokeinterface java.util.Map.values:()Ljava/util/Collection;
aload 1
invokedynamic accept(Ljdk/jshell/JShell;)Ljava/util/function/Consumer;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
jdk/jshell/JShell.lambda$12(Ljdk/jshell/JShell;Ljava/util/function/Consumer;)V (6)
(Ljava/util/function/Consumer;)V
invokeinterface java.util.Collection.forEach:(Ljava/util/function/Consumer;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/jshell/JShell;
0 2 1 state Ljdk/jshell/JShell;
MethodParameters:
Name Flags
state
void closeDown();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.jshell.JShell.closed:Z
ifne 11
1: aload 0
iconst_1
putfield jdk.jshell.JShell.closed:Z
2: aload 0
aload 0
invokevirtual jdk.jshell.JShell.notifyShutdownEvent:(Ljdk/jshell/JShell;)V
3: goto 5
StackMap locals:
StackMap stack: java.lang.Throwable
4: pop
5: StackMap locals:
StackMap stack:
aload 0
invokevirtual jdk.jshell.JShell.executionControl:()Ljdk/jshell/spi/ExecutionControl;
invokeinterface jdk.jshell.spi.ExecutionControl.close:()V
6: goto 8
StackMap locals:
StackMap stack: java.lang.Throwable
7: pop
8: StackMap locals:
StackMap stack:
aload 0
getfield jdk.jshell.JShell.sourceCodeAnalysis:Ljdk/jshell/SourceCodeAnalysisImpl;
ifnull 10
9: aload 0
getfield jdk.jshell.JShell.sourceCodeAnalysis:Ljdk/jshell/SourceCodeAnalysisImpl;
invokevirtual jdk.jshell.SourceCodeAnalysisImpl.close:()V
10: StackMap locals:
StackMap stack:
aload 0
invokestatic jdk.internal.jshell.debug.InternalDebugControl.release:(Ljdk/jshell/JShell;)V
11: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljdk/jshell/JShell;
Exception table:
from to target type
2 3 4 Class java.lang.Throwable
5 6 7 Class java.lang.Throwable
private void checkIfAlive();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.jshell.JShell.closed:Z
ifeq 2
1: new java.lang.IllegalStateException
dup
aload 0
ldc "jshell.exc.closed"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
aastore
invokevirtual jdk.jshell.JShell.messageFormat:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/jshell/JShell;
Exceptions:
throws java.lang.IllegalStateException
private jdk.jshell.Snippet checkValidSnippet(jdk.jshell.Snippet);
descriptor: (Ljdk/jshell/Snippet;)Ljdk/jshell/Snippet;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: new java.lang.NullPointerException
dup
aload 0
ldc "jshell.exc.null"
iconst_0
anewarray java.lang.Object
invokevirtual jdk.jshell.JShell.messageFormat:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual jdk.jshell.Snippet.key:()Ljdk/jshell/Key;
invokevirtual jdk.jshell.Key.state:()Ljdk/jshell/JShell;
aload 0
if_acmpeq 4
3: new java.lang.IllegalArgumentException
dup
aload 0
ldc "jshell.exc.alien"
iconst_0
anewarray java.lang.Object
invokevirtual jdk.jshell.JShell.messageFormat:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/jshell/JShell;
0 5 1 sn Ljdk/jshell/Snippet;
MethodParameters:
Name Flags
sn
java.lang.String messageFormat(java.lang.String, java.lang.Object[]);
descriptor: (Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
flags: (0x0080) ACC_VARARGS
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: getstatic jdk.jshell.JShell.outputRB:Ljava/util/ResourceBundle;
ifnonnull 5
1: ldc "jdk.jshell.resources.l10n"
invokestatic java.util.ResourceBundle.getBundle:(Ljava/lang/String;)Ljava/util/ResourceBundle;
putstatic jdk.jshell.JShell.outputRB:Ljava/util/ResourceBundle;
2: goto 5
StackMap locals:
StackMap stack: java.util.MissingResourceException
3: pop
4: new java.lang.InternalError
dup
ldc "Cannot find ResourceBundle: jdk.jshell.resources.l10n"
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
getstatic jdk.jshell.JShell.outputRB:Ljava/util/ResourceBundle;
aload 1
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
astore 3
start local 3 6: goto 9
end local 3 StackMap locals:
StackMap stack: java.util.MissingResourceException
7: pop
8: new java.lang.InternalError
dup
new java.lang.StringBuilder
dup
ldc "Missing resource: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " in "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "jdk.jshell.resources.l10n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
start local 3 9: StackMap locals: java.lang.String
StackMap stack:
aload 3
aload 2
invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljdk/jshell/JShell;
0 10 1 key Ljava/lang/String;
0 10 2 args [Ljava/lang/Object;
6 7 3 s Ljava/lang/String;
9 10 3 s Ljava/lang/String;
Exception table:
from to target type
1 2 3 Class java.util.MissingResourceException
5 6 7 Class java.util.MissingResourceException
MethodParameters:
Name Flags
key
args
private boolean lambda$2(jdk.jshell.Snippet);
descriptor: (Ljdk/jshell/Snippet;)Z
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual jdk.jshell.JShell.status:(Ljdk/jshell/Snippet;)Ljdk/jshell/Snippet$Status;
invokevirtual jdk.jshell.Snippet$Status.isActive:()Z
ifeq 1
aload 1
invokevirtual jdk.jshell.Snippet.kind:()Ljdk/jshell/Snippet$Kind;
getstatic jdk.jshell.Snippet$Kind.VAR:Ljdk/jshell/Snippet$Kind;
if_acmpne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/jshell/JShell;
0 3 1 sn Ljdk/jshell/Snippet;
private static jdk.jshell.VarSnippet lambda$3(jdk.jshell.Snippet);
descriptor: (Ljdk/jshell/Snippet;)Ljdk/jshell/VarSnippet;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
checkcast jdk.jshell.VarSnippet
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 sn Ljdk/jshell/Snippet;
private boolean lambda$4(jdk.jshell.Snippet);
descriptor: (Ljdk/jshell/Snippet;)Z
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual jdk.jshell.JShell.status:(Ljdk/jshell/Snippet;)Ljdk/jshell/Snippet$Status;
invokevirtual jdk.jshell.Snippet$Status.isActive:()Z
ifeq 1
aload 1
invokevirtual jdk.jshell.Snippet.kind:()Ljdk/jshell/Snippet$Kind;
getstatic jdk.jshell.Snippet$Kind.METHOD:Ljdk/jshell/Snippet$Kind;
if_acmpne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/jshell/JShell;
0 3 1 sn Ljdk/jshell/Snippet;
private static jdk.jshell.MethodSnippet lambda$5(jdk.jshell.Snippet);
descriptor: (Ljdk/jshell/Snippet;)Ljdk/jshell/MethodSnippet;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
checkcast jdk.jshell.MethodSnippet
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 sn Ljdk/jshell/Snippet;
private boolean lambda$6(jdk.jshell.Snippet);
descriptor: (Ljdk/jshell/Snippet;)Z
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual jdk.jshell.JShell.status:(Ljdk/jshell/Snippet;)Ljdk/jshell/Snippet$Status;
invokevirtual jdk.jshell.Snippet$Status.isActive:()Z
ifeq 1
aload 1
invokevirtual jdk.jshell.Snippet.kind:()Ljdk/jshell/Snippet$Kind;
getstatic jdk.jshell.Snippet$Kind.TYPE_DECL:Ljdk/jshell/Snippet$Kind;
if_acmpne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/jshell/JShell;
0 3 1 sn Ljdk/jshell/Snippet;
private static jdk.jshell.TypeDeclSnippet lambda$7(jdk.jshell.Snippet);
descriptor: (Ljdk/jshell/Snippet;)Ljdk/jshell/TypeDeclSnippet;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
checkcast jdk.jshell.TypeDeclSnippet
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 sn Ljdk/jshell/Snippet;
private boolean lambda$8(jdk.jshell.Snippet);
descriptor: (Ljdk/jshell/Snippet;)Z
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual jdk.jshell.JShell.status:(Ljdk/jshell/Snippet;)Ljdk/jshell/Snippet$Status;
invokevirtual jdk.jshell.Snippet$Status.isActive:()Z
ifeq 1
aload 1
invokevirtual jdk.jshell.Snippet.kind:()Ljdk/jshell/Snippet$Kind;
getstatic jdk.jshell.Snippet$Kind.IMPORT:Ljdk/jshell/Snippet$Kind;
if_acmpne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/jshell/JShell;
0 3 1 sn Ljdk/jshell/Snippet;
private static jdk.jshell.ImportSnippet lambda$9(jdk.jshell.Snippet);
descriptor: (Ljdk/jshell/Snippet;)Ljdk/jshell/ImportSnippet;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
checkcast jdk.jshell.ImportSnippet
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 sn Ljdk/jshell/Snippet;
private static void lambda$11(jdk.jshell.SnippetEvent, java.util.function.Consumer);
descriptor: (Ljdk/jshell/SnippetEvent;Ljava/util/function/Consumer;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: aload 1
aload 0
invokeinterface java.util.function.Consumer.accept:(Ljava/lang/Object;)V
return
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 l Ljava/util/function/Consumer<Ljdk/jshell/SnippetEvent;>;
private static void lambda$12(jdk.jshell.JShell, java.util.function.Consumer);
descriptor: (Ljdk/jshell/JShell;Ljava/util/function/Consumer;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: aload 1
aload 0
invokeinterface java.util.function.Consumer.accept:(Ljava/lang/Object;)V
return
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 l Ljava/util/function/Consumer<Ljdk/jshell/JShell;>;
}
SourceFile: "JShell.java"
NestMembers:
jdk.jshell.JShell$Builder jdk.jshell.JShell$ExecutionEnvImpl jdk.jshell.JShell$Subscription
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public Builder = jdk.jshell.JShell$Builder of jdk.jshell.JShell
ExecutionEnvImpl = jdk.jshell.JShell$ExecutionEnvImpl of jdk.jshell.JShell
public Subscription = jdk.jshell.JShell$Subscription of jdk.jshell.JShell
public final Kind = jdk.jshell.Snippet$Kind of jdk.jshell.Snippet
public final Status = jdk.jshell.Snippet$Status of jdk.jshell.Snippet
public EngineTerminationException = jdk.jshell.spi.ExecutionControl$EngineTerminationException of jdk.jshell.spi.ExecutionControl
public abstract ExecutionControlException = jdk.jshell.spi.ExecutionControl$ExecutionControlException of jdk.jshell.spi.ExecutionControl