protected BlockCommand UpdateBlock(BlockCommand block, IList <Expression> commands) { if (block.Commands != commands) { return(new BlockCommand(commands)); } return(block); }
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); }
protected override Expression VisitBlock(BlockCommand block) { return(MakeSequence(VisitExpressionList(block.Commands))); }
protected virtual Expression VisitBlock(BlockCommand block) { ReadOnlyCollection <Expression> commands = VisitExpressionList(block.Commands); return(UpdateBlock(block, commands)); }
protected override Expression VisitBlock(BlockCommand block) { throw new NotSupportedException(); }