예제 #1
0
 public override void Visit(ConstrainedSortOp op, Node n)
 {
     base.Visit(op, n);
     AssertScalarOp(n.Child1.Op);
     Assert(
         TypeSemantics.IsIntegerNumericType(n.Child1.Op.Type), "ConstrainedSortOp Skip Count Node must have an integer result type");
     AssertScalarOp(n.Child2.Op);
     Assert(TypeSemantics.IsIntegerNumericType(n.Child2.Op.Type), "ConstrainedSortOp Limit Node must have an integer result type");
 }
예제 #2
0
        public override void Visit(ConstrainedSortOp op, Node n)
        {
            var attrs = new Dictionary <string, object>();

            attrs.Add("WithTies", op.WithTies);
            using (new AutoXml(this, op, attrs))
            {
                base.Visit(op, n);
            }
        }
예제 #3
0
 public override void Visit(ConstrainedSortOp op, Node n)
 {
     using (new Dump.AutoXml(this, (Op)op, new Dictionary <string, object>()
     {
         {
             "WithTies",
             (object)op.WithTies
         }
     }))
         base.Visit(op, n);
 }
예제 #4
0
        // <summary>
        // Copies a constrained sort node
        // </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(ConstrainedSortOp op, Node n)
        {
            // Visit the Node's children and map their Vars
            var children = ProcessChildren(n);

            // Copy the ConstrainedSortOp's SortKeys
            var newSortKeys = Copy(op.Keys);

            // Create a new ConstrainedSortOp that uses the copied SortKeys and the original Op's WithTies value
            var newSortOp = m_destCmd.CreateConstrainedSortOp(newSortKeys, op.WithTies);

            // Return a new Node that references the copied SortOp and has the copied child Nodes as its children
            return(m_destCmd.CreateNode(newSortOp, children));
        }
        public override Node Visit(ConstrainedSortOp op, Node n)
        {
            List <Node> args = this.ProcessChildren(n);

            return(this.m_destCmd.CreateNode((Op)this.m_destCmd.CreateConstrainedSortOp(this.Copy(op.Keys), op.WithTies), args));
        }
 public virtual void Visit(ConstrainedSortOp op, Node n)
 {
     this.VisitSortOp((SortBaseOp)op, n);
 }
예제 #7
0
 /// <summary>
 ///     Visitor pattern method for ConstrainedSortOp
 /// </summary>
 /// <param name="op"> The ConstrainedSortOp being visited </param>
 /// <param name="n"> The Node that references the Op </param>
 public virtual void Visit(ConstrainedSortOp op, Node n)
 {
     VisitSortOp(op, n);
 }
예제 #8
0
 // <summary>
 // ConstrainedSortOp
 // </summary>
 public virtual TResultType Visit(ConstrainedSortOp op, Node n)
 {
     return(VisitSortOp(op, n));
 }
 public virtual TResultType Visit(ConstrainedSortOp op, Node n)
 {
     return(this.VisitSortOp((SortBaseOp)op, n));
 }