public SerializableBlockExpression(BlockExpression expression, SerializableExpressionConverter converter) : base(expression) { Expressions = converter.Convert(expression.Expressions); Result = converter.Convert(expression.Result); Variables = converter.Convert <SerializableParameterExpression>(expression.Variables); }
public SerializableIndexExpression(IndexExpression expression, SerializableExpressionConverter converter) : base(expression) { Arguments = converter.Convert(expression.Arguments); Indexer = expression.Indexer; Object = converter.Convert(expression.Object); }
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); }
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()); } }
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(); }
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; }
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); }