Author: marek
Date: 2008-01-25 12:21:36 -0500 (Fri, 25 Jan 2008)
New Revision: 93926
Modified:
trunk/mcs/mcs/ChangeLog
trunk/mcs/mcs/expression.cs
Log:
2008-01-25 Marek Safar <[EMAIL PROTECTED]>
* expression.cs: Implemented Divide, Equal, ExclusiveOr,
GreaterThanOrEqual
expressions.
Modified: trunk/mcs/mcs/ChangeLog
===================================================================
--- trunk/mcs/mcs/ChangeLog 2008-01-25 16:47:09 UTC (rev 93925)
+++ trunk/mcs/mcs/ChangeLog 2008-01-25 17:21:36 UTC (rev 93926)
@@ -1,5 +1,10 @@
2008-01-25 Marek Safar <[EMAIL PROTECTED]>
+ * expression.cs: Implemented Divide, Equal, ExclusiveOr,
GreaterThanOrEqual
+ expressions.
+
+2008-01-25 Marek Safar <[EMAIL PROTECTED]>
+
* generic.cs: Use full implicit conversion for type inference fixing.
2008-01-24 Marek Safar <[EMAIL PROTECTED]>
Modified: trunk/mcs/mcs/expression.cs
===================================================================
--- trunk/mcs/mcs/expression.cs 2008-01-25 16:47:09 UTC (rev 93925)
+++ trunk/mcs/mcs/expression.cs 2008-01-25 17:21:36 UTC (rev 93926)
@@ -3071,6 +3071,8 @@
Expression CreateExpressionTree (EmitContext ec,
MethodGroupExpr method)
{
string method_name;
+ bool lift_arg = false;
+
switch (oper) {
case Operator.Addition:
if (method == null && ec.CheckState)
@@ -3081,9 +3083,24 @@
case Operator.BitwiseAnd:
method_name = "And";
break;
+ case Operator.Division:
+ method_name = "Divide";
+ break;
+ case Operator.Equality:
+ method_name = "Equal";
+ lift_arg = true;
+ break;
+ case Operator.ExclusiveOr:
+ method_name = "ExclusiveOr";
+ break;
case Operator.GreaterThan:
method_name = "GreaterThan";
+ lift_arg = true;
break;
+ case Operator.GreaterThanOrEqual:
+ method_name = "GreaterThanOrEqual";
+ lift_arg = true;
+ break;
case Operator.LessThan:
method_name = "LessThan";
break;
@@ -3105,8 +3122,12 @@
ArrayList args = new ArrayList (2);
args.Add (new Argument (left.CreateExpressionTree
(ec)));
args.Add (new Argument (right.CreateExpressionTree
(ec)));
- if (method != null)
+ if (method != null) {
+ if (lift_arg)
+ args.Add (new Argument (new
BoolConstant (false, loc)));
+
args.Add (new Argument
(method.CreateExpressionTree (ec)));
+ }
return CreateExpressionFactoryCall (method_name, args);
}
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches