summaryrefslogtreecommitdiff
path: root/Chalice/src/main/scala/Translator.scala
diff options
context:
space:
mode:
authorGravatar stefanheule <unknown>2012-05-18 18:36:33 +0200
committerGravatar stefanheule <unknown>2012-05-18 18:36:33 +0200
commitf5ff0fd118013ff6e5adf03b1e42d15887a69696 (patch)
tree125177116f564fb395840cd2ab008ea0109e1749 /Chalice/src/main/scala/Translator.scala
parent10a9094286836692c9fa7bf3b3e662b35602ec73 (diff)
Chalice: code documentation
Diffstat (limited to 'Chalice/src/main/scala/Translator.scala')
-rw-r--r--Chalice/src/main/scala/Translator.scala2
1 files changed, 2 insertions, 0 deletions
diff --git a/Chalice/src/main/scala/Translator.scala b/Chalice/src/main/scala/Translator.scala
index 67649df5..6a10df3b 100644
--- a/Chalice/src/main/scala/Translator.scala
+++ b/Chalice/src/main/scala/Translator.scala
@@ -2234,6 +2234,7 @@ class ExpressionTranslator(val globals: Globals, preGlobals: Globals, val fpi: F
Comment("end exhale")
}
+ /** copy all the values of locations that are folded under any predicate (that we care about) one or more levels down from 'heap' to 'exhaleHeap' */
def restoreFoldedLocations(mask: Expr, heap: Boogie.Expr, exhaleHeap: Boogie.Expr): List[Boogie.Stmt] = {
val foldedPredicates = etran.fpi.getFoldedPredicates()
(for (fp <- foldedPredicates) yield {
@@ -2252,6 +2253,7 @@ class ExpressionTranslator(val globals: Globals, preGlobals: Globals, val fpi: F
Boogie.If(CanRead(receiver, pred.FullName, mask, ZeroMask), stmts, Nil)
}
+ /** the actual recursive method for restoreFoldedLocationsHelperPred */
def restoreFoldedLocationsHelper(expr: Expression, mask: Expr, heap: Boogie.Expr, exhaleHeap: Boogie.Expr, otherPredicates: List[FoldedPredicate]): List[Boogie.Stmt] = {
val f = (expr: Expression) => restoreFoldedLocationsHelper(expr, mask, heap, exhaleHeap, otherPredicates)
expr match {