class picocli.AutoComplete$App implements java.util.concurrent.Callable<java.lang.Integer>
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: picocli.AutoComplete$App
super_class: java.lang.Object
{
java.lang.String commandLineFQCN;
descriptor: Ljava/lang/String;
flags: (0x0000)
RuntimeVisibleAnnotations:
picocli.CommandLine$Parameters(arity = "1", description = {"Fully qualified class name of the annotated `@Command` class to generate a completion script for."})
java.lang.String factoryClass;
descriptor: Ljava/lang/String;
flags: (0x0000)
RuntimeVisibleAnnotations:
picocli.CommandLine$Option(names = {"-c", "--factory"}, description = {"Optionally specify the fully qualified class name of the custom factory to use to instantiate the command class. When omitted, the default picocli factory is used."})
java.lang.String commandName;
descriptor: Ljava/lang/String;
flags: (0x0000)
RuntimeVisibleAnnotations:
picocli.CommandLine$Option(names = {"-n", "--name"}, description = {"Optionally specify the name of the command to create a completion script for. When omitted, the annotated class `@Command(name = \"...\")` attribute is used. If no `@Command(name = ...)` attribute exists, '<CLASS-SIMPLE-NAME>' (in lower-case) is used."})
java.io.File autoCompleteScript;
descriptor: Ljava/io/File;
flags: (0x0000)
RuntimeVisibleAnnotations:
picocli.CommandLine$Option(names = {"-o", "--completionScript"}, description = {"Optionally specify the path of the completion script file to generate. When omitted, a file named '<commandName>_completion' is generated in the current directory."})
boolean writeCommandScript;
descriptor: Z
flags: (0x0000)
RuntimeVisibleAnnotations:
picocli.CommandLine$Option(names = {"-w", "--writeCommandScript"}, description = {"Write a '<commandName>' sample command script to the same directory as the completion script."})
boolean overwriteIfExists;
descriptor: Z
flags: (0x0000)
RuntimeVisibleAnnotations:
picocli.CommandLine$Option(names = {"-f", "--force"}, description = {"Overwrite existing script files."})
picocli.CommandLine$Model$CommandSpec spec;
descriptor: Lpicocli/CommandLine$Model$CommandSpec;
flags: (0x0000)
RuntimeVisibleAnnotations:
picocli.CommandLine$Spec()
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lpicocli/AutoComplete$App;
public java.lang.Integer call();
descriptor: ()Ljava/lang/Integer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=6, args_size=1
start local 0 0: invokestatic picocli.CommandLine.defaultFactory:()Lpicocli/CommandLine$IFactory;
astore 1
start local 1 1: aload 0
getfield picocli.AutoComplete$App.factoryClass:Ljava/lang/String;
ifnull 3
2: aload 1
aload 0
getfield picocli.AutoComplete$App.factoryClass:Ljava/lang/String;
invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
invokeinterface picocli.CommandLine$IFactory.create:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast picocli.CommandLine$IFactory
astore 1
3: StackMap locals: picocli.CommandLine$IFactory
StackMap stack:
aload 0
getfield picocli.AutoComplete$App.commandLineFQCN:Ljava/lang/String;
invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
astore 2
start local 2 4: aload 1
aload 2
invokeinterface picocli.CommandLine$IFactory.create:(Ljava/lang/Class;)Ljava/lang/Object;
astore 3
start local 3 5: new picocli.CommandLine
dup
aload 3
aload 1
invokespecial picocli.CommandLine.<init>:(Ljava/lang/Object;Lpicocli/CommandLine$IFactory;)V
astore 4
start local 4 6: aload 0
getfield picocli.AutoComplete$App.commandName:Ljava/lang/String;
ifnonnull 10
7: aload 0
aload 4
invokevirtual picocli.CommandLine.getCommandName:()Ljava/lang/String;
putfield picocli.AutoComplete$App.commandName:Ljava/lang/String;
8: ldc "<main class>"
aload 0
getfield picocli.AutoComplete$App.commandName:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 10
9: aload 0
aload 2
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
putfield picocli.AutoComplete$App.commandName:Ljava/lang/String;
10: StackMap locals: java.lang.Class java.lang.Object picocli.CommandLine
StackMap stack:
aload 0
getfield picocli.AutoComplete$App.autoCompleteScript:Ljava/io/File;
ifnonnull 12
11: aload 0
new java.io.File
dup
new java.lang.StringBuilder
dup
aload 0
getfield picocli.AutoComplete$App.commandName:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "_completion"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
putfield picocli.AutoComplete$App.autoCompleteScript:Ljava/io/File;
12: StackMap locals:
StackMap stack:
aconst_null
astore 5
start local 5 13: aload 0
getfield picocli.AutoComplete$App.writeCommandScript:Z
ifeq 15
14: new java.io.File
dup
aload 0
getfield picocli.AutoComplete$App.autoCompleteScript:Ljava/io/File;
invokevirtual java.io.File.getAbsoluteFile:()Ljava/io/File;
invokevirtual java.io.File.getParentFile:()Ljava/io/File;
aload 0
getfield picocli.AutoComplete$App.commandName:Ljava/lang/String;
invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
astore 5
15: StackMap locals: java.io.File
StackMap stack:
aload 5
ifnull 17
aload 0
getfield picocli.AutoComplete$App.overwriteIfExists:Z
ifne 17
aload 0
aload 5
invokevirtual picocli.AutoComplete$App.checkExists:(Ljava/io/File;)Z
ifeq 17
16: iconst_2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
areturn
17: StackMap locals:
StackMap stack:
aload 0
getfield picocli.AutoComplete$App.overwriteIfExists:Z
ifne 19
aload 0
aload 0
getfield picocli.AutoComplete$App.autoCompleteScript:Ljava/io/File;
invokevirtual picocli.AutoComplete$App.checkExists:(Ljava/io/File;)Z
ifeq 19
18: iconst_3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
areturn
19: StackMap locals:
StackMap stack:
aload 0
getfield picocli.AutoComplete$App.commandName:Ljava/lang/String;
aload 0
getfield picocli.AutoComplete$App.autoCompleteScript:Ljava/io/File;
aload 5
aload 4
invokestatic picocli.AutoComplete.bash:(Ljava/lang/String;Ljava/io/File;Ljava/io/File;Lpicocli/CommandLine;)V
20: iconst_0
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
areturn
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 21 0 this Lpicocli/AutoComplete$App;
1 21 1 factory Lpicocli/CommandLine$IFactory;
4 21 2 cls Ljava/lang/Class<*>;
5 21 3 instance Ljava/lang/Object;
6 21 4 commandLine Lpicocli/CommandLine;
13 21 5 commandScript Ljava/io/File;
Exceptions:
throws java.lang.Exception
private boolean checkExists(java.io.File);
descriptor: (Ljava/io/File;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.io.File.exists:()Z
ifeq 5
1: aload 0
getfield picocli.AutoComplete$App.spec:Lpicocli/CommandLine$Model$CommandSpec;
invokevirtual picocli.CommandLine$Model$CommandSpec.commandLine:()Lpicocli/CommandLine;
invokevirtual picocli.CommandLine.getErr:()Ljava/io/PrintWriter;
astore 2
start local 2 2: aload 2
ldc "ERROR: picocli.AutoComplete: %s exists. Specify --force to overwrite.%n"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
aastore
invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
pop
3: aload 0
getfield picocli.AutoComplete$App.spec:Lpicocli/CommandLine$Model$CommandSpec;
invokevirtual picocli.CommandLine$Model$CommandSpec.commandLine:()Lpicocli/CommandLine;
aload 2
invokevirtual picocli.CommandLine.usage:(Ljava/io/PrintWriter;)V
4: iconst_1
ireturn
end local 2 5: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lpicocli/AutoComplete$App;
0 6 1 file Ljava/io/File;
2 5 2 err Ljava/io/PrintWriter;
MethodParameters:
Name Flags
file final
public java.lang.Object call();
descriptor: ()Ljava/lang/Object;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual picocli.AutoComplete$App.call:()Ljava/lang/Integer;
areturn
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.lang.Exception
}
Signature: Ljava/lang/Object;Ljava/util/concurrent/Callable<Ljava/lang/Integer;>;
SourceFile: "AutoComplete.java"
NestHost: picocli.AutoComplete
InnerClasses:
private App = picocli.AutoComplete$App of picocli.AutoComplete
public abstract Command = picocli.CommandLine$Command of picocli.CommandLine
public abstract IFactory = picocli.CommandLine$IFactory of picocli.CommandLine
public final Model = picocli.CommandLine$Model of picocli.CommandLine
public CommandSpec = picocli.CommandLine$Model$CommandSpec of picocli.CommandLine$Model
public abstract Option = picocli.CommandLine$Option of picocli.CommandLine
public abstract Parameters = picocli.CommandLine$Parameters of picocli.CommandLine
public abstract Spec = picocli.CommandLine$Spec of picocli.CommandLine
RuntimeVisibleAnnotations:
picocli.CommandLine$Command(name = "picocli.AutoComplete", mixinStandardHelpOptions = true, showAtFileInUsageHelp = true, version = {"picocli.AutoComplete 4.2.0"}, sortOptions = false, description = {"Generates a bash completion script for the specified command class."}, footerHeading = "%n@|bold System Properties:|@%n", footer = {"Set the following system properties to control the exit code of this program:", "", "* `\"@|yellow picocli.autocomplete.systemExitOnSuccess|@\"`", " call `System.exit(0)` when execution completes normally.", "* `\"@|yellow picocli.autocomplete.systemExitOnError|@\"`", " call `System.exit(ERROR_CODE)` when an error occurs.", "", "If these system properties are not defined or have value \"false\", this program completes without terminating the JVM.", "", "Example", "-------", " java -cp \"myapp.jar;picocli-4.2.0.jar\" \\", " picocli.AutoComplete my.pkg.MyClass"}, exitCodeListHeading = "%nExit Codes:%n", exitCodeList = {"0:Successful program execution", "1:Usage error: user input for the command was incorrect, e.g., the wrong number of arguments, a bad flag, a bad syntax in a parameter, etc.", "2:The specified command script exists (Specify `--force` to overwrite).", "3:The specified completion script exists (Specify `--force` to overwrite).", "4:An exception occurred while generating the completion script."}, exitCodeOnInvalidInput = 1, exitCodeOnExecutionException = 4)