public abstract class edu.umd.cs.findbugs.config.CommandLine
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: edu.umd.cs.findbugs.config.CommandLine
super_class: java.lang.Object
{
private static final java.lang.String SPACES;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: " "
private final java.util.List<java.lang.String> optionList;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Ljava/lang/String;>;
private final java.util.Set<java.lang.String> unlistedOptions;
descriptor: Ljava/util/Set;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Set<Ljava/lang/String;>;
private final java.util.Map<java.lang.Integer, java.lang.String> optionGroups;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/Integer;Ljava/lang/String;>;
private final java.util.Set<java.lang.String> requiresArgumentSet;
descriptor: Ljava/util/Set;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Set<Ljava/lang/String;>;
private final java.util.Map<java.lang.String, java.lang.String> optionDescriptionMap;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
private final java.util.Map<java.lang.String, java.lang.String> optionExtraPartSynopsisMap;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
private final java.util.Map<java.lang.String, java.lang.String> argumentDescriptionMap;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
int maxWidth;
descriptor: I
flags: (0x0000)
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
putfield edu.umd.cs.findbugs.config.CommandLine.unlistedOptions:Ljava/util/Set;
2: aload 0
new java.util.LinkedList
dup
invokespecial java.util.LinkedList.<init>:()V
putfield edu.umd.cs.findbugs.config.CommandLine.optionList:Ljava/util/List;
3: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield edu.umd.cs.findbugs.config.CommandLine.optionGroups:Ljava/util/Map;
4: aload 0
new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
putfield edu.umd.cs.findbugs.config.CommandLine.requiresArgumentSet:Ljava/util/Set;
5: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield edu.umd.cs.findbugs.config.CommandLine.optionDescriptionMap:Ljava/util/Map;
6: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield edu.umd.cs.findbugs.config.CommandLine.optionExtraPartSynopsisMap:Ljava/util/Map;
7: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield edu.umd.cs.findbugs.config.CommandLine.argumentDescriptionMap:Ljava/util/Map;
8: aload 0
iconst_0
putfield edu.umd.cs.findbugs.config.CommandLine.maxWidth:I
9: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ledu/umd/cs/findbugs/config/CommandLine;
public void startOptionGroup(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
getfield edu.umd.cs.findbugs.config.CommandLine.optionGroups:Ljava/util/Map;
aload 0
getfield edu.umd.cs.findbugs.config.CommandLine.optionList:Ljava/util/List;
invokeinterface java.util.List.size:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 1
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ledu/umd/cs/findbugs/config/CommandLine;
0 2 1 description Ljava/lang/String;
MethodParameters:
Name Flags
description
public void addSwitch(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield edu.umd.cs.findbugs.config.CommandLine.optionList:Ljava/util/List;
aload 1
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
1: aload 0
getfield edu.umd.cs.findbugs.config.CommandLine.optionDescriptionMap:Ljava/util/Map;
aload 1
aload 2
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
2: aload 1
invokevirtual java.lang.String.length:()I
aload 0
getfield edu.umd.cs.findbugs.config.CommandLine.maxWidth:I
if_icmple 4
3: aload 0
aload 1
invokevirtual java.lang.String.length:()I
putfield edu.umd.cs.findbugs.config.CommandLine.maxWidth:I
4: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ledu/umd/cs/findbugs/config/CommandLine;
0 5 1 option Ljava/lang/String;
0 5 2 description Ljava/lang/String;
MethodParameters:
Name Flags
option
description
public void addSwitchWithOptionalExtraPart(java.lang.String, java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield edu.umd.cs.findbugs.config.CommandLine.optionList:Ljava/util/List;
aload 1
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
1: aload 0
getfield edu.umd.cs.findbugs.config.CommandLine.optionExtraPartSynopsisMap:Ljava/util/Map;
aload 1
aload 2
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
2: aload 0
getfield edu.umd.cs.findbugs.config.CommandLine.optionDescriptionMap:Ljava/util/Map;
aload 1
aload 3
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
3: aload 1
invokevirtual java.lang.String.length:()I
aload 2
invokevirtual java.lang.String.length:()I
iadd
iconst_3
iadd
istore 4
start local 4 4: iload 4
aload 0
getfield edu.umd.cs.findbugs.config.CommandLine.maxWidth:I
if_icmple 6
5: aload 0
iload 4
putfield edu.umd.cs.findbugs.config.CommandLine.maxWidth:I
6: StackMap locals: int
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 7 0 this Ledu/umd/cs/findbugs/config/CommandLine;
0 7 1 option Ljava/lang/String;
0 7 2 optionExtraPartSynopsis Ljava/lang/String;
0 7 3 description Ljava/lang/String;
4 7 4 length I
MethodParameters:
Name Flags
option
optionExtraPartSynopsis
description
public void addOption(java.lang.String, java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield edu.umd.cs.findbugs.config.CommandLine.optionList:Ljava/util/List;
aload 1
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
1: aload 0
getfield edu.umd.cs.findbugs.config.CommandLine.optionDescriptionMap:Ljava/util/Map;
aload 1
aload 3
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
2: aload 0
getfield edu.umd.cs.findbugs.config.CommandLine.requiresArgumentSet:Ljava/util/Set;
aload 1
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
3: aload 0
getfield edu.umd.cs.findbugs.config.CommandLine.argumentDescriptionMap:Ljava/util/Map;
aload 1
aload 2
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
4: aload 1
invokevirtual java.lang.String.length:()I
iconst_3
iadd
aload 2
invokevirtual java.lang.String.length:()I
iadd
istore 4
start local 4 5: iload 4
aload 0
getfield edu.umd.cs.findbugs.config.CommandLine.maxWidth:I
if_icmple 7
6: aload 0
iload 4
putfield edu.umd.cs.findbugs.config.CommandLine.maxWidth:I
7: StackMap locals: int
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 8 0 this Ledu/umd/cs/findbugs/config/CommandLine;
0 8 1 option Ljava/lang/String;
0 8 2 argumentDesc Ljava/lang/String;
0 8 3 description Ljava/lang/String;
5 8 4 width I
MethodParameters:
Name Flags
option
argumentDesc
description
public void makeOptionUnlisted(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield edu.umd.cs.findbugs.config.CommandLine.unlistedOptions:Ljava/util/Set;
aload 1
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ledu/umd/cs/findbugs/config/CommandLine;
0 2 1 option Ljava/lang/String;
MethodParameters:
Name Flags
option
public java.lang.String[] expandOptionFiles(java.lang.String[], boolean, boolean);
descriptor: ([Ljava/lang/String;ZZ)[Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=11, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
iconst_1
invokevirtual edu.umd.cs.findbugs.config.CommandLine.parse:([Ljava/lang/String;Z)I
istore 4
start local 4 1: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 5
start local 5 2: iload 2
iload 3
invokestatic edu.umd.cs.findbugs.config.CommandLine.getAnalysisOptionProperties:(ZZ)Ljava/util/ArrayList;
astore 6
start local 6 3: iconst_0
istore 7
start local 7 4: goto 18
5: StackMap locals: edu.umd.cs.findbugs.config.CommandLine java.lang.String[] int int int java.util.ArrayList java.util.ArrayList int
StackMap stack:
aload 1
iload 7
aaload
astore 8
start local 8 6: aload 8
ldc "@"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 9
7: aload 5
aload 8
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
8: goto 17
9: StackMap locals: java.lang.String
StackMap stack:
aconst_null
astore 9
start local 9 10: new java.io.FileInputStream
dup
aload 8
iconst_1
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokespecial java.io.FileInputStream.<init>:(Ljava/lang/String;)V
invokestatic edu.umd.cs.findbugs.charsets.UTF8.bufferedReader:(Ljava/io/InputStream;)Ljava/io/BufferedReader;
astore 9
11: aload 6
aload 9
iload 2
iload 3
invokestatic edu.umd.cs.findbugs.config.CommandLine.addCommandLineOptions:(Ljava/util/ArrayList;Ljava/io/BufferedReader;ZZ)V
12: goto 16
StackMap locals: edu.umd.cs.findbugs.config.CommandLine java.lang.String[] int int int java.util.ArrayList java.util.ArrayList int java.lang.String java.io.BufferedReader
StackMap stack: java.lang.Throwable
13: astore 10
14: aload 9
invokestatic edu.umd.cs.findbugs.util.Util.closeSilently:(Ljava/io/Reader;)V
15: aload 10
athrow
16: StackMap locals:
StackMap stack:
aload 9
invokestatic edu.umd.cs.findbugs.util.Util.closeSilently:(Ljava/io/Reader;)V
end local 9 end local 8 17: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
18: iload 7
iload 4
if_icmplt 5
end local 7 19: aload 5
aload 6
invokevirtual java.util.ArrayList.addAll:(Ljava/util/Collection;)Z
pop
20: iload 4
istore 7
start local 7 21: goto 24
22: StackMap locals:
StackMap stack:
aload 5
aload 1
iload 7
aaload
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
23: iinc 7 1
StackMap locals:
StackMap stack:
24: iload 7
aload 1
arraylength
if_icmplt 22
end local 7 25: aload 5
aload 5
invokevirtual java.util.ArrayList.size:()I
anewarray java.lang.String
invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.String[]
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 26 0 this Ledu/umd/cs/findbugs/config/CommandLine;
0 26 1 argv [Ljava/lang/String;
0 26 2 ignoreComments Z
0 26 3 ignoreBlankLines Z
1 26 4 lastOptionIndex I
2 26 5 resultList Ljava/util/ArrayList<Ljava/lang/String;>;
3 26 6 expandedOptionsList Ljava/util/ArrayList<Ljava/lang/String;>;
4 19 7 i I
6 17 8 arg Ljava/lang/String;
10 17 9 reader Ljava/io/BufferedReader;
21 25 7 i I
Exception table:
from to target type
10 13 13 any
Exceptions:
throws java.io.IOException, edu.umd.cs.findbugs.config.CommandLine$HelpRequestedException
MethodParameters:
Name Flags
argv
ignoreComments
ignoreBlankLines
public static java.util.ArrayList<java.lang.String> getAnalysisOptionProperties(boolean, boolean);
descriptor: (ZZ)Ljava/util/ArrayList;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=7, 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: ldc "analysisOptions.properties"
invokestatic edu.umd.cs.findbugs.DetectorFactoryCollection.getCoreResource:(Ljava/lang/String;)Ljava/net/URL;
astore 3
start local 3 2: aload 3
ifnull 14
3: aconst_null
astore 4
start local 4 4: aload 3
invokevirtual java.net.URL.openStream:()Ljava/io/InputStream;
invokestatic edu.umd.cs.findbugs.charsets.UTF8.bufferedReader:(Ljava/io/InputStream;)Ljava/io/BufferedReader;
astore 4
5: aload 2
aload 4
iload 0
iload 1
invokestatic edu.umd.cs.findbugs.config.CommandLine.addCommandLineOptions:(Ljava/util/ArrayList;Ljava/io/BufferedReader;ZZ)V
6: goto 13
StackMap locals: int int java.util.ArrayList java.net.URL java.io.BufferedReader
StackMap stack: java.io.IOException
7: astore 5
start local 5 8: ldc "unable to load analysisOptions.properties"
aload 5
invokestatic edu.umd.cs.findbugs.ba.AnalysisContext.logError:(Ljava/lang/String;Ljava/lang/Exception;)V
end local 5 9: aload 4
invokestatic edu.umd.cs.findbugs.util.Util.closeSilently:(Ljava/io/Reader;)V
goto 14
10: StackMap locals:
StackMap stack: java.lang.Throwable
astore 6
11: aload 4
invokestatic edu.umd.cs.findbugs.util.Util.closeSilently:(Ljava/io/Reader;)V
12: aload 6
athrow
13: StackMap locals:
StackMap stack:
aload 4
invokestatic edu.umd.cs.findbugs.util.Util.closeSilently:(Ljava/io/Reader;)V
end local 4 14: 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 15 0 ignoreComments Z
0 15 1 ignoreBlankLines Z
1 15 2 resultList Ljava/util/ArrayList<Ljava/lang/String;>;
2 15 3 u Ljava/net/URL;
4 14 4 reader Ljava/io/BufferedReader;
8 9 5 e Ljava/io/IOException;
Exception table:
from to target type
4 6 7 Class java.io.IOException
4 9 10 any
Signature: (ZZ)Ljava/util/ArrayList<Ljava/lang/String;>;
MethodParameters:
Name Flags
ignoreComments
ignoreBlankLines
private static void addCommandLineOptions(java.util.ArrayList<java.lang.String>, java.io.BufferedReader, boolean, );
descriptor: (Ljava/util/ArrayList;Ljava/io/BufferedReader;ZZ)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: goto 14
start local 4 1: StackMap locals: java.lang.String
StackMap stack:
aload 4
invokevirtual java.lang.String.trim:()Ljava/lang/String;
astore 4
2: iload 2
ifeq 4
aload 4
ldc "#"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 4
3: goto 14
4: StackMap locals:
StackMap stack:
iload 3
ifeq 6
ldc ""
aload 4
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 6
5: goto 14
6: StackMap locals:
StackMap stack:
aload 4
invokevirtual java.lang.String.length:()I
iconst_2
if_icmplt 9
aload 4
iconst_0
invokevirtual java.lang.String.charAt:(I)C
bipush 34
if_icmpne 9
aload 4
aload 4
invokevirtual java.lang.String.length:()I
iconst_1
isub
invokevirtual java.lang.String.charAt:(I)C
bipush 34
if_icmpne 9
7: aload 0
aload 4
iconst_0
aload 4
invokevirtual java.lang.String.length:()I
iconst_1
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
8: goto 14
9: StackMap locals:
StackMap stack:
aload 4
ldc " "
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
dup
astore 8
arraylength
istore 7
iconst_0
istore 6
goto 13
StackMap locals: java.util.ArrayList java.io.BufferedReader int int java.lang.String top int int java.lang.String[]
StackMap stack:
10: aload 8
iload 6
aaload
astore 5
start local 5 11: aload 0
aload 5
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 5 12: iinc 6 1
StackMap locals:
StackMap stack:
13: iload 6
iload 7
if_icmplt 10
end local 4 14: StackMap locals: java.util.ArrayList java.io.BufferedReader int int
StackMap stack:
aload 1
invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
dup
astore 4
start local 4 15: ifnonnull 1
16: 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 resultList Ljava/util/ArrayList<Ljava/lang/String;>;
0 17 1 reader Ljava/io/BufferedReader;
0 17 2 ignoreComments Z
0 17 3 ignoreBlankLines Z
1 14 4 line Ljava/lang/String;
15 17 4 line Ljava/lang/String;
11 12 5 segment Ljava/lang/String;
Exceptions:
throws java.io.IOException
Signature: (Ljava/util/ArrayList<Ljava/lang/String;>;Ljava/io/BufferedReader;ZZ)V
MethodParameters:
Name Flags
resultList
reader
ignoreComments
ignoreBlankLines
public int parse(java.lang.String[], int, int, java.lang.String);
descriptor: ([Ljava/lang/String;IILjava/lang/String;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
invokevirtual edu.umd.cs.findbugs.config.CommandLine.parse:([Ljava/lang/String;)I
istore 5
start local 5 1: aload 1
arraylength
iload 5
isub
istore 6
start local 6 2: iload 6
iload 2
if_icmplt 3
iload 6
iload 3
if_icmple 8
3: StackMap locals: int int
StackMap stack:
getstatic java.lang.System.out:Ljava/io/PrintStream;
aload 4
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
4: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Expected "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "..."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " file arguments, found "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 6
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
5: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "Options:"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
6: aload 0
getstatic java.lang.System.out:Ljava/io/PrintStream;
invokevirtual edu.umd.cs.findbugs.config.CommandLine.printUsage:(Ljava/io/OutputStream;)V
7: iconst_1
invokestatic java.lang.System.exit:(I)V
8: StackMap locals:
StackMap stack:
iload 5
9: ireturn
end local 6 end local 5 10: StackMap locals: edu.umd.cs.findbugs.config.CommandLine java.lang.String[] int int java.lang.String
StackMap stack: edu.umd.cs.findbugs.config.CommandLine$HelpRequestedException
pop
goto 16
11: StackMap locals:
StackMap stack: java.lang.RuntimeException
astore 5
start local 5 12: aload 5
invokevirtual java.lang.RuntimeException.printStackTrace:()V
end local 5 13: goto 16
14: StackMap locals:
StackMap stack: java.io.IOException
astore 5
start local 5 15: aload 5
invokevirtual java.io.IOException.printStackTrace:()V
end local 5 16: StackMap locals:
StackMap stack:
getstatic java.lang.System.out:Ljava/io/PrintStream;
aload 4
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
17: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "Options:"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
18: aload 0
getstatic java.lang.System.out:Ljava/io/PrintStream;
invokevirtual edu.umd.cs.findbugs.config.CommandLine.printUsage:(Ljava/io/OutputStream;)V
19: iconst_1
invokestatic java.lang.System.exit:(I)V
20: iconst_m1
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Ledu/umd/cs/findbugs/config/CommandLine;
0 21 1 argv [Ljava/lang/String;
0 21 2 minArgs I
0 21 3 maxArgs I
0 21 4 usage Ljava/lang/String;
1 10 5 count I
2 10 6 remaining I
12 13 5 e Ljava/lang/RuntimeException;
15 16 5 e Ljava/io/IOException;
Exception table:
from to target type
0 9 10 Class edu.umd.cs.findbugs.config.CommandLine$HelpRequestedException
0 9 11 Class java.lang.RuntimeException
0 9 14 Class java.io.IOException
RuntimeInvisibleAnnotations:
edu.umd.cs.findbugs.annotations.SuppressFBWarnings(value = {"DM_EXIT"})
RuntimeInvisibleTypeAnnotations:
METHOD_RETURN
edu.umd.cs.findbugs.annotations.SuppressFBWarnings(value = {"DM_EXIT"})
MethodParameters:
Name Flags
argv
minArgs
maxArgs
usage
public int parse(java.lang.String[]);
descriptor: ([Ljava/lang/String;)I
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 edu.umd.cs.findbugs.config.CommandLine.parse:([Ljava/lang/String;Z)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ledu/umd/cs/findbugs/config/CommandLine;
0 1 1 argv [Ljava/lang/String;
Exceptions:
throws java.io.IOException, edu.umd.cs.findbugs.config.CommandLine$HelpRequestedException
MethodParameters:
Name Flags
argv
private int parse(java.lang.String[], boolean);
descriptor: ([Ljava/lang/String;Z)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=8, args_size=3
start local 0 start local 1 start local 2 0: iconst_0
istore 3
start local 3 1: goto 26
2: StackMap locals: int
StackMap stack:
aload 1
iload 3
aaload
astore 4
start local 4 3: ldc "-help"
aload 4
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 4
ldc "-h"
aload 4
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 5
4: StackMap locals: java.lang.String
StackMap stack:
new edu.umd.cs.findbugs.config.CommandLine$HelpRequestedException
dup
invokespecial edu.umd.cs.findbugs.config.CommandLine$HelpRequestedException.<init>:()V
athrow
5: StackMap locals:
StackMap stack:
aload 4
ldc "-"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 7
6: goto 27
7: StackMap locals:
StackMap stack:
ldc ""
astore 5
start local 5 8: aload 4
bipush 58
invokevirtual java.lang.String.indexOf:(I)I
istore 6
start local 6 9: iload 6
iflt 12
10: aload 4
iload 6
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 5
11: aload 4
iconst_0
iload 6
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 4
12: StackMap locals: java.lang.String int
StackMap stack:
aload 0
getfield edu.umd.cs.findbugs.config.CommandLine.optionDescriptionMap:Ljava/util/Map;
aload 4
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
ifnonnull 14
13: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Unknown option: "
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 java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
14: StackMap locals:
StackMap stack:
aload 0
getfield edu.umd.cs.findbugs.config.CommandLine.requiresArgumentSet:Ljava/util/Set;
aload 4
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 23
15: iinc 3 1
16: iload 3
aload 1
arraylength
if_icmplt 18
17: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Option "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " requires an argument"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
18: StackMap locals:
StackMap stack:
aload 1
iload 3
aaload
astore 7
start local 7 19: iload 2
ifne 21
20: aload 0
aload 4
aload 7
invokevirtual edu.umd.cs.findbugs.config.CommandLine.handleOptionWithArgument:(Ljava/lang/String;Ljava/lang/String;)V
21: StackMap locals: java.lang.String
StackMap stack:
iinc 3 1
end local 7 22: goto 26
23: StackMap locals:
StackMap stack:
iload 2
ifne 25
24: aload 0
aload 4
aload 5
invokevirtual edu.umd.cs.findbugs.config.CommandLine.handleOption:(Ljava/lang/String;Ljava/lang/String;)V
25: StackMap locals:
StackMap stack:
iinc 3 1
end local 6 end local 5 end local 4 26: StackMap locals:
StackMap stack:
iload 3
aload 1
arraylength
if_icmplt 2
27: StackMap locals:
StackMap stack:
iload 3
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Ledu/umd/cs/findbugs/config/CommandLine;
0 28 1 argv [Ljava/lang/String;
0 28 2 dryRun Z
1 28 3 arg I
3 26 4 option Ljava/lang/String;
8 26 5 optionExtraPart Ljava/lang/String;
9 26 6 colon I
19 22 7 argument Ljava/lang/String;
Exceptions:
throws java.io.IOException, edu.umd.cs.findbugs.config.CommandLine$HelpRequestedException
MethodParameters:
Name Flags
argv
dryRun
protected abstract void handleOption(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
option
optionExtraPart
protected abstract void handleOptionWithArgument(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
option
argument
public void printUsage(java.io.OutputStream);
descriptor: (Ljava/io/OutputStream;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=8, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: aload 1
invokestatic edu.umd.cs.findbugs.charsets.UTF8.printStream:(Ljava/io/OutputStream;)Ljava/io/PrintStream;
astore 3
start local 3 2: aload 0
getfield edu.umd.cs.findbugs.config.CommandLine.optionList:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 23
StackMap locals: edu.umd.cs.findbugs.config.CommandLine java.io.OutputStream int java.io.PrintStream top java.util.Iterator
StackMap stack:
3: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 4
start local 4 4: aload 0
getfield edu.umd.cs.findbugs.config.CommandLine.optionGroups:Ljava/util/Map;
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifeq 6
5: aload 3
new java.lang.StringBuilder
dup
ldc " "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield edu.umd.cs.findbugs.config.CommandLine.optionGroups:Ljava/util/Map;
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
6: StackMap locals: edu.umd.cs.findbugs.config.CommandLine java.io.OutputStream int java.io.PrintStream java.lang.String java.util.Iterator
StackMap stack:
iinc 2 1
7: aload 0
getfield edu.umd.cs.findbugs.config.CommandLine.unlistedOptions:Ljava/util/Set;
aload 4
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 9
8: goto 23
9: StackMap locals:
StackMap stack:
aload 3
ldc " "
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
10: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 6
start local 6 11: aload 6
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
12: aload 0
getfield edu.umd.cs.findbugs.config.CommandLine.optionExtraPartSynopsisMap:Ljava/util/Map;
aload 4
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
ifnull 17
13: aload 0
getfield edu.umd.cs.findbugs.config.CommandLine.optionExtraPartSynopsisMap:Ljava/util/Map;
aload 4
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 7
start local 7 14: aload 6
ldc "[:"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
15: aload 6
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
16: aload 6
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 7 17: StackMap locals: java.lang.StringBuilder
StackMap stack:
aload 0
getfield edu.umd.cs.findbugs.config.CommandLine.requiresArgumentSet:Ljava/util/Set;
aload 4
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 21
18: aload 6
ldc " <"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
19: aload 6
aload 0
getfield edu.umd.cs.findbugs.config.CommandLine.argumentDescriptionMap:Ljava/util/Map;
aload 4
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
20: aload 6
ldc ">"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
21: StackMap locals:
StackMap stack:
aload 3
aload 6
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 0
getfield edu.umd.cs.findbugs.config.CommandLine.maxWidth:I
iconst_1
iadd
invokestatic edu.umd.cs.findbugs.config.CommandLine.printField:(Ljava/io/PrintStream;Ljava/lang/String;I)V
22: aload 3
aload 0
getfield edu.umd.cs.findbugs.config.CommandLine.optionDescriptionMap:Ljava/util/Map;
aload 4
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 6 end local 4 23: StackMap locals: edu.umd.cs.findbugs.config.CommandLine java.io.OutputStream int java.io.PrintStream top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
24: aload 3
invokevirtual java.io.PrintStream.flush:()V
25: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Ledu/umd/cs/findbugs/config/CommandLine;
0 26 1 os Ljava/io/OutputStream;
1 26 2 count I
2 26 3 out Ljava/io/PrintStream;
4 23 4 option Ljava/lang/String;
11 23 6 buf Ljava/lang/StringBuilder;
14 17 7 optionExtraPartSynopsis Ljava/lang/String;
MethodParameters:
Name Flags
os
private static void printField(java.io.PrintStream, java.lang.String, int);
descriptor: (Ljava/io/PrintStream;Ljava/lang/String;I)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual java.lang.String.length:()I
iload 2
if_icmple 2
1: new java.lang.IllegalArgumentException
dup
invokespecial java.lang.IllegalArgumentException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
iload 2
aload 1
invokevirtual java.lang.String.length:()I
isub
istore 3
start local 3 3: aload 0
aload 1
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
4: goto 8
5: StackMap locals: int
StackMap stack:
ldc " "
invokevirtual java.lang.String.length:()I
iload 3
invokestatic java.lang.Math.min:(II)I
istore 4
start local 4 6: aload 0
ldc " "
iconst_0
iload 4
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
7: iload 3
iload 4
isub
istore 3
end local 4 8: StackMap locals:
StackMap stack:
iload 3
ifgt 5
9: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 out Ljava/io/PrintStream;
0 10 1 s Ljava/lang/String;
0 10 2 width I
3 10 3 nSpaces I
6 8 4 n I
MethodParameters:
Name Flags
out
s
width
}
SourceFile: "CommandLine.java"
NestMembers:
edu.umd.cs.findbugs.config.CommandLine$HelpRequestedException
InnerClasses:
public HelpRequestedException = edu.umd.cs.findbugs.config.CommandLine$HelpRequestedException of edu.umd.cs.findbugs.config.CommandLine