public static QilNode GetCurrentPosition(QilFactory f, QilTuple context) {
     Debug.Assert(context != null);
     if (context.Where.Type != QilNodeType.True) {
         Debug.Assert(context.For.Type == QilNodeType.For);
         // convert context (1) --> (2)
         QilIterator for2 = f.For(context.For.Binding);
         QilNode     cnd2 = new Replacer(f).Replace(/*inExpr:*/context.Where, /*from:*/context.For, /*to:*/for2);
         context.For.Binding = f.OldTuple(for2, cnd2, for2);
         context.Where = f.True();
     }
     return f.Convert(f.PositionOf((QilIterator)XPathContext.GetCurrentNode(context)), f.TypeFactory.Double());
 }
Exemple #2
0
 public static QilNode GetCurrentPosition(QilFactory f, QilTuple context)
 {
     Debug.Assert(context != null);
     if (context.Where.Type != QilNodeType.True)
     {
         Debug.Assert(context.For.Type == QilNodeType.For);
         // convert context (1) --> (2)
         QilIterator for2 = f.For(context.For.Binding);
         QilNode     cnd2 = new Replacer(f).Replace(/*inExpr:*/ context.Where, /*from:*/ context.For, /*to:*/ for2);
         context.For.Binding = f.OldTuple(for2, cnd2, for2);
         context.Where       = f.True();
     }
     return(f.Convert(f.PositionOf((QilIterator)XPathContext.GetCurrentNode(context)), f.TypeFactory.Double()));
 }
Exemple #3
0
 public XsltQilFactory(QilFactory f, bool debug) : base(f, debug)
 {
 }
Exemple #4
0
 public XPathQilFactory(QilFactory f, bool debug) : base(f, debug)
 {
 }
Exemple #5
0
 public static QilNode GetLastPosition(QilFactory f, QilTuple context)
 {
     return(f.Convert(f.Length(context.Clone(f)), f.TypeFactory.Double()));
 }
Exemple #6
0
 public Replacer(QilFactory f) : base(f)
 {
 }
 /// <summary>
 /// Constructor.
 /// </summary>
 public XmlILElementAnalyzer(QilFactory fac) : base(fac)
 {
 }
 /// <summary>
 /// Constructor.
 /// </summary>
 public XmlILStateAnalyzer(QilFactory fac)
 {
     this.fac = fac;
 }
 public static QilNode GetLastPosition(QilFactory f, QilTuple context) {
     return f.Convert(f.Length(context.Clone(f)), f.TypeFactory.Double());
 }
 public Replacer(QilFactory f) : base(f) {}
 public Cloner(QilFactory f) : base(f)
 {
 }