Package com.ibm.wala.fixedpoint.impl
Class DefaultFixedPointSystem<T extends IVariable<?>>
- java.lang.Object
-
- com.ibm.wala.fixedpoint.impl.DefaultFixedPointSystem<T>
-
- All Implemented Interfaces:
IFixedPointSystem<T>
public class DefaultFixedPointSystem<T extends IVariable<?>> extends Object implements IFixedPointSystem<T>
Default implementation of a dataflow graph
-
-
Constructor Summary
Constructors Constructor Description DefaultFixedPointSystem()
default constructor ...DefaultFixedPointSystem(int expectedOut)
-
Method Summary
-
-
-
Constructor Detail
-
DefaultFixedPointSystem
public DefaultFixedPointSystem(int expectedOut)
- Parameters:
expectedOut
- number of expected out edges in the "usual" case for constraints .. used to tune graph representation
-
DefaultFixedPointSystem
public DefaultFixedPointSystem()
default constructor ... tuned for one use for each def in dataflow graph.
-
-
Method Detail
-
removeStatement
public void removeStatement(IFixedPointStatement<T> s)
Description copied from interface:IFixedPointSystem
removes a given statement- Specified by:
removeStatement
in interfaceIFixedPointSystem<T extends IVariable<?>>
-
getStatements
public Iterator<AbstractStatement> getStatements()
Description copied from interface:IFixedPointSystem
Return an Iterator of theIFixedPointStatement
s in this system- Specified by:
getStatements
in interfaceIFixedPointSystem<T extends IVariable<?>>
- Returns:
- Iterator
-
addStatement
public void addStatement(IFixedPointStatement statement) throws IllegalArgumentException, UnimplementedError
Description copied from interface:IFixedPointSystem
Add a statement to the system- Specified by:
addStatement
in interfaceIFixedPointSystem<T extends IVariable<?>>
- Throws:
IllegalArgumentException
UnimplementedError
-
addStatement
public void addStatement(GeneralStatement<?> s)
-
addStatement
public void addStatement(UnaryStatement<?> s)
-
addStatement
public void addStatement(NullaryStatement<?> s)
-
addVariable
public void addVariable(T v)
-
getStep
public AbstractStatement<?,?> getStep(int number)
-
reorder
public void reorder()
Description copied from interface:IFixedPointSystem
reorder the statements in this system- Specified by:
reorder
in interfaceIFixedPointSystem<T extends IVariable<?>>
-
getStatementsThatUse
public Iterator<?> getStatementsThatUse(T v)
- Specified by:
getStatementsThatUse
in interfaceIFixedPointSystem<T extends IVariable<?>>
- Returns:
- Iterator
, the statements that use the variable
-
getStatementsThatDef
public Iterator<?> getStatementsThatDef(T v)
- Specified by:
getStatementsThatDef
in interfaceIFixedPointSystem<T extends IVariable<?>>
- Returns:
- Iterator
, the statements that def the variable
-
getVariable
public T getVariable(int n)
-
getNumberOfStatementsThatUse
public int getNumberOfStatementsThatUse(T v)
- Specified by:
getNumberOfStatementsThatUse
in interfaceIFixedPointSystem<T extends IVariable<?>>
-
getNumberOfStatementsThatDef
public int getNumberOfStatementsThatDef(T v)
- Specified by:
getNumberOfStatementsThatDef
in interfaceIFixedPointSystem<T extends IVariable<?>>
-
getVariables
public Iterator<T> getVariables()
Description copied from interface:IFixedPointSystem
Return an Iterator of the variables in this graph- Specified by:
getVariables
in interfaceIFixedPointSystem<T extends IVariable<?>>
- Returns:
- Iterator
-
getNumberOfNodes
public int getNumberOfNodes()
-
getPredNodes
public Iterator<? extends INodeWithNumber> getPredNodes(INodeWithNumber n)
-
getPredNodeCount
public int getPredNodeCount(INodeWithNumber n)
-
containsStatement
public boolean containsStatement(IFixedPointStatement<T> s)
- Specified by:
containsStatement
in interfaceIFixedPointSystem<T extends IVariable<?>>
- Returns:
- true iff this system already contains an equation that is equal() to s
-
containsVariable
public boolean containsVariable(T v)
- Specified by:
containsVariable
in interfaceIFixedPointSystem<T extends IVariable<?>>
- Returns:
- true iff this system already contains a variable that is equal() to v.
-
-