public static class DataDependenceBackward.DataDependenceBackwardFF extends FlowFact
Modifier and Type | Field and Description |
---|---|
java.util.HashMap<Cell,java.util.HashSet<Node>> |
antiDependenceDestinations |
java.util.HashMap<Cell,java.util.HashSet<Node>> |
flowDependenceDestinations |
java.util.HashMap<Cell,java.util.HashSet<Node>> |
outputDependenceDestinations |
Constructor and Description |
---|
DataDependenceBackwardFF(java.util.HashMap<Cell,java.util.HashSet<Node>> flowDependenceDestinations,
java.util.HashMap<Cell,java.util.HashSet<Node>> antiDependenceDestinations,
java.util.HashMap<Cell,java.util.HashSet<Node>> outputDependenceDestinations) |
Modifier and Type | Method and Description |
---|---|
java.lang.String |
getString()
Prints the information represented by this object
in a human-readable form.
|
private java.lang.String |
getStringOfField(java.util.HashMap<Cell,java.util.HashSet<Node>> map,
java.lang.String fieldName) |
boolean |
isEqualTo(FlowFact other)
Returns true if
other is semantically
same as this object. |
FlowFact |
meetWith(FlowFact other,
java.util.Set<Cell> cellSet)
Given an instance of a FlowFact
other , this method should be
overridden to return the meet of the receiver with $other$. |
public java.util.HashMap<Cell,java.util.HashSet<Node>> flowDependenceDestinations
public java.util.HashMap<Cell,java.util.HashSet<Node>> antiDependenceDestinations
public boolean isEqualTo(FlowFact other)
FlowFact
other
is semantically
same as this object.
Note that we do not use equals() methods, since we want to enforce
the subclasses of FlowFact
to define this equality.public java.lang.String getString()
FlowFact
private java.lang.String getStringOfField(java.util.HashMap<Cell,java.util.HashSet<Node>> map, java.lang.String fieldName)
public FlowFact meetWith(FlowFact other, java.util.Set<Cell> cellSet)
FlowFact
other
, this method should be
overridden to return the meet of the receiver with $other$.
An implementation can use the set of symbols (symbolSet
), to make
the meet more precise.
The set symbolSet
, is used to obtain a set of those symbols which
may contribute to the update in data-flow fact of a node.
Note: Make sure that this method returns a new object every time, if
needed.meetWith
in class FlowFact
other
- one of the flowFacts. Can be null.cellSet
- set of cells that may affect the data-flow fact. Symbol.getPhantomSharedSymbol()
should be treated as
the set
of all the shared objects available in this context.other
, with the receiver.