clojure.lang.CljCompiler.Ast.ObjExpr.EmitListAsObjectArray C# (CSharp) Метод

EmitListAsObjectArray() приватный Метод

private EmitListAsObjectArray ( object value, CljILGen ilg ) : void
value object
ilg CljILGen
Результат void
        private void EmitListAsObjectArray(object value, CljILGen ilg)
        {
            ICollection coll = (ICollection)value;

            ilg.EmitInt(coll.Count);
            ilg.Emit(OpCodes.Newarr, typeof(Object));

            int i = 0;
            foreach (Object item in coll)
            {
                ilg.Emit(OpCodes.Dup);
                ilg.EmitInt(i++);
                EmitValue(item, ilg);
                //HostExpr.EmitBoxReturn(this, ilg, item.GetType());
                ilg.Emit(OpCodes.Stelem_Ref);
            }
        }