public override void Visit(ProjectOp op, Node n) { using (new AutoXml(this, op)) { using (new AutoXml(this, "outputs")) { foreach (Var v in op.Outputs) { DumpVar(v); } } VisitChildren(n); } }
/// <summary> /// Copies a ProjectOp /// </summary> /// <param name="op">The Op to Copy</param> /// <param name="n">The Node that references the Op</param> /// <returns>A copy of the original Node that references a copy of the original Op</returns> public override Node Visit(ProjectOp op, Node n) { // Visit the Node's children and map their Vars List <Node> children = ProcessChildren(n); // Copy the ProjectOp's VarSet VarVec newVarSet = Copy(op.Outputs); // Create a new ProjectOp based on the copied VarSet ProjectOp newProject = m_destCmd.CreateProjectOp(newVarSet); // Return a new Node that references the copied ProjectOp and has the copied child Nodes as its children return(m_destCmd.CreateNode(newProject, children)); }
public override void Visit(ProjectOp op, Node n) { VisitRelOpDefault(op, n); AssertRelOpOrPhysicalOp(n.Child0.Op); AssertOpType(n.Child1.Op, OpType.VarDefList); }