svn path=/trunk/mcs/; revision=44363
2005-05-05 Raja R Harinath <rharinath@novell.com>
Fix #74797.
- * decl.cs (DeclSpace.FamilyAccessible): Delegate accessibility
- check to surrounding class. A nested class can access everything
- accessible by its surrounding class.
+ * decl.cs (DeclSpace.FamilyAccessible):
+ Use TypeManager.IsNestedFamilyAccessible.
Fix reopened #64812.
* typemanager.cs (Closure.Filter): Introduce checks for 'protected
protected bool FamilyAccessible (Type tb, Type check_type)
{
Type declaring = check_type.DeclaringType;
- if (tb == declaring || TypeManager.IsFamilyAccessible (tb, declaring))
- return true;
-
- if (NestedAccessible (tb, check_type))
- return true;
-
- if (Parent == null || Parent == RootContext.Tree.Types)
- return false;
-
- return Parent.FamilyAccessible (tb, check_type);
+ return TypeManager.IsNestedFamilyAccessible (TypeBuilder, declaring);
}
// Access level of a type.