diff options
author | mikebarnett <unknown> | 2011-03-07 05:15:14 +0000 |
---|---|---|
committer | mikebarnett <unknown> | 2011-03-07 05:15:14 +0000 |
commit | 241de8264a32285d371a53d8d91a219625d76922 (patch) | |
tree | bde7c8c1dead587fc23a131810cf32779d7e9c8f /Source/VCExpr/TypeErasure.cs | |
parent | 0cd15d2b78a68bcdc566b31d53287f63625560e7 (diff) |
Fix contracts so runtime checking can be turned on.
Diffstat (limited to 'Source/VCExpr/TypeErasure.cs')
-rw-r--r-- | Source/VCExpr/TypeErasure.cs | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/Source/VCExpr/TypeErasure.cs b/Source/VCExpr/TypeErasure.cs index 20c946e5..5f3dbc36 100644 --- a/Source/VCExpr/TypeErasure.cs +++ b/Source/VCExpr/TypeErasure.cs @@ -633,7 +633,7 @@ namespace Microsoft.Boogie.TypeErasure { protected VCExpr GenReverseCastEq(Function castToU, Function castFromU, out VCExprVar var, out List<VCTrigger/*!*/>/*!*/ triggers) {
Contract.Requires((castFromU != null));
Contract.Requires((castToU != null));
- Contract.Requires((cce.NonNullElements(Contract.ValueAtReturn(out triggers))));
+ Contract.Ensures((cce.NonNullElements(Contract.ValueAtReturn(out triggers))));
Contract.Ensures(Contract.ValueAtReturn(out var) != null);
Contract.Ensures(Contract.Result<VCExpr>() != null);
var = Gen.Variable("x", U);
@@ -1588,7 +1588,7 @@ namespace Microsoft.Boogie.TypeErasure { [ContractInvariantMethod]
void ObjectInvariant() {
Contract.Invariant(cce.NonNullElements(varsInCasts));
- Contract.Invariant(cce.NonNullElements(varsOutsideCasts));
+ Contract.Invariant(varsOutsideCasts != null && Contract.ForAll(varsOutsideCasts, voc => voc.Key != null));
Contract.Invariant(AxBuilder != null);
}
|