/// <summary> /// Visits the specified exclusive or. /// </summary> /// <param name="exclusiveOr">The exclusive or.</param> /// <returns></returns> protected virtual IExpression DeepCopy(ExclusiveOr exclusiveOr) { return this.DeepCopy((BinaryOperation)exclusiveOr); }
/// <summary> /// Visits the specified exclusive or. /// </summary> /// <param name="exclusiveOr">The exclusive or.</param> public override void Visit(IExclusiveOr exclusiveOr) { ExclusiveOr mutableExclusiveOr = new ExclusiveOr(exclusiveOr); this.resultExpression = this.myCodeCopier.DeepCopy(mutableExclusiveOr); }
/// <summary> /// Visits the specified exclusive or. /// </summary> /// <param name="exclusiveOr">The exclusive or.</param> /// <returns></returns> public virtual IExpression Visit(ExclusiveOr exclusiveOr) { return this.Visit((BinaryOperation)exclusiveOr); }
/// <summary> /// Rewrites the children of the given exclusive or expression. /// </summary> public virtual void RewriteChildren(ExclusiveOr exclusiveOr) { this.RewriteChildren((BinaryOperation)exclusiveOr); }
/// <summary> /// Visits the specified exclusive or. /// </summary> /// <param name="exclusiveOr">The exclusive or.</param> public override void Visit(IExclusiveOr exclusiveOr) { ExclusiveOr mutableExclusiveOr = exclusiveOr as ExclusiveOr; if (alwaysMakeACopy || mutableExclusiveOr == null) mutableExclusiveOr = new ExclusiveOr(exclusiveOr); this.resultExpression = this.myCodeMutator.Visit(mutableExclusiveOr); }