@:
DEFAULT_REFERENCES = -r:mscorlib.dll
-PROFILE_MCS_FLAGS = -d:NET_1_1 -d:NET_2_0 -d:NET_2_1 -d:NET_3_5 -d:NET_4_0 -d:NET_4_5 -d:MOBILE -d:MONODROID -nowarn:1699 -nostdlib -lib:$(topdir)/class/lib/$(PROFILE) $(DEFAULT_REFERENCES) $(PLATFORM_DEBUG_FLAGS)
+PROFILE_MCS_FLAGS = -d:NET_1_1 -d:NET_2_0 -d:NET_2_1 -d:NET_3_5 -d:NET_4_0 -d:NET_4_5 -d:MOBILE -d:MOBILE_DYNAMIC -d:MONODROID -nowarn:1699 -nostdlib -lib:$(topdir)/class/lib/$(PROFILE) $(DEFAULT_REFERENCES) $(PLATFORM_DEBUG_FLAGS)
FRAMEWORK_VERSION = 2.1
NO_TEST = yes
namespace System.Runtime.CompilerServices {
-#if MONODROID
+#if MOBILE_DYNAMIC
[Obsolete ("do not use this type", true)]
#endif
public class ExecutionScope {
public object [] Locals;
public ExecutionScope Parent;
-#if !MONODROID
+#if !MOBILE_DYNAMIC
internal CompilationContext context;
#endif
internal int compilation_unit;
-#if !MONODROID
+#if !MOBILE_DYNAMIC
ExecutionScope (CompilationContext context, int compilation_unit)
{
this.context = context;
#endif
public Delegate CreateDelegate (int indexLambda, object [] locals)
{
-#if MONODROID
+#if MOBILE_DYNAMIC
throw new NotSupportedException ();
#else
return context.CreateDelegate (
public object [] CreateHoistedLocals ()
{
-#if MONODROID
+#if MOBILE_DYNAMIC
throw new NotSupportedException ();
#else
return context.CreateHoistedLocals (compilation_unit);
public Expression IsolateExpression (Expression expression, object [] locals)
{
-#if MONODROID
+#if MOBILE_DYNAMIC
throw new NotSupportedException ();
#else
return context.IsolateExpression (this, locals, expression);
return this;
}
-#if NET_4_0 || MONODROID
+#if NET_4_0 || MOBILE_DYNAMIC
public override System.Linq.Expressions.Expression MakeExpression (BuilderContext ctx)
{
var tassign = target as IDynamicAssign;
using System.Linq;
using SLE = System.Linq.Expressions;
-#if NET_4_0 || MONODROID
+#if NET_4_0 || MOBILE_DYNAMIC
using System.Dynamic;
#endif
//
public class RuntimeValueExpression : Expression, IDynamicAssign, IMemoryLocation
{
-#if !NET_4_0 && !MONODROID
+#if !NET_4_0 && !MOBILE_DYNAMIC
public class DynamicMetaObject
{
public TypeSpec RuntimeType;
return base.MakeExpression (ctx);
#else
-#if NET_4_0 || MONODROID
+#if NET_4_0 || MOBILE_DYNAMIC
if (type.IsStruct && !obj.Expression.Type.IsValueType)
return SLE.Expression.Unbox (obj.Expression, type.GetMetaInfo ());
return this;
}
-#if NET_4_0 || MONODROID
+#if NET_4_0 || MOBILE_DYNAMIC
public override SLE.Expression MakeExpression (BuilderContext ctx)
{
#if STATIC
return is_checked ? SLE.Expression.NegateChecked (expr) : SLE.Expression.Negate (expr);
case Operator.LogicalNot:
return SLE.Expression.Not (expr);
-#if NET_4_0 || MONODROID
+#if NET_4_0 || MOBILE_DYNAMIC
case Operator.OnesComplement:
return SLE.Expression.OnesComplement (expr);
#endif
}
-#if NET_4_0 || MONODROID
+#if NET_4_0 || MOBILE_DYNAMIC
public override SLE.Expression MakeExpression (BuilderContext ctx)
{
var target = ((RuntimeValueExpression) expr).MetaObject.Expression;
temp_storage.Release (ec);
}
-#if (NET_4_0 || MONODROID) && !STATIC
+#if (NET_4_0 || MOBILE_DYNAMIC) && !STATIC
public override SLE.Expression MakeExpression (BuilderContext ctx)
{
return SLE.Expression.Default (type.GetMetaInfo ());
return data;
}
-#if NET_4_0 || MONODROID
+#if NET_4_0 || MOBILE_DYNAMIC
public override SLE.Expression MakeExpression (BuilderContext ctx)
{
#if STATIC
public SLE.Expression MakeAssignExpression (BuilderContext ctx, Expression source)
{
-#if NET_4_0 || MONODROID
+#if NET_4_0 || MOBILE_DYNAMIC
return SLE.Expression.ArrayAccess (ea.Expr.MakeExpression (ctx), MakeExpressionArguments (ctx));
#else
throw new NotImplementedException ();
#else
var value = new[] { source.MakeExpression (ctx) };
var args = Arguments.MakeExpression (arguments, ctx).Concat (value);
-#if NET_4_0 || MONODROID
+#if NET_4_0 || MOBILE_DYNAMIC
return SLE.Expression.Block (
SLE.Expression.Call (InstanceExpression.MakeExpression (ctx), (MethodInfo) Setter.GetMetaInfo (), args),
value [0]);
// </summary>
static public void Initialize (List<SourceFile> files)
{
-#if NET_4_0 || MONODROID
+#if NET_4_0 || MOBILE_DYNAMIC
source_list.AddRange (files);
#else
source_list.AddRange (files.ToArray ());
return System.Runtime.CompilerServices.RuntimeHelpers.GetHashCode (obj);
}
}
-#if !NET_4_0 && !MONODROID
+#if !NET_4_0 && !MOBILE_DYNAMIC
public class Tuple<T1, T2> : IEquatable<Tuple<T1, T2>>
{
public Tuple (T1 item1, T2 item2)