protected override Expr VisitSub (ExprSub e) { return this.VisitBinary (e, () => { if (!e.Overflow) { return this.il.Create (OpCodes.Sub); } else { return this.il.Create (e.IsSigned ? OpCodes.Sub_Ovf : OpCodes.Sub_Ovf_Un); } }); }
protected virtual Expr VisitSub (ExprSub e) { return this.VisitCollection (e, exprs => new ExprSub (e.MethodInfo, exprs.First (), exprs.ElementAt (1), e.Signage, e.Overflow), e.Left, e.Right); }