public override void OnAliasDefinition(AliasDefinition node) { //Checking if the alias definition name is unique var sameNameAliasDef = _context.NamespaceResolver.ModuleMembersNsInfo.FindAll(n => (n.ModuleMember is DOM.AliasDefinition && ((DOM.AliasDefinition)n.ModuleMember).Name == node.Name)); if (sameNameAliasDef.Count > 1) { if (sameNameAliasDef.Count == 2) { //Reporting error for 2 documents (existing and new) var prevAliasDef = (DOM.AliasDefinition)sameNameAliasDef[0].ModuleMember; _context.AddError(CompilerErrorFactory.DuplicateAliasDefName(prevAliasDef, prevAliasDef.Module.FileName)); } _context.AddError(CompilerErrorFactory.DuplicateAliasDefName(node, _currentModule.FileName)); } base.OnAliasDefinition(node); }
private void CheckAliasDefNameUniqueness(DOM.AliasDefinition aliasDefinition) { var sameNameAliasDef = _namespaceResolver.ModuleMembersNsInfo.FindAll( n => (n.ModuleMember is DOM.AliasDefinition && ((DOM.AliasDefinition)n.ModuleMember).Name == aliasDefinition.Name)); if (sameNameAliasDef.Count > 1) { if (sameNameAliasDef.Count == 2) { //Reporting error for 2 documents (existing and new) var prevAliasDef = (DOM.AliasDefinition)sameNameAliasDef[0].ModuleMember; Context.AddError(CompilerErrorFactory.DuplicateAliasDefName((AliasDefinition)prevAliasDef, prevAliasDef.Module.FileName)); } Context.AddError(CompilerErrorFactory.DuplicateAliasDefName((AliasDefinition)aliasDefinition, _currentModule.FileName)); } }