public NamespaceContainer(MemberName name, ModuleContainer module, NamespaceContainer parent, CompilationSourceFile sourceFile)
{
this.module = module;
this.parent = parent;
this.file = sourceFile;
this.loc = name == null ? Location.Null : name.Location;
if (parent != null)
{
ns = parent.NS.GetNamespace(name.GetName(), true);
}
else if (name != null)
{
ns = module.GlobalRootNamespace.GetNamespace(name.GetName(), true);
}
else
{
ns = module.GlobalRootNamespace;
}
SlaveDeclSpace = new RootDeclSpace(module, this);
}