public class jdk.internal.jline.console.completer.ArgumentCompleter implements jdk.internal.jline.console.completer.Completer
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: jdk.internal.jline.console.completer.ArgumentCompleter
super_class: java.lang.Object
{
private final jdk.internal.jline.console.completer.ArgumentCompleter$ArgumentDelimiter delimiter;
descriptor: Ljdk/internal/jline/console/completer/ArgumentCompleter$ArgumentDelimiter;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.List<jdk.internal.jline.console.completer.Completer> completers;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Ljdk/internal/jline/console/completer/Completer;>;
private boolean strict;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
public void <init>(jdk.internal.jline.console.completer.ArgumentCompleter$ArgumentDelimiter, java.util.Collection<jdk.internal.jline.console.completer.Completer>);
descriptor: (Ljdk/internal/jline/console/completer/ArgumentCompleter$ArgumentDelimiter;Ljava/util/Collection;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield jdk.internal.jline.console.completer.ArgumentCompleter.completers:Ljava/util/List;
2: aload 0
iconst_1
putfield jdk.internal.jline.console.completer.ArgumentCompleter.strict:Z
3: aload 0
aload 1
invokestatic jdk.internal.jline.internal.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast jdk.internal.jline.console.completer.ArgumentCompleter$ArgumentDelimiter
putfield jdk.internal.jline.console.completer.ArgumentCompleter.delimiter:Ljdk/internal/jline/console/completer/ArgumentCompleter$ArgumentDelimiter;
4: aload 2
invokestatic jdk.internal.jline.internal.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
5: aload 0
getfield jdk.internal.jline.console.completer.ArgumentCompleter.completers:Ljava/util/List;
aload 2
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
6: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljdk/internal/jline/console/completer/ArgumentCompleter;
0 7 1 delimiter Ljdk/internal/jline/console/completer/ArgumentCompleter$ArgumentDelimiter;
0 7 2 completers Ljava/util/Collection<Ljdk/internal/jline/console/completer/Completer;>;
Signature: (Ljdk/internal/jline/console/completer/ArgumentCompleter$ArgumentDelimiter;Ljava/util/Collection<Ljdk/internal/jline/console/completer/Completer;>;)V
MethodParameters:
Name Flags
delimiter final
completers final
public void <init>(jdk.internal.jline.console.completer.ArgumentCompleter$ArgumentDelimiter, jdk.internal.jline.console.completer.Completer[]);
descriptor: (Ljdk/internal/jline/console/completer/ArgumentCompleter$ArgumentDelimiter;[Ljdk/internal/jline/console/completer/Completer;)V
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokespecial jdk.internal.jline.console.completer.ArgumentCompleter.<init>:(Ljdk/internal/jline/console/completer/ArgumentCompleter$ArgumentDelimiter;Ljava/util/Collection;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/internal/jline/console/completer/ArgumentCompleter;
0 2 1 delimiter Ljdk/internal/jline/console/completer/ArgumentCompleter$ArgumentDelimiter;
0 2 2 completers [Ljdk/internal/jline/console/completer/Completer;
MethodParameters:
Name Flags
delimiter final
completers final
public void <init>(jdk.internal.jline.console.completer.Completer[]);
descriptor: ([Ljdk/internal/jline/console/completer/Completer;)V
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
new jdk.internal.jline.console.completer.ArgumentCompleter$WhitespaceArgumentDelimiter
dup
invokespecial jdk.internal.jline.console.completer.ArgumentCompleter$WhitespaceArgumentDelimiter.<init>:()V
aload 1
invokespecial jdk.internal.jline.console.completer.ArgumentCompleter.<init>:(Ljdk/internal/jline/console/completer/ArgumentCompleter$ArgumentDelimiter;[Ljdk/internal/jline/console/completer/Completer;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/internal/jline/console/completer/ArgumentCompleter;
0 2 1 completers [Ljdk/internal/jline/console/completer/Completer;
MethodParameters:
Name Flags
completers final
public void <init>(java.util.List<jdk.internal.jline.console.completer.Completer>);
descriptor: (Ljava/util/List;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
new jdk.internal.jline.console.completer.ArgumentCompleter$WhitespaceArgumentDelimiter
dup
invokespecial jdk.internal.jline.console.completer.ArgumentCompleter$WhitespaceArgumentDelimiter.<init>:()V
aload 1
invokespecial jdk.internal.jline.console.completer.ArgumentCompleter.<init>:(Ljdk/internal/jline/console/completer/ArgumentCompleter$ArgumentDelimiter;Ljava/util/Collection;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/internal/jline/console/completer/ArgumentCompleter;
0 2 1 completers Ljava/util/List<Ljdk/internal/jline/console/completer/Completer;>;
Signature: (Ljava/util/List<Ljdk/internal/jline/console/completer/Completer;>;)V
MethodParameters:
Name Flags
completers final
public void setStrict(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield jdk.internal.jline.console.completer.ArgumentCompleter.strict:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/internal/jline/console/completer/ArgumentCompleter;
0 2 1 strict Z
MethodParameters:
Name Flags
strict final
public boolean isStrict();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.internal.jline.console.completer.ArgumentCompleter.strict:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/jline/console/completer/ArgumentCompleter;
public jdk.internal.jline.console.completer.ArgumentCompleter$ArgumentDelimiter getDelimiter();
descriptor: ()Ljdk/internal/jline/console/completer/ArgumentCompleter$ArgumentDelimiter;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.internal.jline.console.completer.ArgumentCompleter.delimiter:Ljdk/internal/jline/console/completer/ArgumentCompleter$ArgumentDelimiter;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/jline/console/completer/ArgumentCompleter;
public java.util.List<jdk.internal.jline.console.completer.Completer> getCompleters();
descriptor: ()Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.internal.jline.console.completer.ArgumentCompleter.completers:Ljava/util/List;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/jline/console/completer/ArgumentCompleter;
Signature: ()Ljava/util/List<Ljdk/internal/jline/console/completer/Completer;>;
public int complete(java.lang.String, int, java.util.List<java.lang.CharSequence>);
descriptor: (Ljava/lang/String;ILjava/util/List;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=15, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
invokestatic jdk.internal.jline.internal.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 0
invokevirtual jdk.internal.jline.console.completer.ArgumentCompleter.getDelimiter:()Ljdk/internal/jline/console/completer/ArgumentCompleter$ArgumentDelimiter;
astore 4
start local 4 2: aload 4
aload 1
iload 2
invokeinterface jdk.internal.jline.console.completer.ArgumentCompleter$ArgumentDelimiter.delimit:(Ljava/lang/CharSequence;I)Ljdk/internal/jline/console/completer/ArgumentCompleter$ArgumentList;
astore 5
start local 5 3: aload 5
invokevirtual jdk.internal.jline.console.completer.ArgumentCompleter$ArgumentList.getArgumentPosition:()I
istore 6
start local 6 4: aload 5
invokevirtual jdk.internal.jline.console.completer.ArgumentCompleter$ArgumentList.getCursorArgumentIndex:()I
istore 7
start local 7 5: iload 7
ifge 7
6: iconst_m1
ireturn
7: StackMap locals: jdk.internal.jline.console.completer.ArgumentCompleter java.lang.String int java.util.List jdk.internal.jline.console.completer.ArgumentCompleter$ArgumentDelimiter jdk.internal.jline.console.completer.ArgumentCompleter$ArgumentList int int
StackMap stack:
aload 0
invokevirtual jdk.internal.jline.console.completer.ArgumentCompleter.getCompleters:()Ljava/util/List;
astore 8
start local 8 8: iload 7
aload 8
invokeinterface java.util.List.size:()I
if_icmplt 11
9: aload 8
aload 8
invokeinterface java.util.List.size:()I
iconst_1
isub
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast jdk.internal.jline.console.completer.Completer
astore 9
start local 9 10: goto 12
end local 9 11: StackMap locals: java.util.List
StackMap stack:
aload 8
iload 7
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast jdk.internal.jline.console.completer.Completer
astore 9
start local 9 12: StackMap locals: jdk.internal.jline.console.completer.Completer
StackMap stack:
iconst_0
istore 10
start local 10 13: goto 28
14: StackMap locals: int
StackMap stack:
aload 8
iload 10
aload 8
invokeinterface java.util.List.size:()I
if_icmplt 15
aload 8
invokeinterface java.util.List.size:()I
iconst_1
isub
goto 16
StackMap locals:
StackMap stack: java.util.List
15: iload 10
StackMap locals: jdk.internal.jline.console.completer.ArgumentCompleter java.lang.String int java.util.List jdk.internal.jline.console.completer.ArgumentCompleter$ArgumentDelimiter jdk.internal.jline.console.completer.ArgumentCompleter$ArgumentList int int java.util.List jdk.internal.jline.console.completer.Completer int
StackMap stack: java.util.List int
16: invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast jdk.internal.jline.console.completer.Completer
astore 11
start local 11 17: aload 5
invokevirtual jdk.internal.jline.console.completer.ArgumentCompleter$ArgumentList.getArguments:()[Ljava/lang/String;
astore 12
start local 12 18: aload 12
ifnull 19
iload 10
aload 12
arraylength
if_icmplt 20
StackMap locals: jdk.internal.jline.console.completer.Completer java.lang.String[]
StackMap stack:
19: ldc ""
goto 21
StackMap locals:
StackMap stack:
20: aload 12
iload 10
aaload
StackMap locals:
StackMap stack: java.lang.String
21: astore 13
start local 13 22: new java.util.LinkedList
dup
invokespecial java.util.LinkedList.<init>:()V
astore 14
start local 14 23: aload 11
aload 13
aload 13
invokevirtual java.lang.String.length:()I
aload 14
invokeinterface jdk.internal.jline.console.completer.Completer.complete:(Ljava/lang/String;ILjava/util/List;)I
iconst_m1
if_icmpne 25
24: iconst_m1
ireturn
25: StackMap locals: java.lang.String java.util.List
StackMap stack:
aload 14
invokeinterface java.util.List.size:()I
ifne 27
26: iconst_m1
ireturn
end local 14 end local 13 end local 12 end local 11 27: StackMap locals: jdk.internal.jline.console.completer.ArgumentCompleter java.lang.String int java.util.List jdk.internal.jline.console.completer.ArgumentCompleter$ArgumentDelimiter jdk.internal.jline.console.completer.ArgumentCompleter$ArgumentList int int java.util.List jdk.internal.jline.console.completer.Completer int
StackMap stack:
iinc 10 1
StackMap locals:
StackMap stack:
28: aload 0
invokevirtual jdk.internal.jline.console.completer.ArgumentCompleter.isStrict:()Z
ifeq 29
iload 10
iload 7
if_icmplt 14
end local 10 29: StackMap locals:
StackMap stack:
aload 9
aload 5
invokevirtual jdk.internal.jline.console.completer.ArgumentCompleter$ArgumentList.getCursorArgument:()Ljava/lang/String;
iload 6
aload 3
invokeinterface jdk.internal.jline.console.completer.Completer.complete:(Ljava/lang/String;ILjava/util/List;)I
istore 10
start local 10 30: iload 10
iconst_m1
if_icmpne 32
31: iconst_m1
ireturn
32: StackMap locals: int
StackMap stack:
iload 10
aload 5
invokevirtual jdk.internal.jline.console.completer.ArgumentCompleter$ArgumentList.getBufferPosition:()I
iadd
iload 6
isub
istore 11
start local 11 33: iload 2
aload 1
invokevirtual java.lang.String.length:()I
if_icmpeq 43
aload 4
aload 1
iload 2
invokeinterface jdk.internal.jline.console.completer.ArgumentCompleter$ArgumentDelimiter.isDelimiter:(Ljava/lang/CharSequence;I)Z
ifeq 43
34: iconst_0
istore 12
start local 12 35: goto 42
36: StackMap locals: int int
StackMap stack:
aload 3
iload 12
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.lang.CharSequence
astore 13
start local 13 37: goto 39
38: StackMap locals: java.lang.CharSequence
StackMap stack:
aload 13
iconst_0
aload 13
invokeinterface java.lang.CharSequence.length:()I
iconst_1
isub
invokeinterface java.lang.CharSequence.subSequence:(II)Ljava/lang/CharSequence;
astore 13
39: StackMap locals:
StackMap stack:
aload 13
invokeinterface java.lang.CharSequence.length:()I
ifle 40
aload 4
aload 13
aload 13
invokeinterface java.lang.CharSequence.length:()I
iconst_1
isub
invokeinterface jdk.internal.jline.console.completer.ArgumentCompleter$ArgumentDelimiter.isDelimiter:(Ljava/lang/CharSequence;I)Z
ifne 38
40: StackMap locals:
StackMap stack:
aload 3
iload 12
aload 13
invokeinterface java.util.List.set:(ILjava/lang/Object;)Ljava/lang/Object;
pop
end local 13 41: iinc 12 1
StackMap locals:
StackMap stack:
42: iload 12
aload 3
invokeinterface java.util.List.size:()I
if_icmplt 36
end local 12 StackMap locals:
StackMap stack:
43: bipush 8
anewarray java.lang.Object
dup
iconst_0
44: ldc "Completing "
aastore
dup
iconst_1
aload 1
aastore
dup
iconst_2
ldc " (pos="
aastore
dup
iconst_3
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_4
ldc ") with: "
aastore
dup
iconst_5
aload 3
aastore
dup
bipush 6
ldc ": offset="
aastore
dup
bipush 7
iload 11
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokestatic jdk.internal.jline.internal.Log.trace:([Ljava/lang/Object;)V
45: iload 11
ireturn
end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 46 0 this Ljdk/internal/jline/console/completer/ArgumentCompleter;
0 46 1 buffer Ljava/lang/String;
0 46 2 cursor I
0 46 3 candidates Ljava/util/List<Ljava/lang/CharSequence;>;
2 46 4 delim Ljdk/internal/jline/console/completer/ArgumentCompleter$ArgumentDelimiter;
3 46 5 list Ljdk/internal/jline/console/completer/ArgumentCompleter$ArgumentList;
4 46 6 argpos I
5 46 7 argIndex I
8 46 8 completers Ljava/util/List<Ljdk/internal/jline/console/completer/Completer;>;
10 11 9 completer Ljdk/internal/jline/console/completer/Completer;
12 46 9 completer Ljdk/internal/jline/console/completer/Completer;
13 29 10 i I
17 27 11 sub Ljdk/internal/jline/console/completer/Completer;
18 27 12 args [Ljava/lang/String;
22 27 13 arg Ljava/lang/String;
23 27 14 subCandidates Ljava/util/List<Ljava/lang/CharSequence;>;
30 46 10 ret I
33 46 11 pos I
35 43 12 i I
37 41 13 val Ljava/lang/CharSequence;
Signature: (Ljava/lang/String;ILjava/util/List<Ljava/lang/CharSequence;>;)I
MethodParameters:
Name Flags
buffer final
cursor final
candidates final
}
SourceFile: "ArgumentCompleter.java"
NestMembers:
jdk.internal.jline.console.completer.ArgumentCompleter$AbstractArgumentDelimiter jdk.internal.jline.console.completer.ArgumentCompleter$ArgumentDelimiter jdk.internal.jline.console.completer.ArgumentCompleter$ArgumentList jdk.internal.jline.console.completer.ArgumentCompleter$WhitespaceArgumentDelimiter
InnerClasses:
public abstract AbstractArgumentDelimiter = jdk.internal.jline.console.completer.ArgumentCompleter$AbstractArgumentDelimiter of jdk.internal.jline.console.completer.ArgumentCompleter
public abstract ArgumentDelimiter = jdk.internal.jline.console.completer.ArgumentCompleter$ArgumentDelimiter of jdk.internal.jline.console.completer.ArgumentCompleter
public ArgumentList = jdk.internal.jline.console.completer.ArgumentCompleter$ArgumentList of jdk.internal.jline.console.completer.ArgumentCompleter
public WhitespaceArgumentDelimiter = jdk.internal.jline.console.completer.ArgumentCompleter$WhitespaceArgumentDelimiter of jdk.internal.jline.console.completer.ArgumentCompleter