/// <summary> /// Traverses the contract element. /// </summary> public void Traverse(IContractElement contractElement) { Contract.Requires(contractElement != null); contractElement.Dispatch(this.dispatchingVisitor); }
/// <summary> /// Makes a shallow copy of the given contract element. /// </summary> /// <param name="contractElement"></param> public virtual ContractElement Copy(IContractElement contractElement) { contractElement.Dispatch(this.dispatchingVisitor); return (ContractElement)this.dispatchingVisitor.result; }
/// <summary> /// Makes a deep copy of the given contract element. /// </summary> /// <param name="contractElement"></param> public ContractElement Copy(IContractElement contractElement) { contractElement.Dispatch(this.Dispatcher); return (ContractElement)this.Dispatcher.result; }
/// <summary> /// Makes a deep copy of the given contract element. /// </summary> /// <param name="contractElement"></param> public ContractElement Copy(IContractElement contractElement) { Contract.Requires(contractElement != null); Contract.Ensures(Contract.Result<ContractElement>() != null); contractElement.Dispatch(this.Dispatcher); return (ContractElement)this.Dispatcher.result; }
/// <summary> /// Makes a shallow copy of the given contract element. /// </summary> /// <param name="contractElement"></param> public virtual ContractElement Copy(IContractElement contractElement) { Contract.Requires(contractElement != null); Contract.Ensures(Contract.Result<ContractElement>() != null); contractElement.Dispatch(this.dispatchingVisitor); return (ContractElement)this.dispatchingVisitor.result; }
/// <summary> /// Traverses the contract element. /// </summary> public void Traverse(IContractElement contractElement) { Contract.Requires(contractElement != null); contractElement.Dispatch(dispatchingVisitor); }