/// <summary> /// Visits the specified named argument. /// </summary> /// <param name="namedArgument">The named argument.</param> /// <returns></returns> protected virtual IExpression DeepCopy(NamedArgument namedArgument) { namedArgument.ArgumentValue = namedArgument.ArgumentValue; namedArgument.Type = this.Substitute(namedArgument.Type); return namedArgument; }
/// <summary> /// Visits the specified named argument. /// </summary> /// <param name="namedArgument">The named argument.</param> public override void Visit(INamedArgument namedArgument) { NamedArgument mutableNamedArgument = new NamedArgument(namedArgument); this.resultExpression = this.myCodeCopier.DeepCopy(mutableNamedArgument); }
/// <summary> /// Rewrites the children of the given named argument expression. /// </summary> public virtual void RewriteChildren(NamedArgument namedArgument) { this.RewriteChildren((Expression)namedArgument); namedArgument.ArgumentValue = this.Rewrite(namedArgument.ArgumentValue); }
/// <summary> /// Visits the specified named argument. /// </summary> /// <param name="namedArgument">The named argument.</param> /// <returns></returns> public virtual IExpression Visit(NamedArgument namedArgument) { namedArgument.ArgumentValue = namedArgument.ArgumentValue; namedArgument.Type = this.Visit(namedArgument.Type); return namedArgument; }
/// <summary> /// Visits the specified named argument. /// </summary> /// <param name="namedArgument">The named argument.</param> public override void Visit(INamedArgument namedArgument) { NamedArgument mutableNamedArgument = namedArgument as NamedArgument; if (alwaysMakeACopy || mutableNamedArgument == null) mutableNamedArgument = new NamedArgument(namedArgument); this.resultExpression = this.myCodeMutator.Visit(mutableNamedArgument); }