当前位置: 首页>>代码示例>>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;未经允许,请勿转载。