final class jdk.internal.jshell.tool.JShellTool$FixedCompletionProvider implements jdk.internal.jshell.tool.JShellTool$CompletionProvider
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: jdk.internal.jshell.tool.JShellTool$FixedCompletionProvider
super_class: java.lang.Object
{
private final java.lang.String[] alternatives;
descriptor: [Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(java.lang.String[]);
descriptor: ([Ljava/lang/String;)V
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield jdk.internal.jshell.tool.JShellTool$FixedCompletionProvider.alternatives:[Ljava/lang/String;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/internal/jshell/tool/JShellTool$FixedCompletionProvider;
0 3 1 alternatives [Ljava/lang/String;
MethodParameters:
Name Flags
alternatives
public void <init>(jdk.internal.jshell.tool.JShellTool$FixedCompletionProvider, java.lang.String[]);
descriptor: (Ljdk/internal/jshell/tool/JShellTool$FixedCompletionProvider;[Ljava/lang/String;)V
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: new java.util.ArrayList
dup
aload 1
getfield jdk.internal.jshell.tool.JShellTool$FixedCompletionProvider.alternatives:[Ljava/lang/String;
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
astore 3
start local 3 2: aload 3
aload 2
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
3: aload 0
aload 3
aload 3
invokeinterface java.util.List.size:()I
anewarray java.lang.String
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.String[]
putfield jdk.internal.jshell.tool.JShellTool$FixedCompletionProvider.alternatives:[Ljava/lang/String;
4: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/internal/jshell/tool/JShellTool$FixedCompletionProvider;
0 5 1 base Ljdk/internal/jshell/tool/JShellTool$FixedCompletionProvider;
0 5 2 alternatives [Ljava/lang/String;
2 5 3 l Ljava/util/List<Ljava/lang/String;>;
MethodParameters:
Name Flags
base
alternatives
public java.util.List<jdk.jshell.SourceCodeAnalysis$Suggestion> completionSuggestions(java.lang.String, int, int[]);
descriptor: (Ljava/lang/String;I[I)Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 4
start local 4 1: aload 0
getfield jdk.internal.jshell.tool.JShellTool$FixedCompletionProvider.alternatives:[Ljava/lang/String;
dup
astore 8
arraylength
istore 7
iconst_0
istore 6
goto 6
StackMap locals: jdk.internal.jshell.tool.JShellTool$FixedCompletionProvider java.lang.String int int[] java.util.List top int int java.lang.String[]
StackMap stack:
2: aload 8
iload 6
aaload
astore 5
start local 5 3: aload 5
aload 1
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 5
4: aload 4
new jdk.internal.jshell.tool.JShellTool$ArgSuggestion
dup
aload 5
invokespecial jdk.internal.jshell.tool.JShellTool$ArgSuggestion.<init>:(Ljava/lang/String;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 5 5: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
6: iload 6
iload 7
if_icmplt 2
7: aload 3
iconst_0
iconst_0
iastore
8: aload 4
areturn
end local 4 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$FixedCompletionProvider;
0 9 1 input Ljava/lang/String;
0 9 2 cursor I
0 9 3 anchor [I
1 9 4 result Ljava/util/List<Ljdk/jshell/SourceCodeAnalysis$Suggestion;>;
3 5 5 alternative Ljava/lang/String;
Signature: (Ljava/lang/String;I[I)Ljava/util/List<Ljdk/jshell/SourceCodeAnalysis$Suggestion;>;
MethodParameters:
Name Flags
input
cursor
anchor
}
SourceFile: "JShellTool.java"
NestHost: jdk.internal.jshell.tool.JShellTool
InnerClasses:
ArgSuggestion = jdk.internal.jshell.tool.JShellTool$ArgSuggestion of jdk.internal.jshell.tool.JShellTool
abstract CompletionProvider = jdk.internal.jshell.tool.JShellTool$CompletionProvider of jdk.internal.jshell.tool.JShellTool
final FixedCompletionProvider = jdk.internal.jshell.tool.JShellTool$FixedCompletionProvider of jdk.internal.jshell.tool.JShellTool
public abstract Suggestion = jdk.jshell.SourceCodeAnalysis$Suggestion of jdk.jshell.SourceCodeAnalysis