summaryrefslogtreecommitdiff
path: root/Source/Core/Absy.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Core/Absy.cs')
-rw-r--r--Source/Core/Absy.cs3
1 files changed, 3 insertions, 0 deletions
diff --git a/Source/Core/Absy.cs b/Source/Core/Absy.cs
index 7b3f6fc5..ef2f8ee0 100644
--- a/Source/Core/Absy.cs
+++ b/Source/Core/Absy.cs
@@ -2863,12 +2863,15 @@ namespace Microsoft.Boogie {
v.Typecheck(tc);
}
List<IdentifierExpr> oldFrame = tc.Frame;
+ bool oldYields = tc.Yields;
tc.Frame = Proc.Modifies;
+ tc.Yields = QKeyValue.FindBoolAttribute(Proc.Attributes, "yields");
foreach (Block b in Blocks) {
b.Typecheck(tc);
}
Contract.Assert(tc.Frame == Proc.Modifies);
tc.Frame = oldFrame;
+ tc.Yields = oldYields;
}
void MatchFormals(List<Variable>/*!*/ implFormals, List<Variable>/*!*/ procFormals, string/*!*/ inout, TypecheckingContext/*!*/ tc) {
Contract.Requires(implFormals != null);