/// <summary> /// Visits the specified ones complement. /// </summary> /// <param name="onesComplement">The ones complement.</param> /// <returns></returns> protected virtual IExpression DeepCopy(OnesComplement onesComplement) { return this.DeepCopy((UnaryOperation)onesComplement); }
/// <summary> /// Visits the specified ones complement. /// </summary> /// <param name="onesComplement">The ones complement.</param> public override void Visit(IOnesComplement onesComplement) { OnesComplement mutableOnesComplement = new OnesComplement(onesComplement); this.resultExpression = this.myCodeCopier.DeepCopy(mutableOnesComplement); }
/// <summary> /// Rewrites the children of the given one's complement expression. /// </summary> public virtual void RewriteChildren(OnesComplement onesComplement) { this.RewriteChildren((UnaryOperation)onesComplement); }
/// <summary> /// Visits the specified ones complement. /// </summary> /// <param name="onesComplement">The ones complement.</param> /// <returns></returns> public virtual IExpression Visit(OnesComplement onesComplement) { return this.Visit((UnaryOperation)onesComplement); }
/// <summary> /// Visits the specified ones complement. /// </summary> /// <param name="onesComplement">The ones complement.</param> public override void Visit(IOnesComplement onesComplement) { OnesComplement mutableOnesComplement = onesComplement as OnesComplement; if (alwaysMakeACopy || mutableOnesComplement == null) mutableOnesComplement = new OnesComplement(onesComplement); this.resultExpression = this.myCodeMutator.Visit(mutableOnesComplement); }