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);
}
}
}