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); }