public static List <ParsedExpression> GetParsedExpressions(Expression predicate) { var visitor = new WhereExpressionVisitor(); visitor.Visit(predicate); return(visitor.parsedExpressions); }
private bool HandleWhereMethod(MethodCallExpression node) { if (node.Method.Name != "Where") { return(false); } var whereExpressions = WhereExpressionVisitor.GetParsedExpressions(node.Arguments[1]); whereExpressions.ForEach(e => this.whereExpressions.Push(e)); return(true); }