Ejemplo n.º 1
0
 internal override Expression Convert() => Expression.MakeBinary(
     NodeType,
     Left.TryConvert(),
     Right.TryConvert(),
     IsLiftedToNull,
     SerializableExpressionConverter.Convert(Method),
     Conversion.TryConvert <LambdaExpression>());
Ejemplo n.º 2
0
 internal override Expression Convert() => Expression.MakeTry(
     Type,
     Body.TryConvert(),
     Finally.TryConvert(),
     Fault.TryConvert(),
     Handlers.Select(h => Expression.MakeCatchBlock(
                         h.Item3,
                         h.Item4.TryConvert <ParameterExpression>(),
                         h.Item1.TryConvert(),
                         h.Item2.TryConvert())));
 internal override Expression Convert() => Expression.Loop(
     Body.TryConvert(),
     Expression.Label(BreakLabelType, BreakLabelName),
     Expression.Label(ContinueLabelType, ContinueLabelName));
 internal override Expression Convert() => Expression.Label(
     Expression.Label(TargetType, TargetName),
     DefaultValue.TryConvert());
Ejemplo n.º 5
0
 internal override Expression Convert() => Expression.Switch(
     Type,
     SwitchValue.TryConvert(),
     DefaultBody.TryConvert(),
     SerializableExpressionConverter.Convert(Comparison),
     Cases.Select(c => Expression.SwitchCase(c.Item1.TryConvert(), c.Item2.TryConvert())));
 internal override Expression Convert() => Expression.Lambda(
     Type,
     Body.TryConvert(),
     Name,
     TailCall,
     Parameters.TryConvert <ParameterExpression>());
Ejemplo n.º 7
0
 internal override Expression Convert() => Expression.Condition(
     Test.TryConvert(),
     IfTrue.TryConvert(),
     IfFalse.TryConvert(),
     Type);
Ejemplo n.º 8
0
 public static TExpression TryConvert <TExpression>(this SerializableExpression expression)
     where TExpression : Expression => (TExpression)expression.TryConvert();
 internal override Expression Convert() => Expression.Call(
     Object.TryConvert(),
     SerializableExpressionConverter.Convert(Method),
     Arguments.TryConvert());
Ejemplo n.º 10
0
 internal override Expression Convert() => Expression.MakeIndex(
     Object.TryConvert(),
     Indexer,
     Arguments.TryConvert());
Ejemplo n.º 11
0
 internal override Expression Convert() => Expression.Invoke(
     Expr.TryConvert(),
     Arguments.TryConvert());
 internal override Expression Convert() => Expression.MakeMemberAccess(
     Expr.TryConvert(),
     SerializableExpressionConverter.Convert(Member));
 internal override Expression Convert() => Expression.TypeIs(
     Expr.TryConvert(),
     TypeOperand);
 internal override Expression Convert() => Expression.MakeUnary(
     NodeType,
     Operand.TryConvert(),
     Type,
     SerializableExpressionConverter.Convert(Method));
 public static Expression Convert(SerializableExpression expression) => expression.TryConvert();
Ejemplo n.º 16
0
 internal override Expression Convert() => Expression.MakeGoto(
     Kind,
     Expression.Label(TargetType, TargetName),
     Value.TryConvert(),
     Type);