private void |
UnconditionalValueDerefAnalysis.checkInstance(Location location,
ValueNumberFrame vnaFrame,
UnconditionalValueDerefSet fact) |
Check to see if the instruction has a null check associated with it, and
if so, add a dereference.
|
private void |
UnconditionalValueDerefAnalysis.checkNonNullParams(Location location,
ValueNumberFrame vnaFrame,
UnconditionalValueDerefSet fact) |
If this is a method call instruction, check to see if any of the
parameters are @NonNull, and treat them as dereferences.
|
private void |
UnconditionalValueDerefAnalysis.checkNonNullPutField(Location location,
ValueNumberFrame vnaFrame,
UnconditionalValueDerefSet fact) |
If this is a putfield or putstatic instruction, check to see if the field
is @NonNull, and treat it as dereferences.
|
private void |
UnconditionalValueDerefAnalysis.checkNonNullReturnValue(XMethod thisMethod,
Location location,
ValueNumberFrame vnaFrame,
UnconditionalValueDerefSet fact) |
If this is a method call instruction, check to see if any of the
parameters are @NonNull, and treat them as dereferences.
|
private void |
UnconditionalValueDerefAnalysis.checkUnconditionalDerefDatabase(Location location,
ValueNumberFrame vnaFrame,
UnconditionalValueDerefSet fact) |
Check method call at given location to see if it unconditionally
dereferences a parameter.
|
void |
UnconditionalValueDerefAnalysis.copy(UnconditionalValueDerefSet source,
UnconditionalValueDerefSet dest) |
|
private UnconditionalValueDerefSet |
UnconditionalValueDerefAnalysis.duplicateFact(UnconditionalValueDerefSet fact) |
Return a duplicate of given dataflow fact.
|
private ValueNumber |
UnconditionalValueDerefAnalysis.findValueKnownNonnullOnBranch(UnconditionalValueDerefSet fact,
Edge edge) |
Clear deref sets of values if this edge is the non-null branch of an if
comparison.
|
int |
UnconditionalValueDerefAnalysis.getLastUpdateTimestamp(UnconditionalValueDerefSet fact) |
|
private void |
UnconditionalValueDerefAnalysis.handleNullCheck(Location location,
ValueNumberFrame vnaFrame,
UnconditionalValueDerefSet fact) |
|
void |
UnconditionalValueDerefAnalysis.initEntryFact(UnconditionalValueDerefSet result) |
|
boolean |
UnconditionalValueDerefAnalysis.isFactValid(UnconditionalValueDerefSet fact) |
|
boolean |
UnconditionalValueDerefSet.isSameAs(UnconditionalValueDerefSet otherFact) |
Return whether or not this dataflow fact is identical to the one given.
|
boolean |
UnconditionalValueDerefAnalysis.isTop(UnconditionalValueDerefSet fact) |
|
void |
UnconditionalValueDerefAnalysis.makeFactTop(UnconditionalValueDerefSet fact) |
|
void |
UnconditionalValueDerefSet.makeSameAs(UnconditionalValueDerefSet source) |
Make this dataflow fact the same as the given one.
|
void |
UnconditionalValueDerefAnalysis.meetInto(UnconditionalValueDerefSet fact,
Edge edge,
UnconditionalValueDerefSet result) |
|
void |
UnconditionalValueDerefAnalysis.meetInto(UnconditionalValueDerefSet fact,
Edge edge,
UnconditionalValueDerefSet result,
boolean onlyEdge) |
|
void |
UnconditionalValueDerefSet.mergeWith(UnconditionalValueDerefSet fact,
ValueNumber skipMe,
ValueNumberFactory valueNumberFactory) |
Merge given dataflow fact into this one.
|
private UnconditionalValueDerefSet |
UnconditionalValueDerefAnalysis.propagateDerefSetsToMergeInputValues(UnconditionalValueDerefSet fact,
Edge edge) |
Find out if any VNs in the source block contribute to unconditionally
dereferenced VNs in the target block.
|
boolean |
UnconditionalValueDerefAnalysis.same(UnconditionalValueDerefSet fact1,
UnconditionalValueDerefSet fact2) |
|
void |
UnconditionalValueDerefAnalysis.setLastUpdateTimestamp(UnconditionalValueDerefSet fact,
int lastUpdate) |
|
void |
UnconditionalValueDerefAnalysis.transferInstruction(org.apache.bcel.generic.InstructionHandle handle,
BasicBlock basicBlock,
UnconditionalValueDerefSet fact) |
|
void |
UnconditionalValueDerefSet.unionWith(UnconditionalValueDerefSet fact,
ValueNumberFactory valueNumberFactory) |
|