示例#1
0
 private Expression ParseStackArrayCreate()
 {
     StackArrayCreate result = new StackArrayCreate();
       result.Size = this.PopOperandStack();
       result.ElementType = this.host.PlatformType.SystemUInt8;
       return result;
 }
示例#2
0
 /// <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);
 }
示例#3
0
 /// <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;
 }
示例#4
0
 /// <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);
 }
示例#5
0
 /// <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);
 }
示例#6
0
 /// <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;
 }