public override ExpressionResult Invoke() { var result = Condition.Invoke().Data; if (result.Type != ObjectModel.BOOL) { throw new Exception(); } while (result.Value == "true") { var res = Body.Invoke(); if (res.Type == ResultType.RETURN) { } result = Condition.Invoke().Data; } return(ExpressionResult.Default); }
public override ExpressionResult Invoke() { var result = Condition.Invoke().Data; if (result.Type == ObjectModel.BOOL) { if (result.Value == "true") { return(Body.Invoke()); } else { return(ElseBody == null ? ExpressionResult.Default : ElseBody.Invoke()); } } else { throw new Exception(); } }