public override ReturnExprCmd VisitReturnExprCmd(ReturnExprCmd node) { //Contract.Requires(node != null); Contract.Ensures(Contract.Result<ReturnExprCmd>() != null); return base.VisitReturnExprCmd((ReturnExprCmd)node.Clone()); }
public override ReturnExprCmd VisitReturnExprCmd(ReturnExprCmd node) { Contract.Ensures(Contract.Result<ReturnExprCmd>() == node); this.VisitExpr(node.Expr); return node; }
public virtual ReturnExprCmd VisitReturnExprCmd(ReturnExprCmd node) { Contract.Requires(node != null); Contract.Ensures(Contract.Result<ReturnExprCmd>() != null); node.Expr = this.VisitExpr(node.Expr); return node; }
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; }