private Expression ParseStackArrayCreate() { StackArrayCreate result = new StackArrayCreate(); result.Size = this.PopOperandStack(); result.ElementType = this.host.PlatformType.SystemUInt8; return result; }
/// <summary> /// Visits the specified stack array create. /// </summary> /// <param name="stackArrayCreate">The stack array create.</param> public override void Visit(IStackArrayCreate stackArrayCreate) { StackArrayCreate mutableStackArrayCreate = new StackArrayCreate(stackArrayCreate); this.resultExpression = this.myCodeCopier.DeepCopy(mutableStackArrayCreate); }
/// <summary> /// Visits the specified stack array create. /// </summary> /// <param name="stackArrayCreate">The stack array create.</param> /// <returns></returns> protected virtual IExpression DeepCopy(StackArrayCreate stackArrayCreate) { stackArrayCreate.ElementType = this.Substitute(stackArrayCreate.ElementType); stackArrayCreate.Size = this.Substitute(stackArrayCreate.Size); stackArrayCreate.Type = this.Substitute(stackArrayCreate.Type); return stackArrayCreate; }
/// <summary> /// Rewrites the children of the given stack array create expression. /// </summary> public virtual void RewriteChildren(StackArrayCreate stackArrayCreate) { this.RewriteChildren((Expression)stackArrayCreate); stackArrayCreate.ElementType = this.Rewrite(stackArrayCreate.ElementType); stackArrayCreate.Size = this.Rewrite(stackArrayCreate.Size); }
/// <summary> /// Visits the specified stack array create. /// </summary> /// <param name="stackArrayCreate">The stack array create.</param> public override void Visit(IStackArrayCreate stackArrayCreate) { StackArrayCreate mutableStackArrayCreate = stackArrayCreate as StackArrayCreate; if (alwaysMakeACopy || mutableStackArrayCreate == null) mutableStackArrayCreate = new StackArrayCreate(stackArrayCreate); this.resultExpression = this.myCodeMutator.Visit(mutableStackArrayCreate); }
/// <summary> /// Visits the specified stack array create. /// </summary> /// <param name="stackArrayCreate">The stack array create.</param> /// <returns></returns> public virtual IExpression Visit(StackArrayCreate stackArrayCreate) { stackArrayCreate.ElementType = Visit(stackArrayCreate.ElementType); stackArrayCreate.Size = Visit(stackArrayCreate.Size); stackArrayCreate.Type = this.Visit(stackArrayCreate.Type); return stackArrayCreate; }