Example #1
0
 void EvalIf(MethodCallExpression exp, State state)
 {
     EvalExpression(exp.Arguments[0], state);
     var test = state.CurrentBlock.Formulas.Pop();
     var condition = FormulaRef.Condition(test);
     state.CurrentBlock.Formulas.Push(condition);
     state.Conditions.Push(condition);
     state.PushBlock();
     condition.IfTrue = state.CurrentBlock;
 }
Example #2
0
 void EvalElse(MethodCallExpression exp, State state)
 {
     state.PopBlock();
     var prevCondition = state.Conditions.Pop();
     state.Conditions.Push(prevCondition);
     state.PushBlock();
     prevCondition.IfFalse = state.CurrentBlock;
 }