/// <summary> /// Visits the specified return value. /// </summary> /// <param name="returnValue">The return value.</param> public override void Visit(IReturnValue returnValue) { ReturnValue mutableReturnValue = new ReturnValue(returnValue); this.resultExpression = this.myCodeCopier.DeepCopy(mutableReturnValue); }
/// <summary> /// Visits the specified return value. /// </summary> /// <param name="returnValue">The return value.</param> /// <returns></returns> protected virtual IExpression DeepCopy(ReturnValue returnValue) { returnValue.Type = this.Substitute(returnValue.Type); return returnValue; }
/// <summary> /// Rewrites the children of the given return value expression. /// </summary> public virtual void RewriteChildren(ReturnValue returnValue) { this.RewriteChildren((Expression)returnValue); }
/// <summary> /// Visits the specified return value. /// </summary> /// <param name="returnValue">The return value.</param> /// <returns></returns> public virtual IExpression Visit(ReturnValue returnValue) { returnValue.Type = this.Visit(returnValue.Type); return returnValue; }
/// <summary> /// Visits the specified return value. /// </summary> /// <param name="returnValue">The return value.</param> public override void Visit(IReturnValue returnValue) { ReturnValue mutableReturnValue = returnValue as ReturnValue; if (alwaysMakeACopy || mutableReturnValue == null) mutableReturnValue = new ReturnValue(returnValue); this.resultExpression = this.myCodeMutator.Visit(mutableReturnValue); }