示例#1
0
        public Expression[] GetExpressions(ExpressionParsingContext context)
        {
            var expressions = new List <Expression>();

            GetExpressions(context, expressions);
            return(expressions.ToArray());
        }
示例#2
0
        public override Expression GetExpression(ExpressionParsingContext context)
        {
            var target     = P0.GetExpression(context);
            var targetType = target.Type;

            var member = targetType.GetMember(P2.Value);

            return(Expression.MakeMemberAccess(target, member[0]));
        }
示例#3
0
        public override Expression GetExpression(ExpressionParsingContext context)
        {
            var call = P0 as DotExpressionNode;

            if (call != null)
            {
                return(Expression.Call(call.P0.GetExpression(context), call.P2.Value, null, P2.GetExpressions(context)));
            }
            else
            {
                return(Expression.Invoke(P0.GetExpression(context), P2.GetExpressions(context)));
            }
        }
示例#4
0
 public override Expression GetExpression(ExpressionParsingContext context)
 {
     return Expression.AndAlso(P0.GetExpression(context), P2.GetExpression(context));
 }
示例#5
0
 public override Expression GetExpression(ExpressionParsingContext context)
 {
     return Expression.Subtract(P0.GetExpression(context), P2.GetExpression(context));
 }
示例#6
0
 public override Expression GetExpression(ExpressionParsingContext context)
 {
     return P1.GetExpression(context);
 }
示例#7
0
 public override Expression GetExpression(ExpressionParsingContext context)
 {
     return Expression.NotEqual(P0.GetExpression(context), P2.GetExpression(context));
 }
示例#8
0
 public override Expression GetExpression(ExpressionParsingContext context)
 {
     return Expression.Multiply(P0.GetExpression(context), P2.GetExpression(context));
 }
示例#9
0
 public override Expression GetExpression(ExpressionParsingContext context)
 {
     return Expression.GreaterThan(P0.GetExpression(context), P2.GetExpression(context));
 }
示例#10
0
 public abstract void GetExpressions(ExpressionParsingContext context, List<Expression> expressions);
示例#11
0
 public override Expression GetExpression(ExpressionParsingContext context)
 {
     return(Expression.Constant(int.Parse(P0.Value, CultureInfo.InvariantCulture)));
 }
示例#12
0
 public override Expression GetExpression(ExpressionParsingContext context)
 {
     return(Expression.Constant(P0.Value));
 }
示例#13
0
 public abstract Expression GetExpression(ExpressionParsingContext context);
示例#14
0
 public override Expression GetExpression(ExpressionParsingContext context)
 {
     return(context.GetParameter(P0.Value));
 }
示例#15
0
 public override Expression GetExpression(ExpressionParsingContext context)
 {
     return(Expression.LessThanOrEqual(P0.GetExpression(context), P2.GetExpression(context)));
 }
示例#16
0
 public abstract void GetExpressions(ExpressionParsingContext context, List <Expression> expressions);
示例#17
0
 public Expression[] GetExpressions(ExpressionParsingContext context)
 {
     var expressions = new List<Expression>();
     GetExpressions(context, expressions);
     return expressions.ToArray();
 }
示例#18
0
 public override void GetExpressions(ExpressionParsingContext context, List <Expression> expressions)
 {
 }
示例#19
0
 public abstract Expression GetExpression(ExpressionParsingContext context);
示例#20
0
 public override void GetExpressions(ExpressionParsingContext context, List <Expression> expressions)
 {
     expressions.Add(P0.GetExpression(context));
     P2.GetExpressions(context, expressions);
 }
示例#21
0
 public override Expression GetExpression(ExpressionParsingContext context)
 {
     return context.GetParameter(P0.Value);
 }
示例#22
0
 public override Expression GetExpression(ExpressionParsingContext context)
 {
     return(Expression.Not(P1.GetExpression(context)));
 }
示例#23
0
 public override Expression GetExpression(ExpressionParsingContext context)
 {
     return Expression.Negate(P1.GetExpression(context));
 }
示例#24
0
 public override Expression GetExpression(ExpressionParsingContext context)
 {
     return(Expression.Divide(P0.GetExpression(context), P2.GetExpression(context)));
 }
示例#25
0
 public override Expression GetExpression(ExpressionParsingContext context)
 {
     return Expression.Constant(int.Parse(P0.Value, CultureInfo.InvariantCulture));
 }
示例#26
0
        public override Expression GetExpression(ExpressionParsingContext context)
        {
            var call = P0 as DotExpressionNode;

            if (call != null)
            {
                return Expression.Call(call.P0.GetExpression(context), call.P2.Value, null, P2.GetExpressions(context));
            }
            else
            {
                return Expression.Invoke(P0.GetExpression(context), P2.GetExpressions(context));
            }
        }
示例#27
0
 public override void GetExpressions(ExpressionParsingContext context, List<Expression> expressions)
 {
     expressions.Add(P0.GetExpression(context));
 }
示例#28
0
        public override Expression GetExpression(ExpressionParsingContext context)
        {
            var target = P0.GetExpression(context);
            var targetType = target.Type;

            var member = targetType.GetMember(P2.Value);

            return Expression.MakeMemberAccess(target, member[0]);
        }
示例#29
0
 public override Expression GetExpression(ExpressionParsingContext context)
 {
     return Expression.Condition(P0.GetExpression(context), P2.GetExpression(context), P4.GetExpression(context));
 }
示例#30
0
 public override void GetExpressions(ExpressionParsingContext context, List<Expression> expressions)
 {
 }
示例#31
0
 public override Expression GetExpression(ExpressionParsingContext context)
 {
     return Expression.Constant(true);
 }
示例#32
0
 public override Expression GetExpression(ExpressionParsingContext context)
 {
     return(Expression.GreaterThan(P0.GetExpression(context), P2.GetExpression(context)));
 }