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