Package edu.umd.cs.findbugs.ba
Class LockChecker
- java.lang.Object
-
- edu.umd.cs.findbugs.ba.LockChecker
-
public class LockChecker extends java.lang.Object
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.
- Author:
- David Hovemeyer
- See Also:
LockSet
,LockDataflow
,LockAnalysis
-
-
Constructor Summary
Constructors Constructor Description LockChecker(MethodDescriptor methodDescriptor)
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
execute()
Execute dataflow analyses (only if required).LockSet
getFactAtLocation(Location location)
Get LockSet at given Location.
-
-
-
Constructor Detail
-
LockChecker
public LockChecker(MethodDescriptor methodDescriptor)
Constructor.
-
-
Method Detail
-
execute
public void execute() throws CheckedAnalysisException
Execute dataflow analyses (only if required).- Throws:
CheckedAnalysisException
-
getFactAtLocation
public LockSet getFactAtLocation(Location location) throws DataflowAnalysisException
Get LockSet at given Location.- Parameters:
location
- the Location- Returns:
- the LockSet at that Location
- Throws:
DataflowAnalysisException
-
-