projects
/
mono.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge pull request #498 from Unroll-Me/master
[mono.git]
/
mcs
/
class
/
System.Core
/
System.Linq.Expressions
/
Expression.cs
diff --git
a/mcs/class/System.Core/System.Linq.Expressions/Expression.cs
b/mcs/class/System.Core/System.Linq.Expressions/Expression.cs
index b87a634af869c348171f203529453e1663fe8338..bfe939a5cb0901bb47395d82de7a18de15840b68 100644
(file)
--- a/
mcs/class/System.Core/System.Linq.Expressions/Expression.cs
+++ b/
mcs/class/System.Core/System.Linq.Expressions/Expression.cs
@@
-871,6
+871,8
@@
namespace System.Linq.Expressions {
return AddChecked (left, right, method);
case ExpressionType.AndAlso:
return AndAlso (left, right);
return AddChecked (left, right, method);
case ExpressionType.AndAlso:
return AndAlso (left, right);
+ case ExpressionType.ArrayIndex:
+ return ArrayIndex (left, right);
case ExpressionType.Coalesce:
return Coalesce (left, right, conversion);
case ExpressionType.Divide:
case ExpressionType.Coalesce:
return Coalesce (left, right, conversion);
case ExpressionType.Divide:
@@
-1181,7
+1183,7
@@
namespace System.Linq.Expressions {
static bool IsConvertiblePrimitive (Type type)
{
var t = type.GetNotNullableType ();
static bool IsConvertiblePrimitive (Type type)
{
var t = type.GetNotNullableType ();
-
+
if (t == typeof (bool))
return false;
if (t == typeof (bool))
return false;
@@
-1219,6
+1221,9
@@
namespace System.Linq.Expressions {
if (type.IsInterface || target.IsInterface)
return true;
if (type.IsInterface || target.IsInterface)
return true;
+ if (type.IsEnum && target == typeof (Enum))
+ return true;
+
if (type.IsValueType || target.IsValueType)
return false;
if (type.IsValueType || target.IsValueType)
return false;
@@
-2263,9
+2268,11
@@
namespace System.Linq.Expressions {
// This method must be overwritten by derived classes to
// compile the expression
//
// This method must be overwritten by derived classes to
// compile the expression
//
+#if !FULL_AOT_RUNTIME
internal virtual void Emit (EmitContext ec)
{
throw new NotImplementedException (String.Format ("Emit method is not implemented in expression type {0}", GetType ()));
}
internal virtual void Emit (EmitContext ec)
{
throw new NotImplementedException (String.Format ("Emit method is not implemented in expression type {0}", GetType ()));
}
+#endif
}
}
}
}