Author: martin
Date: 2005-04-15 04:51:20 -0400 (Fri, 15 Apr 2005)
New Revision: 43027

Modified:
   trunk/mcs/gmcs/ChangeLog
   trunk/mcs/gmcs/codegen.cs
   trunk/mcs/gmcs/decl.cs
   trunk/mcs/gmcs/delegate.cs
   trunk/mcs/gmcs/parameter.cs
Log:
**** Merged r41383 from MCS ****


Modified: trunk/mcs/gmcs/ChangeLog
===================================================================
--- trunk/mcs/gmcs/ChangeLog    2005-04-15 08:50:43 UTC (rev 43026)
+++ trunk/mcs/gmcs/ChangeLog    2005-04-15 08:51:20 UTC (rev 43027)
@@ -1,3 +1,11 @@
+2005-03-03  Raja R Harinath  <[EMAIL PROTECTED]>
+
+       * codegen.cs (EmitContext): Remove ResolvingTypeTree.
+       * parameters.cs (ComputeAndDefineParameters): Remove.
+       * decl.cs (ResolveBaseTypeExpr): Don't set ResolvingTypeTree.
+       * delegate.cs (Define): Don't invoke ComputeAndDefineParameters.
+       Use GetParameterInfo.
+
 2005-03-02  Marek Safar  <[EMAIL PROTECTED]>
 
        * report.cs (StaticClass.DefineContainerMembers): Add warning 628.

Modified: trunk/mcs/gmcs/codegen.cs
===================================================================
--- trunk/mcs/gmcs/codegen.cs   2005-04-15 08:50:43 UTC (rev 43026)
+++ trunk/mcs/gmcs/codegen.cs   2005-04-15 08:51:20 UTC (rev 43027)
@@ -389,13 +389,6 @@
                public Location loc;
 
                /// <summary>
-               ///   Used to flag that it is ok to define types recursively, 
as the
-               ///   expressions are being evaluated as part of the type lookup
-               ///   during the type resolution process
-               /// </summary>
-               public bool ResolvingTypeTree;
-               
-               /// <summary>
                ///   Inside an enum definition, we do not resolve enumeration 
values
                ///   to their enumerations, but rather to the underlying 
type/value
                ///   This is so EnumVal + EnumValB can be evaluated.

Modified: trunk/mcs/gmcs/decl.cs
===================================================================
--- trunk/mcs/gmcs/decl.cs      2005-04-15 08:50:43 UTC (rev 43026)
+++ trunk/mcs/gmcs/decl.cs      2005-04-15 08:51:20 UTC (rev 43027)
@@ -728,7 +728,6 @@
                                // However, if Parent == 
RootContext.Tree.Types, its NamespaceEntry will be null.
                                //
                                type_resolve_ec = new EmitContext (Parent, 
this, loc, null, null, ModFlags, false);
-                               type_resolve_ec.ResolvingTypeTree = true;
                        }
                        type_resolve_ec.loc = loc;
                        if (this is GenericMethod)

Modified: trunk/mcs/gmcs/delegate.cs
===================================================================
--- trunk/mcs/gmcs/delegate.cs  2005-04-15 08:50:43 UTC (rev 43026)
+++ trunk/mcs/gmcs/delegate.cs  2005-04-15 08:51:20 UTC (rev 43027)
@@ -209,9 +209,6 @@
                        // First, call the `out of band' special method for
                        // defining recursively any types we need:
                        
-                       if (!Parameters.ComputeAndDefineParameterTypes (ec))
-                               return false;
-                       
                        param_types = Parameters.GetParameterInfo (ec);
                        if (param_types == null)
                                return false;
@@ -360,10 +357,9 @@
                                                                   
Parameter.Modifier.NONE, null);
 
                        Parameters async_parameters = new Parameters 
(async_params, null, Location);
-                       async_parameters.ComputeAndDefineParameterTypes (ec);
                        
                        TypeManager.RegisterMethod (BeginInvokeBuilder,
-                                                   new InternalParameters 
(async_param_types, async_parameters),
+                                                   new InternalParameters 
(async_parameters.GetParameterInfo (ec), async_parameters),
                                                    async_param_types);
 
                        //
@@ -404,11 +400,10 @@
                        }
 
                        Parameters end_parameters = new Parameters (end_params, 
null, Location);
-                       end_parameters.ComputeAndDefineParameterTypes (ec);
 
                        TypeManager.RegisterMethod (
                                EndInvokeBuilder,
-                               new InternalParameters (end_param_types, 
end_parameters),
+                               new InternalParameters 
(end_parameters.GetParameterInfo (ec), end_parameters),
                                end_param_types);
 
                        return true;

Modified: trunk/mcs/gmcs/parameter.cs
===================================================================
--- trunk/mcs/gmcs/parameter.cs 2005-04-15 08:50:43 UTC (rev 43026)
+++ trunk/mcs/gmcs/parameter.cs 2005-04-15 08:51:20 UTC (rev 43027)
@@ -533,19 +533,6 @@
 
                        return true;
                }
-
-               //
-               // This variant is used by Delegates, because they need to
-               // resolve/define names, instead of the plain LookupType
-               //
-               public bool ComputeAndDefineParameterTypes (EmitContext ec)
-               {
-                       bool old_type_resolving = ec.ResolvingTypeTree;
-                       ec.ResolvingTypeTree = true;
-                       bool retval = ComputeParameterTypes (ec);
-                       ec.ResolvingTypeTree = old_type_resolving;
-                       return retval;
-               }
                
                /// <summary>
                ///   Returns the argument types as an array

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

Reply via email to