Beispiel #1
0
		internal Evaluation Evaluate(Expression/*!*/ parent, out Expression/*!*/ expr)
		{
			if (HasValue)
			{
				expr = Expression;
				return new Evaluation(parent, parent.Evaluate(Value));
			}

			expr = Literalize();
			return new Evaluation(parent);
		}
Beispiel #2
0
		internal static Evaluation ReadOnlyEvaluate(Expression/*!*/ parent, Evaluation eval1, Evaluation eval2)
		{
			if (eval1.HasValue && eval2.HasValue)
				return new Evaluation(parent, parent.Evaluate(eval1.Value, eval2.Value));

			return new Evaluation(parent);
		}
Beispiel #3
0
		internal Evaluation ReadOnlyEvaluate(Expression/*!*/ parent)
		{
			if (HasValue)
				return new Evaluation(parent, parent.Evaluate(Value));

			return new Evaluation(parent);
		}
Beispiel #4
0
		internal static Evaluation Evaluate(Expression/*!*/ parent, Evaluation eval1, out Expression/*!*/ expr1,
			Evaluation eval2, out Expression/*!*/ expr2)
		{
			if (eval1.HasValue && eval2.HasValue)
			{
				expr1 = eval1.Expression;
				expr2 = eval2.Expression;
				return new Evaluation(parent, parent.Evaluate(eval1.Value, eval2.Value));
			}

			expr1 = eval1.Literalize();
			expr2 = eval2.Literalize();
			return new Evaluation(parent);
		}