Class UnaryStatement<T extends IVariable<T>>

    • Field Detail

      • lhs

        protected final @Nullable T extends IVariable<T> lhs
        The operands
    • Constructor Detail

      • UnaryStatement

        protected UnaryStatement​(@Nullable T lhs,
                                 T rhs)
        Constructor for case of one operand on the right-hand side.
        Parameters:
        lhs - the lattice cell set by this equation
        rhs - the first operand on the rhs
    • Method Detail

      • evaluate

        public byte evaluate()
        Evaluate this equation, setting a new value for the left-hand side.
        Returns:
        true if the lhs value changed. false otherwise
      • getLHS

        public @Nullable T getLHS()
        Return the left-hand side of this equation.
        Returns:
        the lattice cell this equation computes
      • getRightHandSide

        public T getRightHandSide()
        Returns:
        the right-hand side of this equation.
      • getOperands

        public IVariable<T>[] getOperands()
        Return the operands in this equation.
      • hasVariable

        public boolean hasVariable​(T cell)
        Does this equation contain an appearance of a given cell?
        Parameters:
        cell - the cell in question
        Returns:
        true or false