void BindArrayAddition(BinaryExpression node)
{
IArrayType lhs = (IArrayType)GetExpressionType(node.Left);
IArrayType rhs = (IArrayType)GetExpressionType(node.Right);
if (lhs.ElementType == rhs.ElementType)
{
node.ParentNode.Replace(
node,
CodeBuilder.CreateCast(
lhs,
CodeBuilder.CreateMethodInvocation(
MethodCache.RuntimeServices_AddArrays,
CodeBuilder.CreateTypeofExpression(lhs.ElementType),
node.Left,
node.Right)));
}
else
{
InvalidOperatorForTypes(node);
}
}