* Makefile (centum_tests): Add Mono.Security and
[mono.git] / mcs / gmcs / decl.cs
index 31588d1d2332458711b35c0246391f675edfacb2..28b142c1030c71d98c0bdeb09260671bb897225b 100644 (file)
@@ -713,22 +713,6 @@ namespace Mono.CSharp {
                        return (MemberCore)defined_names [name];
                }
 
-               bool in_transit = false;
-               
-               /// <summary>
-               ///   This function is used to catch recursive definitions
-               ///   in declarations.
-               /// </summary>
-               public bool InTransit {
-                       get {
-                               return in_transit;
-                       }
-
-                       set {
-                               in_transit = value;
-                       }
-               }
-               
                // 
                // root_types contains all the types.  All TopLevel types
                // hence have a parent that points to `root_types', that is
@@ -1783,18 +1767,16 @@ namespace Mono.CSharp {
                                                //
                                                // Also, CSC 1.1 appears to emit 'Finalize' without a newslot.
                                                //
-                                               if ((member.Name != "Invoke" ||
-                                                    !TypeManager.IsDelegateType (type)) &&
-                                                   (member.Name != "Finalize" ||
-                                                    type != TypeManager.object_type)) {
-                                                       Report.SymbolRelatedToPreviousError (base_method);
-                                                       Report.Warning (-28, 
+                                               if ((curr.Name == "Invoke" && TypeManager.IsDelegateType (curr.DeclaringType)) ||
+                                                   (curr.Name == "Finalize" && curr.GetParameters().Length == 0 && curr.DeclaringType == TypeManager.object_type))
+                                                       break;
+
+                                               Report.SymbolRelatedToPreviousError (base_method);
+                                               Report.Warning (-28, 
                                                                "The method '{0}' is marked 'override'," + 
                                                                " but doesn't appear to override any virtual or abstract method:" + 
                                                                " it may be ignored during overload resolution",
                                                                TypeManager.CSharpSignature (base_method));
-                                               }
-
                                                break;
                                        }