/// <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; }
/// <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); }
/// <summary> /// an XPath expression, n is copied to _next /// </summary> public virtual void set_next(XPathExpr n) { _next = n; }