public static void AddUsingListToScope(PascalSharp.Internal.TreeConverter.SymbolTable.Scope scope, using_namespace_list unl)
 {
     PascalSharp.Internal.TreeConverter.SymbolTable.UnitPartScope ups = scope as PascalSharp.Internal.TreeConverter.SymbolTable.UnitPartScope;
     if (ups == null)
     {
         return;
     }
     foreach (PascalSharp.Internal.TreeConverter.SymbolTable.Scope sc in ups.TopScopeArray)
     {
         NetScope netsc = sc as NetScope;
         if (netsc != null && netsc.used_namespaces.Count == 0)
         {
             using_namespace_list new_unl = new using_namespace_list();
             foreach (using_namespace un in unl)
             {
                 SymbolInfoList sil = netsc.FindOnlyInScope(un.namespace_name);
                 if ((sil.First().sym_info as compiled_namespace_node) != null)
                 {
                     new_unl.AddElement(un);
                 }
             }
             netsc.used_namespaces = new_unl;
         }
     }
 }
 /// <summary>
 /// Конструктор узла.
 /// </summary>
 /// <param name="comprehensive_namespace">Пространство имен, в которое вложено это пространство имен.</param>
 /// <param name="cont_unit">Модуль, в котором содержится это пространство имен.</param>
 /// <param name="name">Имя пространства имен.</param>
 /// <param name="scope">Область видимости пространства имен.</param>
 /// <param name="loc">Расположения заголовка пространства имен.</param>
 public common_namespace_node(namespace_node comprehensive_namespace, unit_node cont_unit, string name,
                              PascalSharp.Internal.TreeConverter.SymbolTable.Scope scope, location loc)
 {
     _comprehensive_namespace = comprehensive_namespace;
     _cont_unit = cont_unit;
     _name      = name;
     _scope     = scope;
     _loc       = loc;
 }