Package edu.umd.cs.findbugs.ba.obl
Class InstructionActionCache
- java.lang.Object
-
- edu.umd.cs.findbugs.ba.obl.InstructionActionCache
-
public class InstructionActionCache extends java.lang.Object
A cache for looking up the collection of ObligationPolicyDatabaseActions associated with a given InstructionHandle. Avoids the need for repeated (slow) lookups.
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.Map<org.apache.bcel.generic.InstructionHandle,java.util.Collection<ObligationPolicyDatabaseAction>>
actionCache
private org.apache.bcel.generic.ConstantPoolGen
cpg
private ObligationPolicyDatabase
database
private static boolean
DEBUG_LOOKUP
private TypeDataflow
typeDataflow
(package private) static ClassDescriptor
WILL_CLOSE
private XMethod
xmethod
-
Constructor Summary
Constructors Constructor Description InstructionActionCache(ObligationPolicyDatabase database, XMethod xmethod, org.apache.bcel.generic.ConstantPoolGen cpg, TypeDataflow typeDataflow)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
addsObligation(BasicBlock block, org.apache.bcel.generic.InstructionHandle handle, Obligation obligation)
boolean
deletesObligation(BasicBlock block, org.apache.bcel.generic.InstructionHandle handle, Obligation obligation)
java.util.Collection<ObligationPolicyDatabaseAction>
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 Detail
-
DEBUG_LOOKUP
private static final boolean DEBUG_LOOKUP
-
database
private final ObligationPolicyDatabase database
-
actionCache
private final java.util.Map<org.apache.bcel.generic.InstructionHandle,java.util.Collection<ObligationPolicyDatabaseAction>> actionCache
-
xmethod
private final XMethod xmethod
-
typeDataflow
private final TypeDataflow typeDataflow
-
cpg
private final org.apache.bcel.generic.ConstantPoolGen cpg
-
WILL_CLOSE
static final ClassDescriptor WILL_CLOSE
-
-
Constructor Detail
-
InstructionActionCache
public InstructionActionCache(ObligationPolicyDatabase database, XMethod xmethod, org.apache.bcel.generic.ConstantPoolGen cpg, TypeDataflow typeDataflow)
-
-
Method Detail
-
getActions
public java.util.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)
-
-