public override void HandleElement(Expression item) { if (IsElseBlock(item)) { _accumulatedExpression = HandlebarsExpression.IteratorExpression( _startingNode.Arguments.Single(), Expression.Block(_body)); _body = new List <Expression>(); } else { _body.Add(item); } }
public override bool IsClosingElement(Expression item) { if (!IsClosingNode(item)) { return(false); } if (_accumulatedExpression == null) { _accumulatedExpression = HandlebarsExpression.IteratorExpression( _startingNode.Arguments.Single(), Expression.Block(_body)); } else { _accumulatedExpression = HandlebarsExpression.IteratorExpression( ((IteratorExpression)_accumulatedExpression).Sequence, ((IteratorExpression)_accumulatedExpression).Template, Expression.Block(_body)); } return(true); }