Beispiel #1
0
 /// <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);
 }
Beispiel #2
0
 /// <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;
 }
Beispiel #3
0
 /// <summary>
 /// Rewrites the children of the given return value expression.
 /// </summary>
 public virtual void RewriteChildren(ReturnValue returnValue)
 {
     this.RewriteChildren((Expression)returnValue);
 }
Beispiel #4
0
 /// <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;
 }
Beispiel #5
0
 /// <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);
 }