public class io.dropwizard.cli.Cli
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: io.dropwizard.cli.Cli
super_class: java.lang.Object
{
private static final java.lang.String COMMAND_NAME_ATTR;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "command"
private static final java.lang.String[][] HELP;
descriptor: [[Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.String[][] VERSION;
descriptor: [[Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final java.io.PrintWriter stdOut;
descriptor: Ljava/io/PrintWriter;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.io.PrintWriter stdErr;
descriptor: Ljava/io/PrintWriter;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.SortedMap<java.lang.String, io.dropwizard.cli.Command> commands;
descriptor: Ljava/util/SortedMap;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/SortedMap<Ljava/lang/String;Lio/dropwizard/cli/Command;>;
private final io.dropwizard.setup.Bootstrap<?> bootstrap;
descriptor: Lio/dropwizard/setup/Bootstrap;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lio/dropwizard/setup/Bootstrap<*>;
private final net.sourceforge.argparse4j.inf.ArgumentParser parser;
descriptor: Lnet/sourceforge/argparse4j/inf/ArgumentParser;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=7, locals=0, args_size=0
0: iconst_3
anewarray java.lang.String[]
dup
iconst_0
iconst_0
anewarray java.lang.String
aastore
dup
iconst_1
iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "-h"
aastore
aastore
dup
iconst_2
iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "--help"
aastore
aastore
putstatic io.dropwizard.cli.Cli.HELP:[[Ljava/lang/String;
1: iconst_2
anewarray java.lang.String[]
dup
iconst_0
iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "-v"
aastore
aastore
dup
iconst_1
iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "--version"
aastore
aastore
putstatic io.dropwizard.cli.Cli.VERSION:[[Ljava/lang/String;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(io.dropwizard.util.JarLocation, io.dropwizard.setup.Bootstrap<?>, java.io.OutputStream, java.io.OutputStream);
descriptor: (Lio/dropwizard/util/JarLocation;Lio/dropwizard/setup/Bootstrap;Ljava/io/OutputStream;Ljava/io/OutputStream;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.io.PrintWriter
dup
new java.io.OutputStreamWriter
dup
aload 3
getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
invokespecial java.io.OutputStreamWriter.<init>:(Ljava/io/OutputStream;Ljava/nio/charset/Charset;)V
iconst_1
invokespecial java.io.PrintWriter.<init>:(Ljava/io/Writer;Z)V
putfield io.dropwizard.cli.Cli.stdOut:Ljava/io/PrintWriter;
2: aload 0
new java.io.PrintWriter
dup
new java.io.OutputStreamWriter
dup
aload 4
getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
invokespecial java.io.OutputStreamWriter.<init>:(Ljava/io/OutputStream;Ljava/nio/charset/Charset;)V
iconst_1
invokespecial java.io.PrintWriter.<init>:(Ljava/io/Writer;Z)V
putfield io.dropwizard.cli.Cli.stdErr:Ljava/io/PrintWriter;
3: aload 0
new java.util.TreeMap
dup
invokespecial java.util.TreeMap.<init>:()V
putfield io.dropwizard.cli.Cli.commands:Ljava/util/SortedMap;
4: aload 0
aload 0
aload 1
invokevirtual io.dropwizard.cli.Cli.buildParser:(Lio/dropwizard/util/JarLocation;)Lnet/sourceforge/argparse4j/inf/ArgumentParser;
putfield io.dropwizard.cli.Cli.parser:Lnet/sourceforge/argparse4j/inf/ArgumentParser;
5: aload 0
aload 2
putfield io.dropwizard.cli.Cli.bootstrap:Lio/dropwizard/setup/Bootstrap;
6: aload 2
invokevirtual io.dropwizard.setup.Bootstrap.getCommands:()Lcom/google/common/collect/ImmutableList;
invokevirtual com.google.common.collect.ImmutableList.iterator:()Ljava/util/Iterator;
astore 6
goto 9
StackMap locals: io.dropwizard.cli.Cli io.dropwizard.util.JarLocation io.dropwizard.setup.Bootstrap java.io.OutputStream java.io.OutputStream top java.util.Iterator
StackMap stack:
7: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast io.dropwizard.cli.Command
astore 5
start local 5 8: aload 0
aload 5
invokevirtual io.dropwizard.cli.Cli.addCommand:(Lio/dropwizard/cli/Command;)V
end local 5 9: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 7
10: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lio/dropwizard/cli/Cli;
0 11 1 location Lio/dropwizard/util/JarLocation;
0 11 2 bootstrap Lio/dropwizard/setup/Bootstrap<*>;
0 11 3 stdOut Ljava/io/OutputStream;
0 11 4 stdErr Ljava/io/OutputStream;
8 9 5 command Lio/dropwizard/cli/Command;
Signature: (Lio/dropwizard/util/JarLocation;Lio/dropwizard/setup/Bootstrap<*>;Ljava/io/OutputStream;Ljava/io/OutputStream;)V
MethodParameters:
Name Flags
location
bootstrap
stdOut
stdErr
public boolean run(java.lang.String[]);
descriptor: ([Ljava/lang/String;)Z
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: getstatic io.dropwizard.cli.Cli.HELP:[[Ljava/lang/String;
aload 1
invokestatic io.dropwizard.cli.Cli.isFlag:([[Ljava/lang/String;[Ljava/lang/String;)Z
ifeq 3
1: aload 0
getfield io.dropwizard.cli.Cli.parser:Lnet/sourceforge/argparse4j/inf/ArgumentParser;
aload 0
getfield io.dropwizard.cli.Cli.stdOut:Ljava/io/PrintWriter;
invokeinterface net.sourceforge.argparse4j.inf.ArgumentParser.printHelp:(Ljava/io/PrintWriter;)V
2: goto 15
StackMap locals:
StackMap stack:
3: getstatic io.dropwizard.cli.Cli.VERSION:[[Ljava/lang/String;
aload 1
invokestatic io.dropwizard.cli.Cli.isFlag:([[Ljava/lang/String;[Ljava/lang/String;)Z
ifeq 6
4: aload 0
getfield io.dropwizard.cli.Cli.parser:Lnet/sourceforge/argparse4j/inf/ArgumentParser;
aload 0
getfield io.dropwizard.cli.Cli.stdOut:Ljava/io/PrintWriter;
invokeinterface net.sourceforge.argparse4j.inf.ArgumentParser.printVersion:(Ljava/io/PrintWriter;)V
5: goto 15
6: StackMap locals:
StackMap stack:
aload 0
getfield io.dropwizard.cli.Cli.parser:Lnet/sourceforge/argparse4j/inf/ArgumentParser;
aload 1
invokeinterface net.sourceforge.argparse4j.inf.ArgumentParser.parseArgs:([Ljava/lang/String;)Lnet/sourceforge/argparse4j/inf/Namespace;
astore 2
start local 2 7: aload 0
getfield io.dropwizard.cli.Cli.commands:Ljava/util/SortedMap;
aload 2
ldc "command"
invokevirtual net.sourceforge.argparse4j.inf.Namespace.getString:(Ljava/lang/String;)Ljava/lang/String;
invokeinterface java.util.SortedMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast io.dropwizard.cli.Command
8: ldc "Command is not found"
9: invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
checkcast io.dropwizard.cli.Command
astore 3
start local 3 10: aload 3
aload 0
getfield io.dropwizard.cli.Cli.bootstrap:Lio/dropwizard/setup/Bootstrap;
aload 2
invokevirtual io.dropwizard.cli.Command.run:(Lio/dropwizard/setup/Bootstrap;Lnet/sourceforge/argparse4j/inf/Namespace;)V
11: goto 15
StackMap locals: io.dropwizard.cli.Cli java.lang.String[] net.sourceforge.argparse4j.inf.Namespace io.dropwizard.cli.Command
StackMap stack: java.lang.Throwable
12: astore 4
start local 4 13: aload 3
aload 0
aload 2
aload 4
invokevirtual io.dropwizard.cli.Command.onError:(Lio/dropwizard/cli/Cli;Lnet/sourceforge/argparse4j/inf/Namespace;Ljava/lang/Throwable;)V
14: iconst_0
ireturn
end local 4 end local 3 end local 2 15: StackMap locals:
StackMap stack:
iconst_1
ireturn
16: StackMap locals:
StackMap stack: net.sourceforge.argparse4j.helper.HelpScreenException
pop
17: iconst_1
ireturn
18: StackMap locals:
StackMap stack: net.sourceforge.argparse4j.inf.ArgumentParserException
astore 2
start local 2 19: aload 0
getfield io.dropwizard.cli.Cli.stdErr:Ljava/io/PrintWriter;
aload 2
invokevirtual net.sourceforge.argparse4j.inf.ArgumentParserException.getMessage:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
20: aload 2
invokevirtual net.sourceforge.argparse4j.inf.ArgumentParserException.getParser:()Lnet/sourceforge/argparse4j/inf/ArgumentParser;
aload 0
getfield io.dropwizard.cli.Cli.stdErr:Ljava/io/PrintWriter;
invokeinterface net.sourceforge.argparse4j.inf.ArgumentParser.printHelp:(Ljava/io/PrintWriter;)V
21: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lio/dropwizard/cli/Cli;
0 22 1 arguments [Ljava/lang/String;
7 15 2 namespace Lnet/sourceforge/argparse4j/inf/Namespace;
10 15 3 command Lio/dropwizard/cli/Command;
13 15 4 e Ljava/lang/Throwable;
19 22 2 e Lnet/sourceforge/argparse4j/inf/ArgumentParserException;
Exception table:
from to target type
10 11 12 Class java.lang.Throwable
0 14 16 Class net.sourceforge.argparse4j.helper.HelpScreenException
0 14 18 Class net.sourceforge.argparse4j.inf.ArgumentParserException
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
arguments
private static boolean isFlag(java.lang.String[][], java.lang.String[]);
descriptor: ([[Ljava/lang/String;[Ljava/lang/String;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=6, args_size=2
start local 0 start local 1 0: aload 0
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 5
StackMap locals: java.lang.String[][] java.lang.String[] top int int java.lang.String[][]
StackMap stack:
1: aload 5
iload 3
aaload
astore 2
start local 2 2: aload 1
aload 2
invokestatic java.util.Arrays.equals:([Ljava/lang/Object;[Ljava/lang/Object;)Z
ifeq 4
3: iconst_1
ireturn
end local 2 4: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
5: iload 3
iload 4
if_icmplt 1
6: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 flags [[Ljava/lang/String;
0 7 1 arguments [Ljava/lang/String;
2 4 2 cmd [Ljava/lang/String;
MethodParameters:
Name Flags
flags
arguments
private net.sourceforge.argparse4j.inf.ArgumentParser buildParser(io.dropwizard.util.JarLocation);
descriptor: (Lio/dropwizard/util/JarLocation;)Lnet/sourceforge/argparse4j/inf/ArgumentParser;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: new java.lang.StringBuilder
dup
ldc "java -jar "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
start local 2 1: aload 2
iconst_0
invokestatic net.sourceforge.argparse4j.ArgumentParsers.newArgumentParser:(Ljava/lang/String;Z)Lnet/sourceforge/argparse4j/inf/ArgumentParser;
astore 3
start local 3 2: aload 3
aload 1
invokevirtual io.dropwizard.util.JarLocation.getVersion:()Ljava/util/Optional;
3: ldc "No application version detected. Add a Implementation-Version entry to your JAR's manifest to enable this."
4: invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
invokeinterface net.sourceforge.argparse4j.inf.ArgumentParser.version:(Ljava/lang/String;)Lnet/sourceforge/argparse4j/inf/ArgumentParser;
pop
5: aload 0
aload 3
invokevirtual io.dropwizard.cli.Cli.addHelp:(Lnet/sourceforge/argparse4j/inf/ArgumentParser;)V
6: aload 3
iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "-v"
aastore
dup
iconst_1
ldc "--version"
aastore
invokeinterface net.sourceforge.argparse4j.inf.ArgumentParser.addArgument:([Ljava/lang/String;)Lnet/sourceforge/argparse4j/inf/Argument;
7: invokestatic net.sourceforge.argparse4j.impl.Arguments.help:()Lnet/sourceforge/argparse4j/impl/action/HelpArgumentAction;
invokeinterface net.sourceforge.argparse4j.inf.Argument.action:(Lnet/sourceforge/argparse4j/inf/ArgumentAction;)Lnet/sourceforge/argparse4j/inf/Argument;
8: ldc "show the application version and exit"
invokeinterface net.sourceforge.argparse4j.inf.Argument.help:(Ljava/lang/String;)Lnet/sourceforge/argparse4j/inf/Argument;
pop
9: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lio/dropwizard/cli/Cli;
0 10 1 location Lio/dropwizard/util/JarLocation;
1 10 2 usage Ljava/lang/String;
2 10 3 p Lnet/sourceforge/argparse4j/inf/ArgumentParser;
MethodParameters:
Name Flags
location
private void addHelp(net.sourceforge.argparse4j.inf.ArgumentParser);
descriptor: (Lnet/sourceforge/argparse4j/inf/ArgumentParser;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 1
iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "-h"
aastore
dup
iconst_1
ldc "--help"
aastore
invokeinterface net.sourceforge.argparse4j.inf.ArgumentParser.addArgument:([Ljava/lang/String;)Lnet/sourceforge/argparse4j/inf/Argument;
1: new io.dropwizard.cli.Cli$SafeHelpAction
dup
aload 0
getfield io.dropwizard.cli.Cli.stdOut:Ljava/io/PrintWriter;
invokespecial io.dropwizard.cli.Cli$SafeHelpAction.<init>:(Ljava/io/PrintWriter;)V
invokeinterface net.sourceforge.argparse4j.inf.Argument.action:(Lnet/sourceforge/argparse4j/inf/ArgumentAction;)Lnet/sourceforge/argparse4j/inf/Argument;
2: ldc "show this help message and exit"
invokeinterface net.sourceforge.argparse4j.inf.Argument.help:(Ljava/lang/String;)Lnet/sourceforge/argparse4j/inf/Argument;
3: getstatic net.sourceforge.argparse4j.impl.Arguments.SUPPRESS:Lnet/sourceforge/argparse4j/inf/FeatureControl;
invokeinterface net.sourceforge.argparse4j.inf.Argument.setDefault:(Lnet/sourceforge/argparse4j/inf/FeatureControl;)Lnet/sourceforge/argparse4j/inf/Argument;
pop
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/dropwizard/cli/Cli;
0 5 1 p Lnet/sourceforge/argparse4j/inf/ArgumentParser;
MethodParameters:
Name Flags
p
private void addCommand(io.dropwizard.cli.Command);
descriptor: (Lio/dropwizard/cli/Command;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield io.dropwizard.cli.Cli.commands:Ljava/util/SortedMap;
aload 1
invokevirtual io.dropwizard.cli.Command.getName:()Ljava/lang/String;
aload 1
invokeinterface java.util.SortedMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 0
getfield io.dropwizard.cli.Cli.parser:Lnet/sourceforge/argparse4j/inf/ArgumentParser;
invokeinterface net.sourceforge.argparse4j.inf.ArgumentParser.addSubparsers:()Lnet/sourceforge/argparse4j/inf/Subparsers;
ldc "available commands"
invokeinterface net.sourceforge.argparse4j.inf.Subparsers.help:(Ljava/lang/String;)Lnet/sourceforge/argparse4j/inf/Subparsers;
pop
2: aload 0
getfield io.dropwizard.cli.Cli.parser:Lnet/sourceforge/argparse4j/inf/ArgumentParser;
invokeinterface net.sourceforge.argparse4j.inf.ArgumentParser.addSubparsers:()Lnet/sourceforge/argparse4j/inf/Subparsers;
aload 1
invokevirtual io.dropwizard.cli.Command.getName:()Ljava/lang/String;
iconst_0
invokeinterface net.sourceforge.argparse4j.inf.Subparsers.addParser:(Ljava/lang/String;Z)Lnet/sourceforge/argparse4j/inf/Subparser;
astore 2
start local 2 3: aload 1
aload 2
invokevirtual io.dropwizard.cli.Command.configure:(Lnet/sourceforge/argparse4j/inf/Subparser;)V
4: aload 0
aload 2
invokevirtual io.dropwizard.cli.Cli.addHelp:(Lnet/sourceforge/argparse4j/inf/ArgumentParser;)V
5: aload 2
aload 1
invokevirtual io.dropwizard.cli.Command.getDescription:()Ljava/lang/String;
invokeinterface net.sourceforge.argparse4j.inf.Subparser.description:(Ljava/lang/String;)Lnet/sourceforge/argparse4j/inf/Subparser;
6: ldc "command"
aload 1
invokevirtual io.dropwizard.cli.Command.getName:()Ljava/lang/String;
invokeinterface net.sourceforge.argparse4j.inf.Subparser.setDefault:(Ljava/lang/String;Ljava/lang/Object;)Lnet/sourceforge/argparse4j/inf/Subparser;
7: iconst_1
invokeinterface net.sourceforge.argparse4j.inf.Subparser.defaultHelp:(Z)Lnet/sourceforge/argparse4j/inf/Subparser;
pop
8: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lio/dropwizard/cli/Cli;
0 9 1 command Lio/dropwizard/cli/Command;
3 9 2 subparser Lnet/sourceforge/argparse4j/inf/Subparser;
MethodParameters:
Name Flags
command
public java.io.PrintWriter getStdOut();
descriptor: ()Ljava/io/PrintWriter;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.dropwizard.cli.Cli.stdOut:Ljava/io/PrintWriter;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/dropwizard/cli/Cli;
public java.io.PrintWriter getStdErr();
descriptor: ()Ljava/io/PrintWriter;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.dropwizard.cli.Cli.stdErr:Ljava/io/PrintWriter;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/dropwizard/cli/Cli;
}
SourceFile: "Cli.java"
NestMembers:
io.dropwizard.cli.Cli$SafeHelpAction
InnerClasses:
private SafeHelpAction = io.dropwizard.cli.Cli$SafeHelpAction of io.dropwizard.cli.Cli