Author: miguel
Date: 2005-04-19 19:53:35 -0400 (Tue, 19 Apr 2005)
New Revision: 43304

Modified:
   trunk/mcs/mcs/ChangeLog
   trunk/mcs/mcs/anonymous.cs
Log:
2005-04-19  Miguel de Icaza  <[EMAIL PROTECTED]>

        * anonymous.cs (CaptureContext.EmitParameterInstance): The
        parameter code was not completed ever, so it was not as up-to-date
        as local variables.  Must finish it.

        The bug fix was to compare the Toplevel of the block, not the
        current block.  Thanks for Ben for pointing this out. 



Modified: trunk/mcs/mcs/ChangeLog
===================================================================
--- trunk/mcs/mcs/ChangeLog     2005-04-19 23:53:17 UTC (rev 43303)
+++ trunk/mcs/mcs/ChangeLog     2005-04-19 23:53:35 UTC (rev 43304)
@@ -1,3 +1,12 @@
+2005-04-19  Miguel de Icaza  <[EMAIL PROTECTED]>
+
+       * anonymous.cs (CaptureContext.EmitParameterInstance): The
+       parameter code was not completed ever, so it was not as up-to-date
+       as local variables.  Must finish it.
+
+       The bug fix was to compare the Toplevel of the block, not the
+       current block.  Thanks for Ben for pointing this out. 
+
 2005-04-19  Raja R Harinath  <[EMAIL PROTECTED]>
 
        * decl.cs (AddMethods): Use the declaring type of the problem

Modified: trunk/mcs/mcs/anonymous.cs
===================================================================
--- trunk/mcs/mcs/anonymous.cs  2005-04-19 23:53:17 UTC (rev 43303)
+++ trunk/mcs/mcs/anonymous.cs  2005-04-19 23:53:35 UTC (rev 43304)
@@ -1027,12 +1027,13 @@
                        ILGenerator ig = ec.ig;
 
                        ScopeInfo si;
-                       if (ec.CurrentBlock == toplevel_owner){
+                       
+                       if (ec.CurrentBlock.Toplevel == toplevel_owner){
                                si = GetScopeFromBlock (ec, toplevel_owner);
                                ig.Emit (OpCodes.Ldloc, si.ScopeInstance);
                                return;
                        }
-                       
+
                        si = ec.CurrentAnonymousMethod.Scope;
                        ig.Emit (OpCodes.Ldarg_0);
                        if (si != null){

_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches

Reply via email to