Esempio n. 1
0
        public void ExitAliasDef(DOM.Antlr.AliasDefinition node)
        {
            //Checking if the alias definition name is unique
            var sameNameAliasDef = 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));
            }
        }
Esempio n. 2
0
 public void EnterAliasDef(DOM.Antlr.AliasDefinition node)
 {
     _currentModuleMember       = node;
     _currentModuleMemberNsInfo = new NsInfo(_currentModuleMember);
     ModuleMembersNsInfo.Add(_currentModuleMemberNsInfo);
 }
Esempio n. 3
0
 private void CheckAliasArguments(DOM.Alias alias, DOM.Antlr.AliasDefinition aliasDef, NsInfo documentNsInfo)
 {
     CheckCompatibilityWithParameters(alias, aliasDef, documentNsInfo);
     CheckForUnexpectedArguments(alias, aliasDef, documentNsInfo);
 }