internal static ExpressionType ExprT(this ExpressionTypeEx ex) => (ExpressionType)ex;
protected SelectionLinqExpression(MethodCallExpression node, LinqInitializer init, ExpressionTypeEx type) : base(node, init, type) { var rawSelector = GetLambda(node.Arguments[1]); collectionSelector = init.Evaluator(Source, rawSelector); }
protected ExpressionEx(ExpressionTypeEx type) { NodeTypeEx = type; }
protected SelectionLinqExpression(MethodCallExpression node, Expression source, LambdaExpression selector, ExpressionTypeEx type) : base(node, source, type) { collectionSelector = selector; }
protected ConditionLinqExpression(MethodCallExpression node, Expression source, LambdaExpression predicate, ExpressionTypeEx type) : base(node, source, type) { Predicate = predicate; }
protected ConditionLinqExpression(MethodCallExpression node, LinqInitializer init, ExpressionTypeEx type) : base(node, init, type) { if (node.Arguments.Count > 1) { var rawPredicate = GetLambda(node.Arguments[1]); Predicate = init.Evaluator(Source, rawPredicate); } }
protected LinqExpression(MethodCallExpression node, Expression source, ExpressionTypeEx type) : base(type) { Method = node; Source = source; }
protected LinqExpression(MethodCallExpression node, LinqInitializer init, ExpressionTypeEx type) : base(type) { Method = node; Source = init.Visitor.Visit(node.Arguments[0]); }