@@ -311,7 +311,6 @@ object InterpFuns {
311
311
r : Next [InterpretReturn ] <- (next match {
312
312
case Intrinsic (tgt) => LibcIntrinsic .intrinsics(tgt)(f).map(_ => Next .Continue )
313
313
case Run (c : Statement ) => interpretStatement(f)(c).map(_ => Next .Continue )
314
- case ReturnTo (c) => interpretReturn(f)(c).map(v => Next .Stop (InterpretReturn .ReturnVal (v)))
315
314
case ReturnFrom (c) => evaluateReturn(f)(c).map(v => Next .Stop (InterpretReturn .ReturnVal (v)))
316
315
case Run (c : Jump ) => interpretJump(f)(c).map(_ => Next .Continue )
317
316
case Stopped () => State .pure(Next .Stop (InterpretReturn .Void ))
@@ -367,27 +366,6 @@ object InterpFuns {
367
366
}
368
367
}
369
368
370
- /**
371
- * Evaluates the formal out params and assigns them to the corresponding lhs variables of the direct call.
372
- */
373
- def interpretReturn [S , T <: Effects [S , InterpreterError ]](
374
- f : T
375
- )(s : DirectCall ): State [S , Map [LocalVar , Literal ], InterpreterError ] = {
376
- case class Param (val lhs : Variable , formal : LocalVar , value : Literal )
377
- for {
378
- outs <- State .mapM(
379
- ((bindout : (LocalVar , Variable )) => {
380
- for {
381
- rhs <- Eval .evalLiteral(f)(bindout._1)
382
- } yield (Param (bindout._2, bindout._1, rhs))
383
- }),
384
- s.outParams
385
- )
386
- _ <- State .sequence(State .pure(()), outs.map(m => f.storeVar(m.lhs.name, m.lhs.toBoogie.scope, Scalar (m.value))))
387
- _ <- f.setNext(Run (s.successor))
388
- } yield (outs.map(p => (p.formal, p.value)).toMap)
389
- }
390
-
391
369
/**
392
370
* Evaluates the formal out params and returns a map totheir values.
393
371
*/
0 commit comments