System.Linq.Dynamic.ExpressionParser.PromoteLeftOrRight C# (CSharp) Method

PromoteLeftOrRight() private method

private PromoteLeftOrRight ( Expression &left, Expression &right, Token op ) : void
left Expression
right Expression
op Token
return void
		private void PromoteLeftOrRight(ref Expression left, ref Expression right, Token op)
		{
			if (left.Type != right.Type)
			{
				Expression e;
				if ((e = PromoteExpression(right, left.Type, true)) != null)
				{
					right = e;
				}
				else if ((e = PromoteExpression(left, right.Type, true)) != null)
				{
					left = e;
				}
				else
				{
					throw IncompatibleOperandsError(op.Text, left, right, op.Position);
				}
			}
		}
ExpressionParser