Author: marek
Date: 2008-02-20 13:10:29 -0500 (Wed, 20 Feb 2008)
New Revision: 96282
Modified:
branches/mono-1-9/mcs/mcs/ChangeLog
branches/mono-1-9/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: branches/mono-1-9/mcs/mcs/ChangeLog
===================================================================
--- branches/mono-1-9/mcs/mcs/ChangeLog 2008-02-20 18:07:04 UTC (rev 96281)
+++ branches/mono-1-9/mcs/mcs/ChangeLog 2008-02-20 18:10:29 UTC (rev 96282)
@@ -1,3 +1,9 @@
+2008-02-20 Marek Safar <[EMAIL PROTECTED]>
+
+ A fix for bug #363218
+ * expression.cs (ArrayCreation.Clone): Deal with multi-dimensional
+ initializers.
+
2008-01-25 Marek Safar <[EMAIL PROTECTED]>
* report.cs: Correctly reset warnings count after probing.
Modified: branches/mono-1-9/mcs/mcs/expression.cs
===================================================================
--- branches/mono-1-9/mcs/mcs/expression.cs 2008-02-20 18:07:04 UTC (rev
96281)
+++ branches/mono-1-9/mcs/mcs/expression.cs 2008-02-20 18:10:29 UTC (rev
96282)
@@ -5940,8 +5940,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