public SerializableBlockExpression(BlockExpression expression, SerializableExpressionConverter converter)
     : base(expression)
 {
     Expressions = converter.Convert(expression.Expressions);
     Result      = converter.Convert(expression.Result);
     Variables   = converter.Convert <SerializableParameterExpression>(expression.Variables);
 }
Exemple #2
0
 public SerializableIndexExpression(IndexExpression expression, SerializableExpressionConverter converter)
     : base(expression)
 {
     Arguments = converter.Convert(expression.Arguments);
     Indexer   = expression.Indexer;
     Object    = converter.Convert(expression.Object);
 }
Exemple #3
0
 public SerializableConditionalExpression(ConditionalExpression expression, SerializableExpressionConverter converter)
     : base(expression)
 {
     IfFalse = converter.Convert(expression.IfFalse);
     IfTrue  = converter.Convert(expression.IfTrue);
     Test    = converter.Convert(expression.Test);
 }
 public SerializableLabelExpression(LabelExpression expression, SerializableExpressionConverter converter)
     : base(expression)
 {
     DefaultValue = converter.Convert(expression.DefaultValue);
     TargetName   = expression.Target.Name;
     TargetType   = expression.Target.Type;
 }
 public SerializableMethodCallExpression(MethodCallExpression expression, SerializableExpressionConverter converter)
     : base(expression)
 {
     Arguments = converter.Convert(expression.Arguments);
     Method    = converter.Convert(expression.Method);
     Object    = converter.Convert(expression.Object);
 }
Exemple #6
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 SerializableSwitchExpression(SwitchExpression expression, SerializableExpressionConverter converter)
     : base(expression)
 {
     Cases       = expression.Cases.Select(c => Tuple.Create(converter.Convert(c.Body), converter.Convert(c.TestValues))).ToList();
     Comparison  = converter.Convert(expression.Comparison);
     DefaultBody = converter.Convert(expression.DefaultBody);
     SwitchValue = converter.Convert(expression.SwitchValue);
 }
 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;
 }
 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 SerializableBinaryExpression(BinaryExpression expression, SerializableExpressionConverter converter)
     : base(expression)
 {
     Conversion     = converter.Convert <SerializableLambdaExpression>(expression.Conversion);
     IsLiftedToNull = expression.IsLiftedToNull;
     Left           = converter.Convert(expression.Left);
     Method         = converter.Convert(expression.Method);
     Right          = converter.Convert(expression.Right);
 }
 public static Expression TryConvert(this SerializableExpression expression)
 {
     if (expression == null)
     {
         return(null);
     }
     else
     {
         return(expression.ConvertWithCache());
     }
 }
Exemple #12
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();
 }
Exemple #13
0
 public SerializableMemberExpression(MemberExpression expression, SerializableExpressionConverter converter)
     : base(expression)
 {
     Expr   = converter.Convert(expression.Expression);
     Member = converter.Convert(expression.Member);
 }
 public SerializableUnaryExpression(UnaryExpression expression, SerializableExpressionConverter converter)
     : base(expression)
 {
     Method  = converter.Convert(expression.Method);
     Operand = converter.Convert(expression.Operand);
 }
 public static TExpression TryConvert <TExpression>(this SerializableExpression expression)
     where TExpression : Expression
 {
     return((TExpression)expression.TryConvert());
 }
 public SerializableTypeBinaryExpression(TypeBinaryExpression expression, SerializableExpressionConverter converter)
     : base(expression)
 {
     Expr        = converter.Convert(expression.Expression);
     TypeOperand = expression.TypeOperand;
 }
Exemple #17
0
 public Expression Convert(SerializableExpression expression)
 {
     return(expression.TryConvert());
 }
 public SerializableInvocationExpression(InvocationExpression expression, SerializableExpressionConverter converter)
     : base(expression)
 {
     Arguments = converter.Convert(expression.Arguments);
     Expr      = converter.Convert(expression.Expression);
 }