/// <summary> /// Rewrites the specified expression. /// </summary> /// <param name="expression">The expression.</param> /// <param name="reduceByBaseUnit">If set to <c>true</c> the expression is reduced by the base unit.</param> /// <param name="flatRepresentationConsumer">The flat representation consumer.</param> /// <returns> /// The rewritten <see cref="Expression" />. /// </returns> public Expression Rewrite( Expression expression, bool reduceByBaseUnit, FlatRepresentationConsumer flatRepresentationConsumer) { return(this.Visit(expression, new RewritingParameters(reduceByBaseUnit, flatRepresentationConsumer))); }
/// <summary> /// Initializes a new instance of the <see cref="RewritingParameters"/> class. /// </summary> /// <param name="reduceByBaseUnit">if set to <c>true</c> [reduce by base unit].</param> /// <param name="flatRepresentationConsumer">The flat representation consumer.</param> public RewritingParameters(bool reduceByBaseUnit, FlatRepresentationConsumer flatRepresentationConsumer) { this.ReduceByBaseUnit = reduceByBaseUnit; this.FlatRepresentationConsumer = flatRepresentationConsumer; }