public class net.sourceforge.cobertura.reporting.ReportMain
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: net.sourceforge.cobertura.reporting.ReportMain
super_class: java.lang.Object
{
private static final org.slf4j.Logger LOGGER;
descriptor: Lorg/slf4j/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lnet/sourceforge/cobertura/reporting/ReportMain;
invokestatic org.slf4j.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/slf4j/Logger;
1: putstatic net.sourceforge.cobertura.reporting.ReportMain.LOGGER:Lorg/slf4j/Logger;
2: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lnet/sourceforge/cobertura/reporting/ReportMain;
private static void parseArgumentsAndReport(java.lang.String[]);
descriptor: ([Ljava/lang/String;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=6, args_size=1
start local 0 0: new net.sourceforge.cobertura.dsl.ArgumentsBuilder
dup
invokespecial net.sourceforge.cobertura.dsl.ArgumentsBuilder.<init>:()V
astore 1
start local 1 1: aconst_null
astore 2
start local 2 2: aconst_null
astore 3
start local 3 3: iconst_0
istore 4
start local 4 4: goto 33
5: StackMap locals: java.lang.String[] net.sourceforge.cobertura.dsl.ArgumentsBuilder java.lang.String java.lang.String int
StackMap stack:
aload 0
iload 4
aaload
ldc "--basedir"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 9
6: aload 0
iinc 4 1
iload 4
aaload
astore 2
7: aload 1
aload 2
invokevirtual net.sourceforge.cobertura.dsl.ArgumentsBuilder.setBaseDirectory:(Ljava/lang/String;)Lnet/sourceforge/cobertura/dsl/ArgumentsBuilder;
pop
8: goto 32
StackMap locals:
StackMap stack:
9: aload 0
iload 4
aaload
ldc "--datafile"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 14
10: aload 0
iinc 4 1
iload 4
aaload
astore 5
start local 5 11: aload 5
invokestatic net.sourceforge.cobertura.reporting.ReportMain.validateDataFile:(Ljava/lang/String;)V
12: aload 1
aload 5
invokevirtual net.sourceforge.cobertura.dsl.ArgumentsBuilder.setDataFile:(Ljava/lang/String;)Lnet/sourceforge/cobertura/dsl/ArgumentsBuilder;
pop
end local 5 13: goto 32
StackMap locals:
StackMap stack:
14: aload 0
iload 4
aaload
ldc "--destination"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 19
15: aload 0
iinc 4 1
iload 4
aaload
astore 5
start local 5 16: aload 1
aload 5
invokevirtual net.sourceforge.cobertura.dsl.ArgumentsBuilder.setDestinationDirectory:(Ljava/lang/String;)Lnet/sourceforge/cobertura/dsl/ArgumentsBuilder;
pop
17: aload 5
invokestatic net.sourceforge.cobertura.reporting.ReportMain.validateAndCreateDestinationDirectory:(Ljava/lang/String;)V
end local 5 18: goto 32
StackMap locals:
StackMap stack:
19: aload 0
iload 4
aaload
ldc "--format"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 23
20: aload 0
iinc 4 1
iload 4
aaload
astore 3
21: aload 3
invokestatic net.sourceforge.cobertura.reporting.ReportMain.validateFormat:(Ljava/lang/String;)V
22: goto 32
StackMap locals:
StackMap stack:
23: aload 0
iload 4
aaload
ldc "--encoding"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 26
24: aload 1
aload 0
iinc 4 1
iload 4
aaload
invokevirtual net.sourceforge.cobertura.dsl.ArgumentsBuilder.setEncoding:(Ljava/lang/String;)Lnet/sourceforge/cobertura/dsl/ArgumentsBuilder;
pop
25: goto 32
StackMap locals:
StackMap stack:
26: aload 0
iload 4
aaload
ldc "--calculateMethodComplexity"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 29
27: aload 1
iconst_1
invokevirtual net.sourceforge.cobertura.dsl.ArgumentsBuilder.calculateMethodComplexity:(Z)Lnet/sourceforge/cobertura/dsl/ArgumentsBuilder;
pop
28: goto 32
29: StackMap locals:
StackMap stack:
aload 1
aload 0
iload 4
aaload
aload 2
ifnonnull 30
iconst_1
goto 31
StackMap locals: java.lang.String[] net.sourceforge.cobertura.dsl.ArgumentsBuilder java.lang.String java.lang.String int
StackMap stack: net.sourceforge.cobertura.dsl.ArgumentsBuilder java.lang.String
30: iconst_0
StackMap locals: java.lang.String[] net.sourceforge.cobertura.dsl.ArgumentsBuilder java.lang.String java.lang.String int
StackMap stack: net.sourceforge.cobertura.dsl.ArgumentsBuilder java.lang.String int
31: invokevirtual net.sourceforge.cobertura.dsl.ArgumentsBuilder.addSources:(Ljava/lang/String;Z)Lnet/sourceforge/cobertura/dsl/ArgumentsBuilder;
pop
32: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
33: iload 4
aload 0
arraylength
if_icmplt 5
end local 4 34: aload 1
invokevirtual net.sourceforge.cobertura.dsl.ArgumentsBuilder.build:()Lnet/sourceforge/cobertura/dsl/Arguments;
astore 4
start local 4 35: aload 4
invokevirtual net.sourceforge.cobertura.dsl.Arguments.getDestinationDirectory:()Ljava/io/File;
ifnonnull 38
36: getstatic java.lang.System.err:Ljava/io/PrintStream;
ldc "Error: destination directory must be set"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
37: iconst_1
invokestatic java.lang.System.exit:(I)V
38: StackMap locals: java.lang.String[] net.sourceforge.cobertura.dsl.ArgumentsBuilder java.lang.String java.lang.String net.sourceforge.cobertura.dsl.Arguments
StackMap stack:
getstatic net.sourceforge.cobertura.reporting.ReportMain.LOGGER:Lorg/slf4j/Logger;
invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
ifeq 48
39: getstatic net.sourceforge.cobertura.reporting.ReportMain.LOGGER:Lorg/slf4j/Logger;
ldc "format is %s encoding is %s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 3
aastore
dup
iconst_1
40: aload 4
invokevirtual net.sourceforge.cobertura.dsl.Arguments.getEncoding:()Ljava/lang/String;
aastore
41: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;)V
42: getstatic net.sourceforge.cobertura.reporting.ReportMain.LOGGER:Lorg/slf4j/Logger;
new java.lang.StringBuilder
dup
ldc "dataFile is "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
43: aload 4
invokevirtual net.sourceforge.cobertura.dsl.Arguments.getDataFile:()Ljava/io/File;
invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
44: invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;)V
45: getstatic net.sourceforge.cobertura.reporting.ReportMain.LOGGER:Lorg/slf4j/Logger;
new java.lang.StringBuilder
dup
ldc "destinationDir is "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
46: aload 4
invokevirtual net.sourceforge.cobertura.dsl.Arguments.getDestinationDirectory:()Ljava/io/File;
invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
47: invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;)V
48: StackMap locals:
StackMap stack:
new net.sourceforge.cobertura.dsl.Cobertura
dup
aload 4
invokespecial net.sourceforge.cobertura.dsl.Cobertura.<init>:(Lnet/sourceforge/cobertura/dsl/Arguments;)V
invokevirtual net.sourceforge.cobertura.dsl.Cobertura.report:()Lnet/sourceforge/cobertura/reporting/Report;
49: aload 3
invokestatic net.sourceforge.cobertura.dsl.ReportFormat.getFromString:(Ljava/lang/String;)Lnet/sourceforge/cobertura/dsl/ReportFormat;
50: invokeinterface net.sourceforge.cobertura.reporting.Report.export:(Lnet/sourceforge/cobertura/dsl/ReportFormat;)V
51: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 52 0 args [Ljava/lang/String;
1 52 1 builder Lnet/sourceforge/cobertura/dsl/ArgumentsBuilder;
2 52 2 baseDir Ljava/lang/String;
3 52 3 format Ljava/lang/String;
4 34 4 i I
11 13 5 datafile Ljava/lang/String;
16 18 5 destination Ljava/lang/String;
35 52 4 arguments Lnet/sourceforge/cobertura/dsl/Arguments;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
args
private static void validateFormat(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
ldc "html"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifne 6
aload 0
ldc "xml"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifne 6
1: aload 0
ldc "summaryXml"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifne 6
2: getstatic java.lang.System.err:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Error: format \""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
3: ldc "\" is invalid. Must be either html, xml or summaryXml"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
4: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
5: iconst_1
invokestatic java.lang.System.exit:(I)V
6: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 format Ljava/lang/String;
MethodParameters:
Name Flags
format
private static void validateDataFile(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: new java.io.File
dup
aload 0
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
astore 1
start local 1 1: aload 1
invokevirtual java.io.File.exists:()Z
ifne 6
2: getstatic java.lang.System.err:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Error: data file "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
3: ldc " does not exist"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
4: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
5: iconst_1
invokestatic java.lang.System.exit:(I)V
6: StackMap locals: java.io.File
StackMap stack:
aload 1
invokevirtual java.io.File.isFile:()Z
ifne 11
7: getstatic java.lang.System.err:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Error: data file "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
8: ldc " must be a regular file"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
9: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
10: iconst_1
invokestatic java.lang.System.exit:(I)V
11: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 value Ljava/lang/String;
1 12 1 dataFile Ljava/io/File;
MethodParameters:
Name Flags
value
private static void validateAndCreateDestinationDirectory(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: new java.io.File
dup
aload 0
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
astore 1
start local 1 1: aload 1
invokevirtual java.io.File.exists:()Z
ifeq 6
aload 1
invokevirtual java.io.File.isDirectory:()Z
ifne 6
2: getstatic java.lang.System.err:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Error: destination directory "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
3: ldc " already exists but is not a directory"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
4: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
5: iconst_1
invokestatic java.lang.System.exit:(I)V
6: StackMap locals: java.io.File
StackMap stack:
aload 1
invokevirtual java.io.File.mkdirs:()Z
pop
7: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 value Ljava/lang/String;
1 8 1 destinationDir Ljava/io/File;
MethodParameters:
Name Flags
value
public static int generateReport(java.lang.String[]);
descriptor: ([Ljava/lang/String;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=5, args_size=1
start local 0 0: getstatic java.lang.System.out:Ljava/io/PrintStream;
invokestatic net.sourceforge.cobertura.util.Header.print:(Ljava/io/PrintStream;)V
1: invokestatic java.lang.System.currentTimeMillis:()J
lstore 1
start local 1 2: aload 0
invokestatic net.sourceforge.cobertura.util.CommandLineBuilder.preprocessCommandLineArguments:([Ljava/lang/String;)[Ljava/lang/String;
astore 0
3: goto 9
StackMap locals: java.lang.String[] long
StackMap stack: java.lang.Exception
4: astore 3
start local 3 5: getstatic java.lang.System.err:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Error: Cannot process arguments: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
6: aload 3
invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
7: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
8: iconst_1
ireturn
end local 3 9: StackMap locals:
StackMap stack:
aload 0
invokestatic net.sourceforge.cobertura.reporting.ReportMain.parseArgumentsAndReport:([Ljava/lang/String;)V
10: invokestatic java.lang.System.currentTimeMillis:()J
lstore 3
start local 3 11: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Report time: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 3
lload 1
lsub
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc "ms"
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
12: iconst_0
ireturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 args [Ljava/lang/String;
2 13 1 startTime J
5 9 3 ex Ljava/lang/Exception;
11 13 3 stopTime J
Exception table:
from to target type
2 3 4 Class java.lang.Exception
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
args
public static void main(java.lang.String[]);
descriptor: ([Ljava/lang/String;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
invokestatic net.sourceforge.cobertura.reporting.ReportMain.generateReport:([Ljava/lang/String;)I
istore 1
start local 1 1: goto 4
end local 1 StackMap locals:
StackMap stack: java.lang.Exception
2: pop
3: iconst_1
istore 1
start local 1 4: StackMap locals: int
StackMap stack:
iload 1
ifeq 6
5: iload 1
invokestatic java.lang.System.exit:(I)V
6: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 args [Ljava/lang/String;
1 2 1 returnValue I
4 7 1 returnValue I
Exception table:
from to target type
0 1 2 Class java.lang.Exception
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
args
}
SourceFile: "ReportMain.java"