Interface IFixedPointStatement<T extends IVariable<T>>

All Superinterfaces:
INodeWithNumber
All Known Implementing Classes:
AbstractFixedPointSolver.Statement, AbstractStatement, AssignEquation, BasicNullaryStatement, BasicUnaryStatement, GeneralStatement, NullaryStatement, UnaryStatement

public interface IFixedPointStatement<T extends IVariable<T>> extends INodeWithNumber
The general form of a statement definition in an iterative solver is: x >= term, where term can be any complex expression whose free variables are among the IVariables of the constraint system this IFixedPointStatementis part of (x represents the left-hand side of the constraint). The interpretation of term (the right-hand side of the constraint) must be monotone.

The list of free variables in term is obtained by invoking getRHS(), and the left hand side variable is obtained by calling getLHS(). Intuitively, a statement definition corresponds to an "equation" in dataflow parlance, or a "constraint" in constraint solvers.

  • Method Summary

    Modifier and Type
    Method
    Description
    byte
    Evaluate this statement, setting a new value for the left-hand side.
    @Nullable T
     
    T[]
    returns the list of free variables appearing in the right-hand side of the statement
    boolean
    Does this statement definition contain an appearance of a given variable?

    Methods inherited from interface com.ibm.wala.util.graph.INodeWithNumber

    getGraphNodeId, setGraphNodeId