edu.umd.cs.findbugs.detect
Class FindInconsistentSync2.FieldStats

java.lang.Object
  extended by edu.umd.cs.findbugs.detect.FindInconsistentSync2.FieldStats
Enclosing class:
FindInconsistentSync2

private static class FindInconsistentSync2.FieldStats
extends java.lang.Object

The access statistics for a field. Stores the number of locked and unlocked reads and writes, as well as the number of accesses made with a lock held.


Field Summary
private  int[] countList
           
private  int numGetterMethodAccesses
           
private  int numLocalLocks
           
private  java.util.LinkedList<SourceLineAnnotation> syncAccessList
           
private  java.util.LinkedList<SourceLineAnnotation> unsyncAccessList
           
 
Constructor Summary
private FindInconsistentSync2.FieldStats()
           
 
Method Summary
 void addAccess(ClassContext classContext, org.apache.bcel.classfile.Method method, org.apache.bcel.generic.InstructionHandle handle, boolean isLocked)
           
 void addAccess(int kind)
           
 void addGetterMethodAccess()
           
 void addLocalLock()
           
 int getNumAccesses(int kind)
           
 int getNumGetterMethodAccesses()
           
 int getNumLocalLocks()
           
 java.util.Iterator<SourceLineAnnotation> syncAccessIterator()
           
 java.util.Iterator<SourceLineAnnotation> unsyncAccessIterator()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

countList

private int[] countList

numLocalLocks

private int numLocalLocks

numGetterMethodAccesses

private int numGetterMethodAccesses

unsyncAccessList

private java.util.LinkedList<SourceLineAnnotation> unsyncAccessList

syncAccessList

private java.util.LinkedList<SourceLineAnnotation> syncAccessList
Constructor Detail

FindInconsistentSync2.FieldStats

private FindInconsistentSync2.FieldStats()
Method Detail

addAccess

public void addAccess(int kind)

getNumAccesses

public int getNumAccesses(int kind)

addLocalLock

public void addLocalLock()

getNumLocalLocks

public int getNumLocalLocks()

addGetterMethodAccess

public void addGetterMethodAccess()

getNumGetterMethodAccesses

public int getNumGetterMethodAccesses()

addAccess

public void addAccess(ClassContext classContext,
                      org.apache.bcel.classfile.Method method,
                      org.apache.bcel.generic.InstructionHandle handle,
                      boolean isLocked)

unsyncAccessIterator

public java.util.Iterator<SourceLineAnnotation> unsyncAccessIterator()

syncAccessIterator

public java.util.Iterator<SourceLineAnnotation> syncAccessIterator()