void BindArithmeticOperator(BinaryExpression node)
{
BindNullableOperation(node);
IType left = GetExpressionType(node.Left);
IType right = GetExpressionType(node.Right);
if (TypeSystemServices.IsPrimitiveNumber(left) && TypeSystemServices.IsPrimitiveNumber(right))
{
BindExpressionType(node, TypeSystemServices.GetPromotedNumberType(left, right));
}
else if (left.IsPointer && !BindPointerArithmeticOperator(node, left, right))
{
InvalidOperatorForTypes(node);
}
else if (!ResolveOperator(node))
{
InvalidOperatorForTypes(node);
}
}