public override void Visit(IStackArrayCreate stackArrayCreate) { if (Process(stackArrayCreate)) { visitor.Visit(stackArrayCreate); } base.Visit(stackArrayCreate); }
public virtual void onASTElement(IStackArrayCreate stackArrayCreate) { }
/// <summary> /// /// </summary> /// <param name="stackArrayCreate"></param> public StackArrayCreate(IStackArrayCreate stackArrayCreate) : base(stackArrayCreate) { this.elementType = stackArrayCreate.ElementType; this.size = stackArrayCreate.Size; }
public void Visit(IStackArrayCreate stackArrayCreate) { Contract.Requires(stackArrayCreate != null); throw new NotImplementedException(); }
public void Visit(IStackArrayCreate stackArrayCreate) { this.traverser.Traverse(stackArrayCreate); }
/// <summary> /// Traverses the stack array create expression. /// </summary> public void Traverse(IStackArrayCreate stackArrayCreate) { Contract.Requires(stackArrayCreate != null); if (this.preorderVisitor != null) this.preorderVisitor.Visit(stackArrayCreate); if (this.StopTraversal) return; this.TraverseChildren(stackArrayCreate); if (this.StopTraversal) return; if (this.postorderVisitor != null) this.postorderVisitor.Visit(stackArrayCreate); }
//^ ensures this.path.Count == old(this.path.Count); /// <summary> /// Traverses the given stack array create expression. /// </summary> /// <param name="stackArrayCreate"></param> public virtual void Visit(IStackArrayCreate stackArrayCreate) { if (this.stopTraversal) return; //^ int oldCount = this.path.Count; this.path.Push(stackArrayCreate); this.Visit(stackArrayCreate.ElementType); this.Visit(stackArrayCreate.Size); //^ assume this.path.Count == oldCount+1; //True because all of the virtual methods of this class promise not to decrease this.path.Count. this.path.Pop(); }
/// <summary> /// Rewrites the given stack array create expression. /// </summary> /// <param name="stackArrayCreate"></param> public virtual IExpression Rewrite(IStackArrayCreate stackArrayCreate) { return stackArrayCreate; }
public override void Visit(IStackArrayCreate stackArrayCreate) { allElements.Add(new InvokInfo(Traverser, "IStackArrayCreate", stackArrayCreate)); }
public override void TraverseChildren(IStackArrayCreate stackArrayCreate) { base.TraverseChildren(stackArrayCreate); ((StackArrayCreate)stackArrayCreate).Type = this.platformType.SystemIntPtr; }
/// <summary> /// Generates IL for the specified stack array create. /// </summary> /// <param name="stackArrayCreate">The stack array create.</param> public override void TraverseChildren(IStackArrayCreate stackArrayCreate) { this.Traverse(stackArrayCreate.Size); this.generator.Emit(OperationCode.Localloc); }
public override void Visit(IStackArrayCreate stackArrayCreate) { if(Process(stackArrayCreate)){visitor.Visit(stackArrayCreate);} base.Visit(stackArrayCreate); }
public void Visit(IStackArrayCreate stackArrayCreate) { this.result = this.rewriter.Rewrite(stackArrayCreate); }
/// <summary> /// Rewrites the given stack array create expression. /// </summary> /// <param name="stackArrayCreate"></param> public virtual IExpression Rewrite(IStackArrayCreate stackArrayCreate) { var mutableStackArrayCreate = stackArrayCreate as StackArrayCreate; if (mutableStackArrayCreate == null) return stackArrayCreate; this.RewriteChildren(mutableStackArrayCreate); return mutableStackArrayCreate; }
/// <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); }
public void Visit(IStackArrayCreate stackArrayCreate) { this.result = this.copier.Copy(stackArrayCreate); }
public override void TraverseChildren(IStackArrayCreate stackArrayCreate) { MethodEnter(stackArrayCreate); base.TraverseChildren(stackArrayCreate); MethodExit(); }
/// <summary> /// Returns a shallow copy of the given stack array create expression. /// </summary> /// <param name="stackArrayCreate"></param> public StackArrayCreate Copy(IStackArrayCreate stackArrayCreate) { Contract.Requires(stackArrayCreate != null); Contract.Ensures(Contract.Result<StackArrayCreate>() != null); return new StackArrayCreate(stackArrayCreate); }
/// <summary> /// Performs some computation with the given stack array create expression. /// </summary> /// <param name="stackArrayCreate"></param> public virtual void Visit(IStackArrayCreate stackArrayCreate) { }
/// <summary> /// Returns a deep copy of the given stack array create expression. /// </summary> /// <param name="stackArrayCreate"></param> public StackArrayCreate Copy(IStackArrayCreate stackArrayCreate) { Contract.Requires(stackArrayCreate != null); Contract.Ensures(Contract.Result<StackArrayCreate>() != null); var mutableCopy = this.shallowCopier.Copy(stackArrayCreate); this.CopyChildren((Expression)mutableCopy); mutableCopy.ElementType = this.Copy(mutableCopy.ElementType); mutableCopy.Size = this.Copy(mutableCopy.Size); return mutableCopy; }
/// <summary> /// Traverses the children of the stack array create expression. /// </summary> public virtual void TraverseChildren(IStackArrayCreate stackArrayCreate) { Contract.Requires(stackArrayCreate != null); this.TraverseChildren((IExpression)stackArrayCreate); if (this.StopTraversal) return; this.Traverse(stackArrayCreate.ElementType); if (this.StopTraversal) return; this.Traverse(stackArrayCreate.Size); }
/// <summary> /// Performs some computation with the given stack array create expression. /// </summary> /// <param name="stackArrayCreate"></param> public virtual void Visit(IStackArrayCreate stackArrayCreate) { this.Visit((IExpression)stackArrayCreate); }
/// <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); }
public void Visit(IStackArrayCreate stackArrayCreate) { throw new NotImplementedException(); }
/// <summary> /// Returns a deep copy of the given stack array create expression. /// </summary> /// <param name="stackArrayCreate"></param> public StackArrayCreate Copy(IStackArrayCreate stackArrayCreate) { var mutableCopy = this.shallowCopier.Copy(stackArrayCreate); this.CopyChildren((Expression)mutableCopy); mutableCopy.ElementType = this.Copy(mutableCopy.ElementType); mutableCopy.Size = this.Copy(mutableCopy.Size); return mutableCopy; }
public override void TraverseChildren(IStackArrayCreate stackArrayCreate) { base.TraverseChildren(stackArrayCreate); }
/// <summary> /// Returns a shallow copy of the given stack array create expression. /// </summary> /// <param name="stackArrayCreate"></param> public StackArrayCreate Copy(IStackArrayCreate stackArrayCreate) { return new StackArrayCreate(stackArrayCreate); }
/// <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 (mutableStackArrayCreate == null) { this.resultExpression = stackArrayCreate; return; } this.resultExpression = this.myCodeMutator.Visit(mutableStackArrayCreate); }