Package edu.umd.cs.findbugs.ba
Class LockChecker
java.lang.Object
edu.umd.cs.findbugs.ba.LockChecker
Front-end for LockDataflow that can avoid doing unnecessary work (e.g.,
actually performing the lock dataflow) if the method analyzed does not
contain explicit monitorenter/monitorexit instructions.
Note that because LockSets use value numbers, ValueNumberAnalysis must be performed for all methods that are synchronized or contain explicit monitorenter/monitorexit instructions.
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate LockDataflow
private org.apache.bcel.classfile.Method
private final MethodDescriptor
private ValueNumberDataflow
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
execute()
Execute dataflow analyses (only if required).getFactAtLocation
(Location location) Get LockSet at given Location.
-
Field Details
-
methodDescriptor
-
method
private org.apache.bcel.classfile.Method method -
lockDataflow
-
vnaDataflow
-
cache
-
-
Constructor Details
-
LockChecker
Constructor.
-
-
Method Details
-
execute
Execute dataflow analyses (only if required).- Throws:
CheckedAnalysisException
-
getFactAtLocation
Get LockSet at given Location.- Parameters:
location
- the Location- Returns:
- the LockSet at that Location
- Throws:
DataflowAnalysisException
-