示例#1
0
 protected BlockCommand UpdateBlock(BlockCommand block, IList <Expression> commands)
 {
     if (block.Commands != commands)
     {
         return(new BlockCommand(commands));
     }
     return(block);
 }
示例#2
0
 protected virtual bool CompareBlock(BlockCommand x, BlockCommand y)
 {
     if (x.Commands.Count != y.Commands.Count)
     {
         return(false);
     }
     for (int i = 0, n = x.Commands.Count; i < n; i++)
     {
         if (!Compare(x.Commands[i], y.Commands[i]))
         {
             return(false);
         }
     }
     return(true);
 }
示例#3
0
 protected override Expression VisitBlock(BlockCommand block)
 {
     return(MakeSequence(VisitExpressionList(block.Commands)));
 }
示例#4
0
        protected virtual Expression VisitBlock(BlockCommand block)
        {
            ReadOnlyCollection <Expression> commands = VisitExpressionList(block.Commands);

            return(UpdateBlock(block, commands));
        }
示例#5
0
 protected override Expression VisitBlock(BlockCommand block)
 {
     throw new NotSupportedException();
 }