當前位置: 首頁>>代碼示例>>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;未經允許,請勿轉載。