private Expression ParseVectorLength() { VectorLength result = new VectorLength(); result.Vector = this.PopOperandStack(); return result; }
/// <summary> /// Visits the specified vector length. /// </summary> /// <param name="vectorLength">Length of the vector.</param> public override void Visit(IVectorLength vectorLength) { VectorLength mutableVectorLength = new VectorLength(vectorLength); this.resultExpression = this.myCodeCopier.DeepCopy(mutableVectorLength); }
/// <summary> /// Visits the specified vector length. /// </summary> /// <param name="vectorLength">Length of the vector.</param> /// <returns></returns> protected virtual IExpression DeepCopy(VectorLength vectorLength) { vectorLength.Vector = Substitute(vectorLength.Vector); vectorLength.Type = this.Substitute(vectorLength.Type); return vectorLength; }
/// <summary> /// Rewrites the children of the given vector length expression. /// </summary> public virtual void RewriteChildren(VectorLength vectorLength) { this.RewriteChildren((Expression)vectorLength); vectorLength.Vector = this.Rewrite(vectorLength.Vector); }
/// <summary> /// Visits the specified vector length. /// </summary> /// <param name="vectorLength">Length of the vector.</param> public override void Visit(IVectorLength vectorLength) { VectorLength mutableVectorLength = vectorLength as VectorLength; if (alwaysMakeACopy || mutableVectorLength == null) mutableVectorLength = new VectorLength(vectorLength); this.resultExpression = this.myCodeMutator.Visit(mutableVectorLength); }
/// <summary> /// Visits the specified vector length. /// </summary> /// <param name="vectorLength">Length of the vector.</param> /// <returns></returns> public virtual IExpression Visit(VectorLength vectorLength) { vectorLength.Vector = Visit(vectorLength.Vector); vectorLength.Type = this.Visit(vectorLength.Type); return vectorLength; }