internal override Expression Convert() { return(Expression.Switch( Type, SwitchValue.TryConvert(), DefaultBody.TryConvert(), SerializableExpressionConverter.Convert(Comparison), Cases.Select(c => Expression.SwitchCase(c.Item1.TryConvert(), c.Item2.TryConvert())))); }
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; }
internal override Expression Convert() { return(Expression.MakeBinary( NodeType, Left.TryConvert(), Right.TryConvert(), IsLiftedToNull, SerializableExpressionConverter.Convert(Method), Conversion.TryConvert <LambdaExpression>())); }
public SerializableParameterExpression(ParameterExpression expression, SerializableExpressionConverter converter) : base(expression) { Name = expression.Name; }
public SerializableMemberInitExpression(MemberInitExpression expression, SerializableExpressionConverter converter) : base(expression) { Bindings = expression.Bindings.Select(converter.Convert).ToList(); NewExpression = converter.Convert <SerializableNewExpression>(expression.NewExpression); }
public SerializableNewArrayExpression(NewArrayExpression expression, SerializableExpressionConverter converter) : base(expression) { Expressions = converter.Convert(expression.Expressions); }
internal override Expression Convert() { return(Expression.ListInit( NewExpression.TryConvert <NewExpression>(), Initializers.Select(i => Expression.ElementInit(SerializableExpressionConverter.Convert(i.Item1), i.Item2.TryConvert())))); }
public SerializableListInitExpression(ListInitExpression expression, SerializableExpressionConverter converter) : base(expression) { Initializers = expression.Initializers.Select(i => Tuple.Create(converter.Convert(i.AddMethod), converter.Convert(i.Arguments))).ToList(); NewExpression = converter.Convert <SerializableNewExpression>(expression.NewExpression); }
internal override Expression Convert() { return(Expression.MakeMemberAccess( Expr.TryConvert(), SerializableExpressionConverter.Convert(Member))); }
public SerializableUnaryExpression(UnaryExpression expression, SerializableExpressionConverter converter) : base(expression) { Method = converter.Convert(expression.Method); Operand = converter.Convert(expression.Operand); }
public SerializableMemberExpression(MemberExpression expression, SerializableExpressionConverter converter) : base(expression) { Expr = converter.Convert(expression.Expression); Member = converter.Convert(expression.Member); }
public SerializableConstantExpression(ConstantExpression expression, SerializableExpressionConverter converter) : base(expression) { Value = expression.Value; }
public SerializableTypeBinaryExpression(TypeBinaryExpression expression, SerializableExpressionConverter converter) : base(expression) { Expr = converter.Convert(expression.Expression); TypeOperand = expression.TypeOperand; }
public SerializableDefaultExpression(DefaultExpression expression, SerializableExpressionConverter converter) : base(expression) { }
public SerializableInvocationExpression(InvocationExpression expression, SerializableExpressionConverter converter) : base(expression) { Arguments = converter.Convert(expression.Arguments); Expr = converter.Convert(expression.Expression); }
public SerializableRuntimeVariablesExpression(RuntimeVariablesExpression expression, SerializableExpressionConverter converter) : base(expression) { Variables = converter.Convert <SerializableParameterExpression>(expression.Variables); }