• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

C# CodeCompletion.TypeScope类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C#中CodeCompletion.TypeScope的典型用法代码示例。如果您正苦于以下问题:C# TypeScope类的具体用法?C# TypeScope怎么用?C# TypeScope使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



TypeScope类属于CodeCompletion命名空间,在下文中一共展示了TypeScope类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。

示例1: FileScope

 public FileScope(TypeScope elementType, SymScope topScope)
 {
     this.topScope = topScope;
     if (topScope != null)
     {
         if (elementType != null)
             this.baseScope = topScope.FindName("TypedFile") as TypeScope;
         else
             this.baseScope = topScope.FindName("BinaryFile") as TypeScope;
     }
     this.elementType = elementType;
     this.si = new SymInfo(this.ToString(), SymbolKind.Type, this.ToString());
 }
开发者ID:Slav76,项目名称:pascalabcnet,代码行数:13,代码来源:SymTable.cs


示例2: AddIndexer

        public override void AddIndexer(TypeScope ts)
        {

        }
开发者ID:Slav76,项目名称:pascalabcnet,代码行数:4,代码来源:SymTable.cs


示例3: GetTypeName

		private static string GetTypeName(TypeScope typ)
		{
			StringBuilder sb = new StringBuilder();
			if (typ == null)
				return "";
			if (typ is CompiledScope)
				sb.Append((typ as CompiledScope).ctn.FullName);
			else if (typ is ArrayScope)
			{
				ArrayScope arr = typ as ArrayScope;
				if (arr.is_dynamic_arr)
				{
					ArrayScope tmp = arr;
					int j=1;
					while (tmp.elementType is ArrayScope && (tmp.elementType as ArrayScope).is_dynamic_arr)
					{
						j++;
						tmp = tmp.elementType as ArrayScope;
					}
					sb.Append(GetTypeName(tmp.elementType));
					for (int k=0; k<j; k++)
						sb.Append("[]");
				}
				else
				{
					sb.Append("@array[");
					for (int j=0; j<arr.indexes.Length; j++)
					{
						sb.Append(GetTypeName(arr.indexes[j]));
						if (j<arr.indexes.Length-1)
							sb.Append(",");
					}
					sb.Append("]");
					sb.Append("["+GetTypeName(arr.elementType)+"]");
				}
			}
			else if (typ is ProcType)
			{
				sb.Append(GetDelegateName((typ as ProcType).target));
			}
			else if (typ is SetScope)
			{
				sb.Append("@set["+GetTypeName((typ as SetScope).elementType)+"]");
			}
			else if (typ is FileScope)
			{
				if (typ.elementType != null)
				sb.Append("@fileof["+GetTypeName(typ.elementType)+"]");
				else
				sb.Append("@file");
			}
			else if (typ is TypeSynonim)
			{
				sb.Append(GetTypeName((typ as TypeSynonim).actType));
			}
			else if (typ is PointerScope)
			{
				PointerScope ptr = typ as PointerScope;
				int j=1;
				while (ptr.ref_type is PointerScope)
				{
					j++;
					ptr = ptr.ref_type as PointerScope;
				}
				for (int k=0; k<j; k++)
					sb.Append("*");
				sb.Append(ptr.ref_type);
			}
			else if (typ is ShortStringScope)
			{
				sb.Append("@string["+(typ as ShortStringScope).Length+"]");
			}
			else if (typ is DiapasonScope)
			{
				sb.Append("@diap["+(typ as DiapasonScope).left+".."+(typ as DiapasonScope).right+"]");
			}
			else
			sb.Append(typ.declaringUnit.si.name+"."+typ.si.name);
			return sb.ToString();
		}
开发者ID:PascalABC-CompilerLaboratory,项目名称:pascalabcnet,代码行数:80,代码来源:UnitXmlDocs.cs


示例4: AddImplementedInterface

 public virtual void AddImplementedInterface(TypeScope type)
 {
     if (implemented_interfaces == null) implemented_interfaces = new List<TypeScope>();
     implemented_interfaces.Add(type);
 }
开发者ID:Slav76,项目名称:pascalabcnet,代码行数:5,代码来源:SymTable.cs


示例5: AddGenericInstanciation

 public virtual void AddGenericInstanciation(TypeScope ts)
 {
     instances.Add(ts);
 }
开发者ID:Slav76,项目名称:pascalabcnet,代码行数:4,代码来源:SymTable.cs


示例6: simpleGetInstance

 protected virtual TypeScope simpleGetInstance(List<TypeScope> gen_args)
 {
     TypeScope ts = new TypeScope(this.kind, this.topScope, this.baseScope);
     ts.original_type = this;
     ts.loc = this.loc;
     for (int i = 0; i < gen_args.Count; i++)
     {
         ts.AddGenericParameter(gen_args[i].si.name);
         ts.AddGenericInstanciation(gen_args[i]);
     }
     ts.si.name = this.si.name;
     ts.documentation = this.documentation;
     ts.si.description = ts.GetDescription();
     return ts;
 }
开发者ID:Slav76,项目名称:pascalabcnet,代码行数:15,代码来源:SymTable.cs


示例7: IsConvertable

 public override bool IsConvertable(TypeScope ts)
 {
     if (ts is TypeSynonim) return actType.IsConvertable((ts as TypeSynonim).actType);
     if (ts is ShortStringScope) return true;
     return false;
 }
开发者ID:Slav76,项目名称:pascalabcnet,代码行数:6,代码来源:SymTable.cs


示例8: ArrayScope

 public ArrayScope(TypeScope elementType, TypeScope[] indexes)
 {
     this.elementType = elementType;
     this.indexes = indexes;
     if (indexes == null)
         is_dynamic_arr = true;
     else
     {
         _is_multi_dyn_arr = true;
         foreach (TypeScope ind_ts in indexes)
         {
             if (ind_ts != null)
             {
                 _is_multi_dyn_arr = false;
                 break;
             }
         }
     }
     Type tarr = typeof(Array);
     this.baseScope = TypeTable.get_compiled_type(new SymInfo(tarr.Name, SymbolKind.Type, tarr.FullName), tarr);
     //if (is_dynamic_arr || _is_multi_dyn_arr)
     {
         List<TypeScope> lst = new List<TypeScope>();
         lst.Add(elementType);
         this.implemented_interfaces = new List<TypeScope>();
         this.implemented_interfaces.Add(CompiledScope.get_type_instance(typeof(IEnumerable<>), lst));
     }
     this.si = new SymInfo("$" + this.ToString(), SymbolKind.Type, this.ToString());
     this.members = new List<SymScope>();
 }
开发者ID:Slav76,项目名称:pascalabcnet,代码行数:30,代码来源:SymTable.cs


示例9: TypeSynonim

 public TypeSynonim(SymInfo si, SymScope actType)
     : base(SymbolKind.Type, null, null)
 {
     this.actType = actType as TypeScope;
     this.si = si;
     if (actType.si != null && actType.si.description != null)
         this.si.description = CodeCompletionController.CurrentParser.LanguageInformation.GetDescription(this);
     //this.si.describe = "type "+this.si.name + " = "+actType.si.name;
 }
开发者ID:Slav76,项目名称:pascalabcnet,代码行数:9,代码来源:SymTable.cs


示例10: TemplateParameterScope

 public TemplateParameterScope(string name, TypeScope baseType, SymScope declScope)
     : base(SymbolKind.Type, null, baseType)
 {
     this.declScope = declScope;
     this.topScope = declScope;
     this.name = name;
     si.description = name + " in " + declScope.si.name;
 }
开发者ID:Slav76,项目名称:pascalabcnet,代码行数:8,代码来源:SymTable.cs


示例11: GetExtensionMethods

 public List<ProcScope> GetExtensionMethods(TypeScope ts)
 {
     if (ts is ArrayScope && !(ts as ArrayScope).is_dynamic_arr)
         return new List<ProcScope>();
     List<ProcScope> lst = new List<ProcScope>();
     List<ProcScope> meths = null;
     TypeScope tmp_ts = ts;
     if (extension_methods != null)
     {
         while (tmp_ts != null)
         {
             TypeScope tmp_ts2 = tmp_ts;
             if (tmp_ts is CompiledScope && (tmp_ts as CompiledScope).CompiledType.IsGenericType && !(tmp_ts as CompiledScope).CompiledType.IsGenericTypeDefinition)
                 tmp_ts2 = TypeTable.get_compiled_type((tmp_ts as CompiledScope).CompiledType.GetGenericTypeDefinition());
             if (extension_methods.TryGetValue(tmp_ts2, out meths))
             {
                 lst.AddRange(meths);
             }
             else
             {
                 foreach (TypeScope t in extension_methods.Keys)
                 {
                     if (t.GenericTypeDefinition == tmp_ts2.GenericTypeDefinition || t.IsEqual(tmp_ts2) || (t is ArrayScope && tmp_ts2.IsArray) || ( tmp_ts2 is ArrayScope && t.IsArray) || (t is TemplateParameterScope || t is UnknownScope))
                     {
                         lst.AddRange(extension_methods[t]);
                     }
                 }
             }
             tmp_ts = tmp_ts.baseScope;
         }
         if (ts.implemented_interfaces != null)
         foreach (TypeScope int_ts in ts.implemented_interfaces)
         {
             TypeScope int_ts2 = int_ts;
             if (int_ts is CompiledScope && (int_ts as CompiledScope).CompiledType.IsGenericType && !(int_ts as CompiledScope).CompiledType.IsGenericTypeDefinition)
                 int_ts2 = TypeTable.get_compiled_type((int_ts as CompiledScope).CompiledType.GetGenericTypeDefinition());
             if (extension_methods.TryGetValue(int_ts2, out meths))
             {
                 lst.AddRange(meths);
             }
             else
             {
                 foreach (TypeScope t in extension_methods.Keys)
                 {
                     if (t.GenericTypeDefinition == int_ts2.GenericTypeDefinition || t.IsEqual(int_ts2) || (t is ArrayScope && int_ts2.IsArray) || (int_ts2 is ArrayScope && t.IsArray))
                     {
                         lst.AddRange(extension_methods[t]);
                         //break;
                     }
                 }
                 
             }
         }
     }
     if (this.used_units != null)
         for (int i = 0; i < this.used_units.Count; i++)
         {
             if (this.used_units[i] != this)
                 lst.AddRange(this.used_units[i].GetExtensionMethods(ts));
         }
     return lst;
 }
开发者ID:Slav76,项目名称:pascalabcnet,代码行数:62,代码来源:SymTable.cs


示例12: AddExtensionMethod

 public void AddExtensionMethod(string name, ProcScope meth, TypeScope ts)
 {
     if (extension_methods == null)
         extension_methods = new Dictionary<TypeScope, List<ProcScope>>();
     List<ProcScope> meth_list = null;
     if (ts is CompiledScope && (ts as CompiledScope).CompiledType.IsGenericType && !(ts as CompiledScope).CompiledType.IsGenericTypeDefinition)
         ts = TypeTable.get_compiled_type((ts as CompiledScope).CompiledType.GetGenericTypeDefinition());
     if (ts.original_type != null)
         ts = ts.original_type;
     if (!extension_methods.TryGetValue(ts, out meth_list))
     {
         meth_list = new List<ProcScope>();
         extension_methods.Add(ts, meth_list);
     }
     meth_list.Add(meth);
 }
开发者ID:Slav76,项目名称:pascalabcnet,代码行数:16,代码来源:SymTable.cs


示例13: TypeScope

        public TypeScope(SymbolKind kind, SymScope topScope, SymScope baseScope)
        {
            this.kind = kind;
            this.baseScope = baseScope as TypeScope;
            this.topScope = topScope;
            if (baseScope == null)
            {
                if (CodeCompletionController.CurrentParser.LanguageInformation.IncludeDotNetEntities)
                    switch (kind)
                    {
                        case SymbolKind.Struct: this.baseScope = TypeTable.get_compiled_type(new SymInfo(typeof(ValueType).Name, SymbolKind.Struct, typeof(ValueType).FullName), typeof(ValueType)); break;
                        case SymbolKind.Interface:
                        case SymbolKind.Class: this.baseScope = TypeTable.get_compiled_type(new SymInfo(typeof(object).Name, SymbolKind.Class, typeof(object).FullName), typeof(object)); break;
                        case SymbolKind.Enum: this.baseScope = TypeTable.get_compiled_type(new SymInfo(typeof(Enum).Name, SymbolKind.Enum, typeof(Enum).FullName), typeof(Enum)); break;
                    }
            }

            //this.ht = new Hashtable(CaseInsensitiveHashCodeProvider.Default,CaseInsensitiveComparer.Default);
            this.members = new List<SymScope>();
            this.indexers = new List<TypeScope>();
            this.instances = new List<TypeScope>();
            //this.generic_params = new List<string>();
            si = new SymInfo("type", kind, "type");
            //UnitDocCache.AddDescribeToComplete(this);
            switch (kind)
            {
                case SymbolKind.Struct: si.description = CodeCompletionController.CurrentParser.LanguageInformation.GetKeyword(PascalABCCompiler.Parsers.SymbolKind.Struct); break;
                case SymbolKind.Class: si.description = CodeCompletionController.CurrentParser.LanguageInformation.GetKeyword(PascalABCCompiler.Parsers.SymbolKind.Class); break;
                case SymbolKind.Interface: si.description = CodeCompletionController.CurrentParser.LanguageInformation.GetKeyword(PascalABCCompiler.Parsers.SymbolKind.Interface); break;
                case SymbolKind.Enum: si.description = CodeCompletionController.CurrentParser.LanguageInformation.GetKeyword(PascalABCCompiler.Parsers.SymbolKind.Enum); break;
            }

        }
开发者ID:Slav76,项目名称:pascalabcnet,代码行数:33,代码来源:SymTable.cs


示例14: internalInstance

 private TypeScope internalInstance(TypeScope ts, List<TypeScope> gen_args)
 {
     if (ts is TemplateParameterScope || ts is UnknownScope)
     {
         int ind = this.generic_params.IndexOf(ts.Name);
         if (ind != -1)
         {
             return gen_args[ind];
         }
         else
             return ts;
     }
     else if (ts is ArrayScope)
     {
         ArrayScope arr = null;
         if ((ts as ArrayScope).is_dynamic_arr)
         {
             arr = new ArrayScope(internalInstance(ts.elementType, gen_args), (ts as ArrayScope).indexes);
             arr.is_dynamic_arr = true;
         }
         else
             arr = new ArrayScope(internalInstance(ts.elementType, gen_args), (ts as ArrayScope).indexes);
         return arr;
     }
     else if (ts is TypeScope && ts.instances != null && ts.instances.Count > 0)
     {
         return ts.simpleGetInstance(gen_args);
     }
     else
         return ts;
 }
开发者ID:Slav76,项目名称:pascalabcnet,代码行数:31,代码来源:SymTable.cs


示例15: GetSymInfosForExtensionMethods

 public SymInfo[] GetSymInfosForExtensionMethods(TypeScope ts)
 {
     if (ts is ArrayScope && !(ts as ArrayScope).is_dynamic_arr)
         return new SymInfo[0];
     List<SymInfo> lst = new List<SymInfo>();
     List<ProcScope> meth_list = GetExtensionMethods(ts);
     for (int i = 0; i < meth_list.Count; i++)
         lst.Add(meth_list[i].si);
     return lst.ToArray();
 }
开发者ID:Slav76,项目名称:pascalabcnet,代码行数:10,代码来源:SymTable.cs


示例16: GetInstance

 public virtual TypeScope GetInstance(List<TypeScope> gen_args)
 {
     TypeScope ts = new TypeScope(this.kind, this.topScope, this.baseScope);
     ts.original_type = this;
     ts.loc = this.loc;
     for (int i = 0; i < gen_args.Count; i++)
     {
         ts.AddGenericParameter(gen_args[i].si.name);
         ts.AddGenericInstanciation(gen_args[i]);
     }
     ts.si.name = this.si.name;
     ts.documentation = this.documentation;
     ts.si.description = ts.GetDescription();
     if (this.elementType != null)
     {
         ts.elementType = internalInstance(this.elementType, gen_args);
     }
     if (this.indexers != null && this.indexers.Count > 0)
     {
         ts.indexers = new List<TypeScope>();
         for (int j = 0; j < this.indexers.Count; j++)
             ts.indexers.Add(internalInstance(this.indexers[j], gen_args));
     }
     Hashtable procs = new Hashtable();
     for (int i = 0; i < members.Count; i++)
     {
         SymScope ss = members[i];
         ts.members.Add(ss);
         if (ss is ElementScope)
         {
             ElementScope es = ss as ElementScope;
             ElementScope new_es = new ElementScope(new SymInfo(es.si.name, es.si.kind, es.si.name), es.sc, ts);
             ts.members[i] = new_es;
             new_es.loc = es.loc;
             new_es.documentation = es.documentation;
             new_es.si.acc_mod = es.si.acc_mod;
             new_es.si.has_doc = es.si.has_doc;
             if (es.indexers != null && es.indexers.Count > 0)
             {
                 new_es.indexers = new List<TypeScope>();
                 for (int j = 0; j < es.indexers.Count; j++)
                     new_es.indexers.Add(internalInstance(es.indexers[j], gen_args));
             }
             if (es.elementType != null)
             {
                 new_es.elementType = internalInstance(es.elementType, gen_args);
             }
             new_es.sc = internalInstance(es.sc as TypeScope, gen_args);
             new_es.MakeDescription();
         }
         else if (ss is ProcScope)
         {
             ProcScope ps = ss as ProcScope;
             ProcScope new_proc = new ProcScope(ps.si.name, ts, ps.is_constructor);
             procs[ps] = new_proc;
             new_proc.loc = ps.loc;
             new_proc.documentation = ps.documentation;
             new_proc.si.acc_mod = ps.si.acc_mod;
             new_proc.is_static = ps.is_static;
             new_proc.is_virtual = ps.is_virtual;
             new_proc.is_abstract = ps.is_abstract;
             new_proc.is_override = ps.is_override;
             new_proc.is_reintroduce = ps.is_reintroduce;
             ts.members[i] = new_proc;
             if (ps.parameters != null)
                 for (int j = 0; j < ps.parameters.Count; j++)
                 {
                     ElementScope es = ps.parameters[j];
                     ElementScope es2 = new ElementScope(new SymInfo(es.si.name, es.si.kind, es.si.name), es.sc, new_proc);
                     es2.loc = es.loc;
                     es2.cnst_val = es.cnst_val;
                     es2.si.acc_mod = es.si.acc_mod;
                     es2.param_kind = es.param_kind;
                     es2.sc = internalInstance(es.sc as TypeScope, gen_args);
                     es2.MakeDescription();
                     new_proc.AddParameter(es2);
                 }
             new_proc.return_type = internalInstance(ps.return_type, gen_args);
             new_proc.Complete();
         }
     }
     foreach (ProcScope ps in procs.Keys)
     {
         ProcScope new_ps = procs[ps] as ProcScope;
         if (ps.nextProc != null && procs[ps.nextProc] != null)
         {
             new_ps.nextProc = procs[ps.nextProc] as ProcScope;
         }
     }
     return ts;
 }
开发者ID:Slav76,项目名称:pascalabcnet,代码行数:91,代码来源:SymTable.cs


示例17: PointerScope

 public PointerScope(TypeScope ref_type)
 {
     this.ref_type = ref_type;
     this.si = new SymInfo(this.ToString(), SymbolKind.Type, this.ToString());
 }
开发者ID:Slav76,项目名称:pascalabcnet,代码行数:5,代码来源:SymTable.cs


示例18: GetDocumentation

		public static string GetDocumentation(TypeScope t)
		{
			try
			{
                if (t.declaringUnit != null)
                {
                    CodeCompletionTools.XmlDoc xdoc = (CodeCompletionTools.XmlDoc)ht[t.declaringUnit];
                    if (xdoc != null)
                    {
                        string s = GetNormalHint(xdoc.GetDocumentation("T:" + t.si.name, true));
                        return s;
                    }
                }
			}
			catch(Exception e)
			{
				
			}
			return "";
		}
开发者ID:PascalABC-CompilerLaboratory,项目名称:pascalabcnet,代码行数:20,代码来源:UnitXmlDocs.cs


示例19: AddDescribeToComplete

		public static void AddDescribeToComplete(TypeScope value)
		{
			elem_cache.Add(value);
		}
开发者ID:PascalABC-CompilerLaboratory,项目名称:pascalabcnet,代码行数:4,代码来源:UnitXmlDocs.cs


示例20: SetScope

 public SetScope(TypeScope elementType)
 {
     this.elementType = elementType;
     this.si = new SymInfo(this.ToString(), SymbolKind.Type, this.ToString());
 }
开发者ID:Slav76,项目名称:pascalabcnet,代码行数:5,代码来源:SymTable.cs



注:本文中的CodeCompletion.TypeScope类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C# TestDataBuilders.ClassSourceCodeBuilder类代码示例发布时间:2022-05-24
下一篇:
C# CodeCompletion.SymScope类代码示例发布时间:2022-05-24
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap