Beispiel #1
0
 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);
     }
 }
Beispiel #2
0
        /// <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));
        }
Beispiel #3
0
 public override void Visit(ProjectOp op, Node n)
 {
     VisitRelOpDefault(op, n);
     AssertRelOpOrPhysicalOp(n.Child0.Op);
     AssertOpType(n.Child1.Op, OpType.VarDefList);
 }