@@ -430,6 +430,9 @@ object IntConversionInferenceTransform extends InternalTransform {
430430 case o : in.Old =>
431431 val newOp = transformExpr(originalProg)(o.operand)
432432 in.Old (newOp)(o.info)
433+ case o : in.LabeledOld =>
434+ val newOp = transformExpr(originalProg)(o.operand)
435+ in.LabeledOld (o.label, newOp)(o.info)
433436 case u : in.Unfolding =>
434437 val newAcc = transformAccess(originalProg)(u.acc)
435438 val newExpr = transformExprToIntendedType(originalProg)(u.in, u.typ)
@@ -596,6 +599,15 @@ object IntConversionInferenceTransform extends InternalTransform {
596599 case u@ in.Unfold (acc) =>
597600 val newAcc = transformAccess(originalProg)(acc)
598601 in.Unfold (newAcc)(u.info)
602+ case o@ in.Outline (name, pres, posts, terminationMeasures, backendAnnotations, body, trusted) =>
603+ val newPres = pres map transformAssert(originalProg)
604+ val newPosts = posts map transformAssert(originalProg)
605+ val newMeasuers = terminationMeasures map transformTermMeasure(originalProg)
606+ val newBody = transformStmt(originalProg)(body)
607+ in.Outline (name, newPres, newPosts, newMeasuers, backendAnnotations, newBody, trusted)(o.info)
608+ case a@ in.ApplyWand (wand) =>
609+ val newWand = transformAssert(originalProg)(wand).asInstanceOf [in.MagicWand ]
610+ in.ApplyWand (newWand)(a.info)
599611 case m@ in.MakeSlice (target, typeParam, lenArg, capArg) =>
600612 // TODO: there's already some alternative means of preventing this error in the slice encoding.
601613 // Chose a single solution
@@ -678,6 +690,9 @@ object IntConversionInferenceTransform extends InternalTransform {
678690 val newPres = pres map transformAssert(originalProg)
679691 val newPosts = posts map transformAssert(originalProg)
680692 in.SpecImplementationProof (newClosure, newSpec, newBody, newPres, newPosts)(p.info)
693+ case l@ in.SafeMapLookup (resTarget, successTarget, mapLookup) =>
694+ val newMapLookup = transformIndexedExpression(originalProg)(mapLookup)
695+ in.SafeMapLookup (resTarget, successTarget, newMapLookup)(l.info)
681696
682697 case c@ in.ClosureCall (targets, closure, args, spec) =>
683698 // TODO: improve, transformations missing
0 commit comments