class jdk.internal.jshell.tool.ConsoleIOContext$2 extends jdk.internal.jshell.tool.ConsoleIOContext$FixComputer
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: jdk.internal.jshell.tool.ConsoleIOContext$2
super_class: jdk.internal.jshell.tool.ConsoleIOContext$FixComputer
{
void <init>(char, boolean);
descriptor: (CZ)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 // jdk.internal.jshell.tool.ConsoleIOContext$2 this
start local 1 // char $anonymous0
start local 2 // boolean $anonymous1
0: .line 920
aload 0 /* this */
iload 1 /* $anonymous0 */
iload 2 /* $anonymous1 */
invokespecial jdk.internal.jshell.tool.ConsoleIOContext$FixComputer.<init>:(CZ)V
return
end local 2 // boolean $anonymous1
end local 1 // char $anonymous0
end local 0 // jdk.internal.jshell.tool.ConsoleIOContext$2 this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/jshell/tool/ConsoleIOContext$2;
0 1 1 $anonymous0 C
0 1 2 $anonymous1 Z
MethodParameters:
Name Flags
$anonymous0
$anonymous1
public jdk.internal.jshell.tool.ConsoleIOContext$FixResult compute(jdk.internal.jshell.tool.JShellTool, java.lang.String, int);
descriptor: (Ljdk/internal/jshell/tool/JShellTool;Ljava/lang/String;I)Ljdk/internal/jshell/tool/ConsoleIOContext$FixResult;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=8, args_size=4
start local 0 // jdk.internal.jshell.tool.ConsoleIOContext$2 this
start local 1 // jdk.internal.jshell.tool.JShellTool repl
start local 2 // java.lang.String code
start local 3 // int cursor
0: .line 923
aload 1 /* repl */
getfield jdk.internal.jshell.tool.JShellTool.analysis:Ljdk/jshell/SourceCodeAnalysis;
aload 2 /* code */
iload 3 /* cursor */
invokevirtual jdk.jshell.SourceCodeAnalysis.listQualifiedNames:(Ljava/lang/String;I)Ljdk/jshell/SourceCodeAnalysis$QualifiedNames;
astore 4 /* res */
start local 4 // jdk.jshell.SourceCodeAnalysis$QualifiedNames res
1: .line 924
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 5 /* fixes */
start local 5 // java.util.List fixes
2: .line 925
aload 4 /* res */
invokevirtual jdk.jshell.SourceCodeAnalysis$QualifiedNames.getNames:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 5
StackMap locals: jdk.internal.jshell.tool.ConsoleIOContext$2 jdk.internal.jshell.tool.JShellTool java.lang.String int jdk.jshell.SourceCodeAnalysis$QualifiedNames java.util.List top java.util.Iterator
StackMap stack:
3: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 6 /* fqn */
start local 6 // java.lang.String fqn
4: .line 926
aload 5 /* fixes */
new jdk.internal.jshell.tool.ConsoleIOContext$2$1
dup
aload 0 /* this */
aload 6 /* fqn */
aload 1 /* repl */
invokespecial jdk.internal.jshell.tool.ConsoleIOContext$2$1.<init>:(Ljdk/internal/jshell/tool/ConsoleIOContext$2;Ljava/lang/String;Ljdk/internal/jshell/tool/JShellTool;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 6 // java.lang.String fqn
5: .line 925
StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
6: .line 940
aload 4 /* res */
invokevirtual jdk.jshell.SourceCodeAnalysis$QualifiedNames.isResolvable:()Z
ifeq 10
7: .line 941
new jdk.internal.jshell.tool.ConsoleIOContext$FixResult
dup
invokestatic java.util.Collections.emptyList:()Ljava/util/List;
8: .line 942
aload 1 /* repl */
ldc "jshell.console.resolvable"
iconst_0
anewarray java.lang.Object
invokevirtual jdk.internal.jshell.tool.JShellTool.messageFormat:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
9: .line 941
invokespecial jdk.internal.jshell.tool.ConsoleIOContext$FixResult.<init>:(Ljava/util/List;Ljava/lang/String;)V
areturn
10: .line 944
StackMap locals: jdk.internal.jshell.tool.ConsoleIOContext$2 jdk.internal.jshell.tool.JShellTool java.lang.String int jdk.jshell.SourceCodeAnalysis$QualifiedNames java.util.List
StackMap stack:
ldc ""
astore 6 /* error */
start local 6 // java.lang.String error
11: .line 945
aload 5 /* fixes */
invokeinterface java.util.List.isEmpty:()Z
ifeq 13
12: .line 946
aload 1 /* repl */
ldc "jshell.console.no.candidate"
iconst_0
anewarray java.lang.Object
invokevirtual jdk.internal.jshell.tool.JShellTool.messageFormat:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
astore 6 /* error */
13: .line 948
StackMap locals: java.lang.String
StackMap stack:
aload 4 /* res */
invokevirtual jdk.jshell.SourceCodeAnalysis$QualifiedNames.isUpToDate:()Z
ifne 15
14: .line 949
new java.lang.StringBuilder
dup
aload 6 /* error */
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1 /* repl */
ldc "jshell.console.incomplete"
iconst_0
anewarray java.lang.Object
invokevirtual jdk.internal.jshell.tool.JShellTool.messageFormat:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 6 /* error */
15: .line 951
StackMap locals:
StackMap stack:
new jdk.internal.jshell.tool.ConsoleIOContext$FixResult
dup
aload 5 /* fixes */
aload 6 /* error */
invokespecial jdk.internal.jshell.tool.ConsoleIOContext$FixResult.<init>:(Ljava/util/List;Ljava/lang/String;)V
areturn
end local 6 // java.lang.String error
end local 5 // java.util.List fixes
end local 4 // jdk.jshell.SourceCodeAnalysis$QualifiedNames res
end local 3 // int cursor
end local 2 // java.lang.String code
end local 1 // jdk.internal.jshell.tool.JShellTool repl
end local 0 // jdk.internal.jshell.tool.ConsoleIOContext$2 this
LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Ljdk/internal/jshell/tool/ConsoleIOContext$2;
0 16 1 repl Ljdk/internal/jshell/tool/JShellTool;
0 16 2 code Ljava/lang/String;
0 16 3 cursor I
1 16 4 res Ljdk/jshell/SourceCodeAnalysis$QualifiedNames;
2 16 5 fixes Ljava/util/List<Ljdk/internal/jshell/tool/ConsoleIOContext$Fix;>;
4 5 6 fqn Ljava/lang/String;
11 16 6 error Ljava/lang/String;
MethodParameters:
Name Flags
repl
code
cursor
}
SourceFile: "ConsoleIOContext.java"
EnclosingMethod: jdk.internal.jshell.tool.ConsoleIOContext
NestHost: jdk.internal.jshell.tool.ConsoleIOContext
InnerClasses:
jdk.internal.jshell.tool.ConsoleIOContext$2
jdk.internal.jshell.tool.ConsoleIOContext$2$1
public abstract Fix = jdk.internal.jshell.tool.ConsoleIOContext$Fix of jdk.internal.jshell.tool.ConsoleIOContext
public abstract FixComputer = jdk.internal.jshell.tool.ConsoleIOContext$FixComputer of jdk.internal.jshell.tool.ConsoleIOContext
public FixResult = jdk.internal.jshell.tool.ConsoleIOContext$FixResult of jdk.internal.jshell.tool.ConsoleIOContext
public final QualifiedNames = jdk.jshell.SourceCodeAnalysis$QualifiedNames of jdk.jshell.SourceCodeAnalysis