Package edu.umd.cs.findbugs.ba.obl
Class InstructionActionCache
java.lang.Object
edu.umd.cs.findbugs.ba.obl.InstructionActionCache
A cache for looking up the collection of ObligationPolicyDatabaseActions
associated with a given InstructionHandle. Avoids the need for repeated
(slow) lookups.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final Map
<org.apache.bcel.generic.InstructionHandle, Collection<ObligationPolicyDatabaseAction>> private final org.apache.bcel.generic.ConstantPoolGen
private final ObligationPolicyDatabase
private static final boolean
private final TypeDataflow
(package private) static final ClassDescriptor
private final XMethod
-
Constructor Summary
ConstructorsConstructorDescriptionInstructionActionCache
(ObligationPolicyDatabase database, XMethod xmethod, org.apache.bcel.generic.ConstantPoolGen cpg, TypeDataflow typeDataflow) -
Method Summary
Modifier and TypeMethodDescriptionboolean
addsObligation
(BasicBlock block, org.apache.bcel.generic.InstructionHandle handle, Obligation obligation) boolean
deletesObligation
(BasicBlock block, org.apache.bcel.generic.InstructionHandle handle, Obligation obligation) getActions
(BasicBlock block, org.apache.bcel.generic.InstructionHandle handle) private boolean
hasAction
(BasicBlock block, org.apache.bcel.generic.InstructionHandle handle, Obligation obligation, ObligationPolicyDatabaseActionType actionType)
-
Field Details
-
DEBUG_LOOKUP
private static final boolean DEBUG_LOOKUP -
database
-
actionCache
private final Map<org.apache.bcel.generic.InstructionHandle,Collection<ObligationPolicyDatabaseAction>> actionCache -
xmethod
-
typeDataflow
-
cpg
private final org.apache.bcel.generic.ConstantPoolGen cpg -
WILL_CLOSE
-
-
Constructor Details
-
InstructionActionCache
public InstructionActionCache(ObligationPolicyDatabase database, XMethod xmethod, org.apache.bcel.generic.ConstantPoolGen cpg, TypeDataflow typeDataflow)
-
-
Method Details
-
getActions
public Collection<ObligationPolicyDatabaseAction> getActions(BasicBlock block, org.apache.bcel.generic.InstructionHandle handle) -
addsObligation
public boolean addsObligation(BasicBlock block, org.apache.bcel.generic.InstructionHandle handle, Obligation obligation) -
deletesObligation
public boolean deletesObligation(BasicBlock block, org.apache.bcel.generic.InstructionHandle handle, Obligation obligation) -
hasAction
private boolean hasAction(BasicBlock block, org.apache.bcel.generic.InstructionHandle handle, Obligation obligation, ObligationPolicyDatabaseActionType actionType)
-