public TernaryOperatorExpressionWithLinqExpressions(ConditionalExpression expression) { Expression = expression; left = LinqExpressionBuilder.BuildExpression(expression.Test); middle = LinqExpressionBuilder.BuildExpression(expression.IfTrue); right = LinqExpressionBuilder.BuildExpression(expression.IfFalse); }
public ObjectInitializersWithLinqExpressions(IEnumerable <MemberBinding> bindings) { List <IReadOnlyList <ILinqExpression> > elements = new List <IReadOnlyList <ILinqExpression> >(); Dictionary <string, ObjectInitializersWithLinqExpressions> initializers = new Dictionary <string, ObjectInitializersWithLinqExpressions>(); Dictionary <string, ILinqExpression> members = new Dictionary <string, ILinqExpression>(); foreach (MemberBinding binding in bindings) { switch (binding.BindingType) { case MemberBindingType.Assignment: members.Add( binding.Member.Name, LinqExpressionBuilder.BuildExpression(((MemberAssignment)binding).Expression)); break; case MemberBindingType.ListBinding: elements.AddRange(LinqExpressionBuilder.BuildExpressions(((MemberListBinding)binding).Initializers)); break; case MemberBindingType.MemberBinding: initializers.Add( binding.Member.Name, new ObjectInitializersWithLinqExpressions(((MemberMemberBinding)binding).Bindings)); break; } } this.members = members; this.elements = elements; this.initializers = initializers; }
public TypeBinaryExpressionWithLinqExpressions(TypeBinaryExpression expression) { Expression = expression; left = LinqExpressionBuilder.BuildExpression(expression.Expression); //right = LinqExpressionBuilder.BuildExpression() right = LinqExpressionBuilder.BuildExpression(expression.Expression); throw new NotImplementedException(); }
public SwitchStatementWithLinqExpressions(SwitchExpression statement) { Statement = statement; expression = LinqExpressionBuilder.BuildExpression(statement.SwitchValue); cases = statement.Cases.ToArray(@case => new SwitchCaseStatementWithLinqExpressions(@case)); if (statement.DefaultBody != null) { defaultCase = new DefaultCaseStatementWithLinqExpressions(statement); } }
public ListInitializerExpressionWithLinqExpressions(ListInitExpression expression) { Expression = expression; createListExpression = LinqExpressionBuilder.BuildExpression(expression.NewExpression) as ICreateListLinqExpression; initialValues = LinqExpressionBuilder.BuildExpressions(expression.Initializers).ToArray(); }
public BinaryOperatorExpressionWithLinqExpressions(BinaryExpression binaryExpression) { Expression = binaryExpression; left = LinqExpressionBuilder.BuildExpression(binaryExpression.Left); right = LinqExpressionBuilder.BuildExpression(binaryExpression.Right); }
public DelegateMethodCallExpressionWithLinqExpressions(InvocationExpression expression) { LinqExpression = expression; this.expression = LinqExpressionBuilder.BuildExpression(expression.Expression); parameterExpressions = LinqExpressionBuilder.BuildExpressions(expression.Arguments); }
public MemberExpressionWithLinqExpressions(MemberExpression expression) { Expression = expression; objectExpression = LinqExpressionBuilder.BuildExpression(expression); }
public ArrayIndexExpressionWithLinqExpressions(IndexExpression expression) { Expression = expression; array = LinqExpressionBuilder.BuildExpression(expression.Object); indexes = LinqExpressionBuilder.BuildExpressions(expression.Arguments); }
public MethodCallExpressionWithLinqExpressions(MethodCallExpression expression) { LinqExpression = expression; this.expression = LinqExpressionBuilder.BuildExpression(expression.Object); parameterExpressions = LinqExpressionBuilder.BuildExpressions(expression.Arguments); }
public ReturnStatementWithLinqExpressions(GotoExpression statement) { Statement = statement; expression = LinqExpressionBuilder.BuildExpression(statement.Value); }
public UnaryOperatorExpressionWithLinqExpressions(UnaryExpression expression) { Expression = expression; operand = LinqExpressionBuilder.BuildExpression(expression.Operand); }
public ObjectInitializerExpressionWithLinqExpressions(MemberInitExpression expression) { Expression = expression; createObjectExpression = (ICreateObjectLinqExpression)LinqExpressionBuilder.BuildExpression(expression.NewExpression); initializer = new ObjectInitializersWithLinqExpressions(expression.Bindings); }