public SerializableMethodCallExpression(MethodCallExpression expression, SerializableExpressionConverter converter)
     : base(expression)
 {
     Arguments = converter.Convert(expression.Arguments);
     Method    = SerializableExpressionConverter.Convert(expression.Method);
     Object    = converter.Convert(expression.Object);
 }
Exemplo n.º 2
0
 public SerializableConditionalExpression(ConditionalExpression expression, SerializableExpressionConverter converter)
     : base(expression)
 {
     IfFalse = converter.Convert(expression.IfFalse);
     IfTrue  = converter.Convert(expression.IfTrue);
     Test    = converter.Convert(expression.Test);
 }
Exemplo n.º 3
0
 public SerializableIndexExpression(IndexExpression expression, SerializableExpressionConverter converter)
     : base(expression)
 {
     Arguments = converter.Convert(expression.Arguments);
     Indexer   = expression.Indexer;
     Object    = converter.Convert(expression.Object);
 }
 public SerializableBlockExpression(BlockExpression expression, SerializableExpressionConverter converter)
     : base(expression)
 {
     Expressions = converter.Convert(expression.Expressions);
     Result      = converter.Convert(expression.Result);
     Variables   = converter.Convert <SerializableParameterExpression>(expression.Variables);
 }
Exemplo n.º 5
0
 public SerializableNewExpression(NewExpression expression, SerializableExpressionConverter converter)
     : base(expression)
 {
     Arguments   = converter.Convert(expression.Arguments);
     Constructor = expression.Constructor;
     Members     = converter.Convert(expression.Members);
 }
 public SerializableLambdaExpression(LambdaExpression expression, SerializableExpressionConverter converter)
     : base(expression)
 {
     Body       = converter.Convert(expression.Body);
     Name       = expression.Name;
     Parameters = converter.Convert <SerializableParameterExpression>(expression.Parameters);
     TailCall   = expression.TailCall;
 }
Exemplo n.º 7
0
 public SerializableSwitchExpression(SwitchExpression expression, SerializableExpressionConverter converter)
     : base(expression)
 {
     Cases       = expression.Cases.Select(c => Tuple.Create(converter.Convert(c.Body), converter.Convert(c.TestValues))).ToList();
     Comparison  = SerializableExpressionConverter.Convert(expression.Comparison);
     DefaultBody = converter.Convert(expression.DefaultBody);
     SwitchValue = converter.Convert(expression.SwitchValue);
 }
Exemplo n.º 8
0
 public SerializableBinaryExpression(BinaryExpression expression, SerializableExpressionConverter converter)
     : base(expression)
 {
     Conversion     = converter.Convert <SerializableLambdaExpression>(expression.Conversion);
     IsLiftedToNull = expression.IsLiftedToNull;
     Left           = converter.Convert(expression.Left);
     Method         = SerializableExpressionConverter.Convert(expression.Method);
     Right          = converter.Convert(expression.Right);
 }
Exemplo n.º 9
0
 internal override Expression ConvertBack()
 => Expression.Switch(
     Type,
     SwitchValue.TryConvertBack(),
     DefaultBody.TryConvertBack(),
     SerializableExpressionConverter.Convert(Comparison),
     Cases.Select(c => Expression.SwitchCase(c.Item1.TryConvertBack(), c.Item2.TryConvert())));
Exemplo n.º 10
0
 internal override Expression Convert() => Expression.MakeBinary(
     NodeType,
     Left.TryConvert(),
     Right.TryConvert(),
     IsLiftedToNull,
     SerializableExpressionConverter.Convert(Method),
     Conversion.TryConvert <LambdaExpression>());
 public SerializableLabelExpression(LabelExpression expression, SerializableExpressionConverter converter)
     : base(expression)
 {
     DefaultValue = converter.Convert(expression.DefaultValue);
     TargetName   = expression.Target.Name;
     TargetType   = expression.Target.Type;
 }
Exemplo n.º 12
0
 public SerializableGotoExpression(GotoExpression expression, SerializableExpressionConverter converter)
     : base(expression)
 {
     Kind       = expression.Kind;
     TargetName = expression.Target.Name;
     TargetType = expression.Target.Type;
     Value      = converter.Convert(expression.Value);
 }
        public SerializableUnaryExpression(UnaryExpression expression, SerializableExpressionConverter converter)
            : base(expression)
        {
            Contract.Requires(expression != null);
            Contract.Requires(converter != null);

            Method  = SerializableExpressionConverter.Convert(expression.Method);
            Operand = converter.TryConvert(expression.Operand);
        }
Exemplo n.º 14
0
        public SerializableMemberExpression(MemberExpression expression, SerializableExpressionConverter converter)
            : base(expression)
        {
            Contract.Requires(expression != null);
            Contract.Requires(converter != null);

            Expr   = converter.TryConvert(expression.Expression);
            Member = converter.Convert(expression.Member);
        }
Exemplo n.º 15
0
        public SerializableListInitExpression(ListInitExpression expression, SerializableExpressionConverter converter)
            : base(expression)
        {
            Contract.Requires(expression != null);
            Contract.Requires(converter != null);

            Initializers  = expression.Initializers.Select(i => Tuple.Create(SerializableExpressionConverter.Convert(i.AddMethod), converter.TryConvert(i.Arguments))).ToList();
            NewExpression = converter.TryConvert <SerializableNewExpression>(expression.NewExpression);
        }
Exemplo n.º 16
0
 public SerializableLoopExpression(LoopExpression expression, SerializableExpressionConverter converter)
     : base(expression)
 {
     Body              = converter.Convert(expression.Body);
     BreakLabelType    = expression.BreakLabel.Type;
     BreakLabelName    = expression.BreakLabel.Name;
     ContinueLabelType = expression.ContinueLabel.Type;
     ContinueLabelName = expression.ContinueLabel.Name;
 }
        public SerializableMethodCallExpression(MethodCallExpression expression, SerializableExpressionConverter converter)
            : base(expression)
        {
            Contract.Requires(expression != null);
            Contract.Requires(converter != null);

            Arguments = converter.TryConvert(expression.Arguments);
            Method    = SerializableExpressionConverter.Convert(expression.Method);
            Object    = converter.TryConvert(expression.Object);
        }
Exemplo n.º 18
0
 public SerializableTryExpression(TryExpression expression, SerializableExpressionConverter converter)
     : base(expression)
 {
     Body     = converter.Convert(expression.Body);
     Fault    = converter.Convert(expression.Fault);
     Finally  = converter.Convert(expression.Finally);
     Handlers = expression.Handlers
                .Select(h => Tuple.Create(
                            converter.Convert(h.Body),
                            converter.Convert(h.Filter),
                            h.Test,
                            converter.Convert <SerializableParameterExpression>(h.Variable)))
                .ToList();
 }
Exemplo n.º 19
0
 internal override Expression ConvertBack()
 => Expression.ListInit(
     NewExpression.TryConvertBack <NewExpression>(),
     Initializers.Select(i => Expression.ElementInit(SerializableExpressionConverter.Convert(i.Item1), i.Item2.TryConvert())));
Exemplo n.º 20
0
 internal override Expression ConvertBack()
 => Expression.MakeMemberAccess(
     Expr.TryConvertBack(),
     SerializableExpressionConverter.Convert(Member));
Exemplo n.º 21
0
 public SerializableInvocationExpression(InvocationExpression expression, SerializableExpressionConverter converter)
     : base(expression)
 {
     Arguments = converter.Convert(expression.Arguments);
     Expr      = converter.Convert(expression.Expression);
 }
 public SerializableMemberExpression(MemberExpression expression, SerializableExpressionConverter converter)
     : base(expression)
 {
     Expr   = converter.Convert(expression.Expression);
     Member = converter.Convert(expression.Member);
 }
 public SerializableNewArrayExpression(NewArrayExpression expression, SerializableExpressionConverter converter)
     : base(expression)
 {
     Expressions = converter.Convert(expression.Expressions);
 }
 internal override Expression ConvertBack()
 => Expression.Call(
     Object.TryConvertBack(),
     SerializableExpressionConverter.Convert(Method),
     Arguments.TryConvert());
 public SerializableMemberInitExpression(MemberInitExpression expression, SerializableExpressionConverter converter)
     : base(expression)
 {
     Bindings      = expression.Bindings.Select(converter.Convert).ToList();
     NewExpression = converter.Convert <SerializableNewExpression>(expression.NewExpression);
 }
 internal override Expression ConvertBack()
 => Expression.MakeUnary(
     NodeType,
     Operand.TryConvertBack(),
     Type,
     SerializableExpressionConverter.Convert(Method));
 public SerializableTypeBinaryExpression(TypeBinaryExpression expression, SerializableExpressionConverter converter)
     : base(expression)
 {
     Expr        = converter.Convert(expression.Expression);
     TypeOperand = expression.TypeOperand;
 }
 public SerializableUnaryExpression(UnaryExpression expression, SerializableExpressionConverter converter)
     : base(expression)
 {
     Method  = SerializableExpressionConverter.Convert(expression.Method);
     Operand = converter.Convert(expression.Operand);
 }
Exemplo n.º 29
0
 public SerializableRuntimeVariablesExpression(RuntimeVariablesExpression expression, SerializableExpressionConverter converter)
     : base(expression)
 {
     Variables = converter.Convert <SerializableParameterExpression>(expression.Variables);
 }