diff options
author | Marek Safar <marek.safar@gmail.com> | 2010-11-10 12:36:53 +0300 |
---|---|---|
committer | Marek Safar <marek.safar@gmail.com> | 2010-11-10 20:57:07 +0300 |
commit | e02fd2fdd6fa5a5d629020c522f08a6b0edfa209 (patch) | |
tree | a858e82837ee675e3d3ecdaab28a82fd718e28e8 /mcs/class/Microsoft.CSharp | |
parent | f75c08f2cf3e29185ff933948578a19f3fb88f28 (diff) |
False user-operator has priority over logical not user-operator
Diffstat (limited to 'mcs/class/Microsoft.CSharp')
-rw-r--r-- | mcs/class/Microsoft.CSharp/Microsoft.CSharp.RuntimeBinder/CSharpUnaryOperationBinder.cs | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/mcs/class/Microsoft.CSharp/Microsoft.CSharp.RuntimeBinder/CSharpUnaryOperationBinder.cs b/mcs/class/Microsoft.CSharp/Microsoft.CSharp.RuntimeBinder/CSharpUnaryOperationBinder.cs index 3b4a3855960..f625f5f2188 100644 --- a/mcs/class/Microsoft.CSharp/Microsoft.CSharp.RuntimeBinder/CSharpUnaryOperationBinder.cs +++ b/mcs/class/Microsoft.CSharp/Microsoft.CSharp.RuntimeBinder/CSharpUnaryOperationBinder.cs @@ -59,7 +59,6 @@ namespace Microsoft.CSharp.RuntimeBinder case ExpressionType.Negate: return Compiler.Unary.Operator.UnaryNegation; case ExpressionType.Not: - case ExpressionType.IsFalse: return Compiler.Unary.Operator.LogicalNot; case ExpressionType.OnesComplement: return Compiler.Unary.Operator.OnesComplement; @@ -77,6 +76,8 @@ namespace Microsoft.CSharp.RuntimeBinder if (Operation == ExpressionType.IsTrue) { expr = new Compiler.BooleanExpression (expr); + } else if (Operation == ExpressionType.IsFalse) { + expr = new Compiler.BooleanExpressionFalse (expr); } else { if (Operation == ExpressionType.Increment) expr = new Compiler.UnaryMutator (Compiler.UnaryMutator.Mode.PreIncrement, expr, Compiler.Location.Null); |