summaryrefslogtreecommitdiff
path: root/Dafny/Printer.cs
diff options
context:
space:
mode:
authorGravatar wuestholz <unknown>2011-12-26 22:18:21 +0100
committerGravatar wuestholz <unknown>2011-12-26 22:18:21 +0100
commit83ce7ab9e1fe758b9c52b7d11c0050cfe626d6a9 (patch)
tree03785f68dcae5aea4883e90fb1df40a20b0baf43 /Dafny/Printer.cs
parent3740ba857fca19925fee89d753710befe0811788 (diff)
Dafny: Fixed a bug in the pretty printer.
Diffstat (limited to 'Dafny/Printer.cs')
-rw-r--r--Dafny/Printer.cs6
1 files changed, 5 insertions, 1 deletions
diff --git a/Dafny/Printer.cs b/Dafny/Printer.cs
index cf8be27e..4290953b 100644
--- a/Dafny/Printer.cs
+++ b/Dafny/Printer.cs
@@ -976,9 +976,13 @@ namespace Microsoft.Dafny {
bool parensNeeded = opBindingStrength < contextBindingStrength ||
(fragileContext && opBindingStrength == contextBindingStrength);
+ bool containsNestedNot = e.E is ParensExpression &&
+ ((ParensExpression)e.E).E is UnaryExpr &&
+ ((UnaryExpr)((ParensExpression)e.E).E).Op == UnaryExpr.Opcode.Not;
+
if (parensNeeded) { wr.Write("("); }
wr.Write(op);
- PrintExpr(e.E, opBindingStrength, false, parensNeeded || isRightmost, -1);
+ PrintExpr(e.E, opBindingStrength, containsNestedNot, parensNeeded || isRightmost, -1);
if (parensNeeded) { wr.Write(")"); }
}