summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar tabarbe <unknown>2010-08-27 23:26:01 +0000
committerGravatar tabarbe <unknown>2010-08-27 23:26:01 +0000
commit7790b3ca649203130487273116f7a317532eb6b2 (patch)
tree51e725d19e4b0c119a4d7aa779743723e47be571
parent188df672bfa3986731693f21c8f08dcb199c98c1 (diff)
Boogie: Simplify: Added a contracts class that I forgot in the initial porting.
-rw-r--r--Source/Provers/Simplify/Prover.cs22
1 files changed, 20 insertions, 2 deletions
diff --git a/Source/Provers/Simplify/Prover.cs b/Source/Provers/Simplify/Prover.cs
index e4a72a89..595560ed 100644
--- a/Source/Provers/Simplify/Prover.cs
+++ b/Source/Provers/Simplify/Prover.cs
@@ -17,6 +17,8 @@ namespace Microsoft.Boogie.Simplify {
/// <summary>
/// An interface to Simplify theorem prover.
/// </summary>
+ ///
+ [ContractClass(typeof(ProverProcessContracts))]
public abstract class ProverProcess {
[ContractInvariantMethod]
void ObjectInvariant() {
@@ -413,7 +415,24 @@ namespace Microsoft.Boogie.Simplify {
cce.EndExpose();
}
}
+ [ContractClassFor(typeof(ProverProcess))]
+ public abstract class ProverProcessContracts : ProverProcess {
+ public override string OptionComments() {
+ Contract.Ensures(Contract.Result<string>() != null);
+ throw new NotImplementedException();
+ }
+ public override ProverProcess.ProverOutcome CheckOutcome(ProverInterface.ErrorHandler handler) {
+ Contract.Requires(handler != null);
+ throw new NotImplementedException();
+ }
+
+ protected override void DoBeginCheck(string descriptiveName, string formula) {
+ Contract.Requires(descriptiveName != null);
+ Contract.Requires(formula != null);
+ throw new NotImplementedException();
+ }
+ }
// derived by Z3ProverProcess
public class SimplifyProverProcess : ProverProcess {
public SimplifyProverProcess(string proverPath, bool dummy) :base(getPSI(proverPath),proverPath) {
@@ -629,5 +648,4 @@ namespace Microsoft.Boogie.Simplify {
}
}
-}
-
+} \ No newline at end of file