summaryrefslogtreecommitdiff
path: root/Source/Dafny/Cloner.cs
diff options
context:
space:
mode:
authorGravatar leino <unknown>2014-12-09 19:34:08 -0800
committerGravatar leino <unknown>2014-12-09 19:34:08 -0800
commit2cb39832d3acc19e48d07efd37758d005785f09d (patch)
treed0269c15ad86bdd3bb02a84afffde370b489d1f4 /Source/Dafny/Cloner.cs
parent22ea901b086b05385d98019ee9eefdab97652499 (diff)
parent5ceb4c87998c2b0eaa5a6431b717b295e39c2d29 (diff)
Merge
Diffstat (limited to 'Source/Dafny/Cloner.cs')
-rw-r--r--Source/Dafny/Cloner.cs7
1 files changed, 6 insertions, 1 deletions
diff --git a/Source/Dafny/Cloner.cs b/Source/Dafny/Cloner.cs
index a314f9ed..f1f203cb 100644
--- a/Source/Dafny/Cloner.cs
+++ b/Source/Dafny/Cloner.cs
@@ -105,7 +105,7 @@ namespace Microsoft.Dafny
if (d is DefaultClassDecl) {
return new DefaultClassDecl(m, mm);
} else {
- return new ClassDecl(Tok(dd.tok), dd.Name, m, tps, mm, CloneAttributes(dd.Attributes), dd.TraitTyp);
+ return new ClassDecl(Tok(dd.tok), dd.Name, m, tps, mm, CloneAttributes(dd.Attributes), dd.TraitsTyp);
}
} else if (d is ModuleDecl) {
if (d is LiteralModuleDecl) {
@@ -147,14 +147,17 @@ namespace Microsoft.Dafny
Contract.Assert(!(member is SpecialField)); // we don't expect a SpecialField to be cloned (or do we?)
var f = (Field)member;
Field field = new Field(Tok(f.tok), f.Name, f.IsGhost, f.IsMutable, f.IsUserMutable, CloneType(f.Type), CloneAttributes(f.Attributes));
+ field.Inherited = member.Inherited;
return field;
} else if (member is Function) {
var f = (Function)member;
Function func = CloneFunction(f);
+ func.Inherited = member.Inherited;
return func;
} else {
var m = (Method)member;
Method method = CloneMethod(m);
+ method.Inherited = member.Inherited;
return method;
}
}
@@ -202,6 +205,8 @@ namespace Microsoft.Dafny
public Formal CloneFormal(Formal formal) {
Formal f = new Formal(Tok(formal.tok), formal.Name, CloneType(formal.Type), formal.InParam, formal.IsGhost);
+ //if (f.Type is UserDefinedType && formal.Type is UserDefinedType)
+ // ((UserDefinedType)f.Type).ResolvedClass = ((UserDefinedType)(formal.Type)).ResolvedClass;
return f;
}