protected override Expr VisitAdd (ExprAdd e) { return this.VisitBinary (e, () => { if (!e.Overflow) { return this.il.Create (OpCodes.Add); } else { return this.il.Create (e.IsSigned ? OpCodes.Add_Ovf : OpCodes.Add_Ovf_Un); } }); }
protected virtual Expr VisitAdd (ExprAdd e) { return this.VisitCollection (e, exprs => new ExprAdd (e.MethodInfo, exprs.First (), exprs.ElementAt (1), e.Signage, e.Overflow), e.Left, e.Right); }