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


C# ObjExpr.GenUnboxedLocal方法代码示例

本文整理汇总了C#中clojure.lang.CljCompiler.Ast.ObjExpr.GenUnboxedLocal方法的典型用法代码示例。如果您正苦于以下问题:C# ObjExpr.GenUnboxedLocal方法的具体用法?C# ObjExpr.GenUnboxedLocal怎么用?C# ObjExpr.GenUnboxedLocal使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在clojure.lang.CljCompiler.Ast.ObjExpr的用法示例。


在下文中一共展示了ObjExpr.GenUnboxedLocal方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: GenCodeUnboxed

 public Expression GenCodeUnboxed(RHC rhc, ObjExpr objx, GenContext context)
 {
     return objx.GenUnboxedLocal(context, _b);
 }
开发者ID:richhickey,项目名称:clojure-clr,代码行数:4,代码来源:LocalBindingExpr.cs

示例2: GenCode

        public virtual Expression GenCode(RHC rhc, ObjExpr objx, GenContext context)
        {
            if (IsDefType)
                return Expression.Constant(null);

            List<Expression> args = new List<Expression>(_closes.count()+1);
            if (SupportsMeta)
                args.Add(Expression.Constant(null,typeof(IPersistentMap))); // meta
            for (ISeq s = RT.keys(_closes); s != null; s = s.next())
            {
                LocalBinding lb = (LocalBinding)s.first();
                if (lb.PrimitiveType != null)
                    args.Add(objx.GenUnboxedLocal(context, lb));
                else
                    args.Add(objx.GenLocal(context, lb));
            }

            Expression newExpr = Expression.New(_ctorInfo, args);

            return newExpr;
        }
开发者ID:davidadsit,项目名称:clojure-clr,代码行数:21,代码来源:ObjExpr.cs

示例3: GenLetFnInits

        internal Expression GenLetFnInits(GenContext context, ParameterExpression parm, ObjExpr objx, IPersistentSet letFnLocals)
        {
            ParameterExpression cvtParm = Expression.Parameter(_compiledType,"cvt");
            Expression initExpr = Expression.Assign(cvtParm,Expression.Convert(parm, _compiledType));

            List<Expression> exprs = new List<Expression>();
            exprs.Add(initExpr);

            for (ISeq s = RT.keys(_closes); s != null; s = s.next())
            {
                LocalBinding lb = (LocalBinding)s.first();
                if (letFnLocals.contains(lb))
                {
                    FieldBuilder fb;
                    _closedOverFieldsMap.TryGetValue(lb,out fb);

                    Type primt = lb.PrimitiveType;
                    Expression init = primt != null ? objx.GenUnboxedLocal(context, lb) : objx.GenLocal(context,lb);

                    exprs.Add(Expression.Assign(Expression.Field(_thisParam,fb), init));
                }
            }

            return Expression.Block(new ParameterExpression[] { cvtParm }, exprs);
        }
开发者ID:ragnard,项目名称:clojure-clr,代码行数:25,代码来源:ObjExpr.cs


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