2005-06-30 Marek Safar <marek.safar@seznam.cz>
authorMarek Safar <marek.safar@gmail.com>
Thu, 30 Jun 2005 10:06:26 +0000 (10:06 -0000)
committerMarek Safar <marek.safar@gmail.com>
Thu, 30 Jun 2005 10:06:26 +0000 (10:06 -0000)
Fix #75322
* class.cs (FieldBase.GetInitializerExpression): One more field
for backup.

svn path=/trunk/mcs/; revision=46760

mcs/mcs/ChangeLog
mcs/mcs/class.cs

index 999606be080924ef54657d7bb84f5acb0fbf7362..754b9b6772fafe2e2be74d7e7881ec070decdd8e 100644 (file)
@@ -1,3 +1,9 @@
+2005-06-30  Marek Safar  <marek.safar@seznam.cz>
+
+       Fix #75322
+       * class.cs (FieldBase.GetInitializerExpression): One more field
+       for backup.
+
 2005-06-29  Marek Safar  <marek.safar@seznam.cz>
 
        The big error and warning messages review.
index 96b8cf171e8aeebbe2709de48aabf38ca61bc27e..ebf0a9fe8f72f9ff7fe6a7a50082aac5d6e1d638 100644 (file)
@@ -5185,14 +5185,18 @@ namespace Mono.CSharp {
                        else
                                e = new ArrayCreation (Type, "", (ArrayList)init, Location);
 
+                       // TODO: Any reason why we are using parent EC ?
                        EmitContext parent_ec = Parent.EmitContext;
 
                        bool old_is_static = parent_ec.IsStatic;
+                       bool old_is_ctor = parent_ec.IsConstructor;
                        parent_ec.IsStatic = ec.IsStatic;
+                       parent_ec.IsConstructor = ec.IsConstructor;
                        parent_ec.IsFieldInitializer = true;
                        e = e.DoResolve (parent_ec);
                        parent_ec.IsFieldInitializer = false;
                        parent_ec.IsStatic = old_is_static;
+                       parent_ec.IsConstructor = old_is_ctor;
 
                        init_expr = e;
                        init_expr_initialized = true;