public class net.sourceforge.cobertura.coveragedata.ProjectData extends net.sourceforge.cobertura.coveragedata.CoverageDataContainer
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: net.sourceforge.cobertura.coveragedata.ProjectData
super_class: net.sourceforge.cobertura.coveragedata.CoverageDataContainer
{
private static final org.slf4j.Logger logger;
descriptor: Lorg/slf4j/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final long serialVersionUID;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 6
private static net.sourceforge.cobertura.coveragedata.ProjectData globalProjectData;
descriptor: Lnet/sourceforge/cobertura/coveragedata/ProjectData;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static java.lang.Thread shutdownHook;
descriptor: Ljava/lang/Thread;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static final transient java.util.concurrent.locks.Lock globalProjectDataLock;
descriptor: Ljava/util/concurrent/locks/Lock;
flags: (0x009a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL, ACC_TRANSIENT
private java.util.Map classes;
descriptor: Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc Lnet/sourceforge/cobertura/coveragedata/ProjectData;
invokestatic org.slf4j.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/slf4j/Logger;
putstatic net.sourceforge.cobertura.coveragedata.ProjectData.logger:Lorg/slf4j/Logger;
1: aconst_null
putstatic net.sourceforge.cobertura.coveragedata.ProjectData.globalProjectData:Lnet/sourceforge/cobertura/coveragedata/ProjectData;
2: new java.util.concurrent.locks.ReentrantLock
dup
invokespecial java.util.concurrent.locks.ReentrantLock.<init>:()V
putstatic net.sourceforge.cobertura.coveragedata.ProjectData.globalProjectDataLock:Ljava/util/concurrent/locks/Lock;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial net.sourceforge.cobertura.coveragedata.CoverageDataContainer.<init>:()V
1: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield net.sourceforge.cobertura.coveragedata.ProjectData.classes:Ljava/util/Map;
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lnet/sourceforge/cobertura/coveragedata/ProjectData;
public void addClassData(net.sourceforge.cobertura.coveragedata.ClassData);
descriptor: (Lnet/sourceforge/cobertura/coveragedata/ClassData;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield net.sourceforge.cobertura.coveragedata.ProjectData.lock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.lock:()V
1: aload 1
invokevirtual net.sourceforge.cobertura.coveragedata.ClassData.getPackageName:()Ljava/lang/String;
astore 2
start local 2 2: aload 0
getfield net.sourceforge.cobertura.coveragedata.ProjectData.children:Ljava/util/Map;
aload 2
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast net.sourceforge.cobertura.coveragedata.PackageData
astore 3
start local 3 3: aload 3
ifnonnull 6
4: new net.sourceforge.cobertura.coveragedata.PackageData
dup
aload 2
invokespecial net.sourceforge.cobertura.coveragedata.PackageData.<init>:(Ljava/lang/String;)V
astore 3
5: aload 0
getfield net.sourceforge.cobertura.coveragedata.ProjectData.children:Ljava/util/Map;
aload 2
aload 3
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
6: StackMap locals: java.lang.String net.sourceforge.cobertura.coveragedata.PackageData
StackMap stack:
aload 3
aload 1
invokevirtual net.sourceforge.cobertura.coveragedata.PackageData.addClassData:(Lnet/sourceforge/cobertura/coveragedata/ClassData;)V
7: aload 0
getfield net.sourceforge.cobertura.coveragedata.ProjectData.classes:Ljava/util/Map;
aload 1
invokevirtual net.sourceforge.cobertura.coveragedata.ClassData.getName:()Ljava/lang/String;
aload 1
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 3 end local 2 8: goto 12
StackMap locals: net.sourceforge.cobertura.coveragedata.ProjectData net.sourceforge.cobertura.coveragedata.ClassData
StackMap stack: java.lang.Throwable
9: astore 4
10: aload 0
getfield net.sourceforge.cobertura.coveragedata.ProjectData.lock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
11: aload 4
athrow
12: StackMap locals:
StackMap stack:
aload 0
getfield net.sourceforge.cobertura.coveragedata.ProjectData.lock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
13: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lnet/sourceforge/cobertura/coveragedata/ProjectData;
0 14 1 classData Lnet/sourceforge/cobertura/coveragedata/ClassData;
2 8 2 packageName Ljava/lang/String;
3 8 3 packageData Lnet/sourceforge/cobertura/coveragedata/PackageData;
Exception table:
from to target type
1 9 9 any
MethodParameters:
Name Flags
classData
public net.sourceforge.cobertura.coveragedata.ClassData getClassData(java.lang.String);
descriptor: (Ljava/lang/String;)Lnet/sourceforge/cobertura/coveragedata/ClassData;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield net.sourceforge.cobertura.coveragedata.ProjectData.classes:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast net.sourceforge.cobertura.coveragedata.ClassData
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lnet/sourceforge/cobertura/coveragedata/ProjectData;
0 1 1 name Ljava/lang/String;
MethodParameters:
Name Flags
name
public net.sourceforge.cobertura.coveragedata.ClassData getOrCreateClassData(java.lang.String);
descriptor: (Ljava/lang/String;)Lnet/sourceforge/cobertura/coveragedata/ClassData;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield net.sourceforge.cobertura.coveragedata.ProjectData.lock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.lock:()V
1: aload 0
getfield net.sourceforge.cobertura.coveragedata.ProjectData.classes:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast net.sourceforge.cobertura.coveragedata.ClassData
astore 2
start local 2 2: aload 2
ifnonnull 5
3: new net.sourceforge.cobertura.coveragedata.ClassData
dup
aload 1
invokespecial net.sourceforge.cobertura.coveragedata.ClassData.<init>:(Ljava/lang/String;)V
astore 2
4: aload 0
aload 2
invokevirtual net.sourceforge.cobertura.coveragedata.ProjectData.addClassData:(Lnet/sourceforge/cobertura/coveragedata/ClassData;)V
5: StackMap locals: net.sourceforge.cobertura.coveragedata.ClassData
StackMap stack:
aload 2
astore 4
6: aload 0
getfield net.sourceforge.cobertura.coveragedata.ProjectData.lock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
7: aload 4
areturn
end local 2 8: StackMap locals: net.sourceforge.cobertura.coveragedata.ProjectData java.lang.String
StackMap stack: java.lang.Throwable
astore 3
9: aload 0
getfield net.sourceforge.cobertura.coveragedata.ProjectData.lock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
10: aload 3
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lnet/sourceforge/cobertura/coveragedata/ProjectData;
0 11 1 name Ljava/lang/String;
2 8 2 classData Lnet/sourceforge/cobertura/coveragedata/ClassData;
Exception table:
from to target type
1 6 8 any
MethodParameters:
Name Flags
name
public java.util.Collection getClasses();
descriptor: ()Ljava/util/Collection;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=3, args_size=1
start local 0 0: aload 0
getfield net.sourceforge.cobertura.coveragedata.ProjectData.lock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.lock:()V
1: aload 0
getfield net.sourceforge.cobertura.coveragedata.ProjectData.classes:Ljava/util/Map;
invokeinterface java.util.Map.values:()Ljava/util/Collection;
astore 2
2: aload 0
getfield net.sourceforge.cobertura.coveragedata.ProjectData.lock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
3: aload 2
areturn
4: StackMap locals:
StackMap stack: java.lang.Throwable
astore 1
5: aload 0
getfield net.sourceforge.cobertura.coveragedata.ProjectData.lock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
6: aload 1
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lnet/sourceforge/cobertura/coveragedata/ProjectData;
Exception table:
from to target type
1 2 4 any
public int getNumberOfClasses();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=3, args_size=1
start local 0 0: aload 0
getfield net.sourceforge.cobertura.coveragedata.ProjectData.lock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.lock:()V
1: aload 0
getfield net.sourceforge.cobertura.coveragedata.ProjectData.classes:Ljava/util/Map;
invokeinterface java.util.Map.size:()I
istore 2
2: aload 0
getfield net.sourceforge.cobertura.coveragedata.ProjectData.lock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
3: iload 2
ireturn
4: StackMap locals:
StackMap stack: java.lang.Throwable
astore 1
5: aload 0
getfield net.sourceforge.cobertura.coveragedata.ProjectData.lock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
6: aload 1
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lnet/sourceforge/cobertura/coveragedata/ProjectData;
Exception table:
from to target type
1 2 4 any
public int getNumberOfSourceFiles();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual net.sourceforge.cobertura.coveragedata.ProjectData.getSourceFiles:()Ljava/util/Collection;
invokeinterface java.util.Collection.size:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lnet/sourceforge/cobertura/coveragedata/ProjectData;
public java.util.SortedSet getPackages();
descriptor: ()Ljava/util/SortedSet;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
getfield net.sourceforge.cobertura.coveragedata.ProjectData.lock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.lock:()V
1: new java.util.TreeSet
dup
aload 0
getfield net.sourceforge.cobertura.coveragedata.ProjectData.children:Ljava/util/Map;
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokespecial java.util.TreeSet.<init>:(Ljava/util/Collection;)V
astore 2
2: aload 0
getfield net.sourceforge.cobertura.coveragedata.ProjectData.lock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
3: aload 2
areturn
4: StackMap locals:
StackMap stack: java.lang.Throwable
astore 1
5: aload 0
getfield net.sourceforge.cobertura.coveragedata.ProjectData.lock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
6: aload 1
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lnet/sourceforge/cobertura/coveragedata/ProjectData;
Exception table:
from to target type
1 2 4 any
public java.util.Collection getSourceFiles();
descriptor: ()Ljava/util/Collection;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=1
start local 0 0: new java.util.TreeSet
dup
invokespecial java.util.TreeSet.<init>:()V
astore 1
start local 1 1: aload 0
getfield net.sourceforge.cobertura.coveragedata.ProjectData.lock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.lock:()V
2: aload 0
getfield net.sourceforge.cobertura.coveragedata.ProjectData.children:Ljava/util/Map;
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 2
start local 2 3: goto 6
4: StackMap locals: java.util.SortedSet java.util.Iterator
StackMap stack:
aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast net.sourceforge.cobertura.coveragedata.PackageData
astore 3
start local 3 5: aload 1
aload 3
invokevirtual net.sourceforge.cobertura.coveragedata.PackageData.getSourceFiles:()Ljava/util/Collection;
invokeinterface java.util.SortedSet.addAll:(Ljava/util/Collection;)Z
pop
end local 3 6: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
end local 2 7: goto 11
StackMap locals: net.sourceforge.cobertura.coveragedata.ProjectData java.util.SortedSet
StackMap stack: java.lang.Throwable
8: astore 4
9: aload 0
getfield net.sourceforge.cobertura.coveragedata.ProjectData.lock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
10: aload 4
athrow
11: StackMap locals:
StackMap stack:
aload 0
getfield net.sourceforge.cobertura.coveragedata.ProjectData.lock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
12: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lnet/sourceforge/cobertura/coveragedata/ProjectData;
1 13 1 sourceFileDatas Ljava/util/SortedSet;
3 7 2 iter Ljava/util/Iterator;
5 6 3 packageData Lnet/sourceforge/cobertura/coveragedata/PackageData;
Exception table:
from to target type
2 8 8 any
public java.util.SortedSet getSubPackages(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/util/SortedSet;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: new java.util.TreeSet
dup
invokespecial java.util.TreeSet.<init>:()V
astore 2
start local 2 1: aload 0
getfield net.sourceforge.cobertura.coveragedata.ProjectData.lock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.lock:()V
2: aload 0
getfield net.sourceforge.cobertura.coveragedata.ProjectData.children:Ljava/util/Map;
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 3
start local 3 3: goto 9
4: StackMap locals: java.util.SortedSet java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast net.sourceforge.cobertura.coveragedata.PackageData
astore 4
start local 4 5: aload 4
invokevirtual net.sourceforge.cobertura.coveragedata.PackageData.getName:()Ljava/lang/String;
new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 8
6: aload 4
invokevirtual net.sourceforge.cobertura.coveragedata.PackageData.getName:()Ljava/lang/String;
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 8
7: aload 1
invokevirtual java.lang.String.length:()I
ifne 9
8: StackMap locals: net.sourceforge.cobertura.coveragedata.PackageData
StackMap stack:
aload 2
aload 4
invokeinterface java.util.SortedSet.add:(Ljava/lang/Object;)Z
pop
end local 4 9: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
end local 3 10: goto 14
StackMap locals: net.sourceforge.cobertura.coveragedata.ProjectData java.lang.String java.util.SortedSet
StackMap stack: java.lang.Throwable
11: astore 5
12: aload 0
getfield net.sourceforge.cobertura.coveragedata.ProjectData.lock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
13: aload 5
athrow
14: StackMap locals:
StackMap stack:
aload 0
getfield net.sourceforge.cobertura.coveragedata.ProjectData.lock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
15: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lnet/sourceforge/cobertura/coveragedata/ProjectData;
0 16 1 packageName Ljava/lang/String;
1 16 2 subPackages Ljava/util/SortedSet;
3 10 3 iter Ljava/util/Iterator;
5 9 4 packageData Lnet/sourceforge/cobertura/coveragedata/PackageData;
Exception table:
from to target type
2 11 11 any
MethodParameters:
Name Flags
packageName
public void merge(net.sourceforge.cobertura.coveragedata.CoverageData);
descriptor: (Lnet/sourceforge/cobertura/coveragedata/CoverageData;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: return
2: StackMap locals:
StackMap stack:
aload 1
checkcast net.sourceforge.cobertura.coveragedata.ProjectData
astore 2
start local 2 3: aload 0
aload 2
invokevirtual net.sourceforge.cobertura.coveragedata.ProjectData.getBothLocks:(Lnet/sourceforge/cobertura/coveragedata/CoverageDataContainer;)V
4: aload 0
aload 1
invokespecial net.sourceforge.cobertura.coveragedata.CoverageDataContainer.merge:(Lnet/sourceforge/cobertura/coveragedata/CoverageData;)V
5: aload 2
getfield net.sourceforge.cobertura.coveragedata.ProjectData.classes:Ljava/util/Map;
invokeinterface java.util.Map.keySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 3
start local 3 6: goto 10
7: StackMap locals: net.sourceforge.cobertura.coveragedata.ProjectData java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 4
start local 4 8: aload 0
getfield net.sourceforge.cobertura.coveragedata.ProjectData.classes:Ljava/util/Map;
aload 4
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifne 10
9: aload 0
getfield net.sourceforge.cobertura.coveragedata.ProjectData.classes:Ljava/util/Map;
aload 4
aload 2
getfield net.sourceforge.cobertura.coveragedata.ProjectData.classes:Ljava/util/Map;
aload 4
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 4 10: StackMap locals:
StackMap stack:
aload 3
11: invokeinterface java.util.Iterator.hasNext:()Z
ifne 7
end local 3 12: goto 17
StackMap locals: net.sourceforge.cobertura.coveragedata.ProjectData net.sourceforge.cobertura.coveragedata.CoverageData net.sourceforge.cobertura.coveragedata.ProjectData
StackMap stack: java.lang.Throwable
13: astore 5
14: aload 0
getfield net.sourceforge.cobertura.coveragedata.ProjectData.lock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
15: aload 2
getfield net.sourceforge.cobertura.coveragedata.ProjectData.lock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
16: aload 5
athrow
17: StackMap locals:
StackMap stack:
aload 0
getfield net.sourceforge.cobertura.coveragedata.ProjectData.lock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
18: aload 2
getfield net.sourceforge.cobertura.coveragedata.ProjectData.lock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
19: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lnet/sourceforge/cobertura/coveragedata/ProjectData;
0 20 1 coverageData Lnet/sourceforge/cobertura/coveragedata/CoverageData;
3 20 2 projectData Lnet/sourceforge/cobertura/coveragedata/ProjectData;
6 12 3 iter Ljava/util/Iterator;
8 10 4 key Ljava/lang/Object;
Exception table:
from to target type
4 13 13 any
MethodParameters:
Name Flags
coverageData
public static net.sourceforge.cobertura.coveragedata.ProjectData getGlobalProjectData();
descriptor: ()Lnet/sourceforge/cobertura/coveragedata/ProjectData;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=0
0: getstatic net.sourceforge.cobertura.coveragedata.ProjectData.globalProjectDataLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.lock:()V
1: getstatic net.sourceforge.cobertura.coveragedata.ProjectData.globalProjectData:Lnet/sourceforge/cobertura/coveragedata/ProjectData;
ifnull 5
2: getstatic net.sourceforge.cobertura.coveragedata.ProjectData.globalProjectData:Lnet/sourceforge/cobertura/coveragedata/ProjectData;
astore 1
3: getstatic net.sourceforge.cobertura.coveragedata.ProjectData.globalProjectDataLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
4: aload 1
areturn
5: StackMap locals:
StackMap stack:
new net.sourceforge.cobertura.coveragedata.ProjectData
dup
invokespecial net.sourceforge.cobertura.coveragedata.ProjectData.<init>:()V
putstatic net.sourceforge.cobertura.coveragedata.ProjectData.globalProjectData:Lnet/sourceforge/cobertura/coveragedata/ProjectData;
6: invokestatic net.sourceforge.cobertura.coveragedata.ProjectData.initialize:()V
7: getstatic net.sourceforge.cobertura.coveragedata.ProjectData.globalProjectData:Lnet/sourceforge/cobertura/coveragedata/ProjectData;
astore 1
8: getstatic net.sourceforge.cobertura.coveragedata.ProjectData.globalProjectDataLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
9: aload 1
areturn
10: StackMap locals:
StackMap stack: java.lang.Throwable
astore 0
11: getstatic net.sourceforge.cobertura.coveragedata.ProjectData.globalProjectDataLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
12: aload 0
athrow
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
1 3 10 any
5 8 10 any
private static void initialize();
descriptor: ()V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: ldc "catalina.home"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
ifnull 9
1: invokestatic net.sourceforge.cobertura.coveragedata.ProjectData.saveGlobalProjectData:()V
2: ldc Lnet/sourceforge/cobertura/coveragedata/ClassData;
invokevirtual java.lang.Class.toString:()Ljava/lang/String;
pop
3: ldc Lnet/sourceforge/cobertura/coveragedata/CoverageData;
invokevirtual java.lang.Class.toString:()Ljava/lang/String;
pop
4: ldc Lnet/sourceforge/cobertura/coveragedata/CoverageDataContainer;
invokevirtual java.lang.Class.toString:()Ljava/lang/String;
pop
5: ldc Lnet/sourceforge/cobertura/util/FileLocker;
invokevirtual java.lang.Class.toString:()Ljava/lang/String;
pop
6: ldc Lnet/sourceforge/cobertura/coveragedata/LineData;
invokevirtual java.lang.Class.toString:()Ljava/lang/String;
pop
7: ldc Lnet/sourceforge/cobertura/coveragedata/PackageData;
invokevirtual java.lang.Class.toString:()Ljava/lang/String;
pop
8: ldc Lnet/sourceforge/cobertura/coveragedata/SourceFileData;
invokevirtual java.lang.Class.toString:()Ljava/lang/String;
pop
9: StackMap locals:
StackMap stack:
new java.lang.Thread
dup
new net.sourceforge.cobertura.coveragedata.SaveTimer
dup
invokespecial net.sourceforge.cobertura.coveragedata.SaveTimer.<init>:()V
invokespecial java.lang.Thread.<init>:(Ljava/lang/Runnable;)V
putstatic net.sourceforge.cobertura.coveragedata.ProjectData.shutdownHook:Ljava/lang/Thread;
10: invokestatic java.lang.Runtime.getRuntime:()Ljava/lang/Runtime;
getstatic net.sourceforge.cobertura.coveragedata.ProjectData.shutdownHook:Ljava/lang/Thread;
invokevirtual java.lang.Runtime.addShutdownHook:(Ljava/lang/Thread;)V
11: return
LocalVariableTable:
Start End Slot Name Signature
public static void saveGlobalProjectData();
descriptor: ()V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=6, args_size=0
0: aconst_null
astore 0
start local 0 1: getstatic net.sourceforge.cobertura.coveragedata.ProjectData.globalProjectDataLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.lock:()V
2: invokestatic net.sourceforge.cobertura.coveragedata.ProjectData.getGlobalProjectData:()Lnet/sourceforge/cobertura/coveragedata/ProjectData;
astore 0
3: new net.sourceforge.cobertura.coveragedata.ProjectData
dup
invokespecial net.sourceforge.cobertura.coveragedata.ProjectData.<init>:()V
putstatic net.sourceforge.cobertura.coveragedata.ProjectData.globalProjectData:Lnet/sourceforge/cobertura/coveragedata/ProjectData;
4: goto 8
StackMap locals: net.sourceforge.cobertura.coveragedata.ProjectData
StackMap stack: java.lang.Throwable
5: astore 1
6: getstatic net.sourceforge.cobertura.coveragedata.ProjectData.globalProjectDataLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
7: aload 1
athrow
8: StackMap locals:
StackMap stack:
getstatic net.sourceforge.cobertura.coveragedata.ProjectData.globalProjectDataLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
9: ldc 1000
invokestatic java.lang.Thread.sleep:(J)V
10: goto 12
StackMap locals:
StackMap stack: java.lang.InterruptedException
11: pop
12: StackMap locals:
StackMap stack:
aload 0
invokestatic net.sourceforge.cobertura.coveragedata.TouchCollector.applyTouchesOnProjectData:(Lnet/sourceforge/cobertura/coveragedata/ProjectData;)V
13: invokestatic net.sourceforge.cobertura.coveragedata.CoverageDataFileHandler.getDefaultDataFile:()Ljava/io/File;
astore 1
start local 1 14: aload 1
invokevirtual java.io.File.getPath:()Ljava/lang/String;
invokevirtual java.lang.String.intern:()Ljava/lang/String;
dup
astore 2
monitorenter
15: new net.sourceforge.cobertura.util.FileLocker
dup
aload 1
invokespecial net.sourceforge.cobertura.util.FileLocker.<init>:(Ljava/io/File;)V
astore 3
start local 3 16: aload 3
invokevirtual net.sourceforge.cobertura.util.FileLocker.lock:()Z
ifeq 28
17: aload 1
invokestatic net.sourceforge.cobertura.coveragedata.ProjectData.loadCoverageDataFromDatafile:(Ljava/io/File;)Lnet/sourceforge/cobertura/coveragedata/ProjectData;
astore 4
start local 4 18: aload 4
ifnonnull 21
19: aload 0
astore 4
20: goto 22
21: StackMap locals: net.sourceforge.cobertura.coveragedata.ProjectData java.io.File java.lang.String net.sourceforge.cobertura.util.FileLocker net.sourceforge.cobertura.coveragedata.ProjectData
StackMap stack:
aload 4
aload 0
invokevirtual net.sourceforge.cobertura.coveragedata.ProjectData.merge:(Lnet/sourceforge/cobertura/coveragedata/CoverageData;)V
22: StackMap locals:
StackMap stack:
aload 4
aload 1
23: invokestatic net.sourceforge.cobertura.coveragedata.CoverageDataFileHandler.saveCoverageData:(Lnet/sourceforge/cobertura/coveragedata/ProjectData;Ljava/io/File;)V
end local 4 24: goto 28
StackMap locals: net.sourceforge.cobertura.coveragedata.ProjectData java.io.File java.lang.String net.sourceforge.cobertura.util.FileLocker
StackMap stack: java.lang.Throwable
25: astore 5
26: aload 3
invokevirtual net.sourceforge.cobertura.util.FileLocker.release:()V
27: aload 5
athrow
28: StackMap locals:
StackMap stack:
aload 3
invokevirtual net.sourceforge.cobertura.util.FileLocker.release:()V
end local 3 29: aload 2
monitorexit
30: goto 33
StackMap locals: net.sourceforge.cobertura.coveragedata.ProjectData java.io.File java.lang.String
StackMap stack: java.lang.Throwable
31: aload 2
monitorexit
32: athrow
33: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
1 34 0 projectDataToSave Lnet/sourceforge/cobertura/coveragedata/ProjectData;
14 34 1 dataFile Ljava/io/File;
16 29 3 fileLocker Lnet/sourceforge/cobertura/util/FileLocker;
18 24 4 datafileProjectData Lnet/sourceforge/cobertura/coveragedata/ProjectData;
Exception table:
from to target type
2 5 5 any
9 10 11 Class java.lang.InterruptedException
16 25 25 any
15 30 31 any
31 32 31 any
public static void turnOffAutoSave();
descriptor: ()V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: getstatic net.sourceforge.cobertura.coveragedata.ProjectData.shutdownHook:Ljava/lang/Thread;
ifnull 2
1: invokestatic java.lang.Runtime.getRuntime:()Ljava/lang/Runtime;
getstatic net.sourceforge.cobertura.coveragedata.ProjectData.shutdownHook:Ljava/lang/Thread;
invokevirtual java.lang.Runtime.removeShutdownHook:(Ljava/lang/Thread;)Z
pop
2: StackMap locals:
StackMap stack:
return
LocalVariableTable:
Start End Slot Name Signature
private static net.sourceforge.cobertura.coveragedata.ProjectData loadCoverageDataFromDatafile(java.io.File);
descriptor: (Ljava/io/File;)Lnet/sourceforge/cobertura/coveragedata/ProjectData;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: aload 0
invokevirtual java.io.File.isFile:()Z
ifeq 3
2: aload 0
invokestatic net.sourceforge.cobertura.coveragedata.CoverageDataFileHandler.loadCoverageData:(Ljava/io/File;)Lnet/sourceforge/cobertura/coveragedata/ProjectData;
astore 1
3: StackMap locals: net.sourceforge.cobertura.coveragedata.ProjectData
StackMap stack:
aload 1
ifnonnull 9
4: getstatic net.sourceforge.cobertura.coveragedata.ProjectData.logger:Lorg/slf4j/Logger;
5: new java.lang.StringBuilder
dup
ldc "Cobertura: Coverage data file "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
6: aload 0
invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
7: ldc " either does not exist or is not readable. Creating a new data file."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
8: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.slf4j.Logger.info:(Ljava/lang/String;)V
9: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 dataFile Ljava/io/File;
1 10 1 projectData Lnet/sourceforge/cobertura/coveragedata/ProjectData;
MethodParameters:
Name Flags
dataFile
}
SourceFile: "ProjectData.java"
RuntimeInvisibleAnnotations:
net.sourceforge.cobertura.CoverageIgnore()