Пример #1
0
        AstILNode CreateNode(AstNamespace ns, Namespace parent)
        {
            if (parent.UnoName != ns.Name.Symbol)
            {
                throw new FatalException(ns.Name.Source, ErrorCode.I3331, "Invalid namespace name");
            }

            parent.Packages.Add(ns.Name.Source.Package);
            _astMap.Add(parent, ns);

            var result = new AstILNode(parent, ns);

            foreach (var e in ns.Namespaces)
            {
                result.Nodes.Add(CreateNode(e, _resolver.GetNamespace(parent, e.Name.Symbol)));
            }

            return(result);
        }