Beispiel #1
0
 public override Ensures VisitEnsures(Ensures node)
 {
     //Contract.Requires(node != null);
     Contract.Ensures(Contract.Result<Ensures>() != null);
     return base.VisitEnsures((Ensures)node.Clone());
 }
Beispiel #2
0
 private Cmd InlinedEnsures(CallCmd callCmd, Ensures ens) {
   if (QKeyValue.FindBoolAttribute(ens.Attributes, "InlineAssume")) {
     return new AssumeCmd(ens.tok, codeCopier.CopyExpr(ens.Condition));
   } else if (ens.Free) {
     return new AssumeCmd(ens.tok, Expr.True); 
   } else {
     Ensures/*!*/ ensCopy = (Ensures/*!*/)cce.NonNull(ens.Clone());
     ensCopy.Condition = codeCopier.CopyExpr(ens.Condition);
     return new AssertEnsuresCmd(ensCopy);
   }
 }