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