diff options
author | Ken McMillan <unknown> | 2013-11-11 15:06:08 -0800 |
---|---|---|
committer | Ken McMillan <unknown> | 2013-11-11 15:06:08 -0800 |
commit | 479fe0571200196552e3d415ab3b90e30083b1b2 (patch) | |
tree | ecc2fbc7fd64268b21493d7feb3218547767355f /Source/VCGeneration | |
parent | 334d29e2e34647caa2defd9cd0d329e1e9f0dfd3 (diff) |
Fixedpoint VC catch up with recent changes
Diffstat (limited to 'Source/VCGeneration')
-rw-r--r-- | Source/VCGeneration/Check.cs | 7 | ||||
-rw-r--r-- | Source/VCGeneration/Context.cs | 7 | ||||
-rw-r--r-- | Source/VCGeneration/FixedpointVC.cs | 2 |
3 files changed, 15 insertions, 1 deletions
diff --git a/Source/VCGeneration/Check.cs b/Source/VCGeneration/Check.cs index 549c700a..a77bfba5 100644 --- a/Source/VCGeneration/Check.cs +++ b/Source/VCGeneration/Check.cs @@ -192,6 +192,13 @@ namespace Microsoft.Boogie { }
}
+ public void RetargetWithoutReset(Program prog, ProverContext ctx)
+ {
+ ctx.Clear();
+ Setup(prog, ctx);
+ }
+
+
public void SetTimeout()
{
if (0 < timeout)
diff --git a/Source/VCGeneration/Context.cs b/Source/VCGeneration/Context.cs index 7931a042..83787dc5 100644 --- a/Source/VCGeneration/Context.cs +++ b/Source/VCGeneration/Context.cs @@ -35,6 +35,7 @@ namespace Microsoft.Boogie public abstract VCGenerationOptions VCGenOptions { get; }
public abstract object Clone();
public abstract void Reset();
+ public abstract void Clear();
}
[ContractClassFor(typeof(ProverContext))]
@@ -128,6 +129,12 @@ public abstract class ProverContextContracts:ProverContext{ axiomConjuncts = new List<VCExpr>();
}
+ public override void Clear()
+ {
+ distincts = new List<Variable>();
+ axiomConjuncts = new List<VCExpr>();
+ }
+
protected DeclFreeProverContext(DeclFreeProverContext ctxt) {
Contract.Requires(ctxt != null);
this.gen = ctxt.gen;
diff --git a/Source/VCGeneration/FixedpointVC.cs b/Source/VCGeneration/FixedpointVC.cs index 6fe3a103..addf69a2 100644 --- a/Source/VCGeneration/FixedpointVC.cs +++ b/Source/VCGeneration/FixedpointVC.cs @@ -112,7 +112,7 @@ namespace Microsoft.Boogie checker = new Checker(this, program, logFilePath, appendLogFile, CommandLineOptions.Clo.ProverKillTime, null);
else {
checker = old_checker;
- checker.Retarget(program,checker.TheoremProver.Context);
+ checker.RetargetWithoutReset(program,checker.TheoremProver.Context);
}
old_checker = checker;
boogieContext = checker.TheoremProver.Context;
|