Interface InferredValue<T extends InferredValue<T>>

    • Method Detail

      • eval

        InferredValue.InferredPair<T> eval​(ValueExpression expression,
                                           InferenceSystem<T> environment,
                                           ProgramPoint pp,
                                           SemanticOracle oracle)
                                    throws SemanticException
        Evaluates a ValueExpression, assuming that the values of program variables are the ones stored in environment.
        Parameters:
        expression - the expression to evaluate
        environment - the environment containing the values of program variables for the evaluation
        pp - the program point that where this operation is being evaluated
        oracle - the oracle for inter-domain communication
        Returns:
        an new instance of this domain, representing the abstract result of expression when evaluated on environment. The returned value is a pair that express both the result of the evaluation and the updated execution state
        Throws:
        SemanticException - if something goes wrong during the computation