public virtual Expression VisitDepositBits(DepositBits d) { var src = d.Source.Accept(this); var bits = d.InsertedBits.Accept(this); if (src == Constant.Invalid || bits == Constant.Invalid) { return(Constant.Invalid); } d = new DepositBits(src, bits, d.BitPosition); while (dpbdpbRule.Match(d)) { Changed = true; d = dpbdpbRule.Transform(); } if (dpbConstantRule.Match(d)) { Changed = true; return(dpbConstantRule.Transform()); } if (selfdpbRule.Match(d)) { Changed = true; return(selfdpbRule.Transform()); } return(d); }
public virtual Expression VisitDepositBits(DepositBits d) { d.Source = d.Source.Accept(this); d.InsertedBits = d.InsertedBits.Accept(this); if (dpbConstantRule.Match(d)) { Changed = true; return(dpbConstantRule.Transform()); } if (dpbdpbRule.Match(d)) { Changed = true; return(dpbdpbRule.Transform()); } return(d); }