/// <summary>
        /// Поиск символа в пространстве имен.
        /// </summary>
        /// <param name="name">Имя для поиска.</param>
        /// <returns>Первый элемент списка найденных имен. null если ни чего не найдено.</returns>
        public override SymbolInfoList find(string name)
        {
            bool           is_ns = NetHelper.IsNetNamespace(_name + "." + name);
            SymbolInfoList sil   = null;

            if (is_ns)
            {
                compiled_namespace_node cnn = compiled_namespace_node.get_compiled_namespace(_name + "." + name, _tcst);
                sil = new SymbolInfoList(new SymbolInfo(cnn));
            }
            else
            {
                //Kolay changed next string.   throwOnError=false  ignoreCase=true,   .
                //Type t = Type.GetType(_name+"."+name,false,true);
                if (common_namespace != null)
                {
                    sil = common_namespace.scope.FindOnlyInScope(name);
                    if (sil != null)
                    {
                        return(sil);
                    }
                }
                Type t = NetHelper.FindType(_name + "." + name);
                if (t != null)
                {
                    sil = new SymbolInfoList(new SymbolInfo(compiled_type_node.get_type_node(t, _tcst)));
                }
                else
                {
                    t = NetHelper.FindType(_name + "." + _name);
                    if (t != null && NetHelper.IsEntryType(t))
                    {
                        sil = NetHelper.FindName(t, name);
                        if (sil == null)
                        {
                            type_node tn = NetHelper.FindCompiledPascalType(_name + "." + name);
                            if (tn != null)
                            {
                                sil = new SymbolInfoList(new SymbolInfo(tn));
                            }
                            else
                            {
                                template_class tc = NetHelper.FindCompiledTemplateType(_name + "." + name);
                                if (tc != null)
                                {
                                    sil = new SymbolInfoList(new SymbolInfo(tc));
                                }
                            }
                        }
                    }
                }
            }
            return(sil);
        }
        public static compiled_namespace_node get_compiled_namespace(string full_name, PascalSharp.Internal.TreeConverter.SymbolTable.TreeConverterSymbolTable tcst)
        {
            compiled_namespace_node cnn = null;

            if (!compiled_namespaces.TryGetValue(full_name, out cnn))
            {
                cnn = new compiled_namespace_node(full_name, tcst);
                compiled_namespaces.Add(full_name, cnn);
            }
            cnn._tcst = tcst;
            return(cnn);
        }