private static void DoImplicitConversion(ref object value1, ref object value2)
{
BuiltInType type1 = GetBuiltInType(value1);
BuiltInType type2 = GetBuiltInType(value2);
int precedence1 = GetDataTypePrecedence(type1);
int precedence2 = GetDataTypePrecedence(type2);
// nothing to do if already the same.
if (precedence1 == precedence2)
{
return;
}
// convert to the value with higher precedence.
if (precedence1 > precedence2)
{
value2 = Cast(value2, type2, type1);
}
else
{
value1 = Cast(value1, type1, type2);
}
}