class jdk.internal.jshell.tool.JShellTool$SaveHandler implements java.util.function.Consumer<java.lang.String>
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: jdk.internal.jshell.tool.JShellTool$SaveHandler
super_class: java.lang.Object
{
java.lang.String src;
descriptor: Ljava/lang/String;
flags: (0x0000)
java.util.Set<java.lang.String> currSrcs;
descriptor: Ljava/util/Set;
flags: (0x0000)
Signature: Ljava/util/Set<Ljava/lang/String;>;
final jdk.internal.jshell.tool.JShellTool this$0;
descriptor: Ljdk/internal/jshell/tool/JShellTool;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(java.lang.String, java.util.Set<java.lang.String>);
descriptor: (Ljdk/internal/jshell/tool/JShellTool;Ljava/lang/String;Ljava/util/Set;)V
flags: (0x0000)
Code:
stack=2, locals=4, args_size=4
start local 0 start local 2 start local 3 0: aload 0
aload 1
putfield jdk.internal.jshell.tool.JShellTool$SaveHandler.this$0:Ljdk/internal/jshell/tool/JShellTool;
aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 2
putfield jdk.internal.jshell.tool.JShellTool$SaveHandler.src:Ljava/lang/String;
2: aload 0
aload 3
putfield jdk.internal.jshell.tool.JShellTool$SaveHandler.currSrcs:Ljava/util/Set;
3: return
end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/internal/jshell/tool/JShellTool$SaveHandler;
0 4 2 src Ljava/lang/String;
0 4 3 ss Ljava/util/Set<Ljava/lang/String;>;
Signature: (Ljava/lang/String;Ljava/util/Set<Ljava/lang/String;>;)V
MethodParameters:
Name Flags
this$0 final
src
ss
public void accept(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: aload 1
aload 0
getfield jdk.internal.jshell.tool.JShellTool$SaveHandler.src:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 21
1: aload 0
aload 1
putfield jdk.internal.jshell.tool.JShellTool$SaveHandler.src:Ljava/lang/String;
2: new java.util.LinkedHashSet
dup
invokespecial java.util.LinkedHashSet.<init>:()V
astore 2
start local 2 3: iconst_0
istore 3
start local 3 4: StackMap locals: java.util.Set int
StackMap stack:
aload 0
getfield jdk.internal.jshell.tool.JShellTool$SaveHandler.this$0:Ljdk/internal/jshell/tool/JShellTool;
getfield jdk.internal.jshell.tool.JShellTool.analysis:Ljdk/jshell/SourceCodeAnalysis;
aload 1
invokevirtual jdk.jshell.SourceCodeAnalysis.analyzeCompletion:(Ljava/lang/String;)Ljdk/jshell/SourceCodeAnalysis$CompletionInfo;
astore 4
start local 4 5: aload 4
invokeinterface jdk.jshell.SourceCodeAnalysis$CompletionInfo.completeness:()Ljdk/jshell/SourceCodeAnalysis$Completeness;
invokevirtual jdk.jshell.SourceCodeAnalysis$Completeness.isComplete:()Z
ifne 7
6: goto 15
7: StackMap locals: jdk.jshell.SourceCodeAnalysis$CompletionInfo
StackMap stack:
aload 0
aload 4
invokeinterface jdk.jshell.SourceCodeAnalysis$CompletionInfo.source:()Ljava/lang/String;
invokevirtual jdk.internal.jshell.tool.JShellTool$SaveHandler.trimNewlines:(Ljava/lang/String;)Ljava/lang/String;
astore 5
start local 5 8: iload 3
ifne 10
aload 0
getfield jdk.internal.jshell.tool.JShellTool$SaveHandler.currSrcs:Ljava/util/Set;
aload 5
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 10
9: aload 0
getfield jdk.internal.jshell.tool.JShellTool$SaveHandler.this$0:Ljdk/internal/jshell/tool/JShellTool;
aload 5
invokevirtual jdk.internal.jshell.tool.JShellTool.processCompleteSource:(Ljava/lang/String;)Z
istore 3
10: StackMap locals: java.lang.String
StackMap stack:
aload 2
aload 5
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
11: aload 4
invokeinterface jdk.jshell.SourceCodeAnalysis$CompletionInfo.remaining:()Ljava/lang/String;
invokevirtual java.lang.String.isEmpty:()Z
ifeq 13
12: goto 15
13: StackMap locals:
StackMap stack:
aload 4
invokeinterface jdk.jshell.SourceCodeAnalysis$CompletionInfo.remaining:()Ljava/lang/String;
astore 1
end local 5 end local 4 14: goto 4
15: StackMap locals:
StackMap stack:
aload 0
aload 2
putfield jdk.internal.jshell.tool.JShellTool$SaveHandler.currSrcs:Ljava/util/Set;
end local 3 end local 2 16: goto 21
StackMap locals: jdk.internal.jshell.tool.JShellTool$SaveHandler java.lang.String
StackMap stack: java.lang.IllegalStateException
17: pop
18: aload 0
getfield jdk.internal.jshell.tool.JShellTool$SaveHandler.this$0:Ljdk/internal/jshell/tool/JShellTool;
ldc "jshell.msg.resetting"
iconst_0
anewarray java.lang.Object
invokevirtual jdk.internal.jshell.tool.JShellTool.hardmsg:(Ljava/lang/String;[Ljava/lang/Object;)V
19: aload 0
getfield jdk.internal.jshell.tool.JShellTool$SaveHandler.this$0:Ljdk/internal/jshell/tool/JShellTool;
invokevirtual jdk.internal.jshell.tool.JShellTool.resetState:()V
20: aload 0
new java.util.LinkedHashSet
dup
invokespecial java.util.LinkedHashSet.<init>:()V
putfield jdk.internal.jshell.tool.JShellTool$SaveHandler.currSrcs:Ljava/util/Set;
21: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Ljdk/internal/jshell/tool/JShellTool$SaveHandler;
0 22 1 s Ljava/lang/String;
3 16 2 nextSrcs Ljava/util/Set<Ljava/lang/String;>;
4 16 3 failed Z
5 14 4 an Ljdk/jshell/SourceCodeAnalysis$CompletionInfo;
8 14 5 tsrc Ljava/lang/String;
Exception table:
from to target type
2 16 17 Class java.lang.IllegalStateException
MethodParameters:
Name Flags
s
private java.lang.String trimNewlines(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: goto 3
2: StackMap locals: int
StackMap stack:
iinc 2 1
3: StackMap locals:
StackMap stack:
iload 2
aload 1
invokevirtual java.lang.String.length:()I
if_icmpge 4
aload 1
iload 2
invokevirtual java.lang.String.charAt:(I)C
bipush 10
if_icmpeq 2
4: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.String.length:()I
iconst_1
isub
istore 3
start local 3 5: goto 7
6: StackMap locals: int
StackMap stack:
iinc 3 -1
7: StackMap locals:
StackMap stack:
iload 3
iflt 8
aload 1
iload 3
invokevirtual java.lang.String.charAt:(I)C
bipush 10
if_icmpeq 6
8: StackMap locals:
StackMap stack:
aload 1
iload 2
iload 3
iconst_1
iadd
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljdk/internal/jshell/tool/JShellTool$SaveHandler;
0 9 1 s Ljava/lang/String;
1 9 2 b I
5 9 3 e I
MethodParameters:
Name Flags
s
public void accept(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
checkcast java.lang.String
invokevirtual jdk.internal.jshell.tool.JShellTool$SaveHandler.accept:(Ljava/lang/String;)V
return
LocalVariableTable:
Start End Slot Name Signature
}
Signature: Ljava/lang/Object;Ljava/util/function/Consumer<Ljava/lang/String;>;
SourceFile: "JShellTool.java"
NestHost: jdk.internal.jshell.tool.JShellTool
InnerClasses:
private SaveHandler = jdk.internal.jshell.tool.JShellTool$SaveHandler of jdk.internal.jshell.tool.JShellTool
public final Completeness = jdk.jshell.SourceCodeAnalysis$Completeness of jdk.jshell.SourceCodeAnalysis
public abstract CompletionInfo = jdk.jshell.SourceCodeAnalysis$CompletionInfo of jdk.jshell.SourceCodeAnalysis