Ejemplo n.º 1
0
 public override ReturnExprCmd VisitReturnExprCmd(ReturnExprCmd node) {
   //Contract.Requires(node != null);
   Contract.Ensures(Contract.Result<ReturnExprCmd>() != null);
   return base.VisitReturnExprCmd((ReturnExprCmd)node.Clone());
 }
Ejemplo n.º 2
0
 public override ReturnExprCmd VisitReturnExprCmd(ReturnExprCmd node)
 {
     Contract.Ensures(Contract.Result<ReturnExprCmd>() == node);
     this.VisitExpr(node.Expr);
     return node;
 }
Ejemplo n.º 3
0
 public virtual ReturnExprCmd VisitReturnExprCmd(ReturnExprCmd node) {
   Contract.Requires(node != null);
   Contract.Ensures(Contract.Result<ReturnExprCmd>() != null);
   node.Expr = this.VisitExpr(node.Expr);
   return node;
 }
Ejemplo n.º 4
0
 public TransferCmd CopyTransferCmd(TransferCmd cmd) {
   Contract.Requires(cmd != null);
   Contract.Ensures(Contract.Result<TransferCmd>() != null);
   TransferCmd transferCmd;
   GotoCmd gotocmd = cmd as GotoCmd;
   if (gotocmd != null) {
     Contract.Assert(gotocmd.labelNames != null);
     List<String> labels = new List<String>();
     labels.AddRange(gotocmd.labelNames);
     transferCmd = new GotoCmd(cmd.tok, labels);
   } else {
       ReturnExprCmd returnExprCmd = cmd as ReturnExprCmd;
       if (returnExprCmd != null)
       {
           transferCmd = new ReturnExprCmd(cmd.tok, CopyExpr(returnExprCmd.Expr));
       }
       else
       {
           transferCmd = new ReturnCmd(cmd.tok);
       }
   }
   return transferCmd;
 }