internal static HashSet <Expression> Nominate(Expression expression) { Nominator nominator = new Nominator(); nominator.Visit(expression); return(nominator.candidates); }
public static HashSet <Expression> Nominate(Expression node) { var nominator = new Nominator(); nominator.Visit(node); return(nominator._candidates); }
internal static HashSet <Expression> Nominate(QueryLanguage language, ProjectionAffinity affinity, Expression expression) { Nominator nominator = new Nominator(language, affinity); nominator.Visit(expression); return(nominator.candidates); }
public static HashSet <Expression> Nominate(Expression expression, Func <Expression, bool> fnCanBeEvaluated) { var visitor = new Nominator(fnCanBeEvaluated); visitor.Visit(expression); return(visitor.candidates); }
internal static HashSet <Expression> Nominate(QueryLanguage language, Expression expression) { Nominator nominator = new Nominator(language); nominator.Visit(expression); return(nominator.candidates); }
internal static HashSet <Expression> Nominate(Func <Expression, bool> fnCanBeColumn, Expression expression) { var nominator = new Nominator(fnCanBeColumn); nominator.Visit(expression); return(nominator.candidates); }
internal static HashSet <Expression> Nominate(Func <Expression, bool> fnCanBeEvaluated, Expression expression) { Nominator nominator = new Nominator(fnCanBeEvaluated); nominator.Visit(expression); return(nominator.candidates); }
public static HashSet <Expression> Nominate(Func <Expression, bool> canBeEvaluated, Expression expression) { Nominator nominator = new Nominator(canBeEvaluated); nominator.Visit(expression); return(nominator._candidates); }
public static Expression EvaluatePartially(Expression expression) { var nominator = new Nominator(); nominator.Visit(expression); var candidates = nominator.Candidates; var evaluator = new SubtreeEvaluator(candidates); return(evaluator.Visit(expression)); }
public static HashSet <Expression> Nominate(QueryLanguage language, Expression expression) { var nominator = new Nominator(language); if (nominator != null) { nominator.Visit(expression); } return(nominator.candidates); }
public static Expression Simplify(Expression expression) { if (expression.NodeType == ExpressionType.Constant) return expression; var nominator = new Nominator(); nominator.Visit(expression); if (nominator.mayBeEvaluated.Count == 0) // no possible evaluations return expression; var ret = new Evaluator(nominator.mayBeEvaluated).Visit(expression); return ret; }
public static Expression Simplify(Expression expression) { if (expression.NodeType == ExpressionType.Constant) { return(expression); } var nominator = new Nominator(); nominator.Visit(expression); if (nominator.mayBeEvaluated.Count == 0) // no possible evaluations { return(expression); } var ret = new Evaluator(nominator.mayBeEvaluated).Visit(expression); return(ret); }
internal static HashSet<Expression> Nominate(Func<Expression, bool> fnCanBeEvaluated, Expression expression) { Nominator nominator = new Nominator(fnCanBeEvaluated); nominator.Visit(expression); return nominator.candidates; }
public static HashSet<Expression> Nominate(Func<Expression, bool> canBeEvaluated, Expression expression) { Nominator nominator = new Nominator(canBeEvaluated); nominator.Visit(expression); return nominator._candidates; }
public static HashSet<Expression> Nominate(Expression node) { var nominator = new Nominator(); nominator.Visit(node); return nominator._candidates; }
internal static HashSet<Expression> Nominate(QueryLanguage language, Expression expression) { Nominator nominator = new Nominator(language); nominator.Visit(expression); return nominator.candidates; }
internal static HashSet<Expression> Nominate(Expression expression) { Nominator nominator = new Nominator(); nominator.Visit(expression); return nominator.candidates; }