summaryrefslogtreecommitdiff
path: root/Source/Core
diff options
context:
space:
mode:
authorGravatar Valentin Wüstholz <wuestholz@gmail.com>2015-04-29 10:47:24 +0200
committerGravatar Valentin Wüstholz <wuestholz@gmail.com>2015-04-29 10:48:34 +0200
commit0f5533a8679a6b0e68cc587582dae8ea49701526 (patch)
tree1c17cc40bc346fb910f18d4ef6a3106d320c0ddf /Source/Core
parent3a69fdd7dd02b3bb77da16c6d0e3958f16689ed1 (diff)
Add support for 'verified_under' attributes on procedure calls and invariants.
Diffstat (limited to 'Source/Core')
-rw-r--r--Source/Core/AbsyCmd.cs14
1 files changed, 14 insertions, 0 deletions
diff --git a/Source/Core/AbsyCmd.cs b/Source/Core/AbsyCmd.cs
index b5581ea6..137e2363 100644
--- a/Source/Core/AbsyCmd.cs
+++ b/Source/Core/AbsyCmd.cs
@@ -2656,6 +2656,13 @@ namespace Microsoft.Boogie {
reqCopy.Condition = Substituter.Apply(s, req.Condition);
AssertCmd/*!*/ a = new AssertRequiresCmd(this, reqCopy);
Contract.Assert(a != null);
+ if (Attributes != null)
+ {
+ // Inherit attributes of call.
+ var attrCopy = (QKeyValue)cce.NonNull(Attributes.Clone());
+ attrCopy = Substituter.Apply(s, attrCopy);
+ a.Attributes = attrCopy;
+ }
a.ErrorDataEnhanced = reqCopy.ErrorDataEnhanced;
newBlockBody.Add(a);
}
@@ -2676,6 +2683,13 @@ namespace Microsoft.Boogie {
Contract.Assert(expr != null);
AssertCmd/*!*/ a = new AssertCmd(tok, expr);
Contract.Assert(a != null);
+ if (Attributes != null)
+ {
+ // Inherit attributes of call.
+ var attrCopy = (QKeyValue)cce.NonNull(Attributes.Clone());
+ attrCopy = Substituter.Apply(s, attrCopy);
+ a.Attributes = attrCopy;
+ }
a.ErrorDataEnhanced = AssertCmd.GenerateBoundVarMiningStrategy(expr);
newBlockBody.Add(a);
}