Author: marek
Date: 2008-02-20 13:05:44 -0500 (Wed, 20 Feb 2008)
New Revision: 96280
Modified:
trunk/mcs/mcs/ChangeLog
trunk/mcs/mcs/expression.cs
Log:
2008-02-20 Marek Safar <[EMAIL PROTECTED]>
A fix for bug #363218
* expression.cs (ArrayCreation.Clone): Deal with multi-dimensional
initializers.
Modified: trunk/mcs/mcs/ChangeLog
===================================================================
--- trunk/mcs/mcs/ChangeLog 2008-02-20 17:55:59 UTC (rev 96279)
+++ trunk/mcs/mcs/ChangeLog 2008-02-20 18:05:44 UTC (rev 96280)
@@ -1,5 +1,11 @@
2008-02-20 Marek Safar <[EMAIL PROTECTED]>
+ A fix for bug #363218
+ * expression.cs (ArrayCreation.Clone): Deal with multi-dimensional
+ initializers.
+
+2008-02-20 Marek Safar <[EMAIL PROTECTED]>
+
* expression.cs, constant.cs, cfold.cs: Yet another side-effect constant
update. This time to deal correctly with SideEffectConstant expression
used
as an argument for another constant folding.
Modified: trunk/mcs/mcs/expression.cs
===================================================================
--- trunk/mcs/mcs/expression.cs 2008-02-20 17:55:59 UTC (rev 96279)
+++ trunk/mcs/mcs/expression.cs 2008-02-20 18:05:44 UTC (rev 96280)
@@ -5939,8 +5939,16 @@
if (initializers != null){
target.initializers = new ArrayList
(initializers.Count);
- foreach (Expression initializer in initializers)
- target.initializers.Add
(initializer.Clone (clonectx));
+ foreach (object initializer in initializers)
+ if (initializer is ArrayList) {
+ ArrayList this_al =
(ArrayList)initializer;
+ ArrayList al = new ArrayList
(this_al.Count);
+ target.initializers.Add (al);
+ foreach (Expression e in
this_al)
+ al.Add (e.Clone
(clonectx));
+ } else {
+ target.initializers.Add
(((Expression)initializer).Clone (clonectx));
+ }
}
}
}
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches