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
//
// 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;
}