summaryrefslogtreecommitdiff
path: root/Source/Core/AbsyCmd.cs
diff options
context:
space:
mode:
authorGravatar 0biha <unknown>2015-01-01 17:49:15 +0100
committerGravatar 0biha <unknown>2015-01-01 17:49:15 +0100
commit4eb8fc7008cc586eed361a171c5a96f1f058192c (patch)
treee7dbbc1156f4fd15522c3d57fce836c7fda0c27d /Source/Core/AbsyCmd.cs
parent820bde31cbd5526f56bbe8d0bde2b37812b25b3d (diff)
Made invariant of class 'EEDTemplate' robust by changing the design
(replaced public field by private field + getter/setter)
Diffstat (limited to 'Source/Core/AbsyCmd.cs')
-rw-r--r--Source/Core/AbsyCmd.cs23
1 files changed, 19 insertions, 4 deletions
diff --git a/Source/Core/AbsyCmd.cs b/Source/Core/AbsyCmd.cs
index e0aae39a..93303bd8 100644
--- a/Source/Core/AbsyCmd.cs
+++ b/Source/Core/AbsyCmd.cs
@@ -2838,19 +2838,34 @@ namespace Microsoft.Boogie {
}
public class EEDTemplate : MiningStrategy {
- public string/*!*/ reason;
+ private string/*!*/ _reason;
+
+ public string/*!*/ reason
+ {
+ get
+ {
+ Contract.Ensures(Contract.Result<string>() != null);
+ return this._reason;
+ }
+ set
+ {
+ Contract.Requires(value != null);
+ this._reason = value;
+ }
+ }
+
public List<Expr/*!*/>/*!*/ exprList;
+
[ContractInvariantMethod]
void ObjectInvariant() {
- Contract.Invariant(reason != null);
+ Contract.Invariant(this._reason != null);
Contract.Invariant(cce.NonNullElements(exprList));
}
-
public EEDTemplate(string reason, List<Expr/*!*/>/*!*/ exprList) {
Contract.Requires(reason != null);
Contract.Requires(cce.NonNullElements(exprList));
- this.reason = reason;
+ this._reason = reason;
this.exprList = exprList;
}
}