Пример #1
0
 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);
     }
 }
Пример #2
0
 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);
     }
 }