当前位置: 首页>>代码示例>>C#>>正文


C# SymbolWriter.SourceMethodBuilder类代码示例

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


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

示例1: ConvertSequencePoints

		void ConvertSequencePoints (PdbFunction function, SourceFile file, SourceMethodBuilder builder)
		{
			foreach (var line in function.lines.SelectMany (lines => lines.lines))
				builder.MarkSequencePoint (
					(int) line.offset,
					file.CompilationUnit.SourceFile,
					(int) line.lineBegin,
					(int) line.colBegin, line.lineBegin == 0xfeefee);
		}
开发者ID:kumpera,项目名称:mono,代码行数:9,代码来源:Driver.cs

示例2: ConvertSequencePoints

		void ConvertSequencePoints (PdbFunction function, SourceFile file, SourceMethodBuilder builder)
		{
			int last_line = 0;
			foreach (var line in function.lines.SelectMany (lines => lines.lines)) {
				// 0xfeefee is an MS convention, we can't pass it into mdb files, so we use the last non-hidden line
				bool is_hidden = line.lineBegin == 0xfeefee;
				builder.MarkSequencePoint (
					(int) line.offset,
					file.CompilationUnit.SourceFile,
					is_hidden ? last_line : (int) line.lineBegin,
					(int) line.colBegin, is_hidden);
				if (!is_hidden)
					last_line = (int) line.lineBegin;
			}
		}
开发者ID:GirlD,项目名称:mono,代码行数:15,代码来源:Driver.cs

示例3: CreateEmitContext

			public override EmitContext CreateEmitContext (ILGenerator ig, SourceMethodBuilder sourceMethod)
			{
				EmitContext ec = new EmitContext (this, ig, ReturnType, sourceMethod);
				ec.CurrentAnonymousMethod = AnonymousMethod;
				return ec;
			}
开发者ID:rabink,项目名称:mono,代码行数:6,代码来源:anonymous.cs

示例4: CreateEmitContext

		public virtual EmitContext CreateEmitContext (ILGenerator ig, SourceMethodBuilder sourceMethod)
		{
			return new EmitContext (this, ig, MemberType, sourceMethod);
		}
开发者ID:OpenFlex,项目名称:playscript-mono,代码行数:4,代码来源:method.cs

示例5: NotImplementedException

		EmitContext IMethodData.CreateEmitContext (ILGenerator ig, SourceMethodBuilder sourceMethod)
		{
			throw new NotImplementedException ();
		}
开发者ID:OpenFlex,项目名称:playscript-mono,代码行数:4,代码来源:method.cs

示例6: EmitContext

		public EmitContext (IMemberContext rc, ILGenerator ig, TypeSpec return_type, SourceMethodBuilder methodSymbols)
		{
			this.member_context = rc;
			this.ig = ig;
			this.return_type = return_type;

			if (rc.Module.Compiler.Settings.Checked)
				flags |= Options.CheckedScope;

			if (methodSymbols != null) {
				this.methodSymbols = methodSymbols;
				if (!rc.Module.Compiler.Settings.Optimize)
					flags |= Options.AccurateDebugInfo;
			} else {
				flags |= Options.OmitDebugInfo;
			}

#if STATIC
			ig.__CleverExceptionBlockAssistance ();
#endif
		}
开发者ID:blinds52,项目名称:mono,代码行数:21,代码来源:codegen.cs

示例7: CloseMethod

		public void CloseMethod ()
		{
			current_method = (SourceMethodBuilder) current_method_stack.Pop ();
		}
开发者ID:transformersprimeabcxyz,项目名称:monodevelop-1,代码行数:4,代码来源:MonoSymbolWriter.cs

示例8: OpenMethod

		public SourceMethodBuilder OpenMethod (ICompileUnit file, int ns_id, IMethodDef method)
		{
			SourceMethodBuilder builder = new SourceMethodBuilder (file, ns_id, method);
			current_method_stack.Push (current_method);
			current_method = builder;
			methods.Add (current_method);
			return builder;
		}
开发者ID:transformersprimeabcxyz,项目名称:monodevelop-1,代码行数:8,代码来源:MonoSymbolWriter.cs

示例9: CloseMethod

		public void CloseMethod ()
		{
			if (current_method._comp_unit != null)
				methods.Add (current_method);
			current_method = (SourceMethodBuilder) current_method_stack.Pop ();
		}
开发者ID:cupsster,项目名称:Unity3D.IncrementalCompiler,代码行数:6,代码来源:MonoSymbolWriter.cs

示例10: Emit

		//
		// Emits the code
		// 
		public void Emit (TypeDefinition parent)
		{
			DefineOverride (parent);

			var mc = (IMemberContext) method;

			method.ParameterInfo.ApplyAttributes (mc, MethodBuilder);

			ToplevelBlock block = method.Block;
			if (block != null) {
				BlockContext bc = new BlockContext (mc, block, method.ReturnType);
				if (block.Resolve (null, bc, method)) {
					debug_builder = member.Parent.CreateMethodSymbolEntry ();
					EmitContext ec = method.CreateEmitContext (MethodBuilder.GetILGenerator (), debug_builder);

					block.Emit (ec);
				}
			}
		}
开发者ID:OpenFlex,项目名称:playscript-mono,代码行数:22,代码来源:method.cs

示例11: SourceMethod

		protected SourceMethod (DeclSpace parent, MethodBase method, ICompileUnit file)
		{
			this.method = method;
			
			builder = SymbolWriter.OpenMethod (file, parent.NamespaceEntry.SymbolFileID, this);
		}
开发者ID:spencerhakim,项目名称:mono,代码行数:6,代码来源:method.cs


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