diff options
author | Unknown <leino@LEINO6.redmond.corp.microsoft.com> | 2012-08-29 15:52:21 -0700 |
---|---|---|
committer | Unknown <leino@LEINO6.redmond.corp.microsoft.com> | 2012-08-29 15:52:21 -0700 |
commit | b249cf92c8dc61d54fbfed57d432f099b919119f (patch) | |
tree | 602488d20388da2081423222e7c2ca6cb275bad1 | |
parent | cacc8fd2707548f2ad16230e01a59132bf0ea8ae (diff) |
Dafny: fixed contract violation in parser (for non-parsing Lhs production)
-rw-r--r-- | Source/Dafny/Dafny.atg | 2 | ||||
-rw-r--r-- | Source/Dafny/Parser.cs | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/Source/Dafny/Dafny.atg b/Source/Dafny/Dafny.atg index 5280521f..50f6859e 100644 --- a/Source/Dafny/Dafny.atg +++ b/Source/Dafny/Dafny.atg @@ -1418,7 +1418,7 @@ UnaryExpression<out Expression/*!*/ e> )
.
Lhs<out Expression e>
-= (. e = null; // to please the compiler
+= (. e = dummyExpr; // the assignment is to please the compiler, the dummy value to satisfy contracts in the event of a parse error
.)
( DottedIdentifiersAndFunction<out e>
{ Suffix<ref e> }
diff --git a/Source/Dafny/Parser.cs b/Source/Dafny/Parser.cs index 306dd369..c422a619 100644 --- a/Source/Dafny/Parser.cs +++ b/Source/Dafny/Parser.cs @@ -1732,7 +1732,7 @@ List<Expression/*!*/>/*!*/ decreases, ref Attributes decAttrs, ref Attributes mo }
void Lhs(out Expression e) {
- e = null; // to please the compiler
+ e = dummyExpr; // the assignment is to please the compiler, the dummy value to satisfy contracts in the event of a parse error
if (la.kind == 1) {
DottedIdentifiersAndFunction(out e);
|