public virtual Formula Visit(AndAlsoFormula formula) { Visit((BinaryFormula)formula); return visitor.Visit(formula); }
public Formula Visit(AndAlsoFormula formula) { return formula; }
public static void EvalAndAlso(BinaryExpression exp, ExpressionToFormulaState state) { EvalExpression(exp.Left, state); var left = state.CurrentBlock.Formulas.Pop(); EvalExpression(exp.Right, state); var right = state.CurrentBlock.Formulas.Pop(); var andAlso = new AndAlsoFormula() { Left = left, Right = right }; state.CurrentBlock.Formulas.Push(andAlso); }