private ExpressionWrapper CreateNumericExpression(object numericValue, string parameter, Type dataType) { if (_usedParameters.ContainsKey(parameter)) { return(_usedParameters[parameter]); } if (!_numericLiteralValues.ContainsKey(parameter)) { _numericLiteralValues.Add(parameter, numericValue); } var wrapper = new ExpressionWrapper { Expression = Expression.Parameter(Expression.Constant(numericValue).Type, parameter), IsNumericLiteral = true }; _usedParameters.Add(parameter, wrapper); return(wrapper); }
private static void GetMutators(this ModelConfigurationNode node, Dictionary <ExpressionWrapper, List <MutatorConfiguration> > result) { if (node.Mutators != null) { foreach (var pair in node.Mutators) { var key = new ExpressionWrapper(pair.Key, false); List <MutatorConfiguration> list; if (!result.TryGetValue(key, out list)) { result.Add(key, list = new List <MutatorConfiguration>()); } list.Add(pair.Value); } } foreach (var child in node.Children) { child.GetMutators(result); } }
[NotNull] protected abstract TResult Visit([NotNull] ExpressionWrapper expr);
protected override BaseStatement Visit(ExpressionWrapper expr) { using (AppendLine("Expr")) return(base.Visit(expr)); }
[NotNull] protected virtual BaseStatement Visit([NotNull] ExpressionWrapper expr) { return(new ExpressionWrapper(Visit(expr.Expression))); }
protected override IEnumerable <BaseStatement> Visit(ExpressionWrapper expr) { return(new ExpressionDecomposition(_names).Visit(expr.Expression)); }
protected override bool Visit(ExpressionWrapper expr) { return(_check.Visit(expr.Expression)); }