summaryrefslogtreecommitdiff
path: root/Source/Core/Duplicator.cs
diff options
context:
space:
mode:
authorGravatar qadeer <unknown>2013-12-22 00:34:35 -0800
committerGravatar qadeer <unknown>2013-12-22 00:34:35 -0800
commit9decee118ad579769bea68c2542162b1aed7d440 (patch)
treeb88316f3b7a1213e10fe67a18c73c5a9f27f4031 /Source/Core/Duplicator.cs
parentca02664886e23e4d26e9a19b07c51b82de9d9e4f (diff)
bug fixes in Duplicate.cs and parsing of invariant attributes
other bug fixes in QED stuff
Diffstat (limited to 'Source/Core/Duplicator.cs')
-rw-r--r--Source/Core/Duplicator.cs56
1 files changed, 36 insertions, 20 deletions
diff --git a/Source/Core/Duplicator.cs b/Source/Core/Duplicator.cs
index 0c49867c..07ccba77 100644
--- a/Source/Core/Duplicator.cs
+++ b/Source/Core/Duplicator.cs
@@ -25,6 +25,18 @@ namespace Microsoft.Boogie {
Contract.Ensures(Contract.Result<Cmd>() != null);
return base.VisitAssertCmd((AssertCmd)node.Clone());
}
+ public override Cmd VisitAssertEnsuresCmd(AssertEnsuresCmd node)
+ {
+ //Contract.Requires(node != null);
+ Contract.Ensures(Contract.Result<Cmd>() != null);
+ return base.VisitAssertEnsuresCmd((AssertEnsuresCmd)node.Clone());
+ }
+ public override Cmd VisitAssertRequiresCmd(AssertRequiresCmd node)
+ {
+ //Contract.Requires(node != null);
+ Contract.Ensures(Contract.Result<Cmd>() != null);
+ return base.VisitAssertRequiresCmd((AssertRequiresCmd)node.Clone());
+ }
public override Cmd VisitAssignCmd(AssignCmd node) {
//Contract.Requires(node != null);
Contract.Ensures(Contract.Result<Cmd>() != null);
@@ -149,6 +161,18 @@ namespace Microsoft.Boogie {
Contract.Ensures(Contract.Result<DeclWithFormals>() != null);
return base.VisitDeclWithFormals((DeclWithFormals)node.Clone());
}
+ public override Ensures VisitEnsures(Ensures node)
+ {
+ //Contract.Requires(node != null);
+ Contract.Ensures(Contract.Result<Ensures>() != null);
+ return base.VisitEnsures((Ensures)node.Clone());
+ }
+ public override List<Ensures> VisitEnsuresSeq(List<Ensures> ensuresSeq)
+ {
+ //Contract.Requires(ensuresSeq != null);
+ Contract.Ensures(Contract.Result<List<Ensures>>() != null);
+ return base.VisitEnsuresSeq(new List<Ensures>(ensuresSeq));
+ }
public override ExistsExpr VisitExistsExpr(ExistsExpr node) {
//Contract.Requires(node != null);
Contract.Ensures(Contract.Result<ExistsExpr>() != null);
@@ -266,6 +290,18 @@ namespace Microsoft.Boogie {
Contract.Ensures(Contract.Result<BinderExpr>() != null);
return base.VisitBinderExpr((BinderExpr)node.Clone());
}
+ public override Requires VisitRequires(Requires node)
+ {
+ //Contract.Requires(node != null);
+ Contract.Ensures(Contract.Result<Requires>() != null);
+ return base.VisitRequires((Requires)node.Clone());
+ }
+ public override List<Requires> VisitRequiresSeq(List<Requires> requiresSeq)
+ {
+ //Contract.Requires(requiresSeq != null);
+ Contract.Ensures(Contract.Result<List<Requires>>() != null);
+ return base.VisitRequiresSeq(new List<Requires>(requiresSeq));
+ }
public override Cmd VisitRE(RE node) {
//Contract.Requires(node != null);
Contract.Ensures(Contract.Result<Cmd>() != null);
@@ -332,26 +368,6 @@ namespace Microsoft.Boogie {
Contract.Ensures(Contract.Result<List<Variable>>() != null);
return base.VisitVariableSeq(new List<Variable>(variableSeq));
}
- public override Cmd VisitAssertRequiresCmd(AssertRequiresCmd node) {
- //Contract.Requires(node != null);
- Contract.Ensures(Contract.Result<Cmd>() != null);
- return base.VisitAssertRequiresCmd((AssertRequiresCmd)node.Clone());
- }
- public override Cmd VisitAssertEnsuresCmd(AssertEnsuresCmd node) {
- //Contract.Requires(node != null);
- Contract.Ensures(Contract.Result<Cmd>() != null);
- return base.VisitAssertEnsuresCmd((AssertEnsuresCmd)node.Clone());
- }
- public override Ensures VisitEnsures(Ensures node) {
- //Contract.Requires(node != null);
- Contract.Ensures(Contract.Result<Ensures>() != null);
- return base.VisitEnsures((Ensures)node.Clone());
- }
- public override Requires VisitRequires(Requires node) {
- //Contract.Requires(node != null);
- Contract.Ensures(Contract.Result<Requires>() != null);
- return base.VisitRequires((Requires)node.Clone());
- }
public override YieldCmd VisitYieldCmd(YieldCmd node)
{
//Contract.Requires(node != null);