public ImmutableHashSet <object> VisitZenAdapterExpr <T1, T2>(ZenAdapterExpr <T1, T2> expression, Unit parameter) { return(LookupOrCompute(expression, () => { return expression.Expr.Accept(this, parameter); })); }
public Expression VisitZenAdapterExpr <T1, T2>(ZenAdapterExpr <T1, T2> expression, ExpressionConverterEnvironment parameter) { return(LookupOrCompute(expression, () => { var expr = expression.Expr.Accept(this, parameter); foreach (var converter in expression.Converters) { var method = converter.GetType().GetMethod("Invoke"); expr = Expression.Convert(Expression.Call( Expression.Constant(converter), method, Expression.Convert(expr, typeof(object))), typeof(T1)); } return expr; })); }
public SymbolicValue <TModel, TVar, TBool, TInt, TString> VisitZenAdapterExpr <TTo, TFrom>(ZenAdapterExpr <TTo, TFrom> expression, SymbolicEvaluationEnvironment <TModel, TVar, TBool, TInt, TString> parameter) { return(LookupOrCompute(expression, () => { return expression.Expr.Accept(this, parameter); })); }