summaryrefslogtreecommitdiff
path: root/Source/Dafny/Cloner.cs
diff options
context:
space:
mode:
authorGravatar leino <unknown>2014-12-02 14:04:53 -0800
committerGravatar leino <unknown>2014-12-02 14:04:53 -0800
commit682a34e72274aff3ef4ebcbe54244d1c2ca0ba2f (patch)
tree448289d84b91a081f7658710f0fcb9cc425805c8 /Source/Dafny/Cloner.cs
parentd5685d5afcd053a0bb2178425e1b1d12cd85eb52 (diff)
Snapshot, to be continued
Diffstat (limited to 'Source/Dafny/Cloner.cs')
-rw-r--r--Source/Dafny/Cloner.cs11
1 files changed, 9 insertions, 2 deletions
diff --git a/Source/Dafny/Cloner.cs b/Source/Dafny/Cloner.cs
index 60e737b1..4e0ccdcf 100644
--- a/Source/Dafny/Cloner.cs
+++ b/Source/Dafny/Cloner.cs
@@ -293,9 +293,16 @@ namespace Microsoft.Dafny
pp.Add(new ExpressionPair(CloneExpr(p.A), CloneExpr(p.B)));
}
return new MapDisplayExpr(Tok(expr.tok), pp);
+
+ } else if (expr is NameSegment) {
+ var e = (NameSegment)expr;
+ return new NameSegment(Tok(e.tok), e.Name, e.OptTypeArguments == null ? null : e.OptTypeArguments.ConvertAll(CloneType));
} else if (expr is ExprDotName) {
var e = (ExprDotName)expr;
- return new ExprDotName(Tok(e.tok), CloneExpr(e.Obj), e.SuffixName);
+ return new ExprDotName(Tok(e.tok), CloneExpr(e.Lhs), e.SuffixName);
+ } else if (expr is ApplySuffix) {
+ var e = (ApplySuffix)expr;
+ return new ApplySuffix(Tok(e.tok), CloneExpr(e.Lhs), e.Args.ConvertAll(CloneExpr));
} else if (expr is MemberSelectExpr) {
var e = (MemberSelectExpr)expr;
@@ -319,7 +326,7 @@ namespace Microsoft.Dafny
} else if (expr is ApplyExpr) {
var e = (ApplyExpr)expr;
- return new ApplyExpr(Tok(e.tok), Tok(e.OpenParen), CloneExpr(e.Function), e.Args.ConvertAll(CloneExpr));
+ return new ApplyExpr(Tok(e.tok), CloneExpr(e.Function), e.Args.ConvertAll(CloneExpr));
} else if (expr is OldExpr) {
var e = (OldExpr)expr;