In mcs and gmcs:
Implement parts of #77403
* roottypes.cs (RootDeclSpace): New. Used to represent the
toplevel declaration space. Each namespace declaration introduces
a "partial" root declaretion space.
* namespace.cs (NamespaceEntry.SlaveDeclSpace): New.
(NamespaceEntry.ctor): Create a SlaveDeclSpace if necessary.
* cs-parser.jay (CSharpParser.ctor): Initialize 'current_class'
from 'current_namespace.SlaveDeclSpace'.
(namespace_declaration): Likewise.
* class.cs (TypeContainer.ctor): Remove parent==ToplevelTypes
check. It can't happen now.
* decl.cs (DeclSpace.LookupType): Likewise.
* driver.cs (MainDriver): Sanity check.
svn path=/trunk/mcs/; revision=63243
14 files changed: