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


C# CSharp.CloneContext類代碼示例

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


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

示例1: CloneTo

		protected override void CloneTo (CloneContext clonectx, Statement t)
		{
			Catch target = (Catch) t;

			if (type_expr != null)
				target.type_expr = (FullNamedExpression) type_expr.Clone (clonectx);

			target.block = clonectx.LookupBlock (block);
		}
開發者ID:alisci01,項目名稱:mono,代碼行數:9,代碼來源:statement.cs

示例2: CloneTo

		protected override void CloneTo (CloneContext clonectx, Expression target)
		{
			throw new NotSupportedException ("should not be reached");
		}
開發者ID:rabink,項目名稱:mono,代碼行數:4,代碼來源:constant.cs

示例3: CloneTo

		protected override void CloneTo (CloneContext clonectx, Expression t)
		{
			AnonymousMethodExpression target = (AnonymousMethodExpression) t;

			target.Block = (ParametersBlock) clonectx.LookupBlock (Block);
		}
開發者ID:rabink,項目名稱:mono,代碼行數:6,代碼來源:anonymous.cs

示例4: CloneTo

		protected override void CloneTo (CloneContext clonectx, Expression t)
		{
			// Nothing
		}
開發者ID:yayanyang,項目名稱:monodevelop,代碼行數:4,代碼來源:complete.cs

示例5: CloneTo

		protected override void CloneTo (CloneContext clonectx, Expression t)
		{
			CompoundAssign ctarget = (CompoundAssign) t;

			ctarget.right = ctarget.source = source.Clone (clonectx);
			ctarget.target = target.Clone (clonectx);
		}
開發者ID:dyxu,項目名稱:vimrc,代碼行數:7,代碼來源:assign.cs

示例6: CloneTo

        protected override void CloneTo(CloneContext clonectx, Statement t)
        {
            Yield target = (Yield) t;

            target.expr = expr.Clone (clonectx);
        }
開發者ID:speier,項目名稱:shake,代碼行數:6,代碼來源:iterators.cs

示例7: Clone

		public Argument Clone (CloneContext clonectx)
		{
			Argument a = (Argument) MemberwiseClone ();
			a.Expr = Expr.Clone (clonectx);
			return a;
		}
開發者ID:pgoron,項目名稱:monodevelop,代碼行數:6,代碼來源:argument.cs

示例8: Clone

		public Statement Clone (CloneContext clonectx)
		{
			Statement s = (Statement) this.MemberwiseClone ();
			CloneTo (clonectx, s);
			return s;
		}
開發者ID:alisci01,項目名稱:mono,代碼行數:6,代碼來源:statement.cs

示例9: PerformClone

		public Statement PerformClone ()
		{
			CloneContext clonectx = new CloneContext ();

			return Clone (clonectx);
		}
開發者ID:alisci01,項目名稱:mono,代碼行數:6,代碼來源:statement.cs

示例10: Clone

		public Argument Clone (CloneContext clonectx)
		{
			return Clone (Expr.Clone (clonectx));
		}
開發者ID:johnv315,項目名稱:playscript-mono,代碼行數:4,代碼來源:argument.cs

示例11: Clone

		public sealed override Expression Clone (CloneContext clonectx)
		{
			// No cloning is not needed for constants
			return this;
		}
開發者ID:rabink,項目名稱:mono,代碼行數:5,代碼來源:constant.cs

示例12: DoResolve

		protected override Expression DoResolve (ResolveContext ec)
		{
			CloneContext cc = new CloneContext ();
			Expression clone = source.Clone (cc);

			//
			// A useful feature for the REPL: if we can resolve the expression
			// as a type, Describe the type;
			//
			if (Evaluator.DescribeTypeExpressions){
				var old_printer = Evaluator.SetPrinter (new StreamReportPrinter (TextWriter.Null));
				clone = clone.Resolve (ec);
				if (clone == null){
					clone = source.Clone (cc);
					clone = clone.Resolve (ec, ResolveFlags.Type);
					if (clone == null){
						Evaluator.SetPrinter (old_printer);
						clone = source.Clone (cc);
						clone = clone.Resolve (ec);
						return null;
					}
					
					Arguments args = new Arguments (1);
					args.Add (new Argument (new TypeOf ((TypeExpr) clone, Location)));
					source = new Invocation (new SimpleName ("Describe", Location), args).Resolve (ec);
				}
				Evaluator.SetPrinter (old_printer);
			} else {
				clone = clone.Resolve (ec);
				if (clone == null)
					return null;
			}
	
			// This means its really a statement.
			if (clone.Type == TypeManager.void_type){
				source = source.Resolve (ec);
				target = null;
				type = TypeManager.void_type;
				eclass = ExprClass.Value;
				return this;
			}

			return base.DoResolve (ec);
		}
開發者ID:silk,項目名稱:monodevelop,代碼行數:44,代碼來源:eval.cs

示例13: CloneTo

		protected override void CloneTo (CloneContext clonectx, Expression target)
		{
			// TODO: nothing ??
		}
開發者ID:0xb1dd1e,項目名稱:NRefactory,代碼行數:4,代碼來源:lambda.cs


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