當前位置: 首頁>>代碼示例>>C#>>正文


C# CSharp.FlowAnalysisContext類代碼示例

本文整理匯總了C#中Mono.CSharp.FlowAnalysisContext的典型用法代碼示例。如果您正苦於以下問題:C# FlowAnalysisContext類的具體用法?C# FlowAnalysisContext怎麽用?C# FlowAnalysisContext使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


FlowAnalysisContext類屬於Mono.CSharp命名空間,在下文中一共展示了FlowAnalysisContext類的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。

示例1: FlowAnalysis

		public override void FlowAnalysis (FlowAnalysisContext fc)
		{
			source.FlowAnalysis (fc);
			((FieldExpr) target).SetFieldAssigned (fc);
		}
開發者ID:nobled,項目名稱:mono,代碼行數:5,代碼來源:assign.cs

示例2: FlowAnalysis

		public override void FlowAnalysis (FlowAnalysisContext fc)
		{
			base.FlowAnalysis (fc);
			method_group.FlowAnalysis (fc);

			if (conditional_access_receiver)
				fc.ConditionalAccessEnd ();
		}
開發者ID:psni,項目名稱:mono,代碼行數:8,代碼來源:delegate.cs

示例3: FlowAnalysis

		public void FlowAnalysis (FlowAnalysisContext fc)
		{
			foreach (var arg in args)
				arg.FlowAnalysis (fc);
		}
開發者ID:santosh-pai,項目名稱:mono,代碼行數:5,代碼來源:argument.cs

示例4: FlowAnalysis

		public override void FlowAnalysis (FlowAnalysisContext fc)
		{
			invoke.FlowAnalysis (fc);
		}
開發者ID:caomw,項目名稱:mono,代碼行數:4,代碼來源:dynamic.cs

示例5: FlowAnalysis

		public override void FlowAnalysis (FlowAnalysisContext fc)
		{
			source.FlowAnalysis (fc);

			if (target is ArrayAccess || target is IndexerExpr || target is PropertyExpr)
				target.FlowAnalysis (fc);
		}
開發者ID:dyxu,項目名稱:vimrc,代碼行數:7,代碼來源:assign.cs

示例6: FlowAnalysis

		public void FlowAnalysis (FlowAnalysisContext fc)
		{
			bool has_out = false;
			foreach (var arg in args) {
				if (arg.ArgType == Argument.AType.Out) {
					has_out = true;
					continue;
				}

				arg.FlowAnalysis (fc);
			}

			if (!has_out)
				return;

			foreach (var arg in args) {
				if (arg.ArgType != Argument.AType.Out)
					continue;

				arg.FlowAnalysis (fc);
			}
		}
開發者ID:dyxu,項目名稱:vimrc,代碼行數:22,代碼來源:argument.cs

示例7: IsFullyInitialized

		// <summary>
		//   A struct's constructor must always assign all fields.
		//   This method checks whether it actually does so.
		// </summary>
		public bool IsFullyInitialized (FlowAnalysisContext fc, VariableInfo vi, Location loc)
		{
			if (struct_info == null)
				return true;

			bool ok = true;
			for (int i = 0; i < struct_info.Count; i++) {
				var field = struct_info.Fields[i];

				if (!fc.IsStructFieldDefinitelyAssigned (vi, field.Name)) {
					var bf = field.MemberDefinition as Property.BackingFieldDeclaration;
					if (bf != null) {
						if (bf.Initializer != null)
							continue;

						fc.Report.Error (843, loc,
							"An automatically implemented property `{0}' must be fully assigned before control leaves the constructor. Consider calling the default struct contructor from a constructor initializer",
							field.GetSignatureForError ());

						ok = false;
						continue;
					}

					fc.Report.Error (171, loc,
						"Field `{0}' must be fully assigned before control leaves the constructor",
						field.GetSignatureForError ());
					ok = false;
				}
			}

			return ok;
		}
開發者ID:psni,項目名稱:mono,代碼行數:36,代碼來源:flowanalysis.cs

示例8: FlowAnalysis

		public override void FlowAnalysis (FlowAnalysisContext fc) {
			base.FlowAnalysis (fc);
			method_group.FlowAnalysis (fc);
		}
開發者ID:hultqvist,項目名稱:mono,代碼行數:4,代碼來源:delegate.cs

示例9: FlowAnalysis

		public override void FlowAnalysis (FlowAnalysisContext fc)
		{
			source.FlowAnalysis (fc);

			if (target is ArrayAccess || target is IndexerExpr) {
				target.FlowAnalysis (fc);
				return;
			}

			var pe = target as PropertyExpr;
			if (pe != null && !pe.IsAutoPropertyAccess)
				target.FlowAnalysis (fc);
		}
開發者ID:JokerMisfits,項目名稱:linux-packaging-mono,代碼行數:13,代碼來源:assign.cs

示例10: FlowAnalysis

		public virtual void FlowAnalysis (FlowAnalysisContext fc, List<MovableArgument> movable = null)
		{
			bool has_out = false;
			foreach (var arg in args) {
				if (arg.ArgType == Argument.AType.Out) {
					has_out = true;
					continue;
				}

				if (movable == null) {
					arg.FlowAnalysis (fc);
					continue;
				}

				var ma = arg as MovableArgument;
				if (ma != null && !movable.Contains (ma))
					arg.FlowAnalysis (fc);
			}

			if (!has_out)
				return;

			foreach (var arg in args) {
				if (arg.ArgType != Argument.AType.Out)
					continue;

				arg.FlowAnalysis (fc);
			}
		}
開發者ID:frje,項目名稱:SharpLang,代碼行數:29,代碼來源:argument.cs

示例11: FlowAnalysis

		public override void FlowAnalysis (FlowAnalysisContext fc)
		{
			// We are reachable, mark block body reachable too
			MarkReachable (new Reachability ());

			CheckReachableExit (fc.Report);

			var das = fc.BranchDefiniteAssignment ();
			var prev_pb = fc.ParametersBlock;
			fc.ParametersBlock = Block;
			var da_ontrue = fc.DefiniteAssignmentOnTrue;
			var da_onfalse = fc.DefiniteAssignmentOnFalse;

			block.FlowAnalysis (fc);

			fc.ParametersBlock = prev_pb;
			fc.DefiniteAssignment = das;
			fc.DefiniteAssignmentOnTrue = da_ontrue;
			fc.DefiniteAssignmentOnFalse = da_onfalse;
		}
開發者ID:erik-kallen,項目名稱:NRefactory,代碼行數:20,代碼來源:anonymous.cs

示例12: DoFlowAnalysis

			protected override bool DoFlowAnalysis (FlowAnalysisContext fc)
			{
				return false;
			}
開發者ID:erik-kallen,項目名稱:NRefactory,代碼行數:4,代碼來源:anonymous.cs

示例13: FlowAnalysis

		public override void FlowAnalysis (FlowAnalysisContext fc)
		{
			side_effect.FlowAnalysis (fc);
		}
開發者ID:genoher,項目名稱:mono,代碼行數:4,代碼來源:constant.cs

示例14: FlowAnalysis

		public override void FlowAnalysis (FlowAnalysisContext fc)
		{
			if (argument_list != null)
				argument_list.FlowAnalysis (fc);
		}
開發者ID:0xb1dd1e,項目名稱:NRefactory,代碼行數:5,代碼來源:method.cs

示例15: FlowAnalysis

		public override void FlowAnalysis (FlowAnalysisContext fc)
		{
			var da = conditional_access_receiver ? fc.BranchDefiniteAssignment () : null;

			base.FlowAnalysis (fc);
			method_group.FlowAnalysis (fc);

			if (conditional_access_receiver)
				fc.DefiniteAssignment = da;
		}
開發者ID:hongling0,項目名稱:mono,代碼行數:10,代碼來源:delegate.cs


注:本文中的Mono.CSharp.FlowAnalysisContext類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。