public class com.beust.jcommander.ParameterDescription
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.beust.jcommander.ParameterDescription
super_class: java.lang.Object
{
private java.lang.Object object;
descriptor: Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
private com.beust.jcommander.WrappedParameter wrappedParameter;
descriptor: Lcom/beust/jcommander/WrappedParameter;
flags: (0x0002) ACC_PRIVATE
private com.beust.jcommander.Parameter parameterAnnotation;
descriptor: Lcom/beust/jcommander/Parameter;
flags: (0x0002) ACC_PRIVATE
private com.beust.jcommander.DynamicParameter dynamicParameterAnnotation;
descriptor: Lcom/beust/jcommander/DynamicParameter;
flags: (0x0002) ACC_PRIVATE
private com.beust.jcommander.Parameterized parameterized;
descriptor: Lcom/beust/jcommander/Parameterized;
flags: (0x0002) ACC_PRIVATE
private boolean assigned;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private java.util.ResourceBundle bundle;
descriptor: Ljava/util/ResourceBundle;
flags: (0x0002) ACC_PRIVATE
private java.lang.String description;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private com.beust.jcommander.JCommander jCommander;
descriptor: Lcom/beust/jcommander/JCommander;
flags: (0x0002) ACC_PRIVATE
private java.lang.Object defaultObject;
descriptor: Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
private java.lang.String longestName;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
public void <init>(java.lang.Object, com.beust.jcommander.DynamicParameter, com.beust.jcommander.Parameterized, java.util.ResourceBundle, com.beust.jcommander.JCommander);
descriptor: (Ljava/lang/Object;Lcom/beust/jcommander/DynamicParameter;Lcom/beust/jcommander/Parameterized;Ljava/util/ResourceBundle;Lcom/beust/jcommander/JCommander;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_0
putfield com.beust.jcommander.ParameterDescription.assigned:Z
2: aload 0
ldc ""
putfield com.beust.jcommander.ParameterDescription.longestName:Ljava/lang/String;
3: ldc Ljava/util/Map;
aload 3
invokevirtual com.beust.jcommander.Parameterized.getType:()Ljava/lang/Class;
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifne 8
4: new com.beust.jcommander.ParameterException
dup
new java.lang.StringBuilder
dup
ldc "@DynamicParameter "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual com.beust.jcommander.Parameterized.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
5: ldc " should be of type "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
6: ldc "Map but is "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual com.beust.jcommander.Parameterized.getType:()Ljava/lang/Class;
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;
7: invokespecial com.beust.jcommander.ParameterException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals: com.beust.jcommander.ParameterDescription java.lang.Object com.beust.jcommander.DynamicParameter com.beust.jcommander.Parameterized java.util.ResourceBundle com.beust.jcommander.JCommander
StackMap stack:
aload 0
aload 2
putfield com.beust.jcommander.ParameterDescription.dynamicParameterAnnotation:Lcom/beust/jcommander/DynamicParameter;
9: aload 0
new com.beust.jcommander.WrappedParameter
dup
aload 0
getfield com.beust.jcommander.ParameterDescription.dynamicParameterAnnotation:Lcom/beust/jcommander/DynamicParameter;
invokespecial com.beust.jcommander.WrappedParameter.<init>:(Lcom/beust/jcommander/DynamicParameter;)V
putfield com.beust.jcommander.ParameterDescription.wrappedParameter:Lcom/beust/jcommander/WrappedParameter;
10: aload 0
aload 1
aload 3
aload 4
aload 5
invokevirtual com.beust.jcommander.ParameterDescription.init:(Ljava/lang/Object;Lcom/beust/jcommander/Parameterized;Ljava/util/ResourceBundle;Lcom/beust/jcommander/JCommander;)V
11: return
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 this Lcom/beust/jcommander/ParameterDescription;
0 12 1 object Ljava/lang/Object;
0 12 2 annotation Lcom/beust/jcommander/DynamicParameter;
0 12 3 parameterized Lcom/beust/jcommander/Parameterized;
0 12 4 bundle Ljava/util/ResourceBundle;
0 12 5 jc Lcom/beust/jcommander/JCommander;
MethodParameters:
Name Flags
object
annotation
parameterized
bundle
jc
public void <init>(java.lang.Object, com.beust.jcommander.Parameter, com.beust.jcommander.Parameterized, java.util.ResourceBundle, com.beust.jcommander.JCommander);
descriptor: (Ljava/lang/Object;Lcom/beust/jcommander/Parameter;Lcom/beust/jcommander/Parameterized;Ljava/util/ResourceBundle;Lcom/beust/jcommander/JCommander;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_0
putfield com.beust.jcommander.ParameterDescription.assigned:Z
2: aload 0
ldc ""
putfield com.beust.jcommander.ParameterDescription.longestName:Ljava/lang/String;
3: aload 0
aload 2
putfield com.beust.jcommander.ParameterDescription.parameterAnnotation:Lcom/beust/jcommander/Parameter;
4: aload 0
new com.beust.jcommander.WrappedParameter
dup
aload 0
getfield com.beust.jcommander.ParameterDescription.parameterAnnotation:Lcom/beust/jcommander/Parameter;
invokespecial com.beust.jcommander.WrappedParameter.<init>:(Lcom/beust/jcommander/Parameter;)V
putfield com.beust.jcommander.ParameterDescription.wrappedParameter:Lcom/beust/jcommander/WrappedParameter;
5: aload 0
aload 1
aload 3
aload 4
aload 5
invokevirtual com.beust.jcommander.ParameterDescription.init:(Ljava/lang/Object;Lcom/beust/jcommander/Parameterized;Ljava/util/ResourceBundle;Lcom/beust/jcommander/JCommander;)V
6: return
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 7 0 this Lcom/beust/jcommander/ParameterDescription;
0 7 1 object Ljava/lang/Object;
0 7 2 annotation Lcom/beust/jcommander/Parameter;
0 7 3 parameterized Lcom/beust/jcommander/Parameterized;
0 7 4 bundle Ljava/util/ResourceBundle;
0 7 5 jc Lcom/beust/jcommander/JCommander;
MethodParameters:
Name Flags
object
annotation
parameterized
bundle
jc
private java.util.ResourceBundle findResourceBundle(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/util/ResourceBundle;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
ldc Lcom/beust/jcommander/Parameters;
invokevirtual java.lang.Class.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
checkcast com.beust.jcommander.Parameters
astore 3
start local 3 2: aload 3
ifnull 5
aload 0
aload 3
invokeinterface com.beust.jcommander.Parameters.resourceBundle:()Ljava/lang/String;
invokevirtual com.beust.jcommander.ParameterDescription.isEmpty:(Ljava/lang/String;)Z
ifne 5
3: aload 3
invokeinterface com.beust.jcommander.Parameters.resourceBundle:()Ljava/lang/String;
invokestatic java.util.Locale.getDefault:()Ljava/util/Locale;
invokestatic java.util.ResourceBundle.getBundle:(Ljava/lang/String;Ljava/util/Locale;)Ljava/util/ResourceBundle;
astore 2
4: goto 10
5: StackMap locals: java.util.ResourceBundle com.beust.jcommander.Parameters
StackMap stack:
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
6: ldc Lcom/beust/jcommander/ResourceBundle;
7: invokevirtual java.lang.Class.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
checkcast com.beust.jcommander.ResourceBundle
astore 4
start local 4 8: aload 4
ifnull 10
aload 0
aload 4
invokeinterface com.beust.jcommander.ResourceBundle.value:()Ljava/lang/String;
invokevirtual com.beust.jcommander.ParameterDescription.isEmpty:(Ljava/lang/String;)Z
ifne 10
9: aload 4
invokeinterface com.beust.jcommander.ResourceBundle.value:()Ljava/lang/String;
invokestatic java.util.Locale.getDefault:()Ljava/util/Locale;
invokestatic java.util.ResourceBundle.getBundle:(Ljava/lang/String;Ljava/util/Locale;)Ljava/util/ResourceBundle;
astore 2
end local 4 10: StackMap locals:
StackMap stack:
aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/beust/jcommander/ParameterDescription;
0 11 1 o Ljava/lang/Object;
1 11 2 result Ljava/util/ResourceBundle;
2 11 3 p Lcom/beust/jcommander/Parameters;
8 10 4 a Lcom/beust/jcommander/ResourceBundle;
MethodParameters:
Name Flags
o
private boolean isEmpty(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnull 1
ldc ""
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/beust/jcommander/ParameterDescription;
0 2 1 s Ljava/lang/String;
MethodParameters:
Name Flags
s
private void initDescription(java.lang.String, java.lang.String, java.lang.String[]);
descriptor: (Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
putfield com.beust.jcommander.ParameterDescription.description:Ljava/lang/String;
1: ldc ""
aload 2
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 4
2: aload 0
getfield com.beust.jcommander.ParameterDescription.bundle:Ljava/util/ResourceBundle;
ifnull 4
3: aload 0
aload 0
getfield com.beust.jcommander.ParameterDescription.bundle:Ljava/util/ResourceBundle;
aload 2
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
putfield com.beust.jcommander.ParameterDescription.description:Ljava/lang/String;
4: StackMap locals:
StackMap stack:
aload 3
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 8
StackMap locals: com.beust.jcommander.ParameterDescription java.lang.String java.lang.String java.lang.String[] top int int java.lang.String[]
StackMap stack:
5: aload 7
iload 5
aaload
astore 4
start local 4 6: aload 4
invokevirtual java.lang.String.length:()I
aload 0
getfield com.beust.jcommander.ParameterDescription.longestName:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
if_icmple 7
aload 0
aload 4
putfield com.beust.jcommander.ParameterDescription.longestName:Ljava/lang/String;
end local 4 7: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
8: iload 5
iload 6
if_icmplt 5
9: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/beust/jcommander/ParameterDescription;
0 10 1 description Ljava/lang/String;
0 10 2 descriptionKey Ljava/lang/String;
0 10 3 names [Ljava/lang/String;
6 7 4 name Ljava/lang/String;
MethodParameters:
Name Flags
description
descriptionKey
names
private void init(java.lang.Object, com.beust.jcommander.Parameterized, java.util.ResourceBundle, com.beust.jcommander.JCommander);
descriptor: (Ljava/lang/Object;Lcom/beust/jcommander/Parameterized;Ljava/util/ResourceBundle;Lcom/beust/jcommander/JCommander;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
putfield com.beust.jcommander.ParameterDescription.object:Ljava/lang/Object;
1: aload 0
aload 2
putfield com.beust.jcommander.ParameterDescription.parameterized:Lcom/beust/jcommander/Parameterized;
2: aload 0
aload 3
putfield com.beust.jcommander.ParameterDescription.bundle:Ljava/util/ResourceBundle;
3: aload 0
getfield com.beust.jcommander.ParameterDescription.bundle:Ljava/util/ResourceBundle;
ifnonnull 5
4: aload 0
aload 0
aload 1
invokevirtual com.beust.jcommander.ParameterDescription.findResourceBundle:(Ljava/lang/Object;)Ljava/util/ResourceBundle;
putfield com.beust.jcommander.ParameterDescription.bundle:Ljava/util/ResourceBundle;
5: StackMap locals:
StackMap stack:
aload 0
aload 4
putfield com.beust.jcommander.ParameterDescription.jCommander:Lcom/beust/jcommander/JCommander;
6: aload 0
getfield com.beust.jcommander.ParameterDescription.parameterAnnotation:Lcom/beust/jcommander/Parameter;
ifnull 16
7: ldc Ljava/lang/Enum;
aload 2
invokevirtual com.beust.jcommander.Parameterized.getType:()Ljava/lang/Class;
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 11
8: aload 0
getfield com.beust.jcommander.ParameterDescription.parameterAnnotation:Lcom/beust/jcommander/Parameter;
invokeinterface com.beust.jcommander.Parameter.description:()Ljava/lang/String;
invokevirtual java.lang.String.isEmpty:()Z
ifeq 11
9: new java.lang.StringBuilder
dup
ldc "Options: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual com.beust.jcommander.Parameterized.getType:()Ljava/lang/Class;
invokestatic java.util.EnumSet.allOf:(Ljava/lang/Class;)Ljava/util/EnumSet;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 5
start local 5 10: goto 12
end local 5 11: StackMap locals:
StackMap stack:
aload 0
getfield com.beust.jcommander.ParameterDescription.parameterAnnotation:Lcom/beust/jcommander/Parameter;
invokeinterface com.beust.jcommander.Parameter.description:()Ljava/lang/String;
astore 5
start local 5 12: StackMap locals: java.lang.String
StackMap stack:
aload 0
aload 5
aload 0
getfield com.beust.jcommander.ParameterDescription.parameterAnnotation:Lcom/beust/jcommander/Parameter;
invokeinterface com.beust.jcommander.Parameter.descriptionKey:()Ljava/lang/String;
13: aload 0
getfield com.beust.jcommander.ParameterDescription.parameterAnnotation:Lcom/beust/jcommander/Parameter;
invokeinterface com.beust.jcommander.Parameter.names:()[Ljava/lang/String;
14: invokevirtual com.beust.jcommander.ParameterDescription.initDescription:(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)V
end local 5 15: goto 23
StackMap locals:
StackMap stack:
16: aload 0
getfield com.beust.jcommander.ParameterDescription.dynamicParameterAnnotation:Lcom/beust/jcommander/DynamicParameter;
ifnull 22
17: aload 0
aload 0
getfield com.beust.jcommander.ParameterDescription.dynamicParameterAnnotation:Lcom/beust/jcommander/DynamicParameter;
invokeinterface com.beust.jcommander.DynamicParameter.description:()Ljava/lang/String;
18: aload 0
getfield com.beust.jcommander.ParameterDescription.dynamicParameterAnnotation:Lcom/beust/jcommander/DynamicParameter;
invokeinterface com.beust.jcommander.DynamicParameter.descriptionKey:()Ljava/lang/String;
19: aload 0
getfield com.beust.jcommander.ParameterDescription.dynamicParameterAnnotation:Lcom/beust/jcommander/DynamicParameter;
invokeinterface com.beust.jcommander.DynamicParameter.names:()[Ljava/lang/String;
20: invokevirtual com.beust.jcommander.ParameterDescription.initDescription:(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)V
21: goto 23
22: StackMap locals:
StackMap stack:
new java.lang.AssertionError
dup
ldc "Shound never happen"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
23: StackMap locals:
StackMap stack:
aload 0
aload 2
aload 1
invokevirtual com.beust.jcommander.Parameterized.get:(Ljava/lang/Object;)Ljava/lang/Object;
putfield com.beust.jcommander.ParameterDescription.defaultObject:Ljava/lang/Object;
24: goto 26
StackMap locals:
StackMap stack: java.lang.Exception
25: pop
26: StackMap locals:
StackMap stack:
aload 0
getfield com.beust.jcommander.ParameterDescription.defaultObject:Ljava/lang/Object;
ifnull 29
27: aload 0
getfield com.beust.jcommander.ParameterDescription.parameterAnnotation:Lcom/beust/jcommander/Parameter;
ifnull 29
28: aload 0
aload 0
getfield com.beust.jcommander.ParameterDescription.parameterAnnotation:Lcom/beust/jcommander/Parameter;
invokeinterface com.beust.jcommander.Parameter.names:()[Ljava/lang/String;
invokevirtual com.beust.jcommander.ParameterDescription.validateDefaultValues:([Ljava/lang/String;)V
29: StackMap locals:
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 30 0 this Lcom/beust/jcommander/ParameterDescription;
0 30 1 object Ljava/lang/Object;
0 30 2 parameterized Lcom/beust/jcommander/Parameterized;
0 30 3 bundle Ljava/util/ResourceBundle;
0 30 4 jCommander Lcom/beust/jcommander/JCommander;
10 11 5 description Ljava/lang/String;
12 15 5 description Ljava/lang/String;
Exception table:
from to target type
23 24 25 Class java.lang.Exception
MethodParameters:
Name Flags
object
parameterized
bundle
jCommander
private void validateDefaultValues(java.lang.String[]);
descriptor: ([Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
arraylength
ifle 1
aload 1
iconst_0
aaload
goto 2
StackMap locals:
StackMap stack:
1: ldc ""
StackMap locals:
StackMap stack: java.lang.String
2: astore 2
start local 2 3: aload 0
aload 2
aload 0
getfield com.beust.jcommander.ParameterDescription.defaultObject:Ljava/lang/Object;
invokevirtual com.beust.jcommander.ParameterDescription.validateValueParameter:(Ljava/lang/String;Ljava/lang/Object;)V
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/beust/jcommander/ParameterDescription;
0 5 1 names [Ljava/lang/String;
3 5 2 name Ljava/lang/String;
MethodParameters:
Name Flags
names
public java.lang.String getLongestName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.beust.jcommander.ParameterDescription.longestName:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/beust/jcommander/ParameterDescription;
public java.lang.Object getDefault();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.beust.jcommander.ParameterDescription.defaultObject:Ljava/lang/Object;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/beust/jcommander/ParameterDescription;
public java.lang.String getDescription();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.beust.jcommander.ParameterDescription.description:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/beust/jcommander/ParameterDescription;
public java.lang.Object getObject();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.beust.jcommander.ParameterDescription.object:Ljava/lang/Object;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/beust/jcommander/ParameterDescription;
public java.lang.String getNames();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 1
start local 1 1: aload 0
getfield com.beust.jcommander.ParameterDescription.wrappedParameter:Lcom/beust/jcommander/WrappedParameter;
invokevirtual com.beust.jcommander.WrappedParameter.names:()[Ljava/lang/String;
astore 2
start local 2 2: iconst_0
istore 3
start local 3 3: goto 7
4: StackMap locals: java.lang.StringBuilder java.lang.String[] int
StackMap stack:
iload 3
ifle 5
aload 1
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
5: StackMap locals:
StackMap stack:
aload 1
aload 2
iload 3
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
6: iinc 3 1
StackMap locals:
StackMap stack:
7: iload 3
aload 2
arraylength
if_icmplt 4
end local 3 8: aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/beust/jcommander/ParameterDescription;
1 9 1 sb Ljava/lang/StringBuilder;
2 9 2 names [Ljava/lang/String;
3 8 3 i I
public com.beust.jcommander.WrappedParameter getParameter();
descriptor: ()Lcom/beust/jcommander/WrappedParameter;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.beust.jcommander.ParameterDescription.wrappedParameter:Lcom/beust/jcommander/WrappedParameter;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/beust/jcommander/ParameterDescription;
public com.beust.jcommander.Parameterized getParameterized();
descriptor: ()Lcom/beust/jcommander/Parameterized;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.beust.jcommander.ParameterDescription.parameterized:Lcom/beust/jcommander/Parameterized;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/beust/jcommander/ParameterDescription;
private boolean isMultiOption();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield com.beust.jcommander.ParameterDescription.parameterized:Lcom/beust/jcommander/Parameterized;
invokevirtual com.beust.jcommander.Parameterized.getType:()Ljava/lang/Class;
astore 1
start local 1 1: aload 1
ldc Ljava/util/List;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 4
aload 1
ldc Ljava/util/Set;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 4
2: aload 0
getfield com.beust.jcommander.ParameterDescription.parameterized:Lcom/beust/jcommander/Parameterized;
invokevirtual com.beust.jcommander.Parameterized.isDynamicParameter:()Z
ifne 4
3: iconst_0
ireturn
StackMap locals: java.lang.Class
StackMap stack:
4: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/beust/jcommander/ParameterDescription;
1 5 1 fieldType Ljava/lang/Class<*>;
public void addValue(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_0
invokevirtual com.beust.jcommander.ParameterDescription.addValue:(Ljava/lang/String;Z)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/beust/jcommander/ParameterDescription;
0 2 1 value Ljava/lang/String;
MethodParameters:
Name Flags
value
public boolean isAssigned();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.beust.jcommander.ParameterDescription.assigned:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/beust/jcommander/ParameterDescription;
public void setAssigned(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield com.beust.jcommander.ParameterDescription.assigned:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/beust/jcommander/ParameterDescription;
0 2 1 b Z
MethodParameters:
Name Flags
b
public void addValue(java.lang.String, boolean);
descriptor: (Ljava/lang/String;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aconst_null
aload 1
iload 2
iconst_1
iconst_m1
invokevirtual com.beust.jcommander.ParameterDescription.addValue:(Ljava/lang/String;Ljava/lang/String;ZZI)Ljava/lang/Object;
pop
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/beust/jcommander/ParameterDescription;
0 2 1 value Ljava/lang/String;
0 2 2 isDefault Z
MethodParameters:
Name Flags
value
isDefault
java.lang.Object addValue(java.lang.String, java.lang.String, boolean, boolean, int);
descriptor: (Ljava/lang/String;Ljava/lang/String;ZZI)Ljava/lang/Object;
flags: (0x0000)
Code:
stack=5, locals=11, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
new java.lang.StringBuilder
dup
ldc "Adding "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 3
ifeq 1
ldc "default "
goto 2
StackMap locals: com.beust.jcommander.ParameterDescription java.lang.String java.lang.String int int int
StackMap stack: com.beust.jcommander.ParameterDescription java.lang.StringBuilder
1: ldc ""
StackMap locals: com.beust.jcommander.ParameterDescription java.lang.String java.lang.String int int int
StackMap stack: com.beust.jcommander.ParameterDescription java.lang.StringBuilder java.lang.String
2: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "value:"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
3: ldc " to parameter:"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.beust.jcommander.ParameterDescription.parameterized:Lcom/beust/jcommander/Parameterized;
invokevirtual com.beust.jcommander.Parameterized.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
4: invokevirtual com.beust.jcommander.ParameterDescription.p:(Ljava/lang/String;)V
5: aload 1
ifnonnull 7
6: aload 0
getfield com.beust.jcommander.ParameterDescription.wrappedParameter:Lcom/beust/jcommander/WrappedParameter;
invokevirtual com.beust.jcommander.WrappedParameter.names:()[Ljava/lang/String;
iconst_0
aaload
astore 1
7: StackMap locals:
StackMap stack:
iload 5
ifne 8
aload 0
getfield com.beust.jcommander.ParameterDescription.assigned:Z
ifeq 8
aload 0
invokevirtual com.beust.jcommander.ParameterDescription.isMultiOption:()Z
ifne 8
aload 0
getfield com.beust.jcommander.ParameterDescription.jCommander:Lcom/beust/jcommander/JCommander;
invokevirtual com.beust.jcommander.JCommander.isParameterOverwritingAllowed:()Z
ifeq 9
8: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.beust.jcommander.ParameterDescription.isNonOverwritableForced:()Z
ifeq 10
9: StackMap locals:
StackMap stack:
new com.beust.jcommander.ParameterException
dup
new java.lang.StringBuilder
dup
ldc "Can only specify option "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " once."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial com.beust.jcommander.ParameterException.<init>:(Ljava/lang/String;)V
athrow
10: StackMap locals:
StackMap stack:
iload 4
ifeq 12
11: aload 0
aload 1
aload 2
invokevirtual com.beust.jcommander.ParameterDescription.validateParameter:(Ljava/lang/String;Ljava/lang/String;)V
12: StackMap locals:
StackMap stack:
aload 0
getfield com.beust.jcommander.ParameterDescription.parameterized:Lcom/beust/jcommander/Parameterized;
invokevirtual com.beust.jcommander.Parameterized.getType:()Ljava/lang/Class;
astore 6
start local 6 13: aload 0
getfield com.beust.jcommander.ParameterDescription.jCommander:Lcom/beust/jcommander/JCommander;
aload 0
invokevirtual com.beust.jcommander.ParameterDescription.getParameterized:()Lcom/beust/jcommander/Parameterized;
aload 0
invokevirtual com.beust.jcommander.ParameterDescription.getParameterized:()Lcom/beust/jcommander/Parameterized;
invokevirtual com.beust.jcommander.Parameterized.getType:()Ljava/lang/Class;
aload 1
aload 2
invokevirtual com.beust.jcommander.JCommander.convertValue:(Lcom/beust/jcommander/Parameterized;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
astore 7
start local 7 14: iload 4
ifeq 16
15: aload 0
aload 1
aload 7
invokevirtual com.beust.jcommander.ParameterDescription.validateValueParameter:(Ljava/lang/String;Ljava/lang/Object;)V
16: StackMap locals: java.lang.Class java.lang.Object
StackMap stack:
ldc Ljava/util/Collection;
aload 6
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
istore 8
start local 8 17: iload 8
ifeq 28
18: aload 0
getfield com.beust.jcommander.ParameterDescription.parameterized:Lcom/beust/jcommander/Parameterized;
aload 0
getfield com.beust.jcommander.ParameterDescription.object:Ljava/lang/Object;
invokevirtual com.beust.jcommander.Parameterized.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Collection
astore 10
start local 10 19: aload 10
ifnull 20
aload 0
iload 3
invokevirtual com.beust.jcommander.ParameterDescription.fieldIsSetForTheFirstTime:(Z)Z
ifeq 22
20: StackMap locals: com.beust.jcommander.ParameterDescription java.lang.String java.lang.String int int int java.lang.Class java.lang.Object int top java.util.Collection
StackMap stack:
aload 0
aload 6
invokevirtual com.beust.jcommander.ParameterDescription.newCollection:(Ljava/lang/Class;)Ljava/util/Collection;
astore 10
21: aload 0
getfield com.beust.jcommander.ParameterDescription.parameterized:Lcom/beust/jcommander/Parameterized;
aload 0
getfield com.beust.jcommander.ParameterDescription.object:Ljava/lang/Object;
aload 10
invokevirtual com.beust.jcommander.Parameterized.set:(Ljava/lang/Object;Ljava/lang/Object;)V
22: StackMap locals:
StackMap stack:
aload 7
instanceof java.util.Collection
ifeq 25
23: aload 10
aload 7
checkcast java.util.Collection
invokeinterface java.util.Collection.addAll:(Ljava/util/Collection;)Z
pop
24: goto 26
25: StackMap locals:
StackMap stack:
aload 10
aload 7
invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
pop
26: StackMap locals:
StackMap stack:
aload 10
astore 9
end local 10 start local 9 27: goto 34
end local 9 28: StackMap locals: com.beust.jcommander.ParameterDescription java.lang.String java.lang.String int int int java.lang.Class java.lang.Object int
StackMap stack:
aload 0
aload 6
invokevirtual com.beust.jcommander.ParameterDescription.findSubParameters:(Ljava/lang/Class;)Ljava/util/List;
astore 10
start local 10 29: aload 10
invokeinterface java.util.List.isEmpty:()Z
ifne 32
30: aload 0
aload 2
iload 5
aload 6
aload 10
invokevirtual com.beust.jcommander.ParameterDescription.handleSubParameters:(Ljava/lang/String;ILjava/lang/Class;Ljava/util/List;)Ljava/lang/Object;
astore 9
start local 9 31: goto 34
end local 9 32: StackMap locals: com.beust.jcommander.ParameterDescription java.lang.String java.lang.String int int int java.lang.Class java.lang.Object int top java.util.List
StackMap stack:
aload 0
getfield com.beust.jcommander.ParameterDescription.wrappedParameter:Lcom/beust/jcommander/WrappedParameter;
aload 0
getfield com.beust.jcommander.ParameterDescription.parameterized:Lcom/beust/jcommander/Parameterized;
aload 0
getfield com.beust.jcommander.ParameterDescription.object:Ljava/lang/Object;
aload 7
invokevirtual com.beust.jcommander.WrappedParameter.addValue:(Lcom/beust/jcommander/Parameterized;Ljava/lang/Object;Ljava/lang/Object;)V
33: aload 7
astore 9
end local 10 start local 9 34: StackMap locals: com.beust.jcommander.ParameterDescription java.lang.String java.lang.String int int int java.lang.Class java.lang.Object int java.lang.Object
StackMap stack:
iload 3
ifne 35
aload 0
iconst_1
putfield com.beust.jcommander.ParameterDescription.assigned:Z
35: StackMap locals:
StackMap stack:
aload 9
areturn
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 36 0 this Lcom/beust/jcommander/ParameterDescription;
0 36 1 name Ljava/lang/String;
0 36 2 value Ljava/lang/String;
0 36 3 isDefault Z
0 36 4 validate Z
0 36 5 currentIndex I
13 36 6 type Ljava/lang/Class<*>;
14 36 7 convertedValue Ljava/lang/Object;
17 36 8 isCollection Z
27 28 9 finalValue Ljava/lang/Object;
31 32 9 finalValue Ljava/lang/Object;
34 36 9 finalValue Ljava/lang/Object;
19 27 10 l Ljava/util/Collection<Ljava/lang/Object;>;
29 34 10 subParameters Ljava/util/List<Lcom/beust/jcommander/ParameterDescription$SubParameterIndex;>;
MethodParameters:
Name Flags
name
value
isDefault
validate
currentIndex
private handleSubParameters(java.lang.String, int, java.lang.Class<?>, java.util.List<com.beust.jcommander.ParameterDescription$SubParameterIndex>);
descriptor: (Ljava/lang/String;ILjava/lang/Class;Ljava/util/List;)Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=9, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aconst_null
astore 6
start local 6 1: aload 4
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 8
goto 6
StackMap locals: com.beust.jcommander.ParameterDescription java.lang.String int java.lang.Class java.util.List top com.beust.jcommander.ParameterDescription$SubParameterIndex top java.util.Iterator
StackMap stack:
2: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.beust.jcommander.ParameterDescription$SubParameterIndex
astore 7
start local 7 3: aload 7
getfield com.beust.jcommander.ParameterDescription$SubParameterIndex.order:I
iload 2
if_icmpne 6
4: aload 7
astore 6
5: goto 7
end local 7 6: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
7: StackMap locals: com.beust.jcommander.ParameterDescription java.lang.String int java.lang.Class java.util.List top com.beust.jcommander.ParameterDescription$SubParameterIndex
StackMap stack:
aload 6
ifnull 17
8: aload 0
getfield com.beust.jcommander.ParameterDescription.parameterized:Lcom/beust/jcommander/Parameterized;
aload 0
getfield com.beust.jcommander.ParameterDescription.object:Ljava/lang/Object;
invokevirtual com.beust.jcommander.Parameterized.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 7
start local 7 9: aload 7
ifnonnull 12
10: aload 3
invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
astore 7
11: aload 0
getfield com.beust.jcommander.ParameterDescription.parameterized:Lcom/beust/jcommander/Parameterized;
aload 0
getfield com.beust.jcommander.ParameterDescription.object:Ljava/lang/Object;
aload 7
invokevirtual com.beust.jcommander.Parameterized.set:(Ljava/lang/Object;Ljava/lang/Object;)V
12: StackMap locals: java.lang.Object
StackMap stack:
aload 0
getfield com.beust.jcommander.ParameterDescription.wrappedParameter:Lcom/beust/jcommander/WrappedParameter;
aload 0
getfield com.beust.jcommander.ParameterDescription.parameterized:Lcom/beust/jcommander/Parameterized;
aload 7
aload 1
aload 6
getfield com.beust.jcommander.ParameterDescription$SubParameterIndex.field:Ljava/lang/reflect/Field;
invokevirtual com.beust.jcommander.WrappedParameter.addValue:(Lcom/beust/jcommander/Parameterized;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/reflect/Field;)V
13: aload 7
astore 5
start local 5 14: goto 18
end local 5 StackMap locals:
StackMap stack: java.lang.ReflectiveOperationException
15: astore 8
start local 8 16: new com.beust.jcommander.ParameterException
dup
new java.lang.StringBuilder
dup
ldc "Couldn't instantiate "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 8
invokespecial com.beust.jcommander.ParameterException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 8 end local 7 17: StackMap locals:
StackMap stack:
new com.beust.jcommander.ParameterException
dup
new java.lang.StringBuilder
dup
ldc "Couldn't find where to assign parameter "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " in "
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;
invokespecial com.beust.jcommander.ParameterException.<init>:(Ljava/lang/String;)V
athrow
start local 5 18: StackMap locals: com.beust.jcommander.ParameterDescription java.lang.String int java.lang.Class java.util.List java.lang.Object com.beust.jcommander.ParameterDescription$SubParameterIndex
StackMap stack:
aload 5
areturn
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 19 0 this Lcom/beust/jcommander/ParameterDescription;
0 19 1 value Ljava/lang/String;
0 19 2 currentIndex I
0 19 3 type Ljava/lang/Class<*>;
0 19 4 subParameters Ljava/util/List<Lcom/beust/jcommander/ParameterDescription$SubParameterIndex;>;
14 15 5 finalValue Ljava/lang/Object;
18 19 5 finalValue Ljava/lang/Object;
1 19 6 sai Lcom/beust/jcommander/ParameterDescription$SubParameterIndex;
3 6 7 si Lcom/beust/jcommander/ParameterDescription$SubParameterIndex;
9 17 7 objectValue Ljava/lang/Object;
16 17 8 e Ljava/lang/ReflectiveOperationException;
Exception table:
from to target type
9 14 15 Class java.lang.InstantiationException
9 14 15 Class java.lang.IllegalAccessException
Signature: (Ljava/lang/String;ILjava/lang/Class<*>;Ljava/util/List<Lcom/beust/jcommander/ParameterDescription$SubParameterIndex;>;)Ljava/lang/Object;
MethodParameters:
Name Flags
value
currentIndex
type
subParameters
public com.beust.jcommander.Parameter getParameterAnnotation();
descriptor: ()Lcom/beust/jcommander/Parameter;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.beust.jcommander.ParameterDescription.parameterAnnotation:Lcom/beust/jcommander/Parameter;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/beust/jcommander/ParameterDescription;
private java.util.List<com.beust.jcommander.ParameterDescription$SubParameterIndex> findSubParameters(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=9, args_size=2
start local 0 start local 1 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 2
start local 2 1: aload 1
invokevirtual java.lang.Class.getDeclaredFields:()[Ljava/lang/reflect/Field;
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 8
StackMap locals: com.beust.jcommander.ParameterDescription java.lang.Class java.util.List top int int java.lang.reflect.Field[]
StackMap stack:
2: aload 6
iload 4
aaload
astore 3
start local 3 3: aload 3
ldc Lcom/beust/jcommander/SubParameter;
invokevirtual java.lang.reflect.Field.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
astore 7
start local 7 4: aload 7
ifnull 7
5: aload 7
checkcast com.beust.jcommander.SubParameter
astore 8
start local 8 6: aload 2
new com.beust.jcommander.ParameterDescription$SubParameterIndex
dup
aload 0
aload 8
invokeinterface com.beust.jcommander.SubParameter.order:()I
aload 3
invokespecial com.beust.jcommander.ParameterDescription$SubParameterIndex.<init>:(Lcom/beust/jcommander/ParameterDescription;ILjava/lang/reflect/Field;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 8 end local 7 end local 3 7: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
8: iload 4
iload 5
if_icmplt 2
9: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/beust/jcommander/ParameterDescription;
0 10 1 type Ljava/lang/Class<*>;
1 10 2 result Ljava/util/List<Lcom/beust/jcommander/ParameterDescription$SubParameterIndex;>;
3 7 3 field Ljava/lang/reflect/Field;
4 7 7 subParameter Ljava/lang/annotation/Annotation;
6 7 8 sa Lcom/beust/jcommander/SubParameter;
Signature: (Ljava/lang/Class<*>;)Ljava/util/List<Lcom/beust/jcommander/ParameterDescription$SubParameterIndex;>;
MethodParameters:
Name Flags
type
private void validateParameter(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.beust.jcommander.ParameterDescription.wrappedParameter:Lcom/beust/jcommander/WrappedParameter;
invokevirtual com.beust.jcommander.WrappedParameter.validateWith:()[Ljava/lang/Class;
astore 3
start local 3 1: aload 3
ifnull 7
aload 3
arraylength
ifle 7
2: aload 3
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 6
StackMap locals: com.beust.jcommander.ParameterDescription java.lang.String java.lang.String java.lang.Class[] top int int java.lang.Class[]
StackMap stack:
3: aload 7
iload 5
aaload
astore 4
start local 4 4: aload 0
aload 4
aload 1
aload 2
invokevirtual com.beust.jcommander.ParameterDescription.validateParameter:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;)V
end local 4 5: iinc 5 1
StackMap locals:
StackMap stack:
6: iload 5
iload 6
if_icmplt 3
7: StackMap locals: com.beust.jcommander.ParameterDescription java.lang.String java.lang.String java.lang.Class[]
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/beust/jcommander/ParameterDescription;
0 8 1 name Ljava/lang/String;
0 8 2 value Ljava/lang/String;
1 8 3 validators [Ljava/lang/Class;
4 5 4 validator Ljava/lang/Class<+Lcom/beust/jcommander/IParameterValidator;>;
MethodParameters:
Name Flags
name
value
void validateValueParameter(java.lang.String, java.lang.Object);
descriptor: (Ljava/lang/String;Ljava/lang/Object;)V
flags: (0x0000)
Code:
stack=4, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.beust.jcommander.ParameterDescription.wrappedParameter:Lcom/beust/jcommander/WrappedParameter;
invokevirtual com.beust.jcommander.WrappedParameter.validateValueWith:()[Ljava/lang/Class;
astore 3
start local 3 1: aload 3
ifnull 7
aload 3
arraylength
ifle 7
2: aload 3
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 6
StackMap locals: com.beust.jcommander.ParameterDescription java.lang.String java.lang.Object java.lang.Class[] top int int java.lang.Class[]
StackMap stack:
3: aload 7
iload 5
aaload
astore 4
start local 4 4: aload 0
aload 4
aload 1
aload 2
invokevirtual com.beust.jcommander.ParameterDescription.validateValueParameter:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Object;)V
end local 4 5: iinc 5 1
StackMap locals:
StackMap stack:
6: iload 5
iload 6
if_icmplt 3
7: StackMap locals: com.beust.jcommander.ParameterDescription java.lang.String java.lang.Object java.lang.Class[]
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/beust/jcommander/ParameterDescription;
0 8 1 name Ljava/lang/String;
0 8 2 value Ljava/lang/Object;
1 8 3 validators [Ljava/lang/Class;
4 5 4 validator Ljava/lang/Class<+Lcom/beust/jcommander/IValueValidator;>;
MethodParameters:
Name Flags
name
value
public void validateValueParameter(java.lang.Class<? extends com.beust.jcommander.IValueValidator>, java.lang.String, );
descriptor: (Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
ldc Lcom/beust/jcommander/validators/NoValueValidator;
if_acmpeq 2
1: aload 0
new java.lang.StringBuilder
dup
ldc "Validating value parameter:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " value:"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " validator:"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.beust.jcommander.ParameterDescription.p:(Ljava/lang/String;)V
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
checkcast com.beust.jcommander.IValueValidator
aload 2
aload 3
invokeinterface com.beust.jcommander.IValueValidator.validate:(Ljava/lang/String;Ljava/lang/Object;)V
3: goto 6
StackMap locals:
StackMap stack: java.lang.ReflectiveOperationException
4: astore 4
start local 4 5: new com.beust.jcommander.ParameterException
dup
new java.lang.StringBuilder
dup
ldc "Can't instantiate validator:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial com.beust.jcommander.ParameterException.<init>:(Ljava/lang/String;)V
athrow
end local 4 6: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/beust/jcommander/ParameterDescription;
0 7 1 validator Ljava/lang/Class<+Lcom/beust/jcommander/IValueValidator;>;
0 7 2 name Ljava/lang/String;
0 7 3 value Ljava/lang/Object;
5 6 4 e Ljava/lang/ReflectiveOperationException;
Exception table:
from to target type
0 3 4 Class java.lang.InstantiationException
0 3 4 Class java.lang.IllegalAccessException
Signature: (Ljava/lang/Class<+Lcom/beust/jcommander/IValueValidator;>;Ljava/lang/String;Ljava/lang/Object;)V
MethodParameters:
Name Flags
validator
name
value
public void validateParameter(java.lang.Class<? extends com.beust.jcommander.IParameterValidator>, java.lang.String, java.lang.String);
descriptor: (Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
ldc Lcom/beust/jcommander/validators/NoValidator;
if_acmpeq 2
1: aload 0
new java.lang.StringBuilder
dup
ldc "Validating parameter:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " value:"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " validator:"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.beust.jcommander.ParameterDescription.p:(Ljava/lang/String;)V
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
checkcast com.beust.jcommander.IParameterValidator
aload 2
aload 3
invokeinterface com.beust.jcommander.IParameterValidator.validate:(Ljava/lang/String;Ljava/lang/String;)V
3: ldc Lcom/beust/jcommander/IParameterValidator2;
aload 1
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 13
4: aload 1
invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
checkcast com.beust.jcommander.IParameterValidator2
astore 4
start local 4 5: aload 4
aload 2
aload 3
aload 0
invokeinterface com.beust.jcommander.IParameterValidator2.validate:(Ljava/lang/String;Ljava/lang/String;Lcom/beust/jcommander/ParameterDescription;)V
end local 4 6: goto 13
StackMap locals:
StackMap stack: java.lang.ReflectiveOperationException
7: astore 4
start local 4 8: new com.beust.jcommander.ParameterException
dup
new java.lang.StringBuilder
dup
ldc "Can't instantiate validator:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial com.beust.jcommander.ParameterException.<init>:(Ljava/lang/String;)V
athrow
end local 4 9: StackMap locals:
StackMap stack: com.beust.jcommander.ParameterException
astore 4
start local 4 10: aload 4
athrow
end local 4 11: StackMap locals:
StackMap stack: java.lang.Exception
astore 4
start local 4 12: new com.beust.jcommander.ParameterException
dup
aload 4
invokespecial com.beust.jcommander.ParameterException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 4 13: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/beust/jcommander/ParameterDescription;
0 14 1 validator Ljava/lang/Class<+Lcom/beust/jcommander/IParameterValidator;>;
0 14 2 name Ljava/lang/String;
0 14 3 value Ljava/lang/String;
5 6 4 instance Lcom/beust/jcommander/IParameterValidator2;
8 9 4 e Ljava/lang/ReflectiveOperationException;
10 11 4 ex Lcom/beust/jcommander/ParameterException;
12 13 4 ex Ljava/lang/Exception;
Exception table:
from to target type
0 6 7 Class java.lang.InstantiationException
0 6 7 Class java.lang.IllegalAccessException
0 6 9 Class com.beust.jcommander.ParameterException
0 6 11 Class java.lang.Exception
Signature: (Ljava/lang/Class<+Lcom/beust/jcommander/IParameterValidator;>;Ljava/lang/String;Ljava/lang/String;)V
MethodParameters:
Name Flags
validator
name
value
private java.util.Collection<java.lang.Object> newCollection(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Ljava/util/Collection;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: ldc Ljava/util/SortedSet;
aload 1
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 1
new java.util.TreeSet
dup
invokespecial java.util.TreeSet.<init>:()V
areturn
1: StackMap locals:
StackMap stack:
ldc Ljava/util/LinkedHashSet;
aload 1
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 2
new java.util.LinkedHashSet
dup
invokespecial java.util.LinkedHashSet.<init>:()V
areturn
2: StackMap locals:
StackMap stack:
ldc Ljava/util/Set;
aload 1
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 3
new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
areturn
3: StackMap locals:
StackMap stack:
ldc Ljava/util/List;
aload 1
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 4
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
areturn
4: StackMap locals:
StackMap stack:
new com.beust.jcommander.ParameterException
dup
new java.lang.StringBuilder
dup
ldc "Parameters of Collection type '"
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;
5: ldc "' are not supported. Please use List or Set instead."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
6: invokespecial com.beust.jcommander.ParameterException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/beust/jcommander/ParameterDescription;
0 7 1 type Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)Ljava/util/Collection<Ljava/lang/Object;>;
MethodParameters:
Name Flags
type
private boolean fieldIsSetForTheFirstTime(boolean);
descriptor: (Z)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: iload 1
ifne 1
aload 0
getfield com.beust.jcommander.ParameterDescription.assigned:Z
ifne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/beust/jcommander/ParameterDescription;
0 2 1 isDefault Z
MethodParameters:
Name Flags
isDefault
private void p(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: ldc "jcommander.debug"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
ifnull 2
1: aload 0
getfield com.beust.jcommander.ParameterDescription.jCommander:Lcom/beust/jcommander/JCommander;
invokevirtual com.beust.jcommander.JCommander.getConsole:()Lcom/beust/jcommander/internal/Console;
new java.lang.StringBuilder
dup
ldc "[ParameterDescription] "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface com.beust.jcommander.internal.Console.println:(Ljava/lang/String;)V
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/beust/jcommander/ParameterDescription;
0 3 1 string Ljava/lang/String;
MethodParameters:
Name Flags
string
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: new java.lang.StringBuilder
dup
ldc "[ParameterDescription "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.beust.jcommander.ParameterDescription.parameterized:Lcom/beust/jcommander/Parameterized;
invokevirtual com.beust.jcommander.Parameterized.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;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/beust/jcommander/ParameterDescription;
public boolean isDynamicParameter();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.beust.jcommander.ParameterDescription.dynamicParameterAnnotation:Lcom/beust/jcommander/DynamicParameter;
ifnull 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 Lcom/beust/jcommander/ParameterDescription;
public boolean isHelp();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.beust.jcommander.ParameterDescription.wrappedParameter:Lcom/beust/jcommander/WrappedParameter;
invokevirtual com.beust.jcommander.WrappedParameter.isHelp:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/beust/jcommander/ParameterDescription;
public boolean isNonOverwritableForced();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.beust.jcommander.ParameterDescription.wrappedParameter:Lcom/beust/jcommander/WrappedParameter;
invokevirtual com.beust.jcommander.WrappedParameter.isNonOverwritableForced:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/beust/jcommander/ParameterDescription;
}
SourceFile: "ParameterDescription.java"
NestMembers:
com.beust.jcommander.ParameterDescription$SubParameterIndex
InnerClasses:
SubParameterIndex = com.beust.jcommander.ParameterDescription$SubParameterIndex of com.beust.jcommander.ParameterDescription