Package com.ibm.wala.dataflow.graph
Class BooleanSolver<T>
- java.lang.Object
-
- com.ibm.wala.fixedpoint.impl.AbstractFixedPointSolver<T>
-
- com.ibm.wala.fixedpoint.impl.DefaultFixedPointSolver<V>
-
- com.ibm.wala.dataflow.graph.DataflowSolver<T,BooleanVariable>
-
- com.ibm.wala.dataflow.graph.BooleanSolver<T>
-
- All Implemented Interfaces:
FixedPointConstants
,IFixedPointSolver<BooleanVariable>
,VerboseAction
public class BooleanSolver<T> extends DataflowSolver<T,BooleanVariable>
ADataflowSolver
specialized forBooleanVariable
s
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.ibm.wala.fixedpoint.impl.AbstractFixedPointSolver
AbstractFixedPointSolver.Statement
-
-
Field Summary
-
Fields inherited from class com.ibm.wala.fixedpoint.impl.AbstractFixedPointSolver
DEFAULT_PERIODIC_MAINTENANCE_INTERVAL, DEFAULT_VERBOSE_INTERVAL, verbose, workList
-
Fields inherited from interface com.ibm.wala.fixpoint.FixedPointConstants
CHANGED, CHANGED_AND_FIXED, CHANGED_MASK, FIXED_MASK, NOT_CHANGED, NOT_CHANGED_AND_FIXED, SIDE_EFFECT_MASK
-
-
Constructor Summary
Constructors Constructor Description BooleanSolver(IKilldallFramework<T,BooleanVariable> problem)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected BooleanVariable
makeEdgeVariable(T src, T dst)
protected BooleanVariable
makeNodeVariable(T n, boolean IN)
protected BooleanVariable[]
makeStmtRHS(int size)
-
Methods inherited from class com.ibm.wala.dataflow.graph.DataflowSolver
buildEquations, getEdge, getEdge, getIn, getOut, getProblem, initializeVariables, initializeWorkList
-
Methods inherited from class com.ibm.wala.fixedpoint.impl.DefaultFixedPointSolver
getFixedPointSystem
-
Methods inherited from class com.ibm.wala.fixedpoint.impl.AbstractFixedPointSolver
addAllStatementsToWorkList, addToWorkList, changedVariable, emptyWorkList, getMaxEvalBetweenTopo, getMinSizeForTopSort, getNumberOfEvaluations, getPeriodicMaintainInterval, getStatements, getTopologicalGrowthFactor, getVerboseInterval, incNumberOfEvaluations, initForFirstSolve, isChanged, isFixed, isSideEffect, lineBreak, newStatement, newStatement, newStatement, newStatement, newStatement, orderStatements, performVerboseAction, periodicMaintenance, removeStatement, setMaxEvalBetweenTopo, setMinEquationsForTopSort, setTopologicalGrowthFactor, solve, toString
-
-
-
-
Constructor Detail
-
BooleanSolver
public BooleanSolver(IKilldallFramework<T,BooleanVariable> problem)
-
-
Method Detail
-
makeNodeVariable
protected BooleanVariable makeNodeVariable(T n, boolean IN)
- Specified by:
makeNodeVariable
in classDataflowSolver<T,BooleanVariable>
- Parameters:
n
- a node- Returns:
- a fresh variable to represent the lattice value at the IN or OUT of n
-
makeEdgeVariable
protected BooleanVariable makeEdgeVariable(T src, T dst)
- Specified by:
makeEdgeVariable
in classDataflowSolver<T,BooleanVariable>
-
makeStmtRHS
protected BooleanVariable[] makeStmtRHS(int size)
- Specified by:
makeStmtRHS
in classAbstractFixedPointSolver<BooleanVariable>
-
-