示例#1
0
 public SymbolInfo(compiled_namespace_node value)
 {
     //_name_information_type=name_information_type.nit_compiled_namespace;
     _sym_info     = value;
     _access_level = access_level.al_public;
     _symbol_kind  = symbol_kind.sk_none;
 }
示例#2
0
        /*public override base_scope top_scope
         * {
         *      get
         *      {
         *              return _up_scope;
         *      }
         * }*/

        public override SymbolInfo Find(string name)
        {
            SymbolInfo si = null;

            if (NetHelper.IsNetNamespace(name.ToLower()) == true)
            {
                compiled_namespace_node cnn = new compiled_namespace_node(name);
                si = new SymbolInfo(cnn);
            }
            else
            {
                //Type t = Type.GetType("System."+name,false,true);
                Type t = null;
                int  i = 0;
                t = NetHelper.FindType(name);
                if (t != null)
                {
                    compiled_type_node ctn = compiled_type_node.get_type_node(t);
                    ctn.Scope = new NetTypeScope(ctn.compiled_type);
                    si        = new SymbolInfo(ctn);
                }
                else
                {
                    while ((t == null) && (i < _unar.Count))
                    {
                        t = _assembly.GetType(_unar[i].namespace_name + "." + name, false, true);
                        i++;
                    }
                    if (t != null)
                    {
                        compiled_type_node ctn = compiled_type_node.get_type_node(t);
                        ctn.Scope = new NetTypeScope(ctn.compiled_type);
                        si        = new SymbolInfo(ctn);
                        NetHelper.AddType(name, t);
                    }
                }
            }
            return(si);
        }
示例#3
0
		/*public override base_scope top_scope
		{
			get
			{
				return _up_scope;
			}
		}*/

		public override SymbolInfo Find(string name)
		{
			SymbolInfo si=null;
			if (NetHelper.IsNetNamespace(name.ToLower()) == true)
			{
				compiled_namespace_node cnn = new compiled_namespace_node(name);
				si = new SymbolInfo(cnn);
			}
			else
			{
				//Type t = Type.GetType("System."+name,false,true);
				Type t=null;
				int i=0;
				t = NetHelper.FindType(name);
				if (t != null)
				{
					compiled_type_node ctn = compiled_type_node.get_type_node(t);
					ctn.Scope = new NetTypeScope(ctn.compiled_type);
					si = new SymbolInfo(ctn);
				}
				else {
				while ((t==null)&&(i<_unar.Count))
				{
					t=_assembly.GetType(_unar[i].namespace_name+"."+name,false,true);
					i++;
				}
				if (t != null)
				{
					compiled_type_node ctn = compiled_type_node.get_type_node(t);
					ctn.Scope = new NetTypeScope(ctn.compiled_type);
					si = new SymbolInfo(ctn);
					NetHelper.AddType(name,t);
				}
				}
			}
			return si;
		}