Esempio n. 1
0
        static Expression CreateArray(TypeName elementType, UniqueNames names, IEnumerable <Expression> elements)
        {
            var list = names.GetUniqueName();

            names = names.Reserve(list);

            return(new CallLambda(
                       new Lambda(
                           Signature.Func(TypeName.Parse("Uno.Object")),
                           new[] { new BindVariable(list, new Instantiate(ObjectList.Parameterize(elementType))), },
                           elements
                           .Select(e => (Statement) new CallDynamicMethod(new ReadVariable(list), new TypeMemberName("Add"), e))
                           .Concat(new [] { new Return(new CallDynamicMethod(new ReadVariable(list), new TypeMemberName("ToArray"))) }))));
        }