class picocli.CommandLine$Model$CommandReflection
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: picocli.CommandLine$Model$CommandReflection
super_class: java.lang.Object
{
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/CommandLine$Model$CommandReflection;
static picocli.CommandLine$Model$ArgGroupSpec extractArgGroupSpec(picocli.CommandLine$Model$IAnnotatedElement, picocli.CommandLine$IFactory, picocli.CommandLine$Model$CommandSpec, boolean);
descriptor: (Lpicocli/CommandLine$Model$IAnnotatedElement;Lpicocli/CommandLine$IFactory;Lpicocli/CommandLine$Model$CommandSpec;Z)Lpicocli/CommandLine$Model$ArgGroupSpec;
flags: (0x0008) ACC_STATIC
Code:
stack=7, locals=11, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aconst_null
astore 4
start local 4 1: aload 0
invokeinterface picocli.CommandLine$Model$IAnnotatedElement.getter:()Lpicocli/CommandLine$Model$IGetter;
invokeinterface picocli.CommandLine$Model$IGetter.get:()Ljava/lang/Object;
astore 4
2: goto 4
StackMap locals: picocli.CommandLine$Model$IAnnotatedElement picocli.CommandLine$IFactory picocli.CommandLine$Model$CommandSpec int java.lang.Object
StackMap stack: java.lang.Exception
3: pop
4: StackMap locals:
StackMap stack:
aload 4
ifnonnull 5
aload 0
invokeinterface picocli.CommandLine$Model$IAnnotatedElement.getTypeInfo:()Lpicocli/CommandLine$Model$ITypeInfo;
invokeinterface picocli.CommandLine$Model$ITypeInfo.getType:()Ljava/lang/Class;
goto 6
StackMap locals:
StackMap stack:
5: aload 4
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
StackMap locals:
StackMap stack: java.lang.Class
6: astore 5
start local 5 7: new picocli.CommandLine$Tracer
invokespecial picocli.CommandLine$Tracer.<init>:()V
8: aload 0
invokeinterface picocli.CommandLine$Model$IAnnotatedElement.isMultiValue:()Z
ifeq 10
9: aload 0
invokeinterface picocli.CommandLine$Model$IAnnotatedElement.getTypeInfo:()Lpicocli/CommandLine$Model$ITypeInfo;
invokeinterface picocli.CommandLine$Model$ITypeInfo.getAuxiliaryTypes:()[Ljava/lang/Class;
iconst_0
aaload
astore 5
10: StackMap locals: java.lang.Class
StackMap stack:
new picocli.CommandLine$Model$ObjectScope
dup
aload 4
invokespecial picocli.CommandLine$Model$ObjectScope.<init>:(Ljava/lang/Object;)V
astore 6
start local 6 11: aload 0
invokestatic picocli.CommandLine$Model$ArgGroupSpec.builder:(Lpicocli/CommandLine$Model$IAnnotatedElement;)Lpicocli/CommandLine$Model$ArgGroupSpec$Builder;
astore 7
start local 7 12: aload 7
aload 0
ldc Lpicocli/CommandLine$ArgGroup;
invokeinterface picocli.CommandLine$Model$IAnnotatedElement.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
checkcast picocli.CommandLine$ArgGroup
invokevirtual picocli.CommandLine$Model$ArgGroupSpec$Builder.updateArgGroupAttributes:(Lpicocli/CommandLine$ArgGroup;)Lpicocli/CommandLine$Model$ArgGroupSpec$Builder;
pop
13: aload 0
invokeinterface picocli.CommandLine$Model$IAnnotatedElement.isOption:()Z
ifne 14
aload 0
invokeinterface picocli.CommandLine$Model$IAnnotatedElement.isParameter:()Z
ifeq 16
14: StackMap locals: picocli.CommandLine$Model$IScope picocli.CommandLine$Model$ArgGroupSpec$Builder
StackMap stack:
aload 0
instanceof picocli.CommandLine$Model$TypedMember
ifeq 15
aload 0
checkcast picocli.CommandLine$Model$TypedMember
invokestatic picocli.CommandLine$Model$CommandReflection.validateArgSpecMember:(Lpicocli/CommandLine$Model$TypedMember;)V
15: StackMap locals:
StackMap stack:
aload 7
aload 0
aload 1
invokestatic picocli.CommandLine$Model$CommandReflection.buildArgForMember:(Lpicocli/CommandLine$Model$IAnnotatedElement;Lpicocli/CommandLine$IFactory;)Lpicocli/CommandLine$Model$ArgSpec;
invokevirtual picocli.CommandLine$Model$ArgGroupSpec$Builder.addArg:(Lpicocli/CommandLine$Model$ArgSpec;)Lpicocli/CommandLine$Model$ArgGroupSpec$Builder;
pop
16: StackMap locals:
StackMap stack:
new java.util.Stack
dup
invokespecial java.util.Stack.<init>:()V
astore 8
start local 8 17: goto 19
StackMap locals: java.util.Stack
StackMap stack:
18: aload 8
aload 5
invokevirtual java.util.Stack.add:(Ljava/lang/Object;)Z
pop
aload 5
invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
astore 5
StackMap locals:
StackMap stack:
19: aload 5
ifnonnull 18
20: iconst_0
istore 9
start local 9 21: goto 24
22: StackMap locals: int
StackMap stack:
aload 8
invokevirtual java.util.Stack.pop:()Ljava/lang/Object;
checkcast java.lang.Class
astore 5
23: iload 9
aload 6
aload 5
aload 2
aload 7
aload 1
aconst_null
invokestatic picocli.CommandLine$Model$CommandReflection.initFromAnnotatedFields:(Lpicocli/CommandLine$Model$IScope;Ljava/lang/Class;Lpicocli/CommandLine$Model$CommandSpec;Lpicocli/CommandLine$Model$ArgGroupSpec$Builder;Lpicocli/CommandLine$IFactory;Lpicocli/CommandLine$Model$Predicate;)Z
ior
istore 9
24: StackMap locals:
StackMap stack:
aload 8
invokevirtual java.util.Stack.isEmpty:()Z
ifeq 22
25: aload 7
invokevirtual picocli.CommandLine$Model$ArgGroupSpec$Builder.build:()Lpicocli/CommandLine$Model$ArgGroupSpec;
astore 10
start local 10 26: iload 3
ifeq 27
aload 10
iload 9
aload 5
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokestatic picocli.CommandLine$Model$CommandReflection.validateArgGroupSpec:(Lpicocli/CommandLine$Model$ArgGroupSpec;ZLjava/lang/String;)V
27: StackMap locals: picocli.CommandLine$Model$ArgGroupSpec
StackMap stack:
aload 10
areturn
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 28 0 member Lpicocli/CommandLine$Model$IAnnotatedElement;
0 28 1 factory Lpicocli/CommandLine$IFactory;
0 28 2 commandSpec Lpicocli/CommandLine$Model$CommandSpec;
0 28 3 annotationsAreMandatory Z
1 28 4 instance Ljava/lang/Object;
7 28 5 cls Ljava/lang/Class<*>;
11 28 6 scope Lpicocli/CommandLine$Model$IScope;
12 28 7 builder Lpicocli/CommandLine$Model$ArgGroupSpec$Builder;
17 28 8 hierarchy Ljava/util/Stack<Ljava/lang/Class<*>;>;
21 28 9 hasArgAnnotation Z
26 28 10 result Lpicocli/CommandLine$Model$ArgGroupSpec;
Exception table:
from to target type
1 2 3 Class java.lang.Exception
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
member
factory
commandSpec
annotationsAreMandatory
static picocli.CommandLine$Model$CommandSpec extractCommandSpec(java.lang.Object, picocli.CommandLine$IFactory, boolean);
descriptor: (Ljava/lang/Object;Lpicocli/CommandLine$IFactory;Z)Lpicocli/CommandLine$Model$CommandSpec;
flags: (0x0008) ACC_STATIC
Code:
stack=7, locals=13, args_size=3
start local 0 start local 1 start local 2 0: new picocli.CommandLine$Tracer
dup
invokespecial picocli.CommandLine$Tracer.<init>:()V
astore 3
start local 3 1: aload 0
instanceof java.lang.Class
ifeq 2
aload 0
checkcast java.lang.Class
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
goto 3
StackMap locals: picocli.CommandLine$Tracer
StackMap stack:
2: aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
StackMap locals:
StackMap stack: java.lang.String
3: astore 4
start local 4 4: aload 3
ldc "Creating CommandSpec for object %s of class %s with factory %s%n"
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 0
invokestatic java.lang.System.identityHashCode:(Ljava/lang/Object;)I
invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
aastore
dup
iconst_1
aload 4
aastore
dup
iconst_2
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
aastore
invokevirtual picocli.CommandLine$Tracer.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
5: aload 0
instanceof picocli.CommandLine$Model$CommandSpec
ifeq 6
aload 0
checkcast picocli.CommandLine$Model$CommandSpec
areturn
6: StackMap locals: java.lang.String
StackMap stack:
new picocli.CommandLine$Model$CommandUserObject
dup
aload 0
aload 1
invokespecial picocli.CommandLine$Model$CommandUserObject.<init>:(Ljava/lang/Object;Lpicocli/CommandLine$IFactory;)V
astore 5
start local 5 7: aload 5
invokestatic picocli.CommandLine$Model$CommandSpec.wrapWithoutInspection:(Ljava/lang/Object;)Lpicocli/CommandLine$Model$CommandSpec;
astore 6
start local 6 8: iconst_0
istore 7
start local 7 9: aload 5
invokevirtual picocli.CommandLine$Model$CommandUserObject.isMethod:()Z
ifeq 23
10: aload 0
checkcast java.lang.reflect.Method
astore 8
start local 8 11: aload 3
ldc "Using method %s as command %n"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 8
aastore
invokevirtual picocli.CommandLine$Tracer.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
12: aload 8
iconst_1
invokevirtual java.lang.reflect.Method.setAccessible:(Z)V
13: aload 8
ldc Lpicocli/CommandLine$Command;
invokevirtual java.lang.reflect.Method.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
checkcast picocli.CommandLine$Command
astore 9
start local 9 14: aload 6
aload 9
aload 1
invokevirtual picocli.CommandLine$Model$CommandSpec.updateCommandAttributes:(Lpicocli/CommandLine$Command;Lpicocli/CommandLine$IFactory;)V
15: aload 6
aload 9
aload 1
invokestatic picocli.CommandLine$Model$CommandReflection.injectSpecIntoVersionProvider:(Lpicocli/CommandLine$Model$CommandSpec;Lpicocli/CommandLine$Command;Lpicocli/CommandLine$IFactory;)V
16: aload 6
iconst_0
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokevirtual picocli.CommandLine$Model$CommandSpec.setAddMethodSubcommands:(Ljava/lang/Boolean;)Lpicocli/CommandLine$Model$CommandSpec;
pop
17: aload 9
aconst_null
aload 6
aload 1
new java.util.Stack
dup
invokespecial java.util.Stack.<init>:()V
invokestatic picocli.CommandLine$Model$CommandReflection.initSubcommands:(Lpicocli/CommandLine$Command;Ljava/lang/Class;Lpicocli/CommandLine$Model$CommandSpec;Lpicocli/CommandLine$IFactory;Ljava/util/Stack;)V
18: iconst_1
istore 7
19: aload 6
aload 8
ldc Lpicocli/CommandLine$Command;
invokevirtual java.lang.reflect.Method.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
checkcast picocli.CommandLine$Command
invokeinterface picocli.CommandLine$Command.mixinStandardHelpOptions:()Z
invokevirtual picocli.CommandLine$Model$CommandSpec.mixinStandardHelpOptions:(Z)Lpicocli/CommandLine$Model$CommandSpec;
pop
20: aload 5
aload 8
aload 6
aconst_null
aload 1
invokestatic picocli.CommandLine$Model$CommandReflection.initFromMethodParameters:(Lpicocli/CommandLine$Model$IScope;Ljava/lang/reflect/Method;Lpicocli/CommandLine$Model$CommandSpec;Lpicocli/CommandLine$Model$ArgGroupSpec$Builder;Lpicocli/CommandLine$IFactory;)Z
pop
21: aload 6
aload 0
checkcast java.lang.reflect.Method
invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
invokevirtual picocli.CommandLine$Model$CommandSpec.initName:(Ljava/lang/String;)V
end local 9 end local 8 22: goto 44
23: StackMap locals: picocli.CommandLine$Model$CommandUserObject picocli.CommandLine$Model$CommandSpec int
StackMap stack:
new java.util.Stack
dup
invokespecial java.util.Stack.<init>:()V
astore 8
start local 8 24: aload 5
invokevirtual picocli.CommandLine$Model$CommandUserObject.getType:()Ljava/lang/Class;
astore 9
start local 9 25: goto 28
26: StackMap locals: java.util.Stack java.lang.Class
StackMap stack:
aload 8
aload 9
invokevirtual java.util.Stack.add:(Ljava/lang/Object;)Z
pop
27: aload 9
invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
astore 9
28: StackMap locals:
StackMap stack:
aload 9
ifnonnull 26
29: aload 8
invokevirtual java.util.Stack.clone:()Ljava/lang/Object;
checkcast java.util.Stack
astore 10
start local 10 30: iconst_0
istore 11
start local 11 31: goto 42
32: StackMap locals: java.util.Stack int
StackMap stack:
aload 8
invokevirtual java.util.Stack.pop:()Ljava/lang/Object;
checkcast java.lang.Class
astore 9
33: aload 9
ldc Lpicocli/CommandLine$Command;
invokevirtual java.lang.Class.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
checkcast picocli.CommandLine$Command
astore 12
start local 12 34: aload 12
ifnull 39
35: aload 6
aload 12
aload 1
invokevirtual picocli.CommandLine$Model$CommandSpec.updateCommandAttributes:(Lpicocli/CommandLine$Command;Lpicocli/CommandLine$IFactory;)V
36: aload 6
aload 12
aload 1
invokestatic picocli.CommandLine$Model$CommandReflection.injectSpecIntoVersionProvider:(Lpicocli/CommandLine$Model$CommandSpec;Lpicocli/CommandLine$Command;Lpicocli/CommandLine$IFactory;)V
37: aload 12
aload 9
aload 6
aload 1
aload 10
invokestatic picocli.CommandLine$Model$CommandReflection.initSubcommands:(Lpicocli/CommandLine$Command;Ljava/lang/Class;Lpicocli/CommandLine$Model$CommandSpec;Lpicocli/CommandLine$IFactory;Ljava/util/Stack;)V
38: iconst_1
istore 7
39: StackMap locals: picocli.CommandLine$Command
StackMap stack:
iload 7
aload 5
aload 9
aload 6
aconst_null
aload 1
aconst_null
invokestatic picocli.CommandLine$Model$CommandReflection.initFromAnnotatedFields:(Lpicocli/CommandLine$Model$IScope;Ljava/lang/Class;Lpicocli/CommandLine$Model$CommandSpec;Lpicocli/CommandLine$Model$ArgGroupSpec$Builder;Lpicocli/CommandLine$IFactory;Lpicocli/CommandLine$Model$Predicate;)Z
ior
istore 7
40: aload 9
ldc Lpicocli/CommandLine$Command;
invokevirtual java.lang.Class.isAnnotationPresent:(Ljava/lang/Class;)Z
ifeq 42
41: iload 11
aload 9
ldc Lpicocli/CommandLine$Command;
invokevirtual java.lang.Class.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
checkcast picocli.CommandLine$Command
invokeinterface picocli.CommandLine$Command.mixinStandardHelpOptions:()Z
ior
istore 11
end local 12 42: StackMap locals:
StackMap stack:
aload 8
invokevirtual java.util.Stack.isEmpty:()Z
ifeq 32
43: aload 6
iload 11
invokevirtual picocli.CommandLine$Model$CommandSpec.mixinStandardHelpOptions:(Z)Lpicocli/CommandLine$Model$CommandSpec;
pop
end local 11 end local 10 end local 9 end local 8 44: StackMap locals: java.lang.Object picocli.CommandLine$IFactory int picocli.CommandLine$Tracer java.lang.String picocli.CommandLine$Model$CommandUserObject picocli.CommandLine$Model$CommandSpec int
StackMap stack:
aload 6
invokevirtual picocli.CommandLine$Model$CommandSpec.updateArgSpecMessages:()V
45: iload 2
ifeq 46
aload 6
iload 7
aload 5
invokevirtual picocli.CommandLine$Model$CommandUserObject.toString:()Ljava/lang/String;
invokestatic picocli.CommandLine$Model$CommandReflection.validateCommandSpec:(Lpicocli/CommandLine$Model$CommandSpec;ZLjava/lang/String;)V
46: StackMap locals:
StackMap stack:
aload 6
aload 5
invokevirtual picocli.CommandLine$Model$CommandUserObject.toString:()Ljava/lang/String;
invokevirtual picocli.CommandLine$Model$CommandSpec.withToString:(Ljava/lang/String;)Lpicocli/CommandLine$Model$CommandSpec;
invokevirtual picocli.CommandLine$Model$CommandSpec.validate:()V
47: aload 6
areturn
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 48 0 command Ljava/lang/Object;
0 48 1 factory Lpicocli/CommandLine$IFactory;
0 48 2 annotationsAreMandatory Z
1 48 3 t Lpicocli/CommandLine$Tracer;
4 48 4 clsName Ljava/lang/String;
7 48 5 userObject Lpicocli/CommandLine$Model$CommandUserObject;
8 48 6 result Lpicocli/CommandLine$Model$CommandSpec;
9 48 7 hasCommandAnnotation Z
11 22 8 method Ljava/lang/reflect/Method;
14 22 9 cmd Lpicocli/CommandLine$Command;
24 44 8 hierarchy Ljava/util/Stack<Ljava/lang/Class<*>;>;
25 44 9 cls Ljava/lang/Class<*>;
30 44 10 originalHierarchy Ljava/util/Stack<Ljava/lang/Class<*>;>;
31 44 11 mixinStandardHelpOptions Z
34 42 12 cmd Lpicocli/CommandLine$Command;
MethodParameters:
Name Flags
command
factory
annotationsAreMandatory
private static void injectSpecIntoVersionProvider(picocli.CommandLine$Model$CommandSpec, picocli.CommandLine$Command, picocli.CommandLine$IFactory);
descriptor: (Lpicocli/CommandLine$Model$CommandSpec;Lpicocli/CommandLine$Command;Lpicocli/CommandLine$IFactory;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=7, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual picocli.CommandLine$Model$CommandSpec.versionProvider:()Lpicocli/CommandLine$IVersionProvider;
ifnonnull 1
return
1: StackMap locals:
StackMap stack:
new picocli.CommandLine$Model$ObjectScope
dup
aload 0
invokevirtual picocli.CommandLine$Model$CommandSpec.versionProvider:()Lpicocli/CommandLine$IVersionProvider;
invokespecial picocli.CommandLine$Model$ObjectScope.<init>:(Ljava/lang/Object;)V
aload 1
invokeinterface picocli.CommandLine$Command.versionProvider:()Ljava/lang/Class;
aload 0
aconst_null
aload 2
new picocli.CommandLine$Model$CommandReflection$1
dup
invokespecial picocli.CommandLine$Model$CommandReflection$1.<init>:()V
invokestatic picocli.CommandLine$Model$CommandReflection.initFromAnnotatedFields:(Lpicocli/CommandLine$Model$IScope;Ljava/lang/Class;Lpicocli/CommandLine$Model$CommandSpec;Lpicocli/CommandLine$Model$ArgGroupSpec$Builder;Lpicocli/CommandLine$IFactory;Lpicocli/CommandLine$Model$Predicate;)Z
pop
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 result Lpicocli/CommandLine$Model$CommandSpec;
0 3 1 cmd Lpicocli/CommandLine$Command;
0 3 2 factory Lpicocli/CommandLine$IFactory;
MethodParameters:
Name Flags
result
cmd
factory
private static void initSubcommands(picocli.CommandLine$Command, java.lang.Class<?>, picocli.CommandLine$Model$CommandSpec, picocli.CommandLine$IFactory, java.util.Stack<java.lang.Class<?>>);
descriptor: (Lpicocli/CommandLine$Command;Ljava/lang/Class;Lpicocli/CommandLine$Model$CommandSpec;Lpicocli/CommandLine$IFactory;Ljava/util/Stack;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=12, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokeinterface picocli.CommandLine$Command.subcommands:()[Ljava/lang/Class;
dup
astore 8
arraylength
istore 7
iconst_0
istore 6
goto 22
StackMap locals: picocli.CommandLine$Command java.lang.Class picocli.CommandLine$Model$CommandSpec picocli.CommandLine$IFactory java.util.Stack top int int java.lang.Class[]
StackMap stack:
1: aload 8
iload 6
aaload
astore 5
start local 5 2: aload 5
aload 1
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 4
3: new picocli.CommandLine$InitializationException
dup
new java.lang.StringBuilder
dup
aload 0
invokeinterface picocli.CommandLine$Command.name:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " ("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ") cannot be a subcommand of itself"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial picocli.CommandLine$InitializationException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals: picocli.CommandLine$Command java.lang.Class picocli.CommandLine$Model$CommandSpec picocli.CommandLine$IFactory java.util.Stack java.lang.Class int int java.lang.Class[]
StackMap stack:
aload 4
aload 5
invokevirtual java.util.Stack.contains:(Ljava/lang/Object;)Z
ifeq 6
5: new picocli.CommandLine$InitializationException
dup
new java.lang.StringBuilder
dup
aload 0
invokeinterface picocli.CommandLine$Command.name:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " ("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ") has a subcommand ("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 5
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ") that is a subclass of itself"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial picocli.CommandLine$InitializationException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
ldc Lpicocli/CommandLine$Help;
aload 5
if_acmpne 7
new picocli.CommandLine$InitializationException
dup
new java.lang.StringBuilder
dup
ldc Lpicocli/CommandLine$Help;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " is not a valid subcommand. Did you mean "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc Lpicocli/CommandLine$HelpCommand;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "?"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial picocli.CommandLine$InitializationException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals:
StackMap stack:
aload 5
aload 3
invokestatic picocli.CommandLine.toCommandLine:(Ljava/lang/Object;Lpicocli/CommandLine$IFactory;)Lpicocli/CommandLine;
astore 9
start local 9 8: aload 2
aload 5
invokestatic picocli.CommandLine$Model$CommandReflection.subcommandName:(Ljava/lang/Class;)Ljava/lang/String;
aload 9
invokevirtual picocli.CommandLine$Model$CommandSpec.addSubcommand:(Ljava/lang/String;Lpicocli/CommandLine;)Lpicocli/CommandLine$Model$CommandSpec;
pop
9: aload 9
invokevirtual picocli.CommandLine.getCommandSpec:()Lpicocli/CommandLine$Model$CommandSpec;
aload 2
getfield picocli.CommandLine$Model$CommandSpec.userObject:Lpicocli/CommandLine$Model$CommandUserObject;
invokevirtual picocli.CommandLine$Model$CommandSpec.injectParentCommand:(Lpicocli/CommandLine$Model$CommandUserObject;)V
10: aload 9
invokevirtual picocli.CommandLine.getCommandSpec:()Lpicocli/CommandLine$Model$CommandSpec;
invokevirtual picocli.CommandLine$Model$CommandSpec.mixins:()Ljava/util/Map;
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 11
goto 13
StackMap locals: picocli.CommandLine$Command java.lang.Class picocli.CommandLine$Model$CommandSpec picocli.CommandLine$IFactory java.util.Stack java.lang.Class int int java.lang.Class[] picocli.CommandLine top java.util.Iterator
StackMap stack:
11: aload 11
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast picocli.CommandLine$Model$CommandSpec
astore 10
start local 10 12: aload 10
aload 2
getfield picocli.CommandLine$Model$CommandSpec.userObject:Lpicocli/CommandLine$Model$CommandUserObject;
invokevirtual picocli.CommandLine$Model$CommandSpec.injectParentCommand:(Lpicocli/CommandLine$Model$CommandUserObject;)V
end local 10 13: StackMap locals:
StackMap stack:
aload 11
invokeinterface java.util.Iterator.hasNext:()Z
ifne 11
end local 9 14: goto 21
15: StackMap locals: picocli.CommandLine$Command java.lang.Class picocli.CommandLine$Model$CommandSpec picocli.CommandLine$IFactory java.util.Stack java.lang.Class int int java.lang.Class[]
StackMap stack: picocli.CommandLine$InitializationException
astore 9
start local 9 16: aload 9
athrow
end local 9 17: StackMap locals:
StackMap stack: java.lang.Exception
astore 9
start local 9 18: new picocli.CommandLine$InitializationException
dup
new java.lang.StringBuilder
dup
ldc "Could not instantiate and add subcommand "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
19: aload 5
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 9
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 9
20: invokespecial picocli.CommandLine$InitializationException.<init>:(Ljava/lang/String;Ljava/lang/Exception;)V
athrow
end local 9 end local 5 21: StackMap locals: picocli.CommandLine$Command java.lang.Class picocli.CommandLine$Model$CommandSpec picocli.CommandLine$IFactory java.util.Stack top int int java.lang.Class[]
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
22: iload 6
iload 7
if_icmplt 1
23: aload 0
invokeinterface picocli.CommandLine$Command.addMethodSubcommands:()Z
ifeq 32
aload 1
ifnull 32
24: aload 1
aload 3
invokestatic picocli.CommandLine$Model$CommandSpec.createMethodSubcommands:(Ljava/lang/Class;Lpicocli/CommandLine$IFactory;)Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 31
StackMap locals: picocli.CommandLine$Command java.lang.Class picocli.CommandLine$Model$CommandSpec picocli.CommandLine$IFactory java.util.Stack top java.util.Iterator
StackMap stack:
25: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast picocli.CommandLine
astore 5
start local 5 26: aload 2
aload 5
invokevirtual picocli.CommandLine.getCommandName:()Ljava/lang/String;
aload 5
invokevirtual picocli.CommandLine$Model$CommandSpec.addSubcommand:(Ljava/lang/String;Lpicocli/CommandLine;)Lpicocli/CommandLine$Model$CommandSpec;
pop
27: aload 5
invokevirtual picocli.CommandLine.getCommandSpec:()Lpicocli/CommandLine$Model$CommandSpec;
invokevirtual picocli.CommandLine$Model$CommandSpec.mixins:()Ljava/util/Map;
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 8
goto 30
StackMap locals: picocli.CommandLine$Command java.lang.Class picocli.CommandLine$Model$CommandSpec picocli.CommandLine$IFactory java.util.Stack picocli.CommandLine java.util.Iterator top java.util.Iterator
StackMap stack:
28: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast picocli.CommandLine$Model$CommandSpec
astore 7
start local 7 29: aload 7
aload 2
getfield picocli.CommandLine$Model$CommandSpec.userObject:Lpicocli/CommandLine$Model$CommandUserObject;
invokevirtual picocli.CommandLine$Model$CommandSpec.injectParentCommand:(Lpicocli/CommandLine$Model$CommandUserObject;)V
end local 7 30: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 28
end local 5 31: StackMap locals: picocli.CommandLine$Command java.lang.Class picocli.CommandLine$Model$CommandSpec picocli.CommandLine$IFactory java.util.Stack top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 25
32: StackMap locals: picocli.CommandLine$Command java.lang.Class picocli.CommandLine$Model$CommandSpec picocli.CommandLine$IFactory java.util.Stack
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 33 0 cmd Lpicocli/CommandLine$Command;
0 33 1 cls Ljava/lang/Class<*>;
0 33 2 parent Lpicocli/CommandLine$Model$CommandSpec;
0 33 3 factory Lpicocli/CommandLine$IFactory;
0 33 4 hierarchy Ljava/util/Stack<Ljava/lang/Class<*>;>;
2 21 5 sub Ljava/lang/Class<*>;
8 14 9 subcommandLine Lpicocli/CommandLine;
12 13 10 mixin Lpicocli/CommandLine$Model$CommandSpec;
16 17 9 ex Lpicocli/CommandLine$InitializationException;
18 21 9 ex Ljava/lang/Exception;
26 31 5 sub Lpicocli/CommandLine;
29 30 7 mixin Lpicocli/CommandLine$Model$CommandSpec;
Exception table:
from to target type
6 14 15 Class picocli.CommandLine$InitializationException
6 14 17 Class java.lang.Exception
Signature: (Lpicocli/CommandLine$Command;Ljava/lang/Class<*>;Lpicocli/CommandLine$Model$CommandSpec;Lpicocli/CommandLine$IFactory;Ljava/util/Stack<Ljava/lang/Class<*>;>;)V
MethodParameters:
Name Flags
cmd
cls
parent
factory
hierarchy
private static java.lang.String subcommandName(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
ldc Lpicocli/CommandLine$Command;
invokevirtual java.lang.Class.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
checkcast picocli.CommandLine$Command
astore 1
start local 1 1: aload 1
ifnull 2
ldc "<main class>"
aload 1
invokeinterface picocli.CommandLine$Command.name:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 5
2: StackMap locals: picocli.CommandLine$Command
StackMap stack:
new picocli.CommandLine$InitializationException
dup
new java.lang.StringBuilder
dup
ldc "Subcommand "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
3: ldc " is missing the mandatory @Command annotation with a 'name' attribute"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
4: invokespecial picocli.CommandLine$InitializationException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
aload 1
invokeinterface picocli.CommandLine$Command.name:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 sub Ljava/lang/Class<*>;
1 6 1 subCommand Lpicocli/CommandLine$Command;
Signature: (Ljava/lang/Class<*>;)Ljava/lang/String;
MethodParameters:
Name Flags
sub
private static boolean initFromAnnotatedFields(picocli.CommandLine$Model$IScope, java.lang.Class<?>, picocli.CommandLine$Model$CommandSpec, picocli.CommandLine$Model$ArgGroupSpec$Builder, picocli.CommandLine$IFactory, picocli.CommandLine$Model$Predicate<picocli.CommandLine$Model$TypedMember>);
descriptor: (Lpicocli/CommandLine$Model$IScope;Ljava/lang/Class;Lpicocli/CommandLine$Model$CommandSpec;Lpicocli/CommandLine$Model$ArgGroupSpec$Builder;Lpicocli/CommandLine$IFactory;Lpicocli/CommandLine$Model$Predicate;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=11, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: iconst_0
istore 6
start local 6 1: aload 1
invokevirtual java.lang.Class.getDeclaredFields:()[Ljava/lang/reflect/Field;
dup
astore 10
arraylength
istore 9
iconst_0
istore 8
goto 5
StackMap locals: picocli.CommandLine$Model$IScope java.lang.Class picocli.CommandLine$Model$CommandSpec picocli.CommandLine$Model$ArgGroupSpec$Builder picocli.CommandLine$IFactory picocli.CommandLine$Model$Predicate int top int int java.lang.reflect.Field[]
StackMap stack:
2: aload 10
iload 8
aaload
astore 7
start local 7 3: iload 6
aload 7
aload 0
invokestatic picocli.CommandLine$Model$TypedMember.createIfAnnotated:(Ljava/lang/reflect/Field;Lpicocli/CommandLine$Model$IScope;)Lpicocli/CommandLine$Model$TypedMember;
aload 5
aload 2
aload 3
aload 4
invokestatic picocli.CommandLine$Model$CommandReflection.initFromAnnotatedTypedMembers:(Lpicocli/CommandLine$Model$TypedMember;Lpicocli/CommandLine$Model$Predicate;Lpicocli/CommandLine$Model$CommandSpec;Lpicocli/CommandLine$Model$ArgGroupSpec$Builder;Lpicocli/CommandLine$IFactory;)Z
ior
istore 6
end local 7 4: iinc 8 1
StackMap locals:
StackMap stack:
5: iload 8
iload 9
if_icmplt 2
6: aload 1
invokevirtual java.lang.Class.getDeclaredMethods:()[Ljava/lang/reflect/Method;
dup
astore 10
arraylength
istore 9
iconst_0
istore 8
goto 10
StackMap locals: picocli.CommandLine$Model$IScope java.lang.Class picocli.CommandLine$Model$CommandSpec picocli.CommandLine$Model$ArgGroupSpec$Builder picocli.CommandLine$IFactory picocli.CommandLine$Model$Predicate int top int int java.lang.reflect.Method[]
StackMap stack:
7: aload 10
iload 8
aaload
astore 7
start local 7 8: iload 6
aload 7
aload 0
aload 2
invokestatic picocli.CommandLine$Model$TypedMember.createIfAnnotated:(Ljava/lang/reflect/Method;Lpicocli/CommandLine$Model$IScope;Lpicocli/CommandLine$Model$CommandSpec;)Lpicocli/CommandLine$Model$TypedMember;
aload 5
aload 2
aload 3
aload 4
invokestatic picocli.CommandLine$Model$CommandReflection.initFromAnnotatedTypedMembers:(Lpicocli/CommandLine$Model$TypedMember;Lpicocli/CommandLine$Model$Predicate;Lpicocli/CommandLine$Model$CommandSpec;Lpicocli/CommandLine$Model$ArgGroupSpec$Builder;Lpicocli/CommandLine$IFactory;)Z
ior
istore 6
end local 7 9: iinc 8 1
StackMap locals:
StackMap stack:
10: iload 8
iload 9
if_icmplt 7
11: iload 6
ireturn
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 12 0 scope Lpicocli/CommandLine$Model$IScope;
0 12 1 cls Ljava/lang/Class<*>;
0 12 2 receiver Lpicocli/CommandLine$Model$CommandSpec;
0 12 3 groupBuilder Lpicocli/CommandLine$Model$ArgGroupSpec$Builder;
0 12 4 factory Lpicocli/CommandLine$IFactory;
0 12 5 predicate Lpicocli/CommandLine$Model$Predicate<Lpicocli/CommandLine$Model$TypedMember;>;
1 12 6 result Z
3 4 7 field Ljava/lang/reflect/Field;
8 9 7 method Ljava/lang/reflect/Method;
Signature: (Lpicocli/CommandLine$Model$IScope;Ljava/lang/Class<*>;Lpicocli/CommandLine$Model$CommandSpec;Lpicocli/CommandLine$Model$ArgGroupSpec$Builder;Lpicocli/CommandLine$IFactory;Lpicocli/CommandLine$Model$Predicate<Lpicocli/CommandLine$Model$TypedMember;>;)Z
MethodParameters:
Name Flags
scope
cls
receiver
groupBuilder
factory
predicate
private static boolean initFromAnnotatedTypedMembers(picocli.CommandLine$Model$TypedMember, picocli.CommandLine$Model$Predicate<picocli.CommandLine$Model$TypedMember>, picocli.CommandLine$Model$CommandSpec, picocli.CommandLine$Model$ArgGroupSpec$Builder, picocli.CommandLine$IFactory);
descriptor: (Lpicocli/CommandLine$Model$TypedMember;Lpicocli/CommandLine$Model$Predicate;Lpicocli/CommandLine$Model$CommandSpec;Lpicocli/CommandLine$Model$ArgGroupSpec$Builder;Lpicocli/CommandLine$IFactory;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iconst_0
istore 5
start local 5 1: aload 0
ifnull 2
aload 1
ifnull 3
aload 1
aload 0
invokeinterface picocli.CommandLine$Model$Predicate.test:(Ljava/lang/Object;)Z
ifne 3
StackMap locals: int
StackMap stack:
2: iload 5
ireturn
3: StackMap locals:
StackMap stack:
aload 0
invokevirtual picocli.CommandLine$Model$TypedMember.isMixin:()Z
ifeq 9
4: aload 0
ldc Lpicocli/CommandLine$Mixin;
iconst_5
anewarray java.lang.Class
dup
iconst_0
ldc Lpicocli/CommandLine$Option;
aastore
dup
iconst_1
ldc Lpicocli/CommandLine$Parameters;
aastore
dup
iconst_2
ldc Lpicocli/CommandLine$Unmatched;
aastore
dup
iconst_3
ldc Lpicocli/CommandLine$Spec;
aastore
dup
iconst_4
ldc Lpicocli/CommandLine$ArgGroup;
aastore
invokestatic picocli.CommandLine$Model$CommandReflection.assertNoDuplicateAnnotations:(Lpicocli/CommandLine$Model$TypedMember;Ljava/lang/Class;[Ljava/lang/Class;)V
5: aload 3
ifnull 7
6: new picocli.CommandLine$InitializationException
dup
ldc "@Mixins are not supported on @ArgGroups"
invokespecial picocli.CommandLine$InitializationException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals:
StackMap stack:
aload 2
aload 0
invokevirtual picocli.CommandLine$Model$TypedMember.getMixinName:()Ljava/lang/String;
aload 0
aload 4
invokestatic picocli.CommandLine$Model$CommandReflection.buildMixinForMember:(Lpicocli/CommandLine$Model$IAnnotatedElement;Lpicocli/CommandLine$IFactory;)Lpicocli/CommandLine$Model$CommandSpec;
aload 0
invokevirtual picocli.CommandLine$Model$CommandSpec.addMixin:(Ljava/lang/String;Lpicocli/CommandLine$Model$CommandSpec;Lpicocli/CommandLine$Model$IAnnotatedElement;)Lpicocli/CommandLine$Model$CommandSpec;
pop
8: iconst_1
istore 5
9: StackMap locals:
StackMap stack:
aload 0
invokevirtual picocli.CommandLine$Model$TypedMember.isArgGroup:()Z
ifeq 16
10: aload 0
ldc Lpicocli/CommandLine$ArgGroup;
iconst_5
anewarray java.lang.Class
dup
iconst_0
ldc Lpicocli/CommandLine$Spec;
aastore
dup
iconst_1
ldc Lpicocli/CommandLine$Parameters;
aastore
dup
iconst_2
ldc Lpicocli/CommandLine$Option;
aastore
dup
iconst_3
ldc Lpicocli/CommandLine$Unmatched;
aastore
dup
iconst_4
ldc Lpicocli/CommandLine$Mixin;
aastore
invokestatic picocli.CommandLine$Model$CommandReflection.assertNoDuplicateAnnotations:(Lpicocli/CommandLine$Model$TypedMember;Ljava/lang/Class;[Ljava/lang/Class;)V
11: aload 3
ifnull 14
12: aload 3
aload 0
aload 4
aload 2
invokestatic picocli.CommandLine$Model$CommandReflection.buildArgGroupForMember:(Lpicocli/CommandLine$Model$IAnnotatedElement;Lpicocli/CommandLine$IFactory;Lpicocli/CommandLine$Model$CommandSpec;)Lpicocli/CommandLine$Model$ArgGroupSpec;
invokevirtual picocli.CommandLine$Model$ArgGroupSpec$Builder.addSubgroup:(Lpicocli/CommandLine$Model$ArgGroupSpec;)Lpicocli/CommandLine$Model$ArgGroupSpec$Builder;
pop
13: goto 15
14: StackMap locals:
StackMap stack:
aload 2
aload 0
aload 4
aload 2
invokestatic picocli.CommandLine$Model$CommandReflection.buildArgGroupForMember:(Lpicocli/CommandLine$Model$IAnnotatedElement;Lpicocli/CommandLine$IFactory;Lpicocli/CommandLine$Model$CommandSpec;)Lpicocli/CommandLine$Model$ArgGroupSpec;
invokevirtual picocli.CommandLine$Model$CommandSpec.addArgGroup:(Lpicocli/CommandLine$Model$ArgGroupSpec;)Lpicocli/CommandLine$Model$CommandSpec;
pop
15: StackMap locals:
StackMap stack:
iconst_1
ireturn
16: StackMap locals:
StackMap stack:
aload 0
invokevirtual picocli.CommandLine$Model$TypedMember.isUnmatched:()Z
ifeq 21
17: aload 0
ldc Lpicocli/CommandLine$Unmatched;
iconst_5
anewarray java.lang.Class
dup
iconst_0
ldc Lpicocli/CommandLine$Mixin;
aastore
dup
iconst_1
ldc Lpicocli/CommandLine$Option;
aastore
dup
iconst_2
ldc Lpicocli/CommandLine$Parameters;
aastore
dup
iconst_3
ldc Lpicocli/CommandLine$Spec;
aastore
dup
iconst_4
ldc Lpicocli/CommandLine$ArgGroup;
aastore
invokestatic picocli.CommandLine$Model$CommandReflection.assertNoDuplicateAnnotations:(Lpicocli/CommandLine$Model$TypedMember;Ljava/lang/Class;[Ljava/lang/Class;)V
18: aload 3
ifnull 20
19: new picocli.CommandLine$InitializationException
dup
ldc "@Unmatched are not supported on @ArgGroups"
invokespecial picocli.CommandLine$InitializationException.<init>:(Ljava/lang/String;)V
athrow
20: StackMap locals:
StackMap stack:
aload 2
aload 0
invokestatic picocli.CommandLine$Model$CommandReflection.buildUnmatchedForMember:(Lpicocli/CommandLine$Model$IAnnotatedElement;)Lpicocli/CommandLine$Model$UnmatchedArgsBinding;
invokevirtual picocli.CommandLine$Model$CommandSpec.addUnmatchedArgsBinding:(Lpicocli/CommandLine$Model$UnmatchedArgsBinding;)Lpicocli/CommandLine$Model$CommandSpec;
pop
21: StackMap locals:
StackMap stack:
aload 0
invokevirtual picocli.CommandLine$Model$TypedMember.isArgSpec:()Z
ifeq 28
22: aload 0
invokestatic picocli.CommandLine$Model$CommandReflection.validateArgSpecMember:(Lpicocli/CommandLine$Model$TypedMember;)V
23: aload 3
ifnull 26
24: aload 3
aload 0
aload 4
invokestatic picocli.CommandLine$Model$CommandReflection.buildArgForMember:(Lpicocli/CommandLine$Model$IAnnotatedElement;Lpicocli/CommandLine$IFactory;)Lpicocli/CommandLine$Model$ArgSpec;
invokevirtual picocli.CommandLine$Model$ArgGroupSpec$Builder.addArg:(Lpicocli/CommandLine$Model$ArgSpec;)Lpicocli/CommandLine$Model$ArgGroupSpec$Builder;
pop
25: goto 27
26: StackMap locals:
StackMap stack:
aload 2
aload 0
aload 4
invokestatic picocli.CommandLine$Model$CommandReflection.buildArgForMember:(Lpicocli/CommandLine$Model$IAnnotatedElement;Lpicocli/CommandLine$IFactory;)Lpicocli/CommandLine$Model$ArgSpec;
invokevirtual picocli.CommandLine$Model$CommandSpec.add:(Lpicocli/CommandLine$Model$ArgSpec;)Lpicocli/CommandLine$Model$CommandSpec;
pop
27: StackMap locals:
StackMap stack:
iconst_1
istore 5
28: StackMap locals:
StackMap stack:
aload 0
invokevirtual picocli.CommandLine$Model$TypedMember.isSpec:()Z
ifeq 35
29: aload 0
invokestatic picocli.CommandLine$Model$CommandReflection.validateInjectSpec:(Lpicocli/CommandLine$Model$TypedMember;)V
30: aload 2
aload 0
invokevirtual picocli.CommandLine$Model$CommandSpec.addSpecElement:(Lpicocli/CommandLine$Model$IAnnotatedElement;)Lpicocli/CommandLine$Model$CommandSpec;
pop
31: aload 0
invokevirtual picocli.CommandLine$Model$TypedMember.setter:()Lpicocli/CommandLine$Model$ISetter;
aload 2
invokeinterface picocli.CommandLine$Model$ISetter.set:(Ljava/lang/Object;)Ljava/lang/Object;
pop
32: goto 35
StackMap locals:
StackMap stack: java.lang.Exception
33: astore 6
start local 6 34: new picocli.CommandLine$InitializationException
dup
ldc "Could not inject spec"
aload 6
invokespecial picocli.CommandLine$InitializationException.<init>:(Ljava/lang/String;Ljava/lang/Exception;)V
athrow
end local 6 35: StackMap locals:
StackMap stack:
aload 0
invokevirtual picocli.CommandLine$Model$TypedMember.isParentCommand:()Z
ifeq 37
36: aload 2
aload 0
invokevirtual picocli.CommandLine$Model$CommandSpec.addParentCommandElement:(Lpicocli/CommandLine$Model$IAnnotatedElement;)Lpicocli/CommandLine$Model$CommandSpec;
pop
37: StackMap locals:
StackMap stack:
iload 5
ireturn
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 38 0 member Lpicocli/CommandLine$Model$TypedMember;
0 38 1 predicate Lpicocli/CommandLine$Model$Predicate<Lpicocli/CommandLine$Model$TypedMember;>;
0 38 2 commandSpec Lpicocli/CommandLine$Model$CommandSpec;
0 38 3 groupBuilder Lpicocli/CommandLine$Model$ArgGroupSpec$Builder;
0 38 4 factory Lpicocli/CommandLine$IFactory;
1 38 5 result Z
34 35 6 ex Ljava/lang/Exception;
Exception table:
from to target type
31 32 33 Class java.lang.Exception
Signature: (Lpicocli/CommandLine$Model$TypedMember;Lpicocli/CommandLine$Model$Predicate<Lpicocli/CommandLine$Model$TypedMember;>;Lpicocli/CommandLine$Model$CommandSpec;Lpicocli/CommandLine$Model$ArgGroupSpec$Builder;Lpicocli/CommandLine$IFactory;)Z
MethodParameters:
Name Flags
member
predicate
commandSpec
groupBuilder
factory
private static boolean initFromMethodParameters(picocli.CommandLine$Model$IScope, java.lang.reflect.Method, picocli.CommandLine$Model$CommandSpec, picocli.CommandLine$Model$ArgGroupSpec$Builder, picocli.CommandLine$IFactory);
descriptor: (Lpicocli/CommandLine$Model$IScope;Ljava/lang/reflect/Method;Lpicocli/CommandLine$Model$CommandSpec;Lpicocli/CommandLine$Model$ArgGroupSpec$Builder;Lpicocli/CommandLine$IFactory;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=10, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iconst_0
istore 5
start local 5 1: iconst_0
istore 6
start local 6 2: iconst_0
istore 7
start local 7 3: aload 1
invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
arraylength
istore 8
start local 8 4: goto 12
5: StackMap locals: picocli.CommandLine$Model$IScope java.lang.reflect.Method picocli.CommandLine$Model$CommandSpec picocli.CommandLine$Model$ArgGroupSpec$Builder picocli.CommandLine$IFactory int int int int
StackMap stack:
new picocli.CommandLine$Model$MethodParam
dup
aload 1
iload 7
invokespecial picocli.CommandLine$Model$MethodParam.<init>:(Ljava/lang/reflect/Method;I)V
astore 9
start local 9 6: aload 9
ldc Lpicocli/CommandLine$Option;
invokevirtual picocli.CommandLine$Model$MethodParam.isAnnotationPresent:(Ljava/lang/Class;)Z
ifne 7
aload 9
ldc Lpicocli/CommandLine$Mixin;
invokevirtual picocli.CommandLine$Model$MethodParam.isAnnotationPresent:(Ljava/lang/Class;)Z
ifeq 9
7: StackMap locals: picocli.CommandLine$Model$MethodParam
StackMap stack:
iinc 6 1
8: goto 10
9: StackMap locals:
StackMap stack:
aload 9
iload 7
iload 6
isub
putfield picocli.CommandLine$Model$MethodParam.position:I
10: StackMap locals:
StackMap stack:
iload 5
new picocli.CommandLine$Model$TypedMember
dup
aload 9
aload 0
invokespecial picocli.CommandLine$Model$TypedMember.<init>:(Lpicocli/CommandLine$Model$MethodParam;Lpicocli/CommandLine$Model$IScope;)V
aconst_null
aload 2
aload 3
aload 4
invokestatic picocli.CommandLine$Model$CommandReflection.initFromAnnotatedTypedMembers:(Lpicocli/CommandLine$Model$TypedMember;Lpicocli/CommandLine$Model$Predicate;Lpicocli/CommandLine$Model$CommandSpec;Lpicocli/CommandLine$Model$ArgGroupSpec$Builder;Lpicocli/CommandLine$IFactory;)Z
ior
istore 5
end local 9 11: iinc 7 1
StackMap locals:
StackMap stack:
12: iload 7
iload 8
if_icmplt 5
end local 8 end local 7 13: iload 5
ireturn
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 14 0 scope Lpicocli/CommandLine$Model$IScope;
0 14 1 method Ljava/lang/reflect/Method;
0 14 2 receiver Lpicocli/CommandLine$Model$CommandSpec;
0 14 3 groupBuilder Lpicocli/CommandLine$Model$ArgGroupSpec$Builder;
0 14 4 factory Lpicocli/CommandLine$IFactory;
1 14 5 result Z
2 14 6 optionCount I
3 13 7 i I
4 13 8 count I
6 11 9 param Lpicocli/CommandLine$Model$MethodParam;
MethodParameters:
Name Flags
scope
method
receiver
groupBuilder
factory
private static void validateArgSpecMember(picocli.CommandLine$Model$TypedMember);
descriptor: (Lpicocli/CommandLine$Model$TypedMember;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual picocli.CommandLine$Model$TypedMember.isArgSpec:()Z
ifne 1
new java.lang.IllegalStateException
dup
ldc "Bug: validateArgSpecMember() should only be called with an @Option or @Parameters member"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual picocli.CommandLine$Model$TypedMember.isOption:()Z
ifeq 4
2: aload 0
ldc Lpicocli/CommandLine$Option;
iconst_5
anewarray java.lang.Class
dup
iconst_0
ldc Lpicocli/CommandLine$Unmatched;
aastore
dup
iconst_1
ldc Lpicocli/CommandLine$Mixin;
aastore
dup
iconst_2
ldc Lpicocli/CommandLine$Parameters;
aastore
dup
iconst_3
ldc Lpicocli/CommandLine$Spec;
aastore
dup
iconst_4
ldc Lpicocli/CommandLine$ArgGroup;
aastore
invokestatic picocli.CommandLine$Model$CommandReflection.assertNoDuplicateAnnotations:(Lpicocli/CommandLine$Model$TypedMember;Ljava/lang/Class;[Ljava/lang/Class;)V
3: goto 5
4: StackMap locals:
StackMap stack:
aload 0
ldc Lpicocli/CommandLine$Parameters;
iconst_5
anewarray java.lang.Class
dup
iconst_0
ldc Lpicocli/CommandLine$Option;
aastore
dup
iconst_1
ldc Lpicocli/CommandLine$Unmatched;
aastore
dup
iconst_2
ldc Lpicocli/CommandLine$Mixin;
aastore
dup
iconst_3
ldc Lpicocli/CommandLine$Spec;
aastore
dup
iconst_4
ldc Lpicocli/CommandLine$ArgGroup;
aastore
invokestatic picocli.CommandLine$Model$CommandReflection.assertNoDuplicateAnnotations:(Lpicocli/CommandLine$Model$TypedMember;Ljava/lang/Class;[Ljava/lang/Class;)V
5: StackMap locals:
StackMap stack:
aload 0
getfield picocli.CommandLine$Model$TypedMember.accessible:Ljava/lang/reflect/AccessibleObject;
instanceof java.lang.reflect.Field
ifne 6
return
6: StackMap locals:
StackMap stack:
aload 0
getfield picocli.CommandLine$Model$TypedMember.accessible:Ljava/lang/reflect/AccessibleObject;
checkcast java.lang.reflect.Field
astore 1
start local 1 7: aload 1
invokevirtual java.lang.reflect.Field.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isFinal:(I)Z
ifeq 13
aload 1
invokevirtual java.lang.reflect.Field.getType:()Ljava/lang/Class;
invokevirtual java.lang.Class.isPrimitive:()Z
ifne 8
ldc Ljava/lang/String;
aload 1
invokevirtual java.lang.reflect.Field.getType:()Ljava/lang/Class;
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 13
8: StackMap locals: java.lang.reflect.Field
StackMap stack:
new picocli.CommandLine$InitializationException
dup
new java.lang.StringBuilder
dup
ldc "Constant (final) primitive and String fields like "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " cannot be used as "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
9: aload 0
invokevirtual picocli.CommandLine$Model$TypedMember.isOption:()Z
ifeq 10
ldc "an @Option"
goto 11
StackMap locals: picocli.CommandLine$Model$TypedMember java.lang.reflect.Field
StackMap stack: new 8 new 8 java.lang.StringBuilder
10: ldc "a @Parameter"
StackMap locals: picocli.CommandLine$Model$TypedMember java.lang.reflect.Field
StackMap stack: new 8 new 8 java.lang.StringBuilder java.lang.String
11: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ": compile-time constant inlining may hide new values written to it."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
12: invokespecial picocli.CommandLine$InitializationException.<init>:(Ljava/lang/String;)V
athrow
13: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 member Lpicocli/CommandLine$Model$TypedMember;
7 14 1 field Ljava/lang/reflect/Field;
MethodParameters:
Name Flags
member
private static void validateCommandSpec(picocli.CommandLine$Model$CommandSpec, boolean, java.lang.String);
descriptor: (Lpicocli/CommandLine$Model$CommandSpec;ZLjava/lang/String;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 1
ifne 2
aload 0
getfield picocli.CommandLine$Model$CommandSpec.positionalParameters:Ljava/util/List;
invokeinterface java.util.List.isEmpty:()Z
ifeq 2
aload 0
getfield picocli.CommandLine$Model$CommandSpec.optionsByNameMap:Ljava/util/Map;
invokeinterface java.util.Map.isEmpty:()Z
ifeq 2
aload 0
getfield picocli.CommandLine$Model$CommandSpec.unmatchedArgs:Ljava/util/List;
invokeinterface java.util.List.isEmpty:()Z
ifeq 2
1: new picocli.CommandLine$InitializationException
dup
new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " is not a command: it has no @Command, @Option, @Parameters or @Unmatched annotations"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial picocli.CommandLine$InitializationException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 result Lpicocli/CommandLine$Model$CommandSpec;
0 3 1 hasCommandAnnotation Z
0 3 2 commandClassName Ljava/lang/String;
MethodParameters:
Name Flags
result
hasCommandAnnotation
commandClassName
private static void validateArgGroupSpec(picocli.CommandLine$Model$ArgGroupSpec, boolean, java.lang.String);
descriptor: (Lpicocli/CommandLine$Model$ArgGroupSpec;ZLjava/lang/String;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 1
ifne 2
aload 0
invokevirtual picocli.CommandLine$Model$ArgGroupSpec.args:()Ljava/util/Set;
invokeinterface java.util.Set.isEmpty:()Z
ifeq 2
1: new picocli.CommandLine$InitializationException
dup
new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " is not a group: it has no @Option or @Parameters annotations"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial picocli.CommandLine$InitializationException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 result Lpicocli/CommandLine$Model$ArgGroupSpec;
0 3 1 hasArgAnnotation Z
0 3 2 className Ljava/lang/String;
MethodParameters:
Name Flags
result
hasArgAnnotation
className
private static void validateInjectSpec(picocli.CommandLine$Model$TypedMember);
descriptor: (Lpicocli/CommandLine$Model$TypedMember;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual picocli.CommandLine$Model$TypedMember.isSpec:()Z
ifne 1
new java.lang.IllegalStateException
dup
ldc "Bug: validateInjectSpec() should only be called with @Spec members"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
1: StackMap locals:
StackMap stack:
aload 0
ldc Lpicocli/CommandLine$Spec;
iconst_5
anewarray java.lang.Class
dup
iconst_0
ldc Lpicocli/CommandLine$Parameters;
aastore
dup
iconst_1
ldc Lpicocli/CommandLine$Option;
aastore
dup
iconst_2
ldc Lpicocli/CommandLine$Unmatched;
aastore
dup
iconst_3
ldc Lpicocli/CommandLine$Mixin;
aastore
dup
iconst_4
ldc Lpicocli/CommandLine$ArgGroup;
aastore
invokestatic picocli.CommandLine$Model$CommandReflection.assertNoDuplicateAnnotations:(Lpicocli/CommandLine$Model$TypedMember;Ljava/lang/Class;[Ljava/lang/Class;)V
2: ldc Lpicocli/CommandLine$Model$CommandSpec;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
aload 0
invokevirtual picocli.CommandLine$Model$TypedMember.getTypeInfo:()Lpicocli/CommandLine$Model$ITypeInfo;
invokeinterface picocli.CommandLine$Model$ITypeInfo.getClassName:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 4
3: new picocli.CommandLine$InitializationException
dup
new java.lang.StringBuilder
dup
ldc "@picocli.CommandLine.Spec annotation is only supported on fields of type "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc Lpicocli/CommandLine$Model$CommandSpec;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial picocli.CommandLine$InitializationException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 member Lpicocli/CommandLine$Model$TypedMember;
MethodParameters:
Name Flags
member
private static void assertNoDuplicateAnnotations(picocli.CommandLine$Model$TypedMember, java.lang.Class<? extends java.lang.annotation.Annotation>, java.lang.Class<? extends java.lang.annotation.Annotation>[]);
descriptor: (Lpicocli/CommandLine$Model$TypedMember;Ljava/lang/Class;[Ljava/lang/Class;)V
flags: (0x008a) ACC_PRIVATE, ACC_STATIC, ACC_VARARGS
Code:
stack=5, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 2
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 5
StackMap locals: picocli.CommandLine$Model$TypedMember java.lang.Class java.lang.Class[] top int int java.lang.Class[]
StackMap stack:
1: aload 6
iload 4
aaload
astore 3
start local 3 2: aload 0
aload 3
invokevirtual picocli.CommandLine$Model$TypedMember.isAnnotationPresent:(Ljava/lang/Class;)Z
ifeq 4
3: new picocli.CommandLine$DuplicateOptionAnnotationsException
dup
new java.lang.StringBuilder
dup
ldc "A member cannot have both @"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " and @"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " annotations, but '"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "' has both."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial picocli.CommandLine$DuplicateOptionAnnotationsException.<init>:(Ljava/lang/String;)V
athrow
end local 3 4: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
5: iload 4
iload 5
if_icmplt 1
6: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 member Lpicocli/CommandLine$Model$TypedMember;
0 7 1 myAnnotation Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
0 7 2 forbidden [Ljava/lang/Class;
2 4 3 annotation Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
Signature: (Lpicocli/CommandLine$Model$TypedMember;Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;[Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;)V
MethodParameters:
Name Flags
member
myAnnotation
forbidden
private static picocli.CommandLine$Model$CommandSpec buildMixinForMember(picocli.CommandLine$Model$IAnnotatedElement, picocli.CommandLine$IFactory);
descriptor: (Lpicocli/CommandLine$Model$IAnnotatedElement;Lpicocli/CommandLine$IFactory;)Lpicocli/CommandLine$Model$CommandSpec;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokeinterface picocli.CommandLine$Model$IAnnotatedElement.getter:()Lpicocli/CommandLine$Model$IGetter;
invokeinterface picocli.CommandLine$Model$IGetter.get:()Ljava/lang/Object;
astore 2
start local 2 1: aload 2
ifnonnull 4
2: aload 1
aload 0
invokeinterface picocli.CommandLine$Model$IAnnotatedElement.getTypeInfo:()Lpicocli/CommandLine$Model$ITypeInfo;
invokeinterface picocli.CommandLine$Model$ITypeInfo.getType:()Ljava/lang/Class;
invokeinterface picocli.CommandLine$IFactory.create:(Ljava/lang/Class;)Ljava/lang/Object;
astore 2
3: aload 0
invokeinterface picocli.CommandLine$Model$IAnnotatedElement.setter:()Lpicocli/CommandLine$Model$ISetter;
aload 2
invokeinterface picocli.CommandLine$Model$ISetter.set:(Ljava/lang/Object;)Ljava/lang/Object;
pop
4: StackMap locals: java.lang.Object
StackMap stack:
aload 2
aload 1
invokestatic picocli.CommandLine$Model$CommandSpec.forAnnotatedObject:(Ljava/lang/Object;Lpicocli/CommandLine$IFactory;)Lpicocli/CommandLine$Model$CommandSpec;
astore 3
start local 3 5: aload 3
aload 0
invokeinterface picocli.CommandLine$Model$IAnnotatedElement.getToString:()Ljava/lang/String;
invokevirtual picocli.CommandLine$Model$CommandSpec.withToString:(Ljava/lang/String;)Lpicocli/CommandLine$Model$CommandSpec;
6: areturn
end local 3 end local 2 7: StackMap locals: picocli.CommandLine$Model$IAnnotatedElement picocli.CommandLine$IFactory
StackMap stack: picocli.CommandLine$InitializationException
astore 2
start local 2 8: aload 2
athrow
end local 2 9: StackMap locals:
StackMap stack: java.lang.Exception
astore 2
start local 2 10: new picocli.CommandLine$InitializationException
dup
new java.lang.StringBuilder
dup
ldc "Could not access or modify mixin member "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 2
invokespecial picocli.CommandLine$InitializationException.<init>:(Ljava/lang/String;Ljava/lang/Exception;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 member Lpicocli/CommandLine$Model$IAnnotatedElement;
0 11 1 factory Lpicocli/CommandLine$IFactory;
1 7 2 userObject Ljava/lang/Object;
5 7 3 result Lpicocli/CommandLine$Model$CommandSpec;
8 9 2 ex Lpicocli/CommandLine$InitializationException;
10 11 2 ex Ljava/lang/Exception;
Exception table:
from to target type
0 6 7 Class picocli.CommandLine$InitializationException
0 6 9 Class java.lang.Exception
MethodParameters:
Name Flags
member
factory
private static picocli.CommandLine$Model$ArgSpec buildArgForMember(picocli.CommandLine$Model$IAnnotatedElement, picocli.CommandLine$IFactory);
descriptor: (Lpicocli/CommandLine$Model$IAnnotatedElement;Lpicocli/CommandLine$IFactory;)Lpicocli/CommandLine$Model$ArgSpec;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokeinterface picocli.CommandLine$Model$IAnnotatedElement.isOption:()Z
ifeq 1
aload 0
aload 1
invokestatic picocli.CommandLine$Model$OptionSpec.builder:(Lpicocli/CommandLine$Model$IAnnotatedElement;Lpicocli/CommandLine$IFactory;)Lpicocli/CommandLine$Model$OptionSpec$Builder;
invokevirtual picocli.CommandLine$Model$OptionSpec$Builder.build:()Lpicocli/CommandLine$Model$OptionSpec;
areturn
1: StackMap locals:
StackMap stack:
aload 0
invokeinterface picocli.CommandLine$Model$IAnnotatedElement.isParameter:()Z
ifeq 2
aload 0
aload 1
invokestatic picocli.CommandLine$Model$PositionalParamSpec.builder:(Lpicocli/CommandLine$Model$IAnnotatedElement;Lpicocli/CommandLine$IFactory;)Lpicocli/CommandLine$Model$PositionalParamSpec$Builder;
invokevirtual picocli.CommandLine$Model$PositionalParamSpec$Builder.build:()Lpicocli/CommandLine$Model$PositionalParamSpec;
areturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokestatic picocli.CommandLine$Model$PositionalParamSpec.builder:(Lpicocli/CommandLine$Model$IAnnotatedElement;Lpicocli/CommandLine$IFactory;)Lpicocli/CommandLine$Model$PositionalParamSpec$Builder;
invokevirtual picocli.CommandLine$Model$PositionalParamSpec$Builder.build:()Lpicocli/CommandLine$Model$PositionalParamSpec;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 member Lpicocli/CommandLine$Model$IAnnotatedElement;
0 3 1 factory Lpicocli/CommandLine$IFactory;
MethodParameters:
Name Flags
member
factory
private static picocli.CommandLine$Model$ArgGroupSpec buildArgGroupForMember(picocli.CommandLine$Model$IAnnotatedElement, picocli.CommandLine$IFactory, picocli.CommandLine$Model$CommandSpec);
descriptor: (Lpicocli/CommandLine$Model$IAnnotatedElement;Lpicocli/CommandLine$IFactory;Lpicocli/CommandLine$Model$CommandSpec;)Lpicocli/CommandLine$Model$ArgGroupSpec;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
iconst_1
invokestatic picocli.CommandLine$Model$CommandReflection.extractArgGroupSpec:(Lpicocli/CommandLine$Model$IAnnotatedElement;Lpicocli/CommandLine$IFactory;Lpicocli/CommandLine$Model$CommandSpec;Z)Lpicocli/CommandLine$Model$ArgGroupSpec;
1: areturn
2: StackMap locals:
StackMap stack: picocli.CommandLine$InitializationException
astore 3
start local 3 3: aload 3
athrow
end local 3 4: StackMap locals:
StackMap stack: java.lang.Exception
astore 3
start local 3 5: new picocli.CommandLine$InitializationException
dup
new java.lang.StringBuilder
dup
ldc "Could not access or modify ArgGroup member "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 3
invokespecial picocli.CommandLine$InitializationException.<init>:(Ljava/lang/String;Ljava/lang/Exception;)V
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 member Lpicocli/CommandLine$Model$IAnnotatedElement;
0 6 1 factory Lpicocli/CommandLine$IFactory;
0 6 2 commandSpec Lpicocli/CommandLine$Model$CommandSpec;
3 4 3 ex Lpicocli/CommandLine$InitializationException;
5 6 3 ex Ljava/lang/Exception;
Exception table:
from to target type
0 1 2 Class picocli.CommandLine$InitializationException
0 1 4 Class java.lang.Exception
MethodParameters:
Name Flags
member
factory
commandSpec
private static picocli.CommandLine$Model$UnmatchedArgsBinding buildUnmatchedForMember(picocli.CommandLine$Model$IAnnotatedElement);
descriptor: (Lpicocli/CommandLine$Model$IAnnotatedElement;)Lpicocli/CommandLine$Model$UnmatchedArgsBinding;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
invokeinterface picocli.CommandLine$Model$IAnnotatedElement.getTypeInfo:()Lpicocli/CommandLine$Model$ITypeInfo;
astore 1
start local 1 1: aload 1
invokeinterface picocli.CommandLine$Model$ITypeInfo.getClassName:()Ljava/lang/String;
ldc [Ljava/lang/String;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 4
2: aload 1
invokeinterface picocli.CommandLine$Model$ITypeInfo.isCollection:()Z
ifeq 3
aload 1
invokeinterface picocli.CommandLine$Model$ITypeInfo.getActualGenericTypeArguments:()Ljava/util/List;
iconst_1
anewarray java.lang.String
dup
iconst_0
ldc Ljava/lang/String;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
aastore
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokeinterface java.util.List.equals:(Ljava/lang/Object;)Z
ifne 4
3: StackMap locals: picocli.CommandLine$Model$ITypeInfo
StackMap stack:
new picocli.CommandLine$InitializationException
dup
new java.lang.StringBuilder
dup
ldc "Invalid type for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ": must be either String[] or List<String>"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial picocli.CommandLine$InitializationException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 1
invokeinterface picocli.CommandLine$Model$ITypeInfo.getClassName:()Ljava/lang/String;
ldc [Ljava/lang/String;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 6
5: aload 0
invokeinterface picocli.CommandLine$Model$IAnnotatedElement.setter:()Lpicocli/CommandLine$Model$ISetter;
invokestatic picocli.CommandLine$Model$UnmatchedArgsBinding.forStringArrayConsumer:(Lpicocli/CommandLine$Model$ISetter;)Lpicocli/CommandLine$Model$UnmatchedArgsBinding;
areturn
6: StackMap locals:
StackMap stack:
aload 0
invokeinterface picocli.CommandLine$Model$IAnnotatedElement.getter:()Lpicocli/CommandLine$Model$IGetter;
invokestatic picocli.CommandLine$Model$UnmatchedArgsBinding.forStringCollectionSupplier:(Lpicocli/CommandLine$Model$IGetter;)Lpicocli/CommandLine$Model$UnmatchedArgsBinding;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 member Lpicocli/CommandLine$Model$IAnnotatedElement;
1 7 1 info Lpicocli/CommandLine$Model$ITypeInfo;
MethodParameters:
Name Flags
member final
}
SourceFile: "CommandLine.java"
NestHost: picocli.CommandLine
InnerClasses:
public abstract ArgGroup = picocli.CommandLine$ArgGroup of picocli.CommandLine
public abstract Command = picocli.CommandLine$Command of picocli.CommandLine
public DuplicateOptionAnnotationsException = picocli.CommandLine$DuplicateOptionAnnotationsException of picocli.CommandLine
public Help = picocli.CommandLine$Help of picocli.CommandLine
public final HelpCommand = picocli.CommandLine$HelpCommand of picocli.CommandLine
public abstract IFactory = picocli.CommandLine$IFactory of picocli.CommandLine
public abstract IVersionProvider = picocli.CommandLine$IVersionProvider of picocli.CommandLine
public InitializationException = picocli.CommandLine$InitializationException of picocli.CommandLine
public abstract Mixin = picocli.CommandLine$Mixin of picocli.CommandLine
public final Model = picocli.CommandLine$Model of picocli.CommandLine
public ArgGroupSpec = picocli.CommandLine$Model$ArgGroupSpec of picocli.CommandLine$Model
public Builder = picocli.CommandLine$Model$ArgGroupSpec$Builder of picocli.CommandLine$Model$ArgGroupSpec
public abstract ArgSpec = picocli.CommandLine$Model$ArgSpec of picocli.CommandLine$Model
private CommandReflection = picocli.CommandLine$Model$CommandReflection of picocli.CommandLine$Model
picocli.CommandLine$Model$CommandReflection$1
public CommandSpec = picocli.CommandLine$Model$CommandSpec of picocli.CommandLine$Model
CommandUserObject = picocli.CommandLine$Model$CommandUserObject of picocli.CommandLine$Model
public abstract IAnnotatedElement = picocli.CommandLine$Model$IAnnotatedElement of picocli.CommandLine$Model
public abstract IGetter = picocli.CommandLine$Model$IGetter of picocli.CommandLine$Model
public abstract IScope = picocli.CommandLine$Model$IScope of picocli.CommandLine$Model
public abstract ISetter = picocli.CommandLine$Model$ISetter of picocli.CommandLine$Model
public abstract ITypeInfo = picocli.CommandLine$Model$ITypeInfo of picocli.CommandLine$Model
public MethodParam = picocli.CommandLine$Model$MethodParam of picocli.CommandLine$Model
ObjectScope = picocli.CommandLine$Model$ObjectScope of picocli.CommandLine$Model
public OptionSpec = picocli.CommandLine$Model$OptionSpec of picocli.CommandLine$Model
public Builder = picocli.CommandLine$Model$OptionSpec$Builder of picocli.CommandLine$Model$OptionSpec
public PositionalParamSpec = picocli.CommandLine$Model$PositionalParamSpec of picocli.CommandLine$Model
public Builder = picocli.CommandLine$Model$PositionalParamSpec$Builder of picocli.CommandLine$Model$PositionalParamSpec
private abstract Predicate = picocli.CommandLine$Model$Predicate of picocli.CommandLine$Model
TypedMember = picocli.CommandLine$Model$TypedMember of picocli.CommandLine$Model
public UnmatchedArgsBinding = picocli.CommandLine$Model$UnmatchedArgsBinding 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
Tracer = picocli.CommandLine$Tracer of picocli.CommandLine
public abstract Unmatched = picocli.CommandLine$Unmatched of picocli.CommandLine