ICSharpCode.SharpDevelop.Dom.NRefactoryResolver.CSharpToVBNetConvertVisitor.ConvertArgumentsForStringConcatenationIfRequired C# (CSharp) Method

ConvertArgumentsForStringConcatenationIfRequired() private method

private ConvertArgumentsForStringConcatenationIfRequired ( BinaryOperatorExpression binaryOperatorExpression ) : void
binaryOperatorExpression BinaryOperatorExpression
return void
		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);
					}
				}
			}
		}