示例#1
0
 /// <param name="slashes">
 ///            is copied to _slashes </param>
 /// <param name="expr">
 ///            is copied to _expr _next is made null as a result. </param>
 public XPathExpr(int slashes, bool is_predicate, StepExpr expr)
 {
     _slashes   = slashes;
     _predicate = is_predicate;
     _expr      = expr;
     _next      = null;
 }
示例#2
0
        /// <summary>
        /// Add to tail of path
        /// </summary>
        // XXX: keep ref to last
        public virtual void add_tail(int slashes, StepExpr expr)
        {
            XPathExpr last = this;
            XPathExpr next = _next;

            while (next != null)
            {
                last = next;
                next = last.next();
            }

            XPathExpr item = new XPathExpr(slashes, false, expr);

            last.set_next(item);
        }
示例#3
0
 /// <summary>
 /// an XPath expression, n is copied to _next
 /// </summary>
 public virtual void set_next(XPathExpr n)
 {
     _next = n;
 }