Exemplo n.º 1
0
 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;
        }
Exemplo n.º 3
0
 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);
     }
 }
Exemplo n.º 5
0
 public ListInitializerExpressionWithLinqExpressions(ListInitExpression expression)
 {
     Expression           = expression;
     createListExpression = LinqExpressionBuilder.BuildExpression(expression.NewExpression) as ICreateListLinqExpression;
     initialValues        = LinqExpressionBuilder.BuildExpressions(expression.Initializers).ToArray();
 }
Exemplo n.º 6
0
 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);
 }
Exemplo n.º 9
0
 public ArrayIndexExpressionWithLinqExpressions(IndexExpression expression)
 {
     Expression = expression;
     array      = LinqExpressionBuilder.BuildExpression(expression.Object);
     indexes    = LinqExpressionBuilder.BuildExpressions(expression.Arguments);
 }
Exemplo n.º 10
0
 public MethodCallExpressionWithLinqExpressions(MethodCallExpression expression)
 {
     LinqExpression       = expression;
     this.expression      = LinqExpressionBuilder.BuildExpression(expression.Object);
     parameterExpressions = LinqExpressionBuilder.BuildExpressions(expression.Arguments);
 }
Exemplo n.º 11
0
 public ReturnStatementWithLinqExpressions(GotoExpression statement)
 {
     Statement  = statement;
     expression = LinqExpressionBuilder.BuildExpression(statement.Value);
 }
Exemplo n.º 12
0
 public UnaryOperatorExpressionWithLinqExpressions(UnaryExpression expression)
 {
     Expression = expression;
     operand    = LinqExpressionBuilder.BuildExpression(expression.Operand);
 }
Exemplo n.º 13
0
 public ObjectInitializerExpressionWithLinqExpressions(MemberInitExpression expression)
 {
     Expression             = expression;
     createObjectExpression = (ICreateObjectLinqExpression)LinqExpressionBuilder.BuildExpression(expression.NewExpression);
     initializer            = new ObjectInitializersWithLinqExpressions(expression.Bindings);
 }