public class picocli.CommandLine$ParseResult$GroupMatchContainer
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: picocli.CommandLine$ParseResult$GroupMatchContainer
super_class: java.lang.Object
{
private final picocli.CommandLine$Model$ArgGroupSpec group;
descriptor: Lpicocli/CommandLine$Model$ArgGroupSpec;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private picocli.CommandLine$ParseResult$GroupMatchContainer parentContainer;
descriptor: Lpicocli/CommandLine$ParseResult$GroupMatchContainer;
flags: (0x0002) ACC_PRIVATE
private java.util.List<picocli.CommandLine$Model$ArgGroupSpec> unmatchedSubgroups;
descriptor: Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/List<Lpicocli/CommandLine$Model$ArgGroupSpec;>;
private java.util.List<picocli.CommandLine$ParseResult$GroupMatch> matches;
descriptor: Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/List<Lpicocli/CommandLine$ParseResult$GroupMatch;>;
private picocli.CommandLine$ParseResult$GroupValidationResult validationResult;
descriptor: Lpicocli/CommandLine$ParseResult$GroupValidationResult;
flags: (0x0002) ACC_PRIVATE
void <init>(picocli.CommandLine$Model$ArgGroupSpec, picocli.CommandLine);
descriptor: (Lpicocli/CommandLine$Model$ArgGroupSpec;Lpicocli/CommandLine;)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield picocli.CommandLine$ParseResult$GroupMatchContainer.unmatchedSubgroups:Ljava/util/List;
2: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield picocli.CommandLine$ParseResult$GroupMatchContainer.matches:Ljava/util/List;
3: aload 0
aload 1
putfield picocli.CommandLine$ParseResult$GroupMatchContainer.group:Lpicocli/CommandLine$Model$ArgGroupSpec;
aload 0
aload 2
invokevirtual picocli.CommandLine$ParseResult$GroupMatchContainer.addMatch:(Lpicocli/CommandLine;)V
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lpicocli/CommandLine$ParseResult$GroupMatchContainer;
0 4 1 group Lpicocli/CommandLine$Model$ArgGroupSpec;
0 4 2 cmd Lpicocli/CommandLine;
MethodParameters:
Name Flags
group
cmd
public picocli.CommandLine$Model$ArgGroupSpec group();
descriptor: ()Lpicocli/CommandLine$Model$ArgGroupSpec;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield picocli.CommandLine$ParseResult$GroupMatchContainer.group:Lpicocli/CommandLine$Model$ArgGroupSpec;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lpicocli/CommandLine$ParseResult$GroupMatchContainer;
public java.util.List<picocli.CommandLine$ParseResult$GroupMatch> matches();
descriptor: ()Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield picocli.CommandLine$ParseResult$GroupMatchContainer.matches:Ljava/util/List;
invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lpicocli/CommandLine$ParseResult$GroupMatchContainer;
Signature: ()Ljava/util/List<Lpicocli/CommandLine$ParseResult$GroupMatch;>;
void addMatch(picocli.CommandLine);
descriptor: (Lpicocli/CommandLine;)V
flags: (0x0000)
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 1
new picocli.CommandLine$Tracer
dup
invokespecial picocli.CommandLine$Tracer.<init>:()V
goto 2
StackMap locals:
StackMap stack:
1: aload 1
getfield picocli.CommandLine.tracer:Lpicocli/CommandLine$Tracer;
StackMap locals:
StackMap stack: picocli.CommandLine$Tracer
2: astore 2
start local 2 3: aload 0
getfield picocli.CommandLine$ParseResult$GroupMatchContainer.group:Lpicocli/CommandLine$Model$ArgGroupSpec;
ifnull 7
aload 0
invokevirtual picocli.CommandLine$ParseResult$GroupMatchContainer.isMaxMultiplicityReached:()Z
ifeq 7
4: aload 2
ldc "Completing GroupMatchContainer %s: max multiplicity is reached.%n"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
aastore
invokevirtual picocli.CommandLine$Tracer.info:(Ljava/lang/String;[Ljava/lang/Object;)V
5: aload 0
aload 1
invokevirtual picocli.CommandLine$ParseResult$GroupMatchContainer.complete:(Lpicocli/CommandLine;)V
6: goto 15
7: StackMap locals: picocli.CommandLine$Tracer
StackMap stack:
aload 0
getfield picocli.CommandLine$ParseResult$GroupMatchContainer.group:Lpicocli/CommandLine$Model$ArgGroupSpec;
ifnull 13
8: aload 2
ldc "Adding match to GroupMatchContainer %s (group=%s %s).%n"
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 0
aastore
dup
iconst_1
aload 0
getfield picocli.CommandLine$ParseResult$GroupMatchContainer.group:Lpicocli/CommandLine$Model$ArgGroupSpec;
ifnonnull 9
ldc "?"
goto 10
StackMap locals: picocli.CommandLine$ParseResult$GroupMatchContainer picocli.CommandLine picocli.CommandLine$Tracer
StackMap stack: picocli.CommandLine$Tracer java.lang.String java.lang.Object[] java.lang.Object[] int
9: aload 0
getfield picocli.CommandLine$ParseResult$GroupMatchContainer.group:Lpicocli/CommandLine$Model$ArgGroupSpec;
invokevirtual picocli.CommandLine$Model$ArgGroupSpec.id:()Ljava/lang/String;
StackMap locals: picocli.CommandLine$ParseResult$GroupMatchContainer picocli.CommandLine picocli.CommandLine$Tracer
StackMap stack: picocli.CommandLine$Tracer java.lang.String java.lang.Object[] java.lang.Object[] int java.lang.String
10: aastore
dup
iconst_2
aload 0
getfield picocli.CommandLine$ParseResult$GroupMatchContainer.group:Lpicocli/CommandLine$Model$ArgGroupSpec;
ifnonnull 11
ldc "ROOT"
goto 12
StackMap locals: picocli.CommandLine$ParseResult$GroupMatchContainer picocli.CommandLine picocli.CommandLine$Tracer
StackMap stack: picocli.CommandLine$Tracer java.lang.String java.lang.Object[] java.lang.Object[] int
11: aload 0
getfield picocli.CommandLine$ParseResult$GroupMatchContainer.group:Lpicocli/CommandLine$Model$ArgGroupSpec;
invokevirtual picocli.CommandLine$Model$ArgGroupSpec.synopsisUnit:()Ljava/lang/String;
StackMap locals: picocli.CommandLine$ParseResult$GroupMatchContainer picocli.CommandLine picocli.CommandLine$Tracer
StackMap stack: picocli.CommandLine$Tracer java.lang.String java.lang.Object[] java.lang.Object[] int java.lang.String
12: aastore
invokevirtual picocli.CommandLine$Tracer.info:(Ljava/lang/String;[Ljava/lang/Object;)V
13: StackMap locals:
StackMap stack:
aload 0
getfield picocli.CommandLine$ParseResult$GroupMatchContainer.matches:Ljava/util/List;
new picocli.CommandLine$ParseResult$GroupMatch
dup
aload 0
invokespecial picocli.CommandLine$ParseResult$GroupMatch.<init>:(Lpicocli/CommandLine$ParseResult$GroupMatchContainer;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
14: aload 0
getfield picocli.CommandLine$ParseResult$GroupMatchContainer.group:Lpicocli/CommandLine$Model$ArgGroupSpec;
ifnonnull 15
return
15: StackMap locals:
StackMap stack:
aload 0
getfield picocli.CommandLine$ParseResult$GroupMatchContainer.group:Lpicocli/CommandLine$Model$ArgGroupSpec;
aload 1
invokevirtual picocli.CommandLine$Model$ArgGroupSpec.initUserObject:(Lpicocli/CommandLine;)V
16: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lpicocli/CommandLine$ParseResult$GroupMatchContainer;
0 17 1 commandLine Lpicocli/CommandLine;
3 17 2 tracer Lpicocli/CommandLine$Tracer;
MethodParameters:
Name Flags
commandLine
void complete(picocli.CommandLine);
descriptor: (Lpicocli/CommandLine;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield picocli.CommandLine$ParseResult$GroupMatchContainer.parentContainer:Lpicocli/CommandLine$ParseResult$GroupMatchContainer;
ifnonnull 3
1: aload 0
aload 1
invokevirtual picocli.CommandLine$ParseResult$GroupMatchContainer.addMatch:(Lpicocli/CommandLine;)V
2: goto 4
3: StackMap locals:
StackMap stack:
aload 0
getfield picocli.CommandLine$ParseResult$GroupMatchContainer.parentContainer:Lpicocli/CommandLine$ParseResult$GroupMatchContainer;
aload 1
invokevirtual picocli.CommandLine$ParseResult$GroupMatchContainer.addMatch:(Lpicocli/CommandLine;)V
4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lpicocli/CommandLine$ParseResult$GroupMatchContainer;
0 5 1 commandLine Lpicocli/CommandLine;
MethodParameters:
Name Flags
commandLine
picocli.CommandLine$ParseResult$GroupMatch lastMatch();
descriptor: ()Lpicocli/CommandLine$ParseResult$GroupMatch;
flags: (0x0000)
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield picocli.CommandLine$ParseResult$GroupMatchContainer.matches:Ljava/util/List;
aload 0
getfield picocli.CommandLine$ParseResult$GroupMatchContainer.matches:Ljava/util/List;
invokeinterface java.util.List.size:()I
iconst_1
isub
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast picocli.CommandLine$ParseResult$GroupMatch
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lpicocli/CommandLine$ParseResult$GroupMatchContainer;
boolean isMaxMultiplicityReached();
descriptor: ()Z
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield picocli.CommandLine$ParseResult$GroupMatchContainer.matches:Ljava/util/List;
invokeinterface java.util.List.size:()I
aload 0
getfield picocli.CommandLine$ParseResult$GroupMatchContainer.group:Lpicocli/CommandLine$Model$ArgGroupSpec;
getfield picocli.CommandLine$Model$ArgGroupSpec.multiplicity:Lpicocli/CommandLine$Range;
getfield picocli.CommandLine$Range.max:I
if_icmplt 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lpicocli/CommandLine$ParseResult$GroupMatchContainer;
boolean isMinMultiplicityReached();
descriptor: ()Z
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield picocli.CommandLine$ParseResult$GroupMatchContainer.matches:Ljava/util/List;
invokeinterface java.util.List.size:()I
aload 0
getfield picocli.CommandLine$ParseResult$GroupMatchContainer.group:Lpicocli/CommandLine$Model$ArgGroupSpec;
getfield picocli.CommandLine$Model$ArgGroupSpec.multiplicity:Lpicocli/CommandLine$Range;
getfield picocli.CommandLine$Range.min:I
if_icmplt 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lpicocli/CommandLine$ParseResult$GroupMatchContainer;
boolean matchedMinElements();
descriptor: ()Z
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
invokevirtual picocli.CommandLine$ParseResult$GroupMatchContainer.matchedFully:(Z)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lpicocli/CommandLine$ParseResult$GroupMatchContainer;
boolean matchedMaxElements();
descriptor: ()Z
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
invokevirtual picocli.CommandLine$ParseResult$GroupMatchContainer.matchedFully:(Z)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lpicocli/CommandLine$ParseResult$GroupMatchContainer;
private boolean matchedFully(boolean);
descriptor: (Z)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield picocli.CommandLine$ParseResult$GroupMatchContainer.matches:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 6
StackMap locals: picocli.CommandLine$ParseResult$GroupMatchContainer int top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast picocli.CommandLine$ParseResult$GroupMatch
astore 2
start local 2 2: iload 1
ifeq 3
aload 2
aload 0
invokevirtual picocli.CommandLine$ParseResult$GroupMatchContainer.lastMatch:()Lpicocli/CommandLine$ParseResult$GroupMatch;
if_acmpne 3
iconst_1
goto 4
StackMap locals: picocli.CommandLine$ParseResult$GroupMatchContainer int picocli.CommandLine$ParseResult$GroupMatch java.util.Iterator
StackMap stack:
3: iconst_0
StackMap locals:
StackMap stack: int
4: istore 4
start local 4 5: aload 2
iload 4
invokevirtual picocli.CommandLine$ParseResult$GroupMatch.matchedFully:(Z)Z
ifne 6
iconst_0
ireturn
end local 4 end local 2 6: StackMap locals: picocli.CommandLine$ParseResult$GroupMatchContainer int top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
7: iload 1
ifeq 8
aload 0
invokevirtual picocli.CommandLine$ParseResult$GroupMatchContainer.isMaxMultiplicityReached:()Z
goto 9
StackMap locals: picocli.CommandLine$ParseResult$GroupMatchContainer int
StackMap stack:
8: aload 0
invokevirtual picocli.CommandLine$ParseResult$GroupMatchContainer.isMinMultiplicityReached:()Z
StackMap locals:
StackMap stack: int
9: ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lpicocli/CommandLine$ParseResult$GroupMatchContainer;
0 10 1 allRequired Z
2 6 2 multiple Lpicocli/CommandLine$ParseResult$GroupMatch;
5 6 4 actuallyAllRequired Z
MethodParameters:
Name Flags
allRequired
private picocli.CommandLine$ParseResult$GroupMatchContainer findOrCreateMatchingGroup(picocli.CommandLine$Model$ArgSpec, picocli.CommandLine);
descriptor: (Lpicocli/CommandLine$Model$ArgSpec;Lpicocli/CommandLine;)Lpicocli/CommandLine$ParseResult$GroupMatchContainer;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual picocli.CommandLine$Model$ArgSpec.group:()Lpicocli/CommandLine$Model$ArgGroupSpec;
new java.lang.StringBuilder
dup
ldc "group for "
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;
invokestatic picocli.CommandLine$Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
checkcast picocli.CommandLine$Model$ArgGroupSpec
astore 3
start local 3 1: aload 0
astore 4
start local 4 2: aload 3
aload 4
invokevirtual picocli.CommandLine$ParseResult$GroupMatchContainer.group:()Lpicocli/CommandLine$Model$ArgGroupSpec;
if_acmpne 3
aload 4
areturn
3: StackMap locals: picocli.CommandLine$Model$ArgGroupSpec picocli.CommandLine$ParseResult$GroupMatchContainer
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 5
start local 5 4: goto 7
5: StackMap locals: java.util.List
StackMap stack:
aload 5
aload 3
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
6: aload 3
invokevirtual picocli.CommandLine$Model$ArgGroupSpec.parentGroup:()Lpicocli/CommandLine$Model$ArgGroupSpec;
astore 3
7: StackMap locals:
StackMap stack:
aload 3
ifnonnull 5
8: aload 5
invokestatic java.util.Collections.reverse:(Ljava/util/List;)V
9: aload 5
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 15
StackMap locals: picocli.CommandLine$ParseResult$GroupMatchContainer picocli.CommandLine$Model$ArgSpec picocli.CommandLine picocli.CommandLine$Model$ArgGroupSpec picocli.CommandLine$ParseResult$GroupMatchContainer java.util.List top java.util.Iterator
StackMap stack:
10: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast picocli.CommandLine$Model$ArgGroupSpec
astore 6
start local 6 11: aload 4
invokevirtual picocli.CommandLine$ParseResult$GroupMatchContainer.lastMatch:()Lpicocli/CommandLine$ParseResult$GroupMatch;
invokevirtual picocli.CommandLine$ParseResult$GroupMatch.matchedSubgroups:()Ljava/util/Map;
aload 6
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast picocli.CommandLine$ParseResult$GroupMatchContainer
astore 8
start local 8 12: aload 8
ifnonnull 14
13: aload 0
aload 6
aload 4
aload 2
invokevirtual picocli.CommandLine$ParseResult$GroupMatchContainer.createGroupMatchContainer:(Lpicocli/CommandLine$Model$ArgGroupSpec;Lpicocli/CommandLine$ParseResult$GroupMatchContainer;Lpicocli/CommandLine;)Lpicocli/CommandLine$ParseResult$GroupMatchContainer;
astore 8
14: StackMap locals: picocli.CommandLine$ParseResult$GroupMatchContainer picocli.CommandLine$Model$ArgSpec picocli.CommandLine picocli.CommandLine$Model$ArgGroupSpec picocli.CommandLine$ParseResult$GroupMatchContainer java.util.List picocli.CommandLine$Model$ArgGroupSpec java.util.Iterator picocli.CommandLine$ParseResult$GroupMatchContainer
StackMap stack:
aload 8
astore 4
end local 8 end local 6 15: StackMap locals: picocli.CommandLine$ParseResult$GroupMatchContainer picocli.CommandLine$Model$ArgSpec picocli.CommandLine picocli.CommandLine$Model$ArgGroupSpec picocli.CommandLine$ParseResult$GroupMatchContainer java.util.List top java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 10
16: aload 4
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 17 0 this Lpicocli/CommandLine$ParseResult$GroupMatchContainer;
0 17 1 argSpec Lpicocli/CommandLine$Model$ArgSpec;
0 17 2 commandLine Lpicocli/CommandLine;
1 17 3 searchGroup Lpicocli/CommandLine$Model$ArgGroupSpec;
2 17 4 container Lpicocli/CommandLine$ParseResult$GroupMatchContainer;
4 17 5 keys Ljava/util/List<Lpicocli/CommandLine$Model$ArgGroupSpec;>;
11 15 6 key Lpicocli/CommandLine$Model$ArgGroupSpec;
12 15 8 sub Lpicocli/CommandLine$ParseResult$GroupMatchContainer;
MethodParameters:
Name Flags
argSpec
commandLine
private picocli.CommandLine$ParseResult$GroupMatchContainer createGroupMatchContainer(picocli.CommandLine$Model$ArgGroupSpec, picocli.CommandLine$ParseResult$GroupMatchContainer, picocli.CommandLine);
descriptor: (Lpicocli/CommandLine$Model$ArgGroupSpec;Lpicocli/CommandLine$ParseResult$GroupMatchContainer;Lpicocli/CommandLine;)Lpicocli/CommandLine$ParseResult$GroupMatchContainer;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new picocli.CommandLine$ParseResult$GroupMatchContainer
dup
aload 1
aload 3
invokespecial picocli.CommandLine$ParseResult$GroupMatchContainer.<init>:(Lpicocli/CommandLine$Model$ArgGroupSpec;Lpicocli/CommandLine;)V
astore 4
start local 4 1: aload 4
aload 2
putfield picocli.CommandLine$ParseResult$GroupMatchContainer.parentContainer:Lpicocli/CommandLine$ParseResult$GroupMatchContainer;
2: aload 2
invokevirtual picocli.CommandLine$ParseResult$GroupMatchContainer.lastMatch:()Lpicocli/CommandLine$ParseResult$GroupMatch;
getfield picocli.CommandLine$ParseResult$GroupMatch.matchedSubgroups:Ljava/util/Map;
aload 1
aload 4
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
3: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lpicocli/CommandLine$ParseResult$GroupMatchContainer;
0 4 1 group Lpicocli/CommandLine$Model$ArgGroupSpec;
0 4 2 parent Lpicocli/CommandLine$ParseResult$GroupMatchContainer;
0 4 3 commandLine Lpicocli/CommandLine;
1 4 4 result Lpicocli/CommandLine$ParseResult$GroupMatchContainer;
MethodParameters:
Name Flags
group
parent
commandLine
picocli.CommandLine$ParseResult$GroupMatchContainer trim();
descriptor: ()Lpicocli/CommandLine$ParseResult$GroupMatchContainer;
flags: (0x0000)
Code:
stack=1, locals=5, args_size=1
start local 0 0: aload 0
getfield picocli.CommandLine$ParseResult$GroupMatchContainer.matches:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 1
start local 1 1: goto 8
2: StackMap locals: java.util.Iterator
StackMap stack:
aload 1
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast picocli.CommandLine$ParseResult$GroupMatch
astore 2
start local 2 3: aload 2
invokevirtual picocli.CommandLine$ParseResult$GroupMatch.isEmpty:()Z
ifeq 4
aload 1
invokeinterface java.util.Iterator.remove:()V
4: StackMap locals: picocli.CommandLine$ParseResult$GroupMatch
StackMap stack:
aload 2
getfield picocli.CommandLine$ParseResult$GroupMatch.matchedSubgroups:Ljava/util/Map;
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 4
goto 7
StackMap locals: picocli.CommandLine$ParseResult$GroupMatchContainer java.util.Iterator picocli.CommandLine$ParseResult$GroupMatch top java.util.Iterator
StackMap stack:
5: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast picocli.CommandLine$ParseResult$GroupMatchContainer
astore 3
start local 3 6: aload 3
invokevirtual picocli.CommandLine$ParseResult$GroupMatchContainer.trim:()Lpicocli/CommandLine$ParseResult$GroupMatchContainer;
pop
end local 3 StackMap locals:
StackMap stack:
7: aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
end local 2 8: StackMap locals: picocli.CommandLine$ParseResult$GroupMatchContainer java.util.Iterator
StackMap stack:
aload 1
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
end local 1 9: aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lpicocli/CommandLine$ParseResult$GroupMatchContainer;
1 9 1 iter Ljava/util/Iterator<Lpicocli/CommandLine$ParseResult$GroupMatch;>;
3 8 2 multiple Lpicocli/CommandLine$ParseResult$GroupMatch;
6 7 3 sub Lpicocli/CommandLine$ParseResult$GroupMatchContainer;
java.util.List<picocli.CommandLine$ParseResult$GroupMatchContainer> findMatchContainers(picocli.CommandLine$Model$ArgGroupSpec, java.util.List<picocli.CommandLine$ParseResult$GroupMatchContainer>);
descriptor: (Lpicocli/CommandLine$Model$ArgGroupSpec;Ljava/util/List;)Ljava/util/List;
flags: (0x0000)
Code:
stack=3, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield picocli.CommandLine$ParseResult$GroupMatchContainer.group:Lpicocli/CommandLine$Model$ArgGroupSpec;
aload 1
if_acmpne 1
aload 2
aload 0
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
aload 2
areturn
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual picocli.CommandLine$ParseResult$GroupMatchContainer.matches:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 7
StackMap locals: picocli.CommandLine$ParseResult$GroupMatchContainer picocli.CommandLine$Model$ArgGroupSpec java.util.List top java.util.Iterator
StackMap stack:
2: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast picocli.CommandLine$ParseResult$GroupMatch
astore 3
start local 3 3: aload 3
getfield picocli.CommandLine$ParseResult$GroupMatch.matchedSubgroups:Ljava/util/Map;
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 6
goto 6
StackMap locals: picocli.CommandLine$ParseResult$GroupMatchContainer picocli.CommandLine$Model$ArgGroupSpec java.util.List picocli.CommandLine$ParseResult$GroupMatch java.util.Iterator top java.util.Iterator
StackMap stack:
4: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast picocli.CommandLine$ParseResult$GroupMatchContainer
astore 5
start local 5 5: aload 5
aload 1
aload 2
invokevirtual picocli.CommandLine$ParseResult$GroupMatchContainer.findMatchContainers:(Lpicocli/CommandLine$Model$ArgGroupSpec;Ljava/util/List;)Ljava/util/List;
pop
end local 5 6: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
end local 3 7: StackMap locals: picocli.CommandLine$ParseResult$GroupMatchContainer picocli.CommandLine$Model$ArgGroupSpec java.util.List top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
8: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lpicocli/CommandLine$ParseResult$GroupMatchContainer;
0 9 1 group Lpicocli/CommandLine$Model$ArgGroupSpec;
0 9 2 result Ljava/util/List<Lpicocli/CommandLine$ParseResult$GroupMatchContainer;>;
3 7 3 multiple Lpicocli/CommandLine$ParseResult$GroupMatch;
5 6 5 mg Lpicocli/CommandLine$ParseResult$GroupMatchContainer;
Signature: (Lpicocli/CommandLine$Model$ArgGroupSpec;Ljava/util/List<Lpicocli/CommandLine$ParseResult$GroupMatchContainer;>;)Ljava/util/List<Lpicocli/CommandLine$ParseResult$GroupMatchContainer;>;
MethodParameters:
Name Flags
group
result
picocli.CommandLine$ParseResult$GroupMatchContainer findLastMatchContainer(picocli.CommandLine$Model$ArgGroupSpec);
descriptor: (Lpicocli/CommandLine$Model$ArgGroupSpec;)Lpicocli/CommandLine$ParseResult$GroupMatchContainer;
flags: (0x0000)
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
invokevirtual picocli.CommandLine$ParseResult$GroupMatchContainer.findMatchContainers:(Lpicocli/CommandLine$Model$ArgGroupSpec;Ljava/util/List;)Ljava/util/List;
astore 2
start local 2 1: aload 2
invokeinterface java.util.List.isEmpty:()Z
ifeq 2
aconst_null
goto 3
StackMap locals: java.util.List
StackMap stack:
2: aload 2
aload 2
invokeinterface java.util.List.size:()I
iconst_1
isub
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast picocli.CommandLine$ParseResult$GroupMatchContainer
StackMap locals:
StackMap stack: picocli.CommandLine$ParseResult$GroupMatchContainer
3: areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lpicocli/CommandLine$ParseResult$GroupMatchContainer;
0 4 1 group Lpicocli/CommandLine$Model$ArgGroupSpec;
1 4 2 all Ljava/util/List<Lpicocli/CommandLine$ParseResult$GroupMatchContainer;>;
MethodParameters:
Name Flags
group
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
invokevirtual picocli.CommandLine$ParseResult$GroupMatchContainer.toString:(Ljava/lang/StringBuilder;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lpicocli/CommandLine$ParseResult$GroupMatchContainer;
private java.lang.StringBuilder toString(java.lang.StringBuilder);
descriptor: (Ljava/lang/StringBuilder;)Ljava/lang/StringBuilder;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=7, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.lang.StringBuilder.length:()I
ifne 1
ldc "={"
goto 2
StackMap locals:
StackMap stack:
1: ldc ""
StackMap locals:
StackMap stack: java.lang.String
2: astore 2
start local 2 3: aload 1
invokevirtual java.lang.StringBuilder.length:()I
ifne 4
ldc "}"
goto 5
StackMap locals: java.lang.String
StackMap stack:
4: ldc ""
StackMap locals:
StackMap stack: java.lang.String
5: astore 3
start local 3 6: aload 0
getfield picocli.CommandLine$ParseResult$GroupMatchContainer.group:Lpicocli/CommandLine$Model$ArgGroupSpec;
ifnull 8
aload 1
invokevirtual java.lang.StringBuilder.length:()I
ifne 8
7: aload 1
aload 0
getfield picocli.CommandLine$ParseResult$GroupMatchContainer.group:Lpicocli/CommandLine$Model$ArgGroupSpec;
invokevirtual picocli.CommandLine$Model$ArgGroupSpec.synopsis:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
8: StackMap locals: java.lang.String
StackMap stack:
aload 1
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
9: ldc ""
astore 4
start local 4 10: aload 0
getfield picocli.CommandLine$ParseResult$GroupMatchContainer.matches:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 15
StackMap locals: picocli.CommandLine$ParseResult$GroupMatchContainer java.lang.StringBuilder java.lang.String java.lang.String java.lang.String top java.util.Iterator
StackMap stack:
11: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast picocli.CommandLine$ParseResult$GroupMatch
astore 5
start local 5 12: aload 1
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
13: aload 5
aload 1
invokevirtual picocli.CommandLine$ParseResult$GroupMatch.toString:(Ljava/lang/StringBuilder;)Ljava/lang/StringBuilder;
pop
14: ldc " "
astore 4
end local 5 15: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 11
16: aload 1
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lpicocli/CommandLine$ParseResult$GroupMatchContainer;
0 17 1 result Ljava/lang/StringBuilder;
3 17 2 prefix Ljava/lang/String;
6 17 3 suffix Ljava/lang/String;
10 17 4 infix Ljava/lang/String;
12 15 5 occurrence Lpicocli/CommandLine$ParseResult$GroupMatch;
MethodParameters:
Name Flags
result
void updateUnmatchedGroups(picocli.CommandLine$Model$ArgGroupSpec);
descriptor: (Lpicocli/CommandLine$Model$ArgGroupSpec;)V
flags: (0x0000)
Code:
stack=5, locals=7, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual picocli.CommandLine$ParseResult$GroupMatchContainer.group:()Lpicocli/CommandLine$Model$ArgGroupSpec;
aload 1
invokevirtual picocli.CommandLine$Model$ArgGroupSpec.parentGroup:()Lpicocli/CommandLine$Model$ArgGroupSpec;
invokestatic picocli.CommandLine$Assert.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z
new picocli.CommandLine$ParseResult$GroupMatchContainer$1
dup
aload 0
aload 1
invokespecial picocli.CommandLine$ParseResult$GroupMatchContainer$1.<init>:(Lpicocli/CommandLine$ParseResult$GroupMatchContainer;Lpicocli/CommandLine$Model$ArgGroupSpec;)V
invokestatic picocli.CommandLine$Assert.assertTrue:(ZLpicocli/CommandLine$IHelpSectionRenderer;)V
1: aload 0
aload 1
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
invokevirtual picocli.CommandLine$ParseResult$GroupMatchContainer.findMatchContainers:(Lpicocli/CommandLine$Model$ArgGroupSpec;Ljava/util/List;)Ljava/util/List;
astore 2
start local 2 2: aload 2
invokeinterface java.util.List.isEmpty:()Z
ifeq 4
3: aload 0
getfield picocli.CommandLine$ParseResult$GroupMatchContainer.unmatchedSubgroups:Ljava/util/List;
aload 1
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
4: StackMap locals: java.util.List
StackMap stack:
aload 2
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 10
StackMap locals: picocli.CommandLine$ParseResult$GroupMatchContainer picocli.CommandLine$Model$ArgGroupSpec java.util.List top java.util.Iterator
StackMap stack:
5: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast picocli.CommandLine$ParseResult$GroupMatchContainer
astore 3
start local 3 6: aload 1
invokevirtual picocli.CommandLine$Model$ArgGroupSpec.subgroups:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 9
StackMap locals: picocli.CommandLine$ParseResult$GroupMatchContainer picocli.CommandLine$Model$ArgGroupSpec java.util.List picocli.CommandLine$ParseResult$GroupMatchContainer java.util.Iterator top java.util.Iterator
StackMap stack:
7: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast picocli.CommandLine$Model$ArgGroupSpec
astore 5
start local 5 8: aload 3
aload 5
invokevirtual picocli.CommandLine$ParseResult$GroupMatchContainer.updateUnmatchedGroups:(Lpicocli/CommandLine$Model$ArgGroupSpec;)V
end local 5 9: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 7
end local 3 10: StackMap locals: picocli.CommandLine$ParseResult$GroupMatchContainer picocli.CommandLine$Model$ArgGroupSpec java.util.List top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
11: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lpicocli/CommandLine$ParseResult$GroupMatchContainer;
0 12 1 group Lpicocli/CommandLine$Model$ArgGroupSpec;
2 12 2 groupMatchContainers Ljava/util/List<Lpicocli/CommandLine$ParseResult$GroupMatchContainer;>;
6 10 3 groupMatchContainer Lpicocli/CommandLine$ParseResult$GroupMatchContainer;
8 9 5 subGroup Lpicocli/CommandLine$Model$ArgGroupSpec;
MethodParameters:
Name Flags
group final
void validate(picocli.CommandLine);
descriptor: (Lpicocli/CommandLine;)V
flags: (0x0000)
Code:
stack=9, locals=9, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual picocli.CommandLine$ParseResult$GroupMatchContainer.group:()Lpicocli/CommandLine$Model$ArgGroupSpec;
ifnonnull 2
aload 0
getfield picocli.CommandLine$ParseResult$GroupMatchContainer.matches:Ljava/util/List;
invokeinterface java.util.List.size:()I
iconst_1
if_icmple 2
1: aload 0
aload 0
getfield picocli.CommandLine$ParseResult$GroupMatchContainer.matches:Ljava/util/List;
aload 1
invokevirtual picocli.CommandLine$ParseResult$GroupMatchContainer.failGroupMultiplicityExceeded:(Ljava/util/List;Lpicocli/CommandLine;)V
2: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield picocli.CommandLine$ParseResult$GroupMatchContainer.matches:Ljava/util/List;
invokeinterface java.util.List.isEmpty:()Z
ifeq 3
getstatic picocli.CommandLine$ParseResult$GroupValidationResult.SUCCESS_ABSENT:Lpicocli/CommandLine$ParseResult$GroupValidationResult;
goto 4
StackMap locals:
StackMap stack: picocli.CommandLine$ParseResult$GroupMatchContainer
3: getstatic picocli.CommandLine$ParseResult$GroupValidationResult.SUCCESS_PRESENT:Lpicocli/CommandLine$ParseResult$GroupValidationResult;
StackMap locals: picocli.CommandLine$ParseResult$GroupMatchContainer picocli.CommandLine
StackMap stack: picocli.CommandLine$ParseResult$GroupMatchContainer picocli.CommandLine$ParseResult$GroupValidationResult
4: putfield picocli.CommandLine$ParseResult$GroupMatchContainer.validationResult:Lpicocli/CommandLine$ParseResult$GroupValidationResult;
5: aload 0
getfield picocli.CommandLine$ParseResult$GroupMatchContainer.unmatchedSubgroups:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 14
StackMap locals: picocli.CommandLine$ParseResult$GroupMatchContainer picocli.CommandLine top java.util.Iterator
StackMap stack:
6: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast picocli.CommandLine$Model$ArgGroupSpec
astore 2
start local 2 7: aload 2
invokevirtual picocli.CommandLine$Model$ArgGroupSpec.validate:()Z
ifeq 14
aload 2
invokevirtual picocli.CommandLine$Model$ArgGroupSpec.multiplicity:()Lpicocli/CommandLine$Range;
getfield picocli.CommandLine$Range.min:I
ifle 14
8: iconst_0
istore 4
start local 4 9: iconst_1
istore 5
start local 5 10: iconst_0
istore 6
start local 6 11: aload 2
invokevirtual picocli.CommandLine$Model$ArgGroupSpec.synopsisUnit:()Ljava/lang/String;
astore 7
start local 7 12: aload 2
invokevirtual picocli.CommandLine$Model$ArgGroupSpec.synopsisUnit:()Ljava/lang/String;
astore 8
start local 8 13: aload 0
aload 2
aload 1
iload 4
iload 5
iload 6
aload 7
aload 8
aload 8
invokevirtual picocli.CommandLine$Model$ArgGroupSpec.validate:(Lpicocli/CommandLine;IZZLjava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lpicocli/CommandLine$ParseResult$GroupValidationResult;
putfield picocli.CommandLine$ParseResult$GroupMatchContainer.validationResult:Lpicocli/CommandLine$ParseResult$GroupValidationResult;
end local 8 end local 7 end local 6 end local 5 end local 4 end local 2 14: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
15: aload 0
aload 1
invokevirtual picocli.CommandLine$ParseResult$GroupMatchContainer.validateGroupMultiplicity:(Lpicocli/CommandLine;)V
16: aload 0
getfield picocli.CommandLine$ParseResult$GroupMatchContainer.validationResult:Lpicocli/CommandLine$ParseResult$GroupValidationResult;
invokevirtual picocli.CommandLine$ParseResult$GroupValidationResult.blockingFailure:()Z
ifeq 18
17: aload 1
getfield picocli.CommandLine.interpreter:Lpicocli/CommandLine$Interpreter;
aload 0
getfield picocli.CommandLine$ParseResult$GroupMatchContainer.validationResult:Lpicocli/CommandLine$ParseResult$GroupValidationResult;
getfield picocli.CommandLine$ParseResult$GroupValidationResult.exception:Lpicocli/CommandLine$ParameterException;
invokevirtual picocli.CommandLine$Interpreter.maybeThrow:(Lpicocli/CommandLine$PicocliException;)V
18: StackMap locals: picocli.CommandLine$ParseResult$GroupMatchContainer picocli.CommandLine
StackMap stack:
aload 0
invokevirtual picocli.CommandLine$ParseResult$GroupMatchContainer.matches:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 24
StackMap locals: picocli.CommandLine$ParseResult$GroupMatchContainer picocli.CommandLine top java.util.Iterator
StackMap stack:
19: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast picocli.CommandLine$ParseResult$GroupMatch
astore 2
start local 2 20: aload 2
aload 1
invokevirtual picocli.CommandLine$ParseResult$GroupMatch.validate:(Lpicocli/CommandLine;)V
21: aload 2
getfield picocli.CommandLine$ParseResult$GroupMatch.validationResult:Lpicocli/CommandLine$ParseResult$GroupValidationResult;
invokevirtual picocli.CommandLine$ParseResult$GroupValidationResult.blockingFailure:()Z
ifeq 24
22: aload 0
aload 2
getfield picocli.CommandLine$ParseResult$GroupMatch.validationResult:Lpicocli/CommandLine$ParseResult$GroupValidationResult;
putfield picocli.CommandLine$ParseResult$GroupMatchContainer.validationResult:Lpicocli/CommandLine$ParseResult$GroupValidationResult;
23: goto 25
end local 2 24: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 19
25: StackMap locals: picocli.CommandLine$ParseResult$GroupMatchContainer picocli.CommandLine
StackMap stack:
aload 0
getfield picocli.CommandLine$ParseResult$GroupMatchContainer.validationResult:Lpicocli/CommandLine$ParseResult$GroupValidationResult;
invokevirtual picocli.CommandLine$ParseResult$GroupValidationResult.blockingFailure:()Z
ifeq 27
26: aload 1
getfield picocli.CommandLine.interpreter:Lpicocli/CommandLine$Interpreter;
aload 0
getfield picocli.CommandLine$ParseResult$GroupMatchContainer.validationResult:Lpicocli/CommandLine$ParseResult$GroupValidationResult;
getfield picocli.CommandLine$ParseResult$GroupValidationResult.exception:Lpicocli/CommandLine$ParameterException;
invokevirtual picocli.CommandLine$Interpreter.maybeThrow:(Lpicocli/CommandLine$PicocliException;)V
27: StackMap locals:
StackMap stack:
aload 0
invokevirtual picocli.CommandLine$ParseResult$GroupMatchContainer.group:()Lpicocli/CommandLine$Model$ArgGroupSpec;
ifnonnull 30
28: aload 0
getfield picocli.CommandLine$ParseResult$GroupMatchContainer.validationResult:Lpicocli/CommandLine$ParseResult$GroupValidationResult;
invokevirtual picocli.CommandLine$ParseResult$GroupValidationResult.success:()Z
ifne 30
29: aload 1
getfield picocli.CommandLine.interpreter:Lpicocli/CommandLine$Interpreter;
aload 0
getfield picocli.CommandLine$ParseResult$GroupMatchContainer.validationResult:Lpicocli/CommandLine$ParseResult$GroupValidationResult;
getfield picocli.CommandLine$ParseResult$GroupValidationResult.exception:Lpicocli/CommandLine$ParameterException;
invokevirtual picocli.CommandLine$Interpreter.maybeThrow:(Lpicocli/CommandLine$PicocliException;)V
30: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 this Lpicocli/CommandLine$ParseResult$GroupMatchContainer;
0 31 1 commandLine Lpicocli/CommandLine;
7 14 2 missing Lpicocli/CommandLine$Model$ArgGroupSpec;
9 14 4 presentCount I
10 14 5 haveMissing Z
11 14 6 someButNotAllSpecified Z
12 14 7 exclusiveElements Ljava/lang/String;
13 14 8 missingElements Ljava/lang/String;
20 24 2 match Lpicocli/CommandLine$ParseResult$GroupMatch;
MethodParameters:
Name Flags
commandLine
private void failGroupMultiplicityExceeded(java.util.List<picocli.CommandLine$ParseResult$GroupMatch>, picocli.CommandLine);
descriptor: (Ljava/util/List;Lpicocli/CommandLine;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=10, args_size=3
start local 0 start local 1 start local 2 0: new java.util.LinkedHashMap
dup
invokespecial java.util.LinkedHashMap.<init>:()V
astore 3
start local 3 1: ldc ""
astore 4
start local 4 2: aload 1
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 12
StackMap locals: picocli.CommandLine$ParseResult$GroupMatchContainer java.util.List picocli.CommandLine java.util.Map java.lang.String top java.util.Iterator
StackMap stack:
3: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast picocli.CommandLine$ParseResult$GroupMatch
astore 5
start local 5 4: aload 4
invokevirtual java.lang.String.length:()I
ifle 5
new java.lang.StringBuilder
dup
aload 4
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " and "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 4
5: StackMap locals: picocli.CommandLine$ParseResult$GroupMatchContainer java.util.List picocli.CommandLine java.util.Map java.lang.String picocli.CommandLine$ParseResult$GroupMatch java.util.Iterator
StackMap stack:
new java.lang.StringBuilder
dup
aload 4
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual picocli.CommandLine$ParseResult$GroupMatch.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 4
6: aload 5
invokevirtual picocli.CommandLine$ParseResult$GroupMatch.matchedSubgroups:()Ljava/util/Map;
astore 7
start local 7 7: aload 7
invokeinterface java.util.Map.keySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 9
goto 11
StackMap locals: picocli.CommandLine$ParseResult$GroupMatchContainer java.util.List picocli.CommandLine java.util.Map java.lang.String picocli.CommandLine$ParseResult$GroupMatch java.util.Iterator java.util.Map top java.util.Iterator
StackMap stack:
8: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast picocli.CommandLine$Model$ArgGroupSpec
astore 8
start local 8 9: aload 8
invokevirtual picocli.CommandLine$Model$ArgGroupSpec.validate:()Z
ifeq 11
10: aload 3
aload 8
aload 7
aload 8
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast picocli.CommandLine$ParseResult$GroupMatchContainer
invokevirtual picocli.CommandLine$ParseResult$GroupMatchContainer.matches:()Ljava/util/List;
invokestatic picocli.CommandLine.addValueToListInMap:(Ljava/util/Map;Ljava/lang/Object;Ljava/lang/Object;)V
end local 8 11: StackMap locals:
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 8
end local 7 end local 5 12: StackMap locals: picocli.CommandLine$ParseResult$GroupMatchContainer java.util.List picocli.CommandLine java.util.Map java.lang.String top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
13: aload 3
invokeinterface java.util.Map.isEmpty:()Z
ifne 16
14: aload 0
aload 3
aload 2
invokevirtual picocli.CommandLine$ParseResult$GroupMatchContainer.simplifyErrorMessageForSingleGroup:(Ljava/util/Map;Lpicocli/CommandLine;)Z
ifne 16
15: aload 2
getfield picocli.CommandLine.interpreter:Lpicocli/CommandLine$Interpreter;
new picocli.CommandLine$MaxValuesExceededException
dup
aload 2
new java.lang.StringBuilder
dup
ldc "Error: expected only one match but got "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial picocli.CommandLine$MaxValuesExceededException.<init>:(Lpicocli/CommandLine;Ljava/lang/String;)V
invokevirtual picocli.CommandLine$Interpreter.maybeThrow:(Lpicocli/CommandLine$PicocliException;)V
16: StackMap locals: picocli.CommandLine$ParseResult$GroupMatchContainer java.util.List picocli.CommandLine java.util.Map java.lang.String
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 17 0 this Lpicocli/CommandLine$ParseResult$GroupMatchContainer;
0 17 1 groupMatches Ljava/util/List<Lpicocli/CommandLine$ParseResult$GroupMatch;>;
0 17 2 commandLine Lpicocli/CommandLine;
1 17 3 matchesPerGroup Ljava/util/Map<Lpicocli/CommandLine$Model$ArgGroupSpec;Ljava/util/List<Ljava/util/List<Lpicocli/CommandLine$ParseResult$GroupMatch;>;>;>;
2 17 4 msg Ljava/lang/String;
4 12 5 match Lpicocli/CommandLine$ParseResult$GroupMatch;
7 12 7 subgroups Ljava/util/Map<Lpicocli/CommandLine$Model$ArgGroupSpec;Lpicocli/CommandLine$ParseResult$GroupMatchContainer;>;
9 11 8 group Lpicocli/CommandLine$Model$ArgGroupSpec;
Signature: (Ljava/util/List<Lpicocli/CommandLine$ParseResult$GroupMatch;>;Lpicocli/CommandLine;)V
MethodParameters:
Name Flags
groupMatches
commandLine
private boolean simplifyErrorMessageForSingleGroup(java.util.Map<picocli.CommandLine$Model$ArgGroupSpec, java.util.List<java.util.List<picocli.CommandLine$ParseResult$GroupMatch>>>, picocli.CommandLine);
descriptor: (Ljava/util/Map;Lpicocli/CommandLine;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokeinterface java.util.Map.keySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 4
goto 13
StackMap locals: picocli.CommandLine$ParseResult$GroupMatchContainer java.util.Map picocli.CommandLine top java.util.Iterator
StackMap stack:
1: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast picocli.CommandLine$Model$ArgGroupSpec
astore 3
start local 3 2: aload 1
aload 3
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Collection
invokestatic picocli.CommandLine.flatList:(Ljava/util/Collection;)Ljava/util/List;
astore 5
start local 5 3: new java.util.LinkedHashSet
dup
invokespecial java.util.LinkedHashSet.<init>:()V
astore 6
start local 6 4: aload 5
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 8
goto 8
StackMap locals: picocli.CommandLine$ParseResult$GroupMatchContainer java.util.Map picocli.CommandLine picocli.CommandLine$Model$ArgGroupSpec java.util.Iterator java.util.List java.util.Set top java.util.Iterator
StackMap stack:
5: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast picocli.CommandLine$ParseResult$GroupMatch
astore 7
start local 7 6: aload 7
invokevirtual picocli.CommandLine$ParseResult$GroupMatch.matchedSubgroups:()Ljava/util/Map;
invokeinterface java.util.Map.isEmpty:()Z
ifne 7
iconst_0
ireturn
7: StackMap locals: picocli.CommandLine$ParseResult$GroupMatchContainer java.util.Map picocli.CommandLine picocli.CommandLine$Model$ArgGroupSpec java.util.Iterator java.util.List java.util.Set picocli.CommandLine$ParseResult$GroupMatch java.util.Iterator
StackMap stack:
aload 6
aload 7
getfield picocli.CommandLine$ParseResult$GroupMatch.matchedValues:Ljava/util/Map;
invokeinterface java.util.Map.keySet:()Ljava/util/Set;
invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
pop
end local 7 8: StackMap locals: picocli.CommandLine$ParseResult$GroupMatchContainer java.util.Map picocli.CommandLine picocli.CommandLine$Model$ArgGroupSpec java.util.Iterator java.util.List java.util.Set top java.util.Iterator
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
9: aload 3
aload 2
aload 6
invokevirtual picocli.CommandLine$Model$ArgGroupSpec.validateArgs:(Lpicocli/CommandLine;Ljava/util/Collection;)Lpicocli/CommandLine$ParseResult$GroupValidationResult;
astore 7
start local 7 10: aload 7
getfield picocli.CommandLine$ParseResult$GroupValidationResult.exception:Lpicocli/CommandLine$ParameterException;
ifnull 13
11: aload 2
getfield picocli.CommandLine.interpreter:Lpicocli/CommandLine$Interpreter;
aload 7
getfield picocli.CommandLine$ParseResult$GroupValidationResult.exception:Lpicocli/CommandLine$ParameterException;
invokevirtual picocli.CommandLine$Interpreter.maybeThrow:(Lpicocli/CommandLine$PicocliException;)V
12: iconst_1
ireturn
end local 7 end local 6 end local 5 end local 3 13: StackMap locals: picocli.CommandLine$ParseResult$GroupMatchContainer java.util.Map picocli.CommandLine top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
14: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lpicocli/CommandLine$ParseResult$GroupMatchContainer;
0 15 1 matchesPerGroup Ljava/util/Map<Lpicocli/CommandLine$Model$ArgGroupSpec;Ljava/util/List<Ljava/util/List<Lpicocli/CommandLine$ParseResult$GroupMatch;>;>;>;
0 15 2 commandLine Lpicocli/CommandLine;
2 13 3 group Lpicocli/CommandLine$Model$ArgGroupSpec;
3 13 5 flat Ljava/util/List<Lpicocli/CommandLine$ParseResult$GroupMatch;>;
4 13 6 matchedArgs Ljava/util/Set<Lpicocli/CommandLine$Model$ArgSpec;>;
6 8 7 match Lpicocli/CommandLine$ParseResult$GroupMatch;
10 13 7 validationResult Lpicocli/CommandLine$ParseResult$GroupValidationResult;
Signature: (Ljava/util/Map<Lpicocli/CommandLine$Model$ArgGroupSpec;Ljava/util/List<Ljava/util/List<Lpicocli/CommandLine$ParseResult$GroupMatch;>;>;>;Lpicocli/CommandLine;)Z
MethodParameters:
Name Flags
matchesPerGroup
commandLine
private void validateGroupMultiplicity(picocli.CommandLine);
descriptor: (Lpicocli/CommandLine;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=11, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield picocli.CommandLine$ParseResult$GroupMatchContainer.group:Lpicocli/CommandLine$Model$ArgGroupSpec;
ifnull 1
aload 0
getfield picocli.CommandLine$ParseResult$GroupMatchContainer.group:Lpicocli/CommandLine$Model$ArgGroupSpec;
invokevirtual picocli.CommandLine$Model$ArgGroupSpec.validate:()Z
ifne 2
StackMap locals:
StackMap stack:
1: return
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual picocli.CommandLine$ParseResult$GroupMatchContainer.matches:()Ljava/util/List;
invokeinterface java.util.List.size:()I
istore 2
start local 2 3: iload 2
ifgt 4
aload 0
getfield picocli.CommandLine$ParseResult$GroupMatchContainer.group:Lpicocli/CommandLine$Model$ArgGroupSpec;
invokevirtual picocli.CommandLine$Model$ArgGroupSpec.args:()Ljava/util/Set;
invokeinterface java.util.Set.isEmpty:()Z
ifeq 4
iconst_0
goto 5
StackMap locals: int
StackMap stack:
4: iconst_1
StackMap locals:
StackMap stack: int
5: istore 3
start local 3 6: iload 3
ifeq 17
iload 2
aload 0
getfield picocli.CommandLine$ParseResult$GroupMatchContainer.group:Lpicocli/CommandLine$Model$ArgGroupSpec;
invokevirtual picocli.CommandLine$Model$ArgGroupSpec.multiplicity:()Lpicocli/CommandLine$Range;
getfield picocli.CommandLine$Range.min:I
if_icmpge 17
7: aload 0
getfield picocli.CommandLine$ParseResult$GroupMatchContainer.validationResult:Lpicocli/CommandLine$ParseResult$GroupValidationResult;
invokevirtual picocli.CommandLine$ParseResult$GroupValidationResult.success:()Z
ifeq 25
8: aload 0
9: new picocli.CommandLine$ParseResult$GroupValidationResult
dup
10: iload 2
ifne 11
getstatic picocli.CommandLine$ParseResult$GroupValidationResult$Type.FAILURE_ABSENT:Lpicocli/CommandLine$ParseResult$GroupValidationResult$Type;
goto 12
StackMap locals: picocli.CommandLine$ParseResult$GroupMatchContainer picocli.CommandLine int int
StackMap stack: picocli.CommandLine$ParseResult$GroupMatchContainer new 9 new 9
11: getstatic picocli.CommandLine$ParseResult$GroupValidationResult$Type.FAILURE_PARTIAL:Lpicocli/CommandLine$ParseResult$GroupValidationResult$Type;
12: StackMap locals: picocli.CommandLine$ParseResult$GroupMatchContainer picocli.CommandLine int int
StackMap stack: picocli.CommandLine$ParseResult$GroupMatchContainer new 9 new 9 picocli.CommandLine$ParseResult$GroupValidationResult$Type
new picocli.CommandLine$MissingParameterException
dup
aload 1
aload 0
getfield picocli.CommandLine$ParseResult$GroupMatchContainer.group:Lpicocli/CommandLine$Model$ArgGroupSpec;
invokevirtual picocli.CommandLine$Model$ArgGroupSpec.args:()Ljava/util/Set;
13: new java.lang.StringBuilder
dup
ldc "Error: Group: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield picocli.CommandLine$ParseResult$GroupMatchContainer.group:Lpicocli/CommandLine$Model$ArgGroupSpec;
invokevirtual picocli.CommandLine$Model$ArgGroupSpec.synopsisUnit:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " must be specified "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield picocli.CommandLine$ParseResult$GroupMatchContainer.group:Lpicocli/CommandLine$Model$ArgGroupSpec;
invokevirtual picocli.CommandLine$Model$ArgGroupSpec.multiplicity:()Lpicocli/CommandLine$Range;
getfield picocli.CommandLine$Range.min:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " times but was matched "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " times"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
14: invokespecial picocli.CommandLine$MissingParameterException.<init>:(Lpicocli/CommandLine;Ljava/util/Collection;Ljava/lang/String;)V
invokespecial picocli.CommandLine$ParseResult$GroupValidationResult.<init>:(Lpicocli/CommandLine$ParseResult$GroupValidationResult$Type;Lpicocli/CommandLine$ParameterException;)V
15: putfield picocli.CommandLine$ParseResult$GroupMatchContainer.validationResult:Lpicocli/CommandLine$ParseResult$GroupValidationResult;
16: goto 25
StackMap locals:
StackMap stack:
17: iload 2
aload 0
getfield picocli.CommandLine$ParseResult$GroupMatchContainer.group:Lpicocli/CommandLine$Model$ArgGroupSpec;
invokevirtual picocli.CommandLine$Model$ArgGroupSpec.multiplicity:()Lpicocli/CommandLine$Range;
getfield picocli.CommandLine$Range.max:I
if_icmple 25
18: aload 0
getfield picocli.CommandLine$ParseResult$GroupMatchContainer.validationResult:Lpicocli/CommandLine$ParseResult$GroupValidationResult;
invokevirtual picocli.CommandLine$ParseResult$GroupValidationResult.blockingFailure:()Z
ifne 25
19: aload 0
new picocli.CommandLine$ParseResult$GroupValidationResult
dup
20: getstatic picocli.CommandLine$ParseResult$GroupValidationResult$Type.FAILURE_PRESENT:Lpicocli/CommandLine$ParseResult$GroupValidationResult$Type;
21: new picocli.CommandLine$MaxValuesExceededException
dup
aload 1
22: new java.lang.StringBuilder
dup
ldc "Error: Group: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield picocli.CommandLine$ParseResult$GroupMatchContainer.group:Lpicocli/CommandLine$Model$ArgGroupSpec;
invokevirtual picocli.CommandLine$Model$ArgGroupSpec.synopsisUnit:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " can only be specified "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield picocli.CommandLine$ParseResult$GroupMatchContainer.group:Lpicocli/CommandLine$Model$ArgGroupSpec;
invokevirtual picocli.CommandLine$Model$ArgGroupSpec.multiplicity:()Lpicocli/CommandLine$Range;
getfield picocli.CommandLine$Range.max:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " times but was matched "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " times."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
23: invokespecial picocli.CommandLine$MaxValuesExceededException.<init>:(Lpicocli/CommandLine;Ljava/lang/String;)V
invokespecial picocli.CommandLine$ParseResult$GroupValidationResult.<init>:(Lpicocli/CommandLine$ParseResult$GroupValidationResult$Type;Lpicocli/CommandLine$ParameterException;)V
24: putfield picocli.CommandLine$ParseResult$GroupMatchContainer.validationResult:Lpicocli/CommandLine$ParseResult$GroupValidationResult;
25: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lpicocli/CommandLine$ParseResult$GroupMatchContainer;
0 26 1 commandLine Lpicocli/CommandLine;
3 26 2 matchCount I
6 26 3 checkMinimum Z
MethodParameters:
Name Flags
commandLine
}
SourceFile: "CommandLine.java"
NestHost: picocli.CommandLine
InnerClasses:
private final Assert = picocli.CommandLine$Assert of picocli.CommandLine
public abstract IHelpSectionRenderer = picocli.CommandLine$IHelpSectionRenderer of picocli.CommandLine
private Interpreter = picocli.CommandLine$Interpreter of picocli.CommandLine
public MaxValuesExceededException = picocli.CommandLine$MaxValuesExceededException of picocli.CommandLine
public MissingParameterException = picocli.CommandLine$MissingParameterException of picocli.CommandLine
public final Model = picocli.CommandLine$Model of picocli.CommandLine
public ArgGroupSpec = picocli.CommandLine$Model$ArgGroupSpec of picocli.CommandLine$Model
public abstract ArgSpec = picocli.CommandLine$Model$ArgSpec of picocli.CommandLine$Model
public ParameterException = picocli.CommandLine$ParameterException of picocli.CommandLine
public ParseResult = picocli.CommandLine$ParseResult of picocli.CommandLine
public GroupMatch = picocli.CommandLine$ParseResult$GroupMatch of picocli.CommandLine$ParseResult
public GroupMatchContainer = picocli.CommandLine$ParseResult$GroupMatchContainer of picocli.CommandLine$ParseResult
picocli.CommandLine$ParseResult$GroupMatchContainer$1
GroupValidationResult = picocli.CommandLine$ParseResult$GroupValidationResult of picocli.CommandLine$ParseResult
final Type = picocli.CommandLine$ParseResult$GroupValidationResult$Type of picocli.CommandLine$ParseResult$GroupValidationResult
public PicocliException = picocli.CommandLine$PicocliException of picocli.CommandLine
public Range = picocli.CommandLine$Range of picocli.CommandLine
Tracer = picocli.CommandLine$Tracer of picocli.CommandLine