@@ -129,12 +129,13 @@ object magicWandSupporter extends SymbolicExecutionRules {
129129 hs : Stack [Heap ],
130130 pLoss : Term ,
131131 failure : Failure ,
132+ qvars : Seq [Var ],
132133 v : Verifier )
133134 (consumeFunction : (State , Heap , Term , Verifier ) => (ConsumptionResult , State , Heap , Option [CH ]))
134135 (Q : (State , Stack [Heap ], Stack [Option [CH ]], Verifier ) => VerificationResult )
135136 : VerificationResult = {
136137
137- val initialConsumptionResult = ConsumptionResult (pLoss, v, Verifier .config.checkTimeout())
138+ val initialConsumptionResult = ConsumptionResult (pLoss, qvars, v, Verifier .config.checkTimeout())
138139 /* TODO: Introduce a dedicated timeout for the permission check performed by ConsumptionResult,
139140 * instead of using checkTimeout. Reason: checkTimeout is intended for checks that are
140141 * optimisations, e.g. detecting if a chunk provided no permissions or if a branch is
@@ -397,6 +398,7 @@ object magicWandSupporter extends SymbolicExecutionRules {
397398 (s : State ,
398399 perms : Term ,
399400 failure : Failure ,
401+ qvars : Seq [Var ],
400402 v : Verifier )
401403 (consumeFunction : (State , Heap , Term , Verifier ) => (ConsumptionResult , State , Heap , Option [CH ]))
402404 (Q : (State , Option [CH ], Verifier ) => VerificationResult )
@@ -414,7 +416,7 @@ object magicWandSupporter extends SymbolicExecutionRules {
414416 */
415417 val preMark = v.decider.setPathConditionMark()
416418 executionFlowController.tryOrFail2[Stack [Heap ], Stack [Option [CH ]]](s, v)((s1, v1, QS ) =>
417- magicWandSupporter.consumeFromMultipleHeaps(s1, s1.reserveHeaps.tail, perms, failure, v1)(consumeFunction)(QS )
419+ magicWandSupporter.consumeFromMultipleHeaps(s1, s1.reserveHeaps.tail, perms, failure, qvars, v1)(consumeFunction)(QS )
418420 )((s2, hs2, chs2, v2) => {
419421 val conservedPcs = s2.conservedPcs.head :+ v2.decider.pcs.after(preMark)
420422 val s3 = s2.copy(conservedPcs = conservedPcs +: s2.conservedPcs.tail, reserveHeaps = s.reserveHeaps.head +: hs2)
0 commit comments