void ConvertArgumentsForStringConcatenationIfRequired(BinaryOperatorExpression binaryOperatorExpression)
{
ResolveResult left = resolver.ResolveInternal(binaryOperatorExpression.Left, ExpressionContext.Default);
ResolveResult right = resolver.ResolveInternal(binaryOperatorExpression.Right, ExpressionContext.Default);
if (left != null && right != null) {
if (IsString(left.ResolvedType)) {
binaryOperatorExpression.Op = BinaryOperatorType.Concat;
if (NeedsExplicitConversionToString(right.ResolvedType)) {
binaryOperatorExpression.Right = CreateExplicitConversionToString(binaryOperatorExpression.Right);
}
} else if (IsString(right.ResolvedType)) {
binaryOperatorExpression.Op = BinaryOperatorType.Concat;
if (NeedsExplicitConversionToString(left.ResolvedType)) {
binaryOperatorExpression.Left = CreateExplicitConversionToString(binaryOperatorExpression.Left);
}
}
}
}