/// <summary> /// Checking if the namespace definition name is unique per module/ module member. /// </summary> /// <param name="namespaceDefinition"></param> private void CheckNsDefDuplicates(NamespaceDefinition namespaceDefinition) { if (namespaceDefinition.Parent is Module parentModule) { var sameNsDefs = parentModule.NamespaceDefinitions.Where(n => n.Name == namespaceDefinition.Name); if (sameNsDefs.Count() > 1) { Context.AddError(CompilerErrorFactory.DuplicateNsDefName(namespaceDefinition, _currentModule.FileName)); } return; } if (namespaceDefinition.Parent is ModuleMember parentModuleMember) { var sameNsDefs = parentModuleMember.NamespaceDefinitions.Where(n => n.Name == namespaceDefinition.Name); if (sameNsDefs.Count() > 1) { Context.AddError(CompilerErrorFactory.DuplicateNsDefName(namespaceDefinition, _currentModule.FileName)); } return; } //var sameNsDefs = // _namespaceResolver.ModuleMembersNsInfo.FindAll( // n => (n.ModuleMember is DOM.Document && ((DOM.Document)n.ModuleMember).Name == document.Name) // && // ((Module)document.Module).TargetFormat == // ((Module)((DOM.Document)n.ModuleMember).Module).TargetFormat // ); //if (sameNameDocuments.Count <= 1) return; //if (((Document)document).Module.ModuleDocument != document) //don't report error for module document // Context.AddError(CompilerErrorFactory.DuplicateDocumentName((Document)document, _currentModule.FileName)); }