public override ValueExpression Evaluate(IParserContext context) { bool result = context.ToBoolean(Condition.Evaluate(context).Value); ValueExpression expression = null; if (result) { expression = TrueExpression.Evaluate(context); } else if (FalseExpression != null) { expression = FalseExpression.Evaluate(context); } if (expression is ReturnValueExpression) { return(expression); } return(Exp.NullValue(TokenPosition)); }
public override ValueExpression Evaluate(IParserContext context) { IEnumerable collection = Expression.Evaluate(context).Value as IEnumerable; if (collection != null) { foreach (var item in collection) { var localContext = context.CreateLocal(); localContext.Set(Iterator.VarName, item); var returnValue = Body.Evaluate(localContext); if (returnValue is ReturnValueExpression) { return(returnValue); } } } return(Exp.NullValue(TokenPosition)); }
public override ValueExpression Evaluate(IParserContext context) { return(Exp.NullValue(TokenPosition)); }