public override IExpr /*?*/ EquivalentExpr(Element /*!*/ e, IQueryable /*!*/ q, IExpr /*!*/ expr, IVariable /*!*/ var, ISet /*<IVariable!>*//*!*/ prohibitedVars) { //Contract.Requires(prohibitedVars != null); //Contract.Requires(var != null); //Contract.Requires(expr != null); //Contract.Requires(q != null); //Contract.Requires(e != null); try { EquivalentExprInlineCallback closure = new EquivalentExprInlineCallback(var); return(InlineVariables((Elt)e, expr, cce.NonNull(Set.Empty), new OnUnableToInline(closure.ThrowOnUnableToInline))); } catch (EquivalentExprException) { return(null); } }
public override IExpr/*?*/ EquivalentExpr(Element/*!*/ e, IQueryable/*!*/ q, IExpr/*!*/ expr, IVariable/*!*/ var, ISet/*<IVariable!>*//*!*/ prohibitedVars) { //Contract.Requires(prohibitedVars != null); //Contract.Requires(var != null); //Contract.Requires(expr != null); //Contract.Requires(q != null); //Contract.Requires(e != null); try { EquivalentExprInlineCallback closure = new EquivalentExprInlineCallback(var); return InlineVariables((Elt)e, expr, cce.NonNull(Set.Empty), new OnUnableToInline(closure.ThrowOnUnableToInline)); } catch (EquivalentExprException) { return null; } }