public override void LeaveArrayLiteralExpression(ArrayLiteralExpression node) { IType elementType = ((IArrayType)GetExpressionType(node)).GetElementType(); for (int i=0; i<node.Items.Count; ++i) { Expression converted = Convert(elementType, node.Items[i]); if (null != converted) { node.Items.ReplaceAt(i, converted); } } }