summaryrefslogtreecommitdiff
path: root/Source/Dafny/DafnyAst.cs
diff options
context:
space:
mode:
authorGravatar Bryan Parno <parno@microsoft.com>2014-01-08 12:54:11 -0800
committerGravatar Bryan Parno <parno@microsoft.com>2014-01-08 12:54:11 -0800
commit2dab50557b2584a82ffc7be8759d6a8a4720d1f9 (patch)
tree90032dae0fc63feb8706519e6dd918441163eed0 /Source/Dafny/DafnyAst.cs
parentd6f192b7bb331d42a0a4dcd6ab125857a431ac67 (diff)
Add autoReq support for matches.
Add better handling of resolved data types in autoReq.
Diffstat (limited to 'Source/Dafny/DafnyAst.cs')
-rw-r--r--Source/Dafny/DafnyAst.cs13
1 files changed, 5 insertions, 8 deletions
diff --git a/Source/Dafny/DafnyAst.cs b/Source/Dafny/DafnyAst.cs
index 994a9d7e..6908a373 100644
--- a/Source/Dafny/DafnyAst.cs
+++ b/Source/Dafny/DafnyAst.cs
@@ -4069,8 +4069,6 @@ namespace Microsoft.Dafny {
return ite;
}
- /* Still under development
-
/// <summary>
/// Create a resolved case expression for a match expression
/// </summary>
@@ -4078,8 +4076,8 @@ namespace Microsoft.Dafny {
Contract.Requires(old_case != null);
Contract.Requires(new_body != null);
Contract.Ensures(Contract.Result<Expression>() != null);
-
- Cloner cloner = new Cloner();
+
+ ResolvedCloner cloner = new ResolvedCloner();
var newVars = old_case.Arguments.ConvertAll(cloner.CloneBoundVar);
new_body = VarSubstituter(old_case.Arguments, newVars, new_body);
@@ -4098,8 +4096,7 @@ namespace Microsoft.Dafny {
return e;
}
- */
-
+
/// <summary>
/// Create a let expression with a resolved type and fresh variables
/// </summary>
@@ -4109,7 +4106,7 @@ namespace Microsoft.Dafny {
Contract.Requires(vars.Count == RHSs.Count);
Contract.Requires(body != null);
- Cloner cloner = new Cloner();
+ ResolvedCloner cloner = new ResolvedCloner();
var newVars = vars.ConvertAll(cloner.CloneBoundVar);
body = VarSubstituter(vars, newVars, body);
@@ -4126,7 +4123,7 @@ namespace Microsoft.Dafny {
//(IToken tok, List<BoundVar> vars, Expression range, Expression body, Attributes attribs, Qu) {
Contract.Requires(expr != null);
- Cloner cloner = new Cloner();
+ ResolvedCloner cloner = new ResolvedCloner();
var newVars = expr.BoundVars.ConvertAll(cloner.CloneBoundVar);
if (body == null) {